まず断言します。 現場のトラブル対応において、ラダー図(LD)より頼りになる言語はありません。
モニターすれば電気がどこで止まっているか一目で分かる。 現場の保全担当者から熟練の設計者まで、誰もが読める「共通言語」。 この圧倒的な「現場力」において、ラダーの右に出るものは存在しないのです。
だから、あなたが今、必死にラダーを覚えているのは100%正しい。 これからもしばらくは、プログラムの主役は間違いなくラダーであり続けます。
しかし、ラダーは決して「万能」ではありません。
9年の設計経験の中で、私は何度も「ラダーの限界」という壁にぶつかりました。
複雑な数値計算や、何十工程にも及ぶ自動運転フローを、無理やりラダーで書こうとしていませんか?
それは、「ノコギリ一本で家を建てようとしている」のと同じです。 切ることはできても、釘は打てない。結果、何千行ものスパゲッティコードが生まれ、あなたの貴重な時間がバグ取りに消えていくことになります。
そこで知っておくべきなのが、ラダーを助ける「4つのスペシャリスト」の存在です。
国際標準(IEC 61131-3)には、ラダー以外にも強力な「武器」が用意されています。ラダーが苦手な処理を、ラダー以上に鮮やかに解決してくれる「頼れる相棒(パートナー)」たちです。
今回は、それぞれの言語の「正体(スペック)」と、現場で迷わないための「使い分けの基準(適材適所)」を解説します。
国際標準(IEC 61131-3)の5つの言語
1. LD(ラダー図):Ladder Diagram

【どんな言語?】
電気のリレー回路を模した言語です。左右の母線の間に接点(スイッチ)とコイル(出力)を配置し、ハシゴ(Ladder)のような形状でロジックを組みます。
【イメージ】
「電気が左から右へ流れる」という物理法則を画面上で再現したもの。
- メリット(強み):
- 視認性最強: 「どの接点が切れているから電気が流れないのか」が一目でわかります。トラブルシューティングにおいて、これより優れたツールはありません。
- デメリット(弱点):
- 計算が苦手: 複雑な数式を書くと、回路が巨大化し、解読困難になります。
- 【現場の鉄則】
- 「インターロック」「I/O制御」は迷わずこれを使え。
- 保全担当者が見る画面は、必ずラダーで書くのが一番です。
2. ST(ストラクチャード・テキスト):Structured Text

【どんな言語?】
パソコンのプログラミング(C言語やPascal)に似た、テキスト形式の言語です。IF...THEN や A := B + C; のように、文章で処理を記述します。
【イメージ】
エクセルの数式や、一般的なプログラミングコード。
- メリット(強み):
- 演算処理に強い: 複雑な四則演算、三角関数、文字列操作などを、たった数行の数式で簡潔に書けます。ラダーなら数十行かかる処理が、5行で終わることもザラです。
- デメリット(弱点):
- 流れが見えにくい: 文字の羅列なので、モニター時に「今の状態」を直感的に把握するのが困難です。とっさのトラブル対応には向きません。
- 【現場の鉄則】
- 「計算機」として使え。
複雑な演算やデータの並べ替えが必要な時だけ、この言語を呼び出してください。
- 「計算機」として使え。
3. SFC(シーケンシャル・ファンクション・チャート):Sequential Function Chart

【どんな言語?】 処理の流れ(順序)を記述するための言語です。「箱(ステップ)」と「線(トランジション)」を組み合わせ、フローチャートのように記述します。
【イメージ】 業務フロー図や、スゴロクの盤面。「次はここへ進む」という矢印が見える。
- メリット(強み):
- 「工程(フロー)」が一目瞭然: ラダーで順序制御(ステップ回路)を組むと、自己保持やセット/リセット命令、工程歩進用の内部リレー管理などが複雑に絡み合い、解読に時間がかかります。SFCなら、「今どこにいて、次はどこへ行くか」が見たままの図になります。
- デバッグが早い: 「吸着工程で止まっている」ということが一瞬で分かるため、トラブルの原因調査範囲を即座に絞り込めます。
- デメリット(弱点):
- 「常時監視」には工夫が必要 : SFCは基本的に「現在アクティブな箱(ステップ)」の中身を実行する言語です。 そのため、「非常停止」や「エリアセンサー検知」のような「いつ何時でも即座に反応しなければならない処理」をSFCの中に組み込むには、構成上の工夫が必要になります。
- 【現場の鉄則】
- 「工程管理(メインルーチン)」に使え。
装置が今、どの工程にいるかを見失わないための「地図」として活用します。
- 「工程管理(メインルーチン)」に使え。
4. FBD(ファンクション・ブロック・ダイアグラム):Function Block Diagram

【どんな言語?】 機能を持った箱(ファンクションブロック)を配置し、それらを線(ワイヤー)で繋いで信号の受け渡しを記述する言語です。
【イメージ】 電子回路図や、オーディオ機器の配線。「信号が左から入り、加工されて右から出る」。
- メリット(強み):
- データの流れ(Flow)が見える: 数値がどう変化していくか、どこで判定されているかが視覚的に追えます。
- デメリット(弱点):
- 中身が「ブラックボックス」になる:ここが最大の落とし穴です。 「アナログ入力」という箱があっても、その中身が「4-20mA設定」なのか「1-5V設定」なのか、箱の外側からは分かりません。 「中身を理解せずに使うと事故る」、「他人の作ったFBは信用できない(中身の解析が必要)」というリスクがあります。
- 【現場の鉄則】
- 「標準化(ライブラリ化)」できた時だけ使え。
中身が完全に保証され、ドキュメント(説明書)が完備された「メーカー純正の箱」や「社内標準の箱」を使う分には最強です。しかし、その場の思い付きで自作FBを乱立させると、後任者が地獄を見ます。
- 「標準化(ライブラリ化)」できた時だけ使え。
5. IL(インストラクション・リスト):Instruction List

【どんな言語?】 LD X0, ANI X1, OUT Y0 のように、命令語をリスト状に並べた言語です。アセンブリ言語に似ています。
- 【現場の鉄則】
- 忘れろ。
- かつてメモリが少なかった時代の遺産です。現代のPLC開発においては、可読性が低いため推奨されません。知識として「昔はあったんだな」と知っていれば十分です。
どこで何を使う? 現場の「使い分け」マトリクス
それぞれのスペックが分かったところで、具体的な設計シーンに落とし込みます。迷った時は、この表を見て「◎(最も適している)」の言語を選んでください。
| 現場のタスク(作業) | LD(ラダー) | ST(テキスト) | SFC(チャート) | FBD(ブロック) |
| ① インターロック・I/O制御 | ◎ 最強 | △ 不向き | × 不適 | △ 作画手間 |
| ② 自動シーケンス (工程管理) | △ 記述量増 | ○ CASE文 | ◎ 専用 | × 不適 |
| ③ 計算・データ処理 (演算) | △ 記述量増 | ◎ 最強 | - (枠組み) | ○ 可読性次第 |
| ④ トラブル対応 (視認性) | ◎ 論理最強 | × 見えない | ○ 工程最強 | ◎ 流れ最強 |
※ IL(インストラクションリスト) は、現代の設計ではほとんど使用しないため除外しています。
【解説】なぜその評価なのか? 各言語の「得意なデータの扱い方」
なぜ、この評価になるのか? その理由は、各言語の「得意なデータの扱い方」が違うからです。
① インターロック・I/O制御(反射神経)
「安全カバーが閉じていて、かつ原点位置にいる時だけ起動する」といった、設備の安全性と挙動を決めるAND/OR論理です。
- LD(ラダー):◎ 電気回路図(展開接続図)との親和性が最も高く、論理構造を視覚的に把握しやすいからです。「A接点」と「B接点」を組み合わせたインターロック回路を記述するにおいて、ラダー以上に直感的でミスが少ない言語は存在しません。
- ST(テキスト):△
IF (SafetyCover AND OriginPos)...と書けますが、条件が増えてくるとテキストでは「どの条件が優先されているか」が一目で分からなくなります。
② 自動運転のシーケンス制御(工程管理)
「吸着」→「上昇」→「搬送」と進む制御のことです。
- SFC(チャート):◎ 「仕様書のフローチャート」をそのまま実装できるため、工程の抜け漏れや順序ミスが視覚的に発見しやすいからです。
- LD(ラダー):△ 最も一般的な手法ですが、工程が増えるたびに自己保持回路が増殖し、「インターロック条件」と「工程進行条件」が混ざって解読不能になります。修正時のバグ混入リスクが高いため「△」です。
③ 複雑な計算・データ処理(頭脳処理)
「(A + B) ÷ C」のような四則演算や、三角関数、データの並べ替えなどを想像してください。
- ST(テキスト):◎ 「関数電卓」と同じ感覚で扱えるからです。数式をそのまま1行で書けます。
- LD(ラダー):△ ラダーは「1行1命令」が原則です。計算の途中経過を保存するための「無駄なレジスタ(一時メモリ)」と「行数」を大量に消費します。式が複雑になればなるほど、回路図は肥大化し、計算の流れが見えなくなります。
④ 視認性・トラブル対応(保全が見る画面)
機械が止まった時、保全担当者は「どう書かれているか(①)」には興味がありません。「どこで止まっているか(結果)」だけを知りたいのです。
- LD(ラダー):◎ 「左から右へ電気が流れる」というモデルにより、どこで信号が途絶えているかが一瞬で判別できます。
- FBD(ブロック):◎ ①で作るのは面倒(△)でしたが、見る分には最強です。数値や信号の流れが線で見えるため、どこで値がおかしくなったかが直感的に分かります。
- ST(テキスト):× テキストの羅列であるため、モニターしても変数の現在値が表示されるだけで、「論理の繋がり」が見えません。トラブル対応でSTを見せられた保全担当者は困り果ててしまいます。
まとめ
ここまで、5つの言語の特徴と使い分けについて解説してきました。 最後に、この記事の結論をまとめます。
- 「論理(ON/OFF)」を見るなら、ラダーに勝るものはない。
- 「数式(計算)」を書くなら、STが圧倒的に早い。
- 「時間(工程)」を管理するなら、SFCが地図になる。
- 「データ(流れ)」を追うなら、FBDが最強の武器になる。
これら全てを理解した上で、適材適所で組み合わせる(ハイブリッド設計する)のが、現代のプロフェッショナルな設計です。
例えば、 「全体の工程管理は SFC で行い、
各工程の中身の複雑な計算は ST で処理し、
最終的な安全回路と出力制御は LD でガチガチに固める」
このように言語を使い分けることで、プログラムは見違えるほどシンプルになり、バグは減り、何より「あなた自身の残業時間」が劇的に減ります。
ラダー一本で戦うのも、職人芸として素晴らしいことです。 しかし、それではいつか「ラダーの限界」が、あなたの技術の限界になってしまいます。
現場の主役である「ラダー」を守り、活かすためにこそ、優秀なスペシャリスト(ST, SFC, FBD)たちを使いこなしてください。 それが、現場で信頼される設計者への最短ルートです。