この記事では、この書き方だけはヤメて欲しい!私が実際に巡り合ったラダー例を3つご紹介します。
目次
ラダーの書き方について
結論としまして、ラダーの書き方は1000人いれば1000通りあると言われているようにそのパターンについては様々です。
そのために同じ会社内でも特に標準化されていなく、自由に作ってもよい風潮のある所だと、Aさんが作ったソフトはバグもなくノートラブルなのに、Bさんのソフトはトラブルだらけ。なんていったことも普通にあります。
この作り方が正解!という定義はありませんが、その中でも誤動作を引き起こしやすい、「ちょっとこれはマズいな・・・」と思うラダーを今回は三菱電機のPLC(Qシリーズ)を例に3つ紹介します。
命令が違うだけで、考え方については他のPLCメーカーで作成する場合も同じです。
自己保持回路をRSTする
X1(スイッチ1)を押すと、その立ち上がりで自己保持回路M0がONします。X2(スイッチ2)でM0をOFFします。
これを初めて見たときは、「えっ、これ動作するの!?」と思いましたが、安心して下さい。動作します(笑)。
いえいえ!安心はできません。これはソフトを外注した装置で発見したものです。私が見たときは[RST M0]が色々なところに散りばめられていて、OFF条件を探すだけで苦労しました。
修正例を書くまでもないですが、一目で意味が理解できるようにしたいものですね。
ラダーは本と一緒で物語(ストーリー)がありますので、このストーリーが色々な場面に飛び火してしまうと内容が入って来なくなりますよね。それと同じ事だと考えます。
工程歩進をSET・RSTで組んでいる
X1(スイッチ1)を押すとM200がON、X2(スイッチ2)を押すとM201がON・・・のようにM202まで工程が続く、一見すると問題無く走りそうなラダーです。M200~M202までが1工程であるとします。
これの弱点、分かりますでしょうか?
工程の途中、例えばM201処理中にX1を押してしまったら、工程がM200から再度追いかけてきます。
先に言っておきますが意図的であれば構いません。
実際にこれで処理1工程内で”また走り”が起きてしまい、装置の動作がおかしくなってしまった事があります。
確かにこのように組むと、出力回路を起こすときに接点1つ条件に入れるだけでOKなので楽ですが、オススメはしません。
この組み方で進めるのであれば、私はこのように変更します。
工程内で走り終わったところのMは保持しておいて、最後に一括リセットをかけます。
このようにすれば、また走りの心配は無くなります。
他にも自己保持などで工程歩進を組む方法もあります。私の経験上、大手のソフト標準仕様に多いのが自己保持で工程歩進を組むやり方です。
色々なパターンに対応した組み方を身に着けておけば場面ごとに臨機応変に対応できるので損は無いです。
工程歩進で自己保持回路を毎回切る
先ほどの工程のSET・RSTと同じようにX1(スイッチ1)を押すとM200がON、X2(スイッチ2)を押すとM201がON・・・のようにM202まで工程が続く、一見すると問題無く走りそうなラダーです。
これもM200~M202までが1工程であるとします。同じく工程の途中であるM201処理中にX1を押してしまったら、工程がM200から再度追いかけてきます。
先ほどの自己保持回路バージョンですね。もう一度申し上げておきますが意図的であれば構いません!
この場合は、この組み方で進めるのであれば、私はこのように変更します。
同じように工程内で走り終わったところのMは保持しておいて、最後に一括リセットをかけます。
最後に工程1を切れば、そのまま全てOFFします。このようにすれば、こちらもまた走りの心配は無くなります。
まとめ
今回の記事を要約するとこんな感じです。
ポイント要約
①ラダーの書き方は1000人いれば1000通りあるので、この作り方が絶対に正解!という定義は基本的に無い
②自己保持回路を切るときに、RSTを使わないようにする
③自己保持回路で工程歩進を組むときは、走り終わったところのMは保持しておいて、最後に一括リセットかけるようにするとバグを生みにくい