Question (質問)
PLCのプログラミング言語の1つ、SFCについて教えてください。
Answer (回答)
今回は、PLCプログラミング言語「Sequential Function Chart」、略して「SFC」を紹介します。
PLCのプログラミング規格であるIEC 61131-3には、5つのプログラミング言語があります。
・Ladder Diagram
・Function Block Diagram
・Instruction List
・Structured Text
・Sequential Function Chart
SFCプログラミング言語は、他の4つの言語とは異なります。
SFCは、PLCに直接シーケンスをプログラムするために使用されます。
SFCのシーケンスとは
シーケンスとは、あるタスクを実行するために使用する段階的な操作のことです。
SFCのプログラムは、図記号で構成されています。各図記号は、1つのステップを表します。ステップは状態と同じです。
初期ステップ
最初の図形記号は、初期化用です。これをinitial stepと呼びます。これは二重線になった四角形です。
四角の中にはステップ名が書かれています。ステップ名は各ステップを識別するために使用され、プログラム内でユニークな名前である必要があります。
PLCがRunモードに入ると、プログラムは初期化ステップに入り、次に遷移するまでその状態に留まります。
ステップまたはステート
ステップとは、1本の線で囲まれた四角形のことです。表示されているステップは、これもユニークに命名されています。
遷移
各ステップは次のステップに線で結ばれています。そして小さな水平線が追加され、これを遷移と呼ぶ。遷移には、条件があります。
例えば、ブール変数が条件となり、TRUEかFALSEのどちらかになります。FALSE から TRUE に変化すると、プログラムの状態は前から次にに変化する。
SFC の遷移と条件
遷移は、論理でも可能です。条件1と条件2の間にANDを追加すると条件1と条件2の両方がTRUE にならないと、前のステップから後のステップに変化しません。
必要に応じて、ステップにアクションを追加することができます。ステップとアクションは線で結ばれています。
アクションのボックスの中には、アクションの性質示すもの、例えば文”N”があります。
Nというのは、そのステップがアクティブなときだけ、そのアクションがTRUEになることを意味します。したがってアクションを終了するときにFALSE に設定する必要はありません。