PLCのプログラミング方法について相談です。
質問@ 一般的(?)に下記のやり方でシーケンスを進めていくことが多いと思っているのですが、皆さんはどのようにされていますか?
規模がそれなりの生産設備のシーケンスプログラムをこれから作成するのですが、どの書き方が設計・保守ともにやり易いのか悩んでいます。
エラーが発生した際の途中からの復旧や、並列でシーケンスを複数走らせることを考えるとどちらがより良いのかな…と。
(過去の設備のプログラムを参考にすると、下記A, Bどちらのやり方も実装されていました)
A:現在のステップを自己保持し、条件を満たせば次のステップに進む方式。
自己保持を繰り替えし、最後にリセット信号によって自己保持を一気に解除(リセット)する。
B:所定のデータレジスタにステップ番号を入れることで、該当するステップに進む方式。
現在のステップが完了すれば、次のステップ番号をデータレジスタに代入することで次のステップに進む。
(例:データレジスタが0=待機中、10=ステップ1、11=ステップ2、99=異常中、など)
質問A 変数を用いてプログラミングしていくとき、IO出力にまとめる前の変数名はどうされていますか?
例えば、"LightOn"というIO出力があった場合、まとめる前の信号を"LightOn0, 1…"とするのか、配列で"LightOn[0], 1…"とするのか、などです。
二重コイルを避けるために変数名を変える必要はあるのですが、いずれにせよわかりづらいなと思いまして。
質問B 皆さんの会社ではPLCプログラミングの標準化などはされていますか?
過去に大手SIerのプログラムを拝見する機会があったのですが、標準プログラムのようなものを作成されていて、凄いなと思ったと同時に
書きやすさ・効率という面ではいくらか犠牲にしているものもあるような…と感じました。