信号機は私たちが毎日目にする自動制御システムの身近な例であり、その制御の仕組みを理解することはラダー図の学習において非常に優れた実践例となります。
「青→黄→赤→青」という信号機の基本的な動作は、タイマー制御・状態遷移・安全インターロックといったラダー図の重要な概念をすべて含んでいます。
また交差点の信号機では南北と東西の信号機が同時に青になってしまうことがあってはならないという絶対的な安全条件(インターロック)も必要であり、安全設計の実践例としても最適です。
この記事ではラダー図による信号機制御の仕組みについて基本的な1方向信号機の設計から始め、交差点での双方向制御・歩行者信号との連動・安全インターロック・実際の交通制御システムへの応用まで、体系的にわかりやすく解説していきます。
ラダー図による信号機制御の基本は「タイマーによる状態遷移」を実現することにある!
それではまず、信号機制御の基本概念とラダー図でどのように実現するかについて解説していきます。
信号機制御の基本的な動作仕様
最もシンプルな1方向信号機(青・黄・赤の3色ランプ)の動作仕様を定義します。
基本信号機の動作仕様
状態1:青信号 ON → 30秒間点灯(青30秒)
状態2:黄信号 ON → 5秒間点灯(黄5秒)
状態3:赤信号 ON → 35秒間点灯(赤35秒)
→ 状態1に戻って繰り返す(合計サイクル70秒)
安全条件
・青・黄・赤のいずれか1つのみが点灯する(複数同時点灯禁止)
・どの状態にも必ずいずれか1つが点灯している(無灯火禁止)
デバイス割り付け(三菱電機形式)
X000:起動スイッチ
Y000:青信号ランプ
Y001:黄信号ランプ
Y002:赤信号ランプ
M000:青状態フラグ(青信号の状態を保持)
M001:黄状態フラグ(黄信号の状態を保持)
M002:赤状態フラグ(赤信号の状態を保持)
T0:青信号タイマー(K300 = 30秒)
T1:黄信号タイマー(K50 = 5秒)
T2:赤信号タイマー(K350 = 35秒)
このシンプルな仕様でも「3つの状態間の遷移」「各状態での時間管理」「安全条件(同時点灯禁止)」というシーケンス制御の本質的な要素がすべて含まれています。
状態遷移の概念とラダー図での実現方法
信号機制御の核心は「状態遷移(State Transition)」にあります。
状態遷移とは「現在の状態(ステート)と遷移条件が成立したとき、次の状態へ移行する」という制御の基本パターンです。
信号機では「青状態のときにタイマーがタイムアップしたら→黄状態に移行」「黄状態のときにタイマーがタイムアップしたら→赤状態に移行」「赤状態のときにタイマーがタイムアップしたら→青状態に移行」という3つの状態遷移が循環しています。
ラダー図でこの状態遷移を実現するアプローチには主に2つの方法があります。
第一の方法は「状態フラグ(Mデバイス)を使ったビット型状態管理」です。
各状態に対応した補助リレー(M000:青・M001:黄・M002:赤)をセット・リセットすることで現在の状態を管理します。
第二の方法は「データレジスタ(Dデバイス)を使った数値型状態管理」です。
D000に現在の工程番号(1:青・2:黄・3:赤)を格納し、比較命令で状態を判定する方法です。
この記事では理解しやすい第一の方法(ビット型状態管理)を用いて説明します。
基本信号機のラダー図の全体設計
状態フラグを使った基本信号機のラダー図の全体構成を示します。
基本信号機ラダー図の全ラング構成
ラング1(初期化・起動)
起動時(X000の立ち上がり)に青状態フラグM000をセットして青信号から開始する
─┤X000↑├─(SET M000)─
ラング2(青タイマー駆動)
青状態(M000=ON)のときT0をカウント開始
─┤M000├─(T0 K300)─
ラング3(青→黄の遷移)
T0タイムアップ(T0=ON)したらM000をリセット・M001をセット
─┤T0├─(RST M000)─
─┤T0├─(SET M001)─
ラング4(黄タイマー駆動)
─┤M001├─(T1 K50)─
ラング5(黄→赤の遷移)
─┤T1├─(RST M001)─
─┤T1├─(SET M002)─
ラング6(赤タイマー駆動)
─┤M002├─(T2 K350)─
ラング7(赤→青の遷移)
─┤T2├─(RST M002)─
─┤T2├─(SET M000)─
ラング8(青ランプ出力)
─┤M000├─(Y000)─
ラング9(黄ランプ出力)
─┤M001├─(Y001)─
ラング10(赤ランプ出力)
─┤M002├─(Y002)─
このラダー図の設計により、起動時に青状態から始まり30秒→黄5秒→赤35秒という信号サイクルが自動的に繰り返されます。
状態フラグとランプ出力を分離して記述しているため(ラング8〜10が出力ラング)、プログラムの構造が明確で保守しやすい設計となっています。
交差点信号機の双方向制御とインターロック設計
続いては、実際の交差点での信号機制御(南北方向と東西方向の2方向制御)について確認していきます。
交差点信号機の仕様と安全要件
交差点では南北方向と東西方向の2つの信号系統が連動して動作します。
交差点信号機の最も重要な安全要件は「南北の青と東西の青が同時に点灯することが絶対にあってはならない」という絶対安全条件です。
もし南北と東西が同時に青になると、両方向の車が同時に交差点に進入して衝突事故が発生するからです。
| 時間帯 | 南北信号 | 東西信号 | 経過時間(秒) |
|---|---|---|---|
| フェーズ1 | 青(30秒) | 赤 | 0〜30秒 |
| フェーズ2 | 黄(5秒) | 赤 | 30〜35秒 |
| フェーズ3(全赤) | 赤(3秒) | 赤 | 35〜38秒 |
| フェーズ4 | 赤 | 青(30秒) | 38〜68秒 |
| フェーズ5 | 赤 | 黄(5秒) | 68〜73秒 |
| フェーズ6(全赤) | 赤(3秒) | 赤 | 73〜76秒 |
| 次のサイクル開始 | 青に戻る | 赤のまま | 76秒〜 |
特に注目すべきは「全赤フェーズ(フェーズ3・フェーズ6)」の存在です。
この全赤フェーズは一方の青信号が消えてから他方の青信号が点灯するまでの間に設けられる安全時間(インターグリーンタイム)であり、交差点内に残っている車が安全に通過できるように確保されています。
全赤フェーズのラダー図での実現
全赤フェーズをラダー図で実現するための設計を説明します。
全赤フェーズは「一方の黄信号タイムアップ後→全赤フラグをセット→全赤タイマー3秒→全赤タイマーのタイムアップ後→次方向の青フラグをセット」という流れで実現します。
全赤フェーズを含む交差点制御の状態遷移
状態M010:南北青(30秒タイマーT10)
→ T10タイムアップ → M010リセット、M011セット
状態M011:南北黄(5秒タイマーT11)
→ T11タイムアップ → M011リセット、M012セット
状態M012:全赤(3秒タイマーT12)← 安全インターグリーンタイム
→ T12タイムアップ → M012リセット、M013セット
状態M013:東西青(30秒タイマーT13)
→ T13タイムアップ → M013リセット、M014セット
状態M014:東西黄(5秒タイマーT14)
→ T14タイムアップ → M014リセット、M015セット
状態M015:全赤(3秒タイマーT15)← 安全インターグリーンタイム
→ T15タイムアップ → M015リセット、M010セット(最初に戻る)
出力の割り当ては状態フラグに基づいて設定します。
南北青:M010=ONのとき → Y010(南北青ランプ)=ON
南北黄:M011=ONのとき → Y011(南北黄ランプ)=ON
南北赤:M011 OR M012 OR M013 OR M014 OR M015のとき → Y012(南北赤ランプ)=ON
東西の赤・黄・青も同様に設定します。
安全インターロック回路の設計
ラダー図における最重要の安全設計として、南北青と東西青の同時点灯を防ぐ安全インターロック回路を追加します。
安全インターロック付きの出力ラング
南北青ランプ出力(東西青の逆インターロック付き)
─┤M010├─┤/Y013├─(Y010)─
(Y013:東西青ランプ。東西青がONのときは南北青は絶対に点灯しない)
東西青ランプ出力(南北青の逆インターロック付き)
─┤M013├─┤/Y010├─(Y013)─
(Y010:南北青ランプ。南北青がONのときは東西青は絶対に点灯しない)
この設計の効果
仮にプログラムのバグで両方の青フラグが同時にONになっても、相手方の青ランプのB接点によって同時点灯が物理的(ソフト的)にブロックされる
このインターロック設計は「プログラムのロジックが正しく動いているという前提に加えて、万が一ロジックに誤りがあった場合も安全が保たれる」という「二重の安全」を実現するものです。
実際の信号機システムでは、さらにハードウェア的な物理インターロック(直列接続したリレーによるソフトウェアとは独立した安全回路)も組み合わせて使われています。
歩行者信号との連動制御の設計
続いては、車道信号機と歩行者用信号機を連動させた制御の設計について確認していきます。
歩行者信号の動作仕様と要件
歩行者用信号機は車道信号機と連動して動作しますが、以下の追加要件があります。
車道が青のとき歩行者は赤(横断不可)とします。
車道が黄に変わるとき歩行者も引き続き赤(横断不可)を維持します。
全赤フェーズの後、歩行者信号が青になります(横断可能時間は車道青より数秒短く設定)。
歩行者青の終わりには点滅(フリッカー)で残り時間を知らせます。
歩行者青終了後は全赤フェーズを経てから車道信号が切り替わります。
歩行者押しボタン(感応制御)の実装
多くの交差点では「歩行者押しボタン(歩行者ボタン)」が設置されており、歩行者がボタンを押したときのみ歩行者青が出現する「感応制御」が採用されています。
歩行者押しボタン感応制御のラダー図設計ポイント
デバイス
X020:歩行者押しボタン
M020:歩行者要求フラグ(ボタンが押されたことを記憶)
Y020:歩行者青ランプ
Y021:歩行者赤ランプ
歩行者要求フラグの自己保持
─┤X020├─(SET M020)─
(ボタンを押すとM020がセット。次の歩行者サービスサイクルが来るまで保持される)
歩行者サービスの挿入
車道の全赤フェーズにおいてM020=ONのとき歩行者青フラグをセットし
歩行者青サービスが完了したらM020をリセットする
歩行者青出力
─┤M020├─┤全赤フラグ├─(Y020)─
歩行者要求フラグ(M020)は一度ボタンが押されたら次のサービスサイクルが来るまで記憶(自己保持)することが重要であり、セット・リセット型の自己保持回路が適切に機能します。
歩行者青信号のフリッカー(点滅)実装
歩行者青信号の残り時間を知らせる点滅(フリッカー)は、タイマーを使ったフリッカー回路で実現します。
歩行者青の最後の5秒間は歩行者青ランプを0.5秒ON・0.5秒OFFで交互に点滅させます。
この実装には「歩行者青残り5秒フラグ(タイマーで判定)」と「0.5秒フリッカーフラグ(タイマー2個で構成)」を組み合わせて使います。
0.5秒フリッカー回路はT20(0.5秒)とT21(0.5秒)の2つのタイマーを使い、T20がタイムアップするとT21が起動しT21がタイムアップするとT20がリセットされて再起動するフィードバック構造で実現します。
歩行者青ランプ出力は「歩行者青残り5秒前はON継続、残り5秒になったらT20のA接点で点滅」という条件分岐で制御します。
実際の交通制御システムとラダー図の関係
続いては、実際の交通信号制御システムがどのような構成で実現されているかについて確認していきます。
現代の交通信号制御システムの構成
現代の交通信号制御システムは単純なタイマー制御を超えた高度な仕組みで動作しています。
| 制御の種類 | 概要 | 実現手法 |
|---|---|---|
| 定周期制御(固定時間制御) | 青・黄・赤の時間が固定サイクルで繰り返す | タイマー+状態遷移のラダー図 |
| 感応制御(車両感応) | 車両検知センサーの情報に応じて青時間を延長・短縮 | カウンターと比較命令でトラフィックを判断 |
| 系統制御(グリーンウェーブ) | 一定速度で走ると青信号が続くよう複数交差点を連動 | 上位コントローラーとの通信制御 |
| エリア制御 | 広域交通管理センターが交通状況に応じてプログラムを変更 | 通信ネットワーク+上位管理システム連携 |
実際の信号機制御器(信号制御機)は専用の組み込み制御コンピュータを使っていますが、その動作原理はラダー図で学ぶシーケンス制御と本質的に同じです。
交通量センサーとの連動(感応制御)のラダー図実装
車両感応制御をラダー図で実現するための基本的な考え方を説明します。
道路に埋め込まれたループコイルセンサーや画像認識カメラが車両を検知し、交差点の車両待ち台数をカウントします。
待ち台数が少ない場合は青時間を短縮し、多い場合は青時間を延長するという制御をラダー図で実現します。
車両感応制御の基本的なラダー図設計
デバイス
X030:車両検知センサー(車両が通過するたびにON)
D010:待ち車両カウント値
D011:青信号時間設定値(D010の値に応じて動的に変化)
基本ロジック
ラング1:センサーX030の立ち上がりでD010をインクリメント(+1)
─┤X030↑├─(INC D010)─
ラング2:D010の値に応じてD011(青時間)を設定
─[<= D010 K5]─(MOV K250 D011)─(5台以下なら25秒)
─[> D010 K5]─(MOV K400 D011)─(5台超なら40秒)
ラング3:青タイマーT0の設定値をD011から読み込む
─┤M010├─(T0 D011)─(設定値をDデバイスから動的に参照)
このように比較命令・データ転送命令・間接タイマー設定を組み合わせることで、センサー情報に応じた動的な信号制御が実現できます。
信号機制御の学習が提供するラダー図スキルへの貢献
信号機制御の設計を通じて習得できるラダー図のスキルと知識をまとめます。
信号機制御の設計で習得できるラダー図の重要スキルです。
・状態遷移設計:状態フラグ(Mデバイス)をセット・リセットして複数の状態を管理する手法
・タイマー制御:複数のタイマーを連鎖させて時間的な制御フローを実現する方法
・安全インターロック:絶対に同時ONにしてはいけない出力を相互のB接点で保護する設計
・フリッカー回路:タイマー2個を使った点滅動作の実現
・感応制御:センサー入力とカウンター・比較命令を組み合わせた動的制御
・停止優先設計:安全条件を最左に配置して最優先で評価される安全回路の原則
これらのスキルは信号機以外の工場設備・産業機械・インフラ設備の制御にもすべて応用できます
まとめ
ラダー図による信号機制御の基本は、タイマーによる時間管理と状態フラグ(Mデバイス)によるセット・リセット型の状態遷移によって青→黄→赤→青の繰り返しサイクルを実現することにあります。
交差点での双方向制御では全赤フェーズ(安全インターグリーンタイム)の実装が必須であり、南北青と東西青の同時点灯を防ぐ安全インターロック(相互のB接点による禁止)が最も重要な安全設計です。
歩行者信号との連動では押しボタン感応制御・点滅(フリッカー)制御などの追加機能がタイマーと状態フラグの組み合わせで実現できます。
車両感応制御では比較命令・データ転送命令・間接タイマー設定を活用することで交通量に応じた動的な信号時間制御が可能となります。
信号機制御の設計学習は状態遷移・タイマー制御・インターロック・フリッカーという実務で最も重要なラダー図のスキルを一度に習得できる理想的な実践例であり、ラダー図の総合的な理解を深める最善の演習題材のひとつといえるでしょう。