この記事ではPLCソフトでOR回路が長くなった時の対処法について解説します。
目次
分解して整理する
ソフトを作成する際、出来るだけ出力条件をコンパクトにして見やすくするように心がけたいものです。
ご自身だけが理解できるソフトを作るのではなく、第三者が見たときにもわかりやすいソフトにすることで、皆さんの為になりご自身の為にもなります。
結論から言うと、出来るだけ一画面以内かつAND回路で表現することで非常に見やすくなります。もしAND回路で表現する場合でも条件が多い場合は、一度補助リレー等でバッファ(中継)してあげると効果的です。
もう少し具体的に言うと、OR回路が10行を超えるようなら、一度分解し、個別に補助リレーで条件を作って整理するようにします。
条件を見やすくする事で、このようなメリットがあります。
- とにかくビジュアル的にスッキリする
- 見やすくなることで触りやすくなり、デバッグ作業時の工数を短縮することができる
- 期間が空いてからソフトを見直した時に内容がすぐに理解できる
- 第三者が見たときにもすぐにわかるので理解度が向上し、引き続き説明などの際に時間短縮ができる
その一方で、デメリットも存在します。
・ステップ数が増えることがある
・中継元へ戻って確認する手間が増える
私としてはデメリットよりもメリットの方が大きいと確信しています。
ステップ数が増えることに関して、ステップが多少増えても膨大に膨れることは無いので、CPUのスキャン速度が速くなっている現在ではそこまで気にする内容ではないと考えています。
また、見にくいラダーを理解するのに時間を無駄に使うよりは、見やすくした上で中継元へ戻って確認する手間の方が、総合的には時間短縮につながります。
OR回路をAND回路で表現する
OR回路で条件が連続すると、条件を確認するためにスクロールをしなければならず、やる気が失せてしまいますよね。。。
現在GX Works2では24行までしか書き込めない(表示できない)ようになっていますが、GX Works3では無制限に書き込めるようになっています。だからと言って50行・100行と書いてしまうと途中で「何の条件書いていたっけ!?」となってしまいます。
私は24行縛りがあったGX Works2でも、ほぼ24行フルで書くことはありません。
それでは、具体的にどうゆう状況の時にどのようにすれば見やすくなるのか?実際のラダーを使って説明します。
10個の条件が全てORで組まれています。例としてM0~M9のいずれかがONすればM20がONするといった回路です。
これを一画面かつAND回路で表現した場合、このようになります。
b接点を直列につないで、最後にインバースをつけます。
文章で言い表すと、OR回路の方は「M0~M9のいずれかがON」の時にM20がONします。AND回路の方は「M0~M9の全てがOFFでない」時にM20がONします。
つまり上のOR回路と同じ意味になります。この方法は正直慣れないと少々使いづらいと思いますが、慣れれば見てすぐにわかるようになります。
ただしデメリットとして、この時点で1ステップ増えてしまいます。
私が今までPLCソフトに携わっている中で、動作条件が複雑な装置ほど この表現をよく目にします。すぐに実践できますので、一度試されてみては如何でしょうか。
ただし注意点があります
まず結論ですが、インバースのかかる領域を間違えてしまうと条件が崩れてしまい、誤動作や不具合の原因になります。多用して失敗しているものも見てきました。
よく考えずに多用するとこのような失敗をします。まずはこちらをご覧ください。
先ほどの回路を出来るだけANDでまとめたい一心から、このようになってしまいました。
どこが良くないか分かりますか?
インバースがM0とM9にもかかっているので、この場合は同じ意味を持った条件になりません。
もしインバースを使うなら、このようになります。
M0とM9をインバースの外に出しました。これで同じ意味を持った条件となります。
インバースのかかる場所に注意して、よく条件を確かめてから使用するようにして下さい。
まとめ
今回の記事を要約するとこんな感じです。
ポイント要約
①複雑な条件は一度分解する
②補助リレーなどでバッファー(中継)する
③見やすくなることで設計時間やデバッグ時間短縮のメリットがある
④状況に応じて、a接点のOR回路をb接点のAND回路とインバースを使って見やすくする
⑤インバースのかかる場所に注意する