Function Block Diagram エディタ (FBD)
概要
Function Block Diagram (FBD) は、ForgeIEC Studio がサポートする 3 つの グラフィカル IEC 61131-3 言語のうちの 1 つです。FBD プログラムは、 ファンクションおよびファンクションブロックの呼び出し を 明示的な 配線接続 によって相互に — そして入力および出力変数に — 配線したもの で構成されます。Ladder Diagram とは異なり、FBD には 電源レール が ありません: 各接続は 1 つの出力ピンを 1 つ以上の入力ピンに運ぶ単一の ワイヤです。
エディタのレイアウト
FBD エディタは 3 部構成のウィジェットです:
+---------------------------------------------+
| Toolbar (Select | Wire | Block | Var | ...) |
+--------------------------------+------------+
| | |
| QGraphicsView | Variable |
| Grid + Zoom + Pan | table |
| | (right) |
| | |
+--------------------------------+------------+
- 上部のツールバー: ツールの切り替え (Select、Wire、Place Block、 Place In-/Out-Variable、Comment、Zoom)。
- QGraphicsView: 背景グリッド (10 px マイナー、50 px メジャー) と 中ボタンパンを備えた描画面。マウスホイールでカーソル中心のズーム。
- 右側の変数テーブル: ドック可能で、POU のローカル変数を表示します。 テーブルからのドラッグ&ドロップでエディタに in-/out-variable アイテム を作成します。
ツール
| ツール | 効果 |
|---|---|
| Select | アイテムの選択、移動、削除。 |
| Wire | 出力ポートをクリックし、次に入力ポートをクリック — 接続が作成されます。 |
| Place Block | ライブラリからファンクションまたはファンクションブロックをドロップ。ピンリスト (左に入力、右に出力) はライブラリ定義から取得されます。 |
| InVar / OutVar | 入力変数または出力変数アイテムを配置。名前はダイアログで入力し、GVL、Anvil、Bellows 修飾の変数も可能です。 |
| Comment | セマンティクスを持たない自由記述メモ。 |
ブロックとピン
ブロックアイテム はファンクション (ADD, SEL, …) またはファンクション
ブロック (TON, CTU, …) への呼び出しを表します。アイテムはヘッダ
にタイプ名、その下にインスタンス名 (FB のみ)、サイドにポートを表示
します:
+---- TON -----+
| tonA |
IN --| IN Q|-- timeUp
PT --| PT ET|-- elapsed
+--------------+
入力は 常に左、出力は 常に右 にあります。否定ピンはポートに 小さな円でマークされます。
ライブラリドラッグ
ライブラリパネルから、任意の標準またはユーザーブロックを エディタに
直接ドラッグ&ドロップ できます。リリース時に、ピンリストはライブラリ
定義から取得されます。ファンクションブロックの場合、エディタはローカル
変数セクションに自動的に VAR インスタンスエントリを作成します。
ST へのラウンドトリップ
コンパイル時、ForgeIEC コンパイラは FBD 本体を Structured Text に翻訳 します。データフローによるブロックのトポロジカルソートが実行順序を 決定します。したがって: 任意の FBD 本体は意味的に ST 本体と等価 であり、言語の選択は純粋に可読性の問題です。
例 — TON によるオンディレイタイマー
TON (オンディレイタイマー) は入力信号を設定可能な時間だけ遅延します。
FBD では以下を行います:
- 入力変数
startをTONインスタンスのINピンに配線、 - 値
T#5sの 入力変数 をPTピンに配線、 Q出力を 出力変数lampeに接続。
ST では次のようになります:
PROGRAM PLC_PRG
VAR
start AT %IX0.0 : BOOL;
lampe AT %QX0.0 : BOOL;
tmr : TON;
END_VAR
tmr(IN := start, PT := T#5s);
lampe := tmr.Q;
END_PROGRAM
これは FBD 図からコンパイラが生成する形そのものです — 変数インスタンス
tmr が Block ボックスで、2 本のワイヤが 2 つの := 代入です。
関連項目
- ライブラリ — ブロックピッカーが提供するブロック。
- Variables パネル — 変数の宣言とアドレスプール。
- Ladder Diagram — 電流経路指向の姉妹言語。