ラダー・ロジック:PLCプログラミングの基礎
ラダー・ロジック(ラダー言語)は、
論理回路を記述するための
プログラミング言語であり、多くの
プログラマブルロジックコントローラ(PLC)で採用されています。リレー回路図を思わせる視覚的な記述方法が特徴で、電気制御に馴染みのある技術者にとって理解しやすい言語として知られています。
ラダー・ロジックの概要
ラダー・ロジックは、2本の垂直線(母線)とそれらをつなぐ水平線(ラング)で構成されるラダー図でプログラムを表現します。ラングは、論理演算(AND、OR、NOTなど)を行い、その結果を出力(コイル)に反映します。
ラダー・ロジックプログラムは、リレーを使ったハードウェア回路と等価です。そのため、リレー回路に慣れたエンジニアや技術者は、容易に理解し、利用できます。プロセス制御、
ファクトリーオートメーションにおける
シーケンス制御、クリティカルな制御システム、旧来のリレー回路の置き換えなど、幅広い用途で活用されています。
ラダー・ロジックの仕組み
ラダー・ロジックは、ルールベースの言語と言えます。各ラングが一つのルールを表し、ラング内の要素(接点、コイルなど)は同時に、もしくはシーケンシャルに実行されます。
接点: 入力信号(スイッチ、センサーなど)や内部メモリビットの状態を表します。通常は、接点が閉じている(ON)状態のとき、電流が流れ、論理値「真」となります。
コイル: 出力信号(モーター、ランプなど)や内部メモリビットの状態を表します。ラングの論理演算結果によって、コイルがON/OFF(真/偽)に制御されます。
*
ラング: 接点とコイルを接続する水平線。ラングが成立すると、接続されたコイルがONになります。
ラダー・ロジックでは、接点によって回路を「閉じる」あるいは「開く」ことで、コイルを制御します。各コイルや接点は、PLCのメモリ上の1ビットの状態に対応します。電気的なリレーと異なり、ラダー・ロジックでは、各ビットの参照回数に制限がなく、非常に多くの接点を持つリレーと考えることができます。
ラダー・ロジックのプログラム例
簡単なラダー・ロジックプログラムの例を示します。
1.
--[ ]-|[ ]
|--( )
X | Y | S
| |
|
[ ]|
Z
S = X AND (Y OR Z)
この例では、X、Y、Zが接点、Sがコイルです。XがONで、YまたはZがONであれば、SがONになります。これは論理演算を表現したものです。
より複雑な例としては、複数のラングを組み合わせた回路があります。ラングの実行順序によって、出力結果が変わる場合があるため、注意が必要です。
ラダー・ロジックの拡張機能
多くのPLCメーカは、ラダー・ロジックに特殊命令を追加しています。タイマ、カウンタ、数値演算、
PID制御などの機能を利用することで、より高度な制御を実現できます。これらの特殊命令は、ブロックとして表現され、ラダー図の中に配置されます。
ラダー・ロジックの制約と将来
ラダー・ロジックは、ブール値(真/偽)を扱う
シーケンス制御には適していますが、アナログ値や複雑な数値演算には向いていません。近年では、シーケンシャル・ファンクション・チャートやファンクション・ブロック・ダイアグラムなど、より高度な
プログラミング言語がPLCで使用されるようになってきています。非常に大規模なシステムでは、
C言語などの手続き型言語が利用されることもあります。
まとめ
ラダー・ロジックは、PLCプログラミングにおいて広く利用されている、視覚的で理解しやすい言語です。しかし、複雑な制御システムでは、他の
プログラミング言語との併用が現実的になってきています。そのシンプルさと分かりやすさから、今後もPLCプログラミングにおいて重要な役割を担っていくと予想されます。