Ladder Diagram エディタ (LD)
概要
Ladder Diagram (LD) は 3 つのグラフィカル IEC 61131-3 言語のうち最も 古いもので、回路図メタファ に従います: 左右の 電源レール の 間で、水平な 電流経路 (rung) が信号を運びます。各 rung では接点 が左側 (直列) に、コイルが右側に配置されます。変数の状態に応じて、 電流を「通す」か「ブロックする」かが決まります。LD は単純な制御ロジック — リミットスイッチ、ラッチ回路、インターロック — に適しており、電気 設計者にとって非常に読みやすい言語です。
エディタのレイアウト
LD エディタは FBD エディタと同じ構造 (上部のツールバー、グリッド + ズーム
- パン付きの QGraphicsView、右側の変数テーブル) を持ちますが、2 つの 特徴があります:
- 左の電源レール と 右の電源レール はダイアグラム内の永続的な アイテムです。移動できず、rung の数に応じて垂直に伸びます。
- ツールバーには LD シンボル (接点、コイル、エッジトリガ) のボタンと、
電源レール間に新しい rung 接続を挿入する
Add Rungボタンが追加され ています。
シンボル
接点 (rung の左側)
| シンボル | 意味 |
|---|---|
--| |-- | NO 接点 — 変数が TRUE のときに通す |
--|/|-- | NC 接点 — 変数が FALSE のときに通す |
--|P|-- | 立ち上がりエッジ接点 — 立ち上がりエッジで 1 サイクルだけ通す |
--|N|-- | 立ち下がりエッジ接点 — 立ち下がりエッジで 1 サイクルだけ通す |
直列の接点は論理 AND として、並列経路は論理 OR として作用 します。
コイル (rung の右側)
| シンボル | 意味 |
|---|---|
--( ) | 標準コイル — 現在の経路の状態を変数に書き込み |
--(/) | 否定コイル — 反転した状態を書き込み |
--(S) | セットコイル — 変数を TRUE に設定してラッチ (経路がその後開いても) |
--(R) | リセットコイル — 変数を FALSE に設定してラッチ |
セット/リセットのペアは、明示的な IF-THEN ロジックなしでラッチ回路を 実装します。
rung 上のファンクションブロック
ライブラリのファンクションおよびファンクションブロックは、接点と
コイルの間にインライン で挿入できます。LD エディタはそれらを右側と
左側にピンリストを持つ水平ボックスとして描画します — セマンティック
には FBD ブロックと同一です。典型的な用途: タイマー (TON)、カウンタ
(CTU)、比較器 (GT, EQ)。
例 — ストップ優先のラッチ回路
古典的なリレー回路: スタートボタン xStart がモーター qMotor を
オンにし、ストップボタン xStop がオフにします。xStart が少なくとも
一度押され、かつ xStop が押されていない限り、モーターはオンのまま
です (自己保持)。
| |
| xStart xStop |
+----| |---+--|/|---+-----------------------( )----+
| | | qMotor |
| | | |
| qMotor | |
+----| |-------+ |
| |
文として読むと:
xStart(NO) またはqMotor(自己保持接点、NO) — 並列、- かつ
xStop(NC) — 直列、 - これらでコイル
qMotorを駆動。
コンパイル時、LD コンパイラはこの rung を次のように翻訳します:
qMotor := (xStart OR qMotor) AND NOT xStop;
これはストップ優先のラッチの最も単純な形です。両方のボタンが同時に
押された場合、NC 接点が経路を開くため xStop が勝ちます。
関連項目
- Function Block Diagram — データフロー指向の姉妹言語。
- ライブラリ — rung 上でインライン使用するファンクション
ブロック (
TON,CTU,JK_FF,DEBOUNCE)。 - Variables パネル — アドレスプールと変数バインディング。