Sequential Function Chart エディタ (SFC)

概要

Sequential Function Chart (SFC) は 3 番目のグラフィカル IEC 61131-3 言語であり、ステップ-トランジションモデルを通じて 状態指向のシーケンス を記述します — 形式的にはペトリネットに関連します。SFC ダイアグラムは、 条件付きの トランジション で接続された ステップ のシーケンス で構成されます。任意の時点でステップのサブセットがアクティブであり、 ステップは出力トランジションが TRUE になると離れます。

SFC は シーケンシャル制御、モードマシン、バッチプロセス にとって 自然な言語です — 「最初にこれ、次にそれ、ただし…の場合を除く」と 記述するすべてのものです。

エディタのレイアウト

SFC エディタは FBD および LD と同じ 3 部構成スキーム (上部のツール バー、グリッド + ズーム + パン付きの QGraphicsView、右側の変数 テーブル) に従います。ツールバーは各 SFC 要素タイプ用のツールを提供 します。

要素タイプ

ステップ

ステップは名前付きの 長方形ボックス です。アクティブな間、それに 関連付けられたアクションが実行されます。

  • 初期ステップ: POU のエントリポイント。プログラム開始時にアクティブ になります。エディタでは 二重の境界線 で描画されます。
  • 後続ステップ: 単一の境界線で描画されます。先行するトランジション が発火するとアクティブになります。

ポート: 上 (IN、前のトランジションから)、下 (OUT、次のトランジション へ)、右 (アクションブロックへの接続)。

トランジション

トランジションは、2 つのステップ間の垂直接続線上の 短い水平バー です。 バーの右側には 条件 があります — ST 式 (例: tmr.Q AND xReady)、 またはファンクションブロックの出力です。

条件が TRUE になると、先行するステップが非アクティブになり、後続の ステップがアクティブになります。

アクションブロック

アクションブロックは ステップがアクティブな間に何が起こるか を 記述します。2 つのセルで構成されます: 左側の 修飾子 と、右側の アクション名 (ST アクションまたは出力変数への参照)。

修飾子意味
NNon-stored — ステップがアクティブな間に実行 (デフォルト)。
PPulse — ステップ起動時に 1 サイクル分だけ発火。
SSet — 設定され、ステップ遷移を越えてアクティブのまま。
RReset — S で以前に設定されたアクションをクリア。
LLimited — 指定された時間だけ実行。
DDelayed — 指定された遅延後にのみ開始。

複数のアクションブロックを 1 つのステップにドッキングできます。

分岐と合流

分岐 (divergence) はシーケンスを複数のパスに分け、合流 (convergence) がそれらを再び結合します。SFC には 2 種類あります:

  • 選択 (OR 分岐): どのトランジション条件が最初に TRUE になるかに 応じて、パスのうち 正確に 1 つ に入ります。1 本の水平バー で描画されます。
  • 並列 (AND 分岐): すべての パスが同時にアクティブになり、 独立に実行されます。各パスが合流点に到達してはじめて、シーケンスが 進みます。2 本の水平バー で描画されます。

ジャンプ

ジャンプアイテムは、ターゲットステップの名前を持つ 下向きの矢印 です。現在のパスから名前付きステップに制御を移します — 典型的には シーケンスの末尾での「最初に戻る」、またはエラー処理 (「Step_Error にジャンプ」) に使用されます。

用途

SFC は、プログラムが明確な 時間的シーケンス を持つ場合に適しています:

  • マシンモード — Init → Idle → Running → Cleanup → Idle。
  • バッチプロセス — Fill → Heat → Mix → Drain。
  • 安全シーケンス — 定義された順序で停止シーケンスを実行 (「最初 にヒーターをオフ、次にポンプをオフ、次にメインコンタクタ」)。
  • プロセス工学 — 遅延と条件を伴う反応ステップ。

同じ機能を ST で実装する場合と比較して、SFC バージョンは大幅に読み やすくなります — ステップの順序と分岐条件がグラフィカルに自明であり、 一方 ST では CASE state OF 構造が同じ情報を間接的にしか伝えません。

関連項目

  • Function Block Diagram — アクションまたはトランジション 条件 の内部 のロジック用。
  • Ladder Diagram — より単純なインターロック回路向けの代替 グラフィカル言語。
  • ライブラリ — タイマー (TON, TP) はトランジション 条件の一般的な部品。