ソフテックの業務には大きく分けて、「マイコンを対象とした組込みソフト開発」「Windowsアプリケーション開発」「PLCソフト開発」の3つがあり、私は「PLCソフト開発」を担当しています。
更に「PLCソフト開発」と言ってもいろいろな案件があり、それぞれに特徴があります。
私は長らく「”装置”モノ」と呼ばれる案件を担当していましたが、2年ほど前から「”プラント”モノ」を担当するようになりました。
「PLCのソフトを製作する」というところは変わりませんが、どのようにプログラミングするか?どのような動きを求められているか?といった設計に関する部分はまったく異なり、当時は戸惑うことも多かったです。
今回は私が経験した「”装置”モノ」と「”プラント”モノ」の違いや試運転時の体験談などをご紹介したいと思います。
PLCで制御する対象物は多岐に渡ります。
今回ご紹介させていただく「”装置”モノ」、「”プラント”モノ」には以下のような案件があります。
「装置モノ」
- ワーク(ウェハや液晶用のガラス基板など)を装置Aから装置Bに渡す搬送装置。
- 受取ったワークを目的の大きさに裁断、薬品の塗布、部品の溶接など、各種製造装置。
「プラントモノ」
- 原料をタンクからタンクへ移送し飲料を製造する飲料”プラント”。
- 燃料を燃やして電気を発電する発電”プラント”。
その他にも以下のような案件もあります。
- 駐車場の在車確認。
- 気象データの観測や設備から発する異常信号の監視。
基本的には工場の中で稼動することが多いのですが、意外なところで活躍していることもあります。
そのそれぞれで制御する対象が変わってくるので、おのずと制御方法も変わってきます。
「”装置”モノのソフトウェア開発」は私の経験がもっとも多い「搬送装置」を例にとってご紹介させていただきます。
位置決め制御(
第7号「サーボモータ・位置決め制御とは?」)と呼ばれるサーボモータによる搬送やベルトコンベアによる搬送、ロボットなどの外部のコントローラとのシリアル通信によって指示を出しワークを搬送するものが多いです。
注意しなければならないことは、在荷センサー(ワークが目的の位置に在ることを確認するセンサー)の確認、ロボットハンドがどの場所に在るのかなどの位置情報、ワーク一つ一つに割り付けられた製品情報の管理です。
この位置情報と製品情報が不一致になると製造した製品が工場内で行方不明になってしまいます。
また、ワークにワークを重ねて壊してしまったり、装置自体を破損させたり、人身事故にまで及ぶこともあります。
このような事故を起こさないように気を使いながらもタクトタイム
(*1)短縮のために「同時に動かせる箇所はないか」「途中まで移動速度を高速化してみてはどうか」といったことを考えながらソフトを製作します。
実際に装置を動かす段階では、センサー位置の調整、ロボットなどの動作機器の待機位置の調整、動作速度の調整に加えて、よりタクトタイムを短縮できないかを動きを見ながら検討することもあります。実際の動きを見ることでよりよい制御を思いつくことも有ります。
 |
| 図1. 改善前の制御 |
 |
| 図2. 改善後の制御 |
「”プラント”モノのソフトウェア開発」になると状況は一変します。ここでは「飲料”プラント”」を例にとってご紹介させていただきます。
基本的には「原料が入ったタンクの液を別のタンクに移す」という大変シンプルなもので、これに温度の制御(原料の液を移送しながら冷やしたり暖めたりする)や圧力制御が加わってきます。
液の移送方法も「タンク間の配管に取り付けられたバルブを開き、ポンプを運転させる」と難しそうなところは見当たりません。
しかし、一見同じように見えるバルブには開ける順番や閉める順番があります。
以下の場合は注意が必要です。
 |
| 図3. 液移送 |
図3の場合にバルブ

〜

の開とポンプの起動を同時に開始すると、ポンプに負荷がかかってしまいます。
これは、PLCからバルブに対して開の信号を送ってから実際にバルブが開ききるまでに時間がかかるためです。
バルブが開ききっていない間(配管に液が満たされていない状態)にポンプを起動すると無負荷状態になってしまい故障の原因になります。
また、液移送を終了する場合もバルブ

〜

の閉とポンプの停止を同時に行うことも厳禁です。
インバータの設定にもよりますが、ポンプは停止の指示を出した後も数秒間は運転を継続しています(急には止められない)。
こうなると、バルブの方が先に閉まってしまい、今度はポンプが過負荷状態になってしまいこれも故障の原因になります。
 |
| 図4. 熱交換 |
次の図4は熱交換器
(*2)を使う場合の例です。
この場合もバルブ

の開とポンプの起動を同時に行うのはNGです。
スチームは100℃近くあるので、流量が小さいときにスチームを流すと熱交換器内の液体が蒸発してしまい、移送先に高温の水蒸気を送ってしまうことになってしまいます。
流量計で検出した流量が一定以上の場合のみバルブ

を開くというような制御が必要になります。
また、この例でも液移送を終了するときに注意が必要です。起動時と逆でバルブ

を閉めてからポンプを停止しなければなりません。
これらは初歩的な内容です。
状況に応じてバルブを開閉する順番は変わってきますし、異常時の処理、異常からの復帰の処理も同様に開閉の順番が重要になります。
動作を確認する段階では、バルブ開閉やポンプの運転/停止の確認はもちろんのこと、流量や温度を設定した値に保つための調整(PID制御の調整
第119号「三菱電機社製プロセスCPUを使用したPID制御開発」)も行います。
今回は「PLCソフト開発」における案件の違いに焦点を当ててご紹介させていただきましたが、極端な例では同じ分野でもお客様ごとに常識が異なる場合があります。どのような案件でも先入観や固定観念を無くして、その案件に向き合うことが重要だと思います。
違いによって苦労することもありますが、別の分野の常識を別の分野に持ち込むことで今までになかった使いやすさや効率の良さを生み出せることもあります。
そういったときの感動と達成感はひとしおです。
大変な面もありますが、他のソフテックだよりでも紹介されているとおり、オフィス内でデスクに向かっているソフト開発だけでは味わえない体験ができるのがPLCソフト開発です。
今後も経験を積み、いろいろな分野でよりよいソフト開発ができるように努めたいと思います。
つたない文章にもかかわらず、最後までご精読いただきありがとうございました。