シーケンシャルファンクションチャート(SFC)は、プログラマブルロジックコントローラ(PLC)に使用されるビジュアルプログラミング言語です。これは、IEC 61131-3規格で定義されている5つの言語の1つです。SFC規格は、制御システム用のファンクションチャートの作成として定義されており、GRAFCET (バイナリペトリネット[1] [2]に基づく)に基づいています。
ステップに分割できるプロセスをプログラムするために使用できます。

SFC の主なコンポーネントは次のとおりです。
- 関連するアクションを含む手順。
- 関連する論理条件を伴う遷移。
- ステップと遷移間の有向リンク。
SFC 図のステップはアクティブまたは非アクティブにすることができます。アクションはアクティブなステップに対してのみ実行されます。ステップは、次の 2 つの理由のいずれかでアクティブになります。
- これはプログラマーによって指定された最初のステップです。
- スキャン サイクル中にアクティブ化され、それ以降は非アクティブ化されていません。
ステップは、その上のすべてのステップがアクティブで、接続している遷移がスーパー可能である (つまり、関連付けられている条件が true である) 場合にアクティブになります。遷移を通過すると、上のすべてのステップが一度に非アクティブになり、その後、下のすべてのステップが一度にアクティブになります。
ステップに関連付けられたアクションにはいくつかの種類がありますが、最も関連性の高いものは、継続 (N)、セット (S)、およびリセット (R) です。セットとリセットの明らかな意味とは別に、N アクションは、ステップがアクティブである限り、ターゲット変数が 1 に設定されるようにします。SFC ルールでは、2 つのステップが同じターゲットに対して N アクションを持つ場合、変数が 0 にリセットされてはならないと規定されています。SFC プログラム内に LD (ラダー ダイアグラム) アクションを挿入することもできます (これは、たとえば整数変数を操作するための標準的な方法です)。
SFC は、複数の制御フロー (標準用語ではプログラム構成単位 (POU)) を同時にアクティブにできるという点で、 本質的に並列プログラミング言語です。
言語の非標準拡張機能には、マクロアクションが含まれます。マクロアクションとは、プログラム単位内のアクションで、別のプログラム単位の状態に影響を与えるものです。最も関連性の高いマクロアクションは「強制」であり、POU は別の POU のアクティブなステップを決定できます。[3]
参照
参考文献
- ^ Fernandez, JL; Sanz, R.; Paz, E.; Alonso, C. (2008 年 5 月 19 ~ 23 日)。「階層型バイナリ ペトリ ネットを使用した堅牢なモバイル ロボット アプリケーションの構築: RoboGraph」。IEEE国際ロボット工学およびオートメーション会議、2008 年。米国カリフォルニア州パサデナ。pp. 1372 ~ 1377。doi :10.1109/ROBOT.2008.4543394 。
- ^ Lewis, RW (1998). IEC 1131-3 を使用した産業用制御システムのプログラミング。ISBN 978-0852969502。
- ^ トム・メドウクロフト、2018年
外部リンク
- SFC/GRAFCET Microsoft Visio 用無料ステンシル
- ロックウェル・オートメーション、アレン・ブラッドリー。シーケンシャル機能チャート
- コードシス
