プログラマブルロジックコントローラ
一般的なPLCはソフトウェアとしてラダー論理というものを使う。ラダー論理というものはリレー回路を記号化したもので、「ラダー図」という梯子のような図形で表す。電気技術者は回路図の問題を解くようにラダー論理を使い、PLCのプログラムを図面で扱うことができる。この方法が選ばれた理由は、リレー回路をシミュレートすることで、普及を促進させるものであった。
現在では一般のコンピュータと差の少ないPLCも使われるようになった。IEC 61131-3 標準規格によれば、PLCを構造化プログラミング言語(ST言語)でプログラムすることも可能で、論理基本操作でプログラムすることもできる。シーケンシャル・ファンクション・チャート(SFC言語)と呼ばれるグラフィカルなプログラミング表記法を用いることができるプログラマブルコントローラもある。
プログラム目的により、ラダーで記述することのできない拡張命令群が主体となることもあるが、規模の大小にかかわらず計装系(位置制御、速度制御を含む)や文字などの扱いのないリレーロジックでのみの制御では、ラダー図のみのプログラムでも十分コスト及びスペースメリットが出てくるものである。
PLCで扱う信号はデジタル信号である。
デジタル(または離散)信号とは単純に ON と OFF (1 と 0、真と偽)の信号だけである。押しボタン、リミットスイッチ、光スイッチなどがデジタル信号を発生するデバイスである。デジタル信号は電圧か電流で判断され、ある閾値でONかOFFかが決定される。例えば 24VDC の入出力を持つPLCでは、22VDC以上をONと判断し、2VDC以下をOFFと判断する。電流入力の方が電圧入力よりも電気的ノイズに強い。
アナログ信号はボリューム制御のようなものであり、一般にゼロからある最大値までの値を示す。アナログ信号には電圧や電流が使われる。アナログ信号はADコンバータなど呼ばれるPLCのI/Oモジュールによって整数値に変換されPLCに取り込まれる。逆にデジタル信号をアナログ信号に変換するモジュールをDAコンバータなどという。
アナログ信号は連続した無限個の数値だが、デジタル信号は有限個の数値しか使えない。そのため、アナログ信号の取込み範囲と精度は、デバイス側の精度とPLC側の信号線の割当てのバランスで決定される。例えば、0〜24VDCの範囲のアナログ信号があり、PLCで8本の信号線がこの入力に割り当てられたとすると、0Vはデジタルで0、24Vはデジタルで255となるだろう。精度は24/256となり約0.1V以下の変化は無視される。25VDCの入力があった場合にどう解釈されるかはPLCに依存する(24Vのままだったり、エラーとして処理したりする)。
PLCは小型のコンピュータの一種で、中枢には他のコンピュータと同じようにマイクロプロセッサが使われ、ソフトウェアで動作する点も同じであるが、PLCの動作の仕方は他のコンピュータとは異なる。通常のコンピュータがチューリングマシンを原型とするノイマン型の動作モデルを採用しているのに対して、PLCはリレー回路を原型とするステートマシンを動作モデルとしている。したがってPLCのプログラムは、リレー回路を記号化したプログラミング言語が使われる。そのプログラムはリレー回路を模した図に変換することが可能である。その図をラダー図と言う。
ラダー図は、はしごのようにみえることから由来するが、プログラム的には、すべての入出力がラッチされることで入出力の同時性がプログラム上(内部ファームウエア上)確保されているにすぎない。
一般の演算装置同様、インデックスレジスタ等の間接指定も容易にできることから、一般のアセンブリ言語を習得したものなら、ラダー回路は、その記述方法が違うだけで容易に習得可能である。