技術(非IT系)

ラダー図の書き方は?基本ルールと設計手順も解説!(回路構成:接点配置:プログラム作成:デバッグ方法:最適化など)

当サイトでは記事内に広告を含みます

ラダー図の書き方を正確にマスターすることは、PLCプログラマーにとって最初の、そして最も重要なスキルのひとつです。

記号の意味を知っているだけではなく、どのような順序で設計を進めるか・接点をどのように配置するか・安全設計のルールをどう守るか・デバッグをどのように行うかという実践的な手順を体系的に習得することが、質の高いラダー図を書くための鍵となります。

ラダー図の書き方には「こうすれば正しく動く」という明確なルールがある一方、設計の品質を高めるための「こう書けばより良い」という実践的なベストプラクティスも存在します。

この記事ではラダー図の書き方について基本ルール・設計手順・接点配置のポイント・デバッグ方法・最適化のコツまで、一から丁寧に解説していきます。

ラダー図を書けるようになりたい初心者の方から、より良い設計を目指す現役エンジニアの方まで参考にしていただける内容です。

ラダー図の書き方の基本ルールは「左母線から始めて右母線で終わる1ラング1出力の原則」にある!

それではまず、ラダー図を書く際の基本的なルールと前提知識について解説していきます。

ラダー図の基本的な書き方ルール

ラダー図を書く際に必ず守るべき基本ルールを整理します。

ラダー図の最も根本的なルールは「各ラングは左母線から始まり右母線(または出力コイル)で終わる」という構造原則です。

この左→右という信号の流れの方向は絶対であり、接点は左側(入力側)に、コイルは右端(出力側)に配置します。

以下に主要な基本ルールをまとめます。

ルール番号 基本ルールの内容 違反した場合の問題
ルール1 接点は左側に、コイルは右端に配置する コンパイルエラーまたは意図しない動作が生じる
ルール2 コイルの右側に別の接点を直列に配置しない 多くのPLCソフトウェアでエラーになる
ルール3 同一ラングに複数のコイルを直列に置かない(並列は可) メーカーにより動作が異なり予測不能な挙動が生じうる
ルール4 出力デバイスに複数のラングから同じコイルを重複して書かない(二重コイル) 後のラングの演算結果が前のラングを上書きし意図しない動作になる
ルール5 最終ラングにEND命令(またはENDラング)を配置する プログラムの終わりがわからずエラーになる

特にルール4の「二重コイル禁止」は初心者がよく犯すミスであり注意が必要です。

同じ出力デバイス(例:Y000)を複数のラングのコイルとして使うと、スキャンサイクルで後のラングの結果が前のラングの結果を上書きするため、前のラングの意図した制御が無効になってしまいます。

デバイスの種類と命名規則の確認

ラダー図を書く前に、使用するPLCのデバイス体系を確認しておくことが必要です。

三菱電機(MELSECシリーズ)の代表的なデバイス体系を例として示します。

デバイス記号 デバイスの種類 典型的な用途
X000〜 入力デバイス(物理入力端子) センサー・スイッチ・外部機器からの入力信号
Y000〜 出力デバイス(物理出力端子) 電磁弁・モーター・ランプ・外部機器への出力信号
M000〜 内部補助リレー(内部デバイス) 工程フラグ・中間論理の保持・プログラム内部での使用
T000〜 タイマー 時間遅延・時限制御・自動停止タイマー
C000〜 カウンター 個数カウント・回数管理
D000〜 データレジスタ(ワードデバイス) 数値データ・設定値・計算結果の記憶

書き始める前のI/Oリスト作成の重要性

ラダー図を書き始める前に必ず「I/Oリスト(入出力一覧表)」を作成することが重要です。

I/Oリストとは各デバイスアドレス(X000・Y000・M000など)に対して、その物理的な意味・接続機器・動作状態(どのときにONかOFFか)を記録した一覧表です。

I/Oリストなしでラダー図を書くと、デバイスの意味を都度覚えなければならないため設計効率が著しく低下し、ミスも増えます。

また将来の保守や改造時に、I/Oリストがあることでプログラムの理解が格段に速くなります。

ラダー図設計の具体的な手順

続いては、ラダー図を設計する際の具体的な手順について確認していきます。

ステップ1:制御仕様の整理とタイムチャートの作成

ラダー図の設計は「何を制御したいか」という仕様の整理から始まります。

まず制御の目的・動作条件・安全条件を文書化し、続いてタイムチャート(シーケンス図)を作成します。

タイムチャートでは各入力信号がいつONになるか・それを受けていつ出力がONになるか・どのタイミングで停止するかを時間軸上に表現します。

このタイムチャート作成の段階で動作ロジックの矛盾・安全条件の漏れ・インターロックの必要性などが明確になります。

具体的には以下の項目を整理します。

制御仕様整理の確認リスト

【入力の整理】

・起動条件は何か(どのスイッチ・センサーがONになったとき起動するか)

・停止条件は何か(どの条件でどの出力が停止するか)

・非常停止条件は何か(安全上の最優先停止条件)

・インターロック条件は何か(A動作中はB動作禁止などの相互拘束条件)

【出力の整理】

・制御対象(モーター・弁・ランプなど)の一覧

・各出力のONになる条件とOFFになる条件

【特殊機能の確認】

・タイマー制御が必要か(いつから何秒後に何が動くか)

・カウント制御が必要か(何回動作したら何が変化するか)

・自己保持が必要か(一度ONになったら保持が必要か)

ステップ2:デバイスの割り付けとI/Oリストの作成

仕様の整理が完了したら、各入力・出力・内部デバイスにアドレスを割り付けてI/Oリストを作成します。

デバイス割り付けの際のポイントを説明します。

入力デバイス(Xデバイス)はPLCの物理的な入力端子番号に対応するため、実際の配線計画と合わせてアドレスを決定します。

出力デバイス(Yデバイス)も同様に物理的な出力端子番号に対応させます。

内部デバイス(Mデバイス)は機能ごとにグループ化して割り付けると管理しやすくなります。

たとえばM000〜M009を工程フラグ・M010〜M019を異常フラグ・M020〜M029をタイマー起動フラグというように用途別にグループ分けする方法が実用的です。

ステップ3:機能単位でラダーラングを作成する

I/Oリストが完成したらいよいよラダー図の作成に入ります。

一度に全体を書こうとするのではなく「機能単位(起動停止・タイマー・カウンター・インターロック・警報など)」ごとに設計することが効率的です。

ラダーラング作成の優先順位の例

第1優先:安全系ラング(非常停止条件・インターロック条件の確認ラング)

第2優先:主要な動作ラング(メインの自己保持回路・主出力制御)

第3優先:タイマー・カウンターの駆動ラング

第4優先:補助出力ラング(ランプ・ブザーなどの表示系)

第5優先:データ処理・演算ラング(必要な場合)

第6優先:END命令ラング(最終ラング)

特に安全系のラングを最初に設計してそれに基づいて主要動作ラングを設計するという順序が、安全設計の観点から重要です。

接点配置と回路構成のベストプラクティス

続いては、接点の効果的な配置と回路構成の実践的なポイントについて確認していきます。

接点の配置順序と効率的な回路構成

接点の配置には機能上の必須ルールの他に、プログラムの可読性・効率性を高めるためのベストプラクティスがあります。

左から右への配置順序のポイントとして、最も重要な停止・安全条件を最も左側に配置することが第一原則です。

次に継続的な保持条件(自己保持接点)を起動条件と並列に配置し、その後に付加的な許可条件を配置します。

また「並列(OR)が多く直列(AND)が少ない条件」は並列グループを先に配置し、その右に直列条件を追加する方が回路図として読みやすくなります。

逆に「直列(AND)が主で並列(OR)が少ない」場合は直列を主軸として並列を枝として追加する形が見やすいでしょう。

コメントの書き方と可読性の向上

ラダー図の可読性を大幅に向上させる最も効果的な方法が「適切なコメントの付与」です。

コメントには「デバイスコメント」と「ラングコメント」の2種類があります。

デバイスコメントはX000・Y000などの各デバイスアドレスに対して付けるコメントであり、「X000:起動押しボタン(PB1)」のように物理的な意味を記述します。

このデバイスコメントを設定しておくと、ラダー図上の接点・コイルの隣にコメントが表示されるため、アドレスを覚えていなくても回路の意味が一目でわかります。

ラングコメントは各ラング(横方向の回路1行)の上に付けるコメントであり、「モーター正転自己保持回路(起動:X000、停止:X001)」のように、そのラングが何をする回路かを説明します。

プログラムの分割と管理の工夫

大規模なラダープログラムでは「プログラムの分割」によって管理しやすくすることが重要です。

三菱電機のGX Works・オムロンのSysmac Studioなどの現代的なPLC開発環境では、プログラムをポップアップ・ファンクションブロック・ローカルラベルなどの機能を使って機能単位に分割・整理することができます。

たとえば「コンベア制御」「ロボット制御」「警報処理」「データ処理」というように機能ごとにプログラムを分割して管理することで、大規模プログラムでも理解・保守・改造が格段に容易になります。

ラダー図のデバッグ方法

続いては、作成したラダー図のデバッグ(動作確認と問題修正)の方法について確認していきます。

オフラインシミュレーションによる事前確認

PLCに書き込む前にパソコン上でシミュレーションを行うことが、安全で効率的なデバッグの第一歩です。

三菱電機のGX Works・オムロンのSysmac Studioなどの主要PLCソフトウェアには「シミュレーション機能(オフラインシミュレーター)」が搭載されており、実際のPLCがなくてもパソコン上でラダー図の動作を確認できます。

シミュレーションでは入力デバイスの状態を手動でON/OFFに切り替えながら、出力デバイスが期待どおりに変化するかを確認します。

特に「タイムチャートで定義した仕様どおりに動作するか」を系統的にチェックすることが重要です。

オンラインモニターを使った実機でのデバッグ

シミュレーションで基本的な動作確認が完了したら実機のPLCにプログラムをダウンロードし、オンラインモニターを使って実際の動作を確認します。

オンラインモニター機能ではPLCが実行中にラダー図上の各接点・コイルのON/OFFの現在状態がリアルタイムで表示されます。

ONの接点は色付き(通常は緑・青など)で表示されるため、信号がどこまで流れているか・どこでブロックされているかが一目でわかります。

デバッグ時のオンラインモニターの活用ポイントを紹介します。

オンラインモニターを使ったデバッグの手順

ステップ1:起動条件を操作しても出力がONにならない場合

→ ラダー図上で左から右へ信号の流れを追い、どの接点で信号がブロックされているかを確認

→ ブロックされている接点のデバイスがONになっているべきか確認

→ デバイスがONになっていない原因(センサー未動作・配線不良・プログラムミスなど)を特定

ステップ2:停止条件を操作しても出力がOFFにならない場合

→ 停止条件のB接点が開放されているかを確認

→ B接点のデバイスが実際にONになっているかを確認(配線・センサーの確認)

→ 複数の停止条件がある場合、どの条件が欠落しているかを順次確認

ステップ3:タイマーが期待時間通りに動作しない場合

→ タイマー設定値(K値)と実際の時間が一致しているかを確認

→ タイマーデバイスの現在値をデバイスモニターで確認

デバッグ時のよくある問題と対策

ラダー図のデバッグでよく遭遇する問題とその対策を整理します。

よくある問題 原因の可能性 確認・対策方法
出力が全くONにならない 入力が正しく読み込まれていない・B接点の論理ミス・配線不良 入力デバイスの状態をモニターで確認。B接点をA接点に変えてテストする
出力がOFFにならない 停止条件のB接点がONになっていない・インターロックが解除されている 停止条件デバイスの実際の状態を確認。物理センサーの動作を確認
チャタリング(出力が高速でON/OFFを繰り返す) センサーの誤動作・フィルタリングが不足 入力フィルタ設定を見直す・立ち上がり/立ち下がり検出接点を使用
タイマーがタイムアップしない タイマー起動条件が途中でOFFになっている・設定値が大きすぎる タイマーの現在値をモニターで確認。起動条件の連続性を確認
二重コイルによる予期しない動作 同一デバイスを複数のラングからOUTしている プログラムを検索して同じデバイスのOUT命令が複数ないか確認

ラダー図の最適化と品質向上のポイント

続いては、作成したラダー図をより高品質なプログラムにするための最適化ポイントについて確認していきます。

スキャンタイムの短縮と効率化

ラダープログラムが長くなるほどスキャンタイムが増大し、制御の応答が遅くなる可能性があります。

スキャンタイムを短縮するための最適化ポイントを説明します。

不要な演算命令・不要なデータ転送命令を削除することが基本です。

また使用頻度の高い条件を判定するラングをプログラムの早い段階(上位のラング)に配置することで、条件が不成立のときに後続の演算をジャンプ(CJ命令)で飛ばす設計が可能になります。

ファンクションブロック(FB)を活用して同じ処理を複数箇所でコード重複なく使い回せるようにすることも効率化に有効です。

保守性を高める設計の工夫

ラダー図の品質を評価する重要な指標のひとつが「保守性(メンテナビリティ)」です。

保守性を高めるための設計の工夫を紹介します。

まず「魔法の数字を避ける」ことが重要です。

プログラム中に直接数値(K300・K50など)を書き込むのではなく、データレジスタD0に「速度設定値」などの意味のあるコメントをつけた上でそのDデバイスを参照するように設計すると、後から設定値を変更する際に修正箇所が一か所で済みます。

次に「モジュール化・分割設計」を心がけることです。

機能ごとにプログラムを分割し各モジュールの入出力関係を明確にすることで、改造や機能追加の際に影響範囲を最小限に抑えることができます。

安全規格に準拠した設計の基本ルール

製造機械・産業設備においては機械安全規格(ISO 13849・IEC 62061など)に準拠したPLCプログラムの設計が求められるケースが増えています。

安全設計の観点から守るべき重要なラダー図設計ルールです。

・非常停止・安全センサー・インターロック条件は常にB接点(フェールセーフ設計)で実装し、配線断線時も停止動作するようにする

・安全に関わる停止条件は回路の最左(最優先位置)に配置し、どの起動条件よりも先に評価されるようにする

・同一の出力デバイスを制御する二重コイルは絶対に使用しない

・安全に関わる出力(非常停止状態・異常フラグ)は揮発性デバイスではなくラッチ領域のデバイスを使用して停電後の状態を保持する

・プログラムにはウォッチドッグタイマー(暴走検出)の処理を含め、PLC異常時の安全停止を確保する

まとめ

ラダー図の書き方の基本ルールは「接点は左側・コイルは右端」「1ラング1出力を原則」「二重コイルを禁止」「最終ラングにEND命令を配置」という4点が核心となります。

設計手順は「仕様整理とタイムチャート作成→I/Oリストとデバイス割り付け→機能単位でのラングの作成→シミュレーションによる事前確認→実機でのオンラインモニターデバッグ」という段階的なフローが確実です。

接点の配置では安全停止条件を最も左に置く停止優先設計が原則であり、コメントの充実・モジュール化・変数のシンボル化によって保守性の高いプログラムを実現できます。

デバッグではオンラインモニターを使って信号の流れを追いながら問題箇所を特定し、よくある問題のパターンを知っておくことで対処を効率化できます。

ラダー図の書き方の基本ルールと設計手順を確実に習得することが、信頼性の高いシーケンス制御プログラムを作り続けるための土台となるでしょう。