


CODESYSに挑戦してみます

時間演算ファンクション

こちらの記事の続きです。
動作条件がORの場合、縦にいくつも並べているラダーをよく見かけますが、よくあれで条件が把握できるなと感じます。私は入口がOMRONでした。OMRONは否定コイルが装備されているので条件をANDで組んでそれを否定するという回路を教えてもらって以来ずっとそう作っていました。ただ三菱を触るようになってこの否定コイルが無いのには参りました。条件をB接点のANDで組んで出力し、出力接点をB接点で組んでと今で思えば読みづらい回路を作っていたと思います。最近になって否定接点が出てきたのでそれ以来下記のように作っています。
折返し回路も極力使わないようにしています。折返しが多くなると見づらく回路変更が容易ではなくなります。
PLCで演算する時に使用デバイスを節約するために計算結果をテンポラリメモリに入れて使い回す手法がありますが、私は計算過程が見たいのでテンポラリはは使わないようにしています。テンポラリを数カ所で使い回すとモニタした際に最終演算結果が表示されてしまいラダーで設定している計算と違う結果を表示します。計算に誤りがあった時に発見しづらいし、今のPLCはそこまでしてデバイスを削る必要は無いと思っています。
例えば「E* E3.14 D100 D200」といったE3.14を使用しないという意味です。世の中に知れ渡っている定数であればまだ良いのですが、E1.285などという数値の場合、何を演算しているのか分かりづらいです。この場合はE1.285をデバイスに一度転送してIOコメントを入れて演算式の意味をわかりやすくしています。
タッチパネルにON/OFFのスイッチを並べる場合はON=偶数番号、OFF=奇数番号にするように統一しています。連番にすることによって負荷Aの運転はM0/停止はM1といったふうに用途が明確になります。