この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?: "ラダー・ロジック"
ラダー・ロジックまたはラダー言語(ラダーげんご)は論理回路を記述するための手法である。2023年現在、多くのプログラマブルロジックコントローラ(PLC)で採用されているプログラム言語である。ラダー図という場合もある。本来は、リレーによる論理回路を記述するために考案されたものである。ラダーという名前は、この言語のプログラムが2本の並行するレール(母線)とその間に渡されるラングによって梯子(ラダー)のように見えることに由来する。ラダー言語はハードウェア記述言語とは別のものと扱われている。 ラダー・ロジックで書かれたプログラムはリレーを使った回路と等価である。このため、それらに親しんだエンジニアや技術者が理解・利用しやすいという点で優れている。 ラダー・ロジックはプロセス制御やファクトリーオートメーションでシーケンス制御などで使われるPLCのプログラミングに広く使用されている。またラダー・ロジックは単純ではあるがクリティカルな制御が求められるシステム、あるいは旧来のリレーと実配線による回路の置き換えにも利用される。PLCは近年高機能化の一途をたどっており、非常に複雑なオートメーションシステムで使われるようになった。 ほとんどのPLCメーカが自社用のラダー・ロジック用のプログラミングツールを提供している。通常はメーカが異なれば完全な互換性はない。1つの言語というよりは、互いにかなり似たプログラミング言語群といえる。同じシリーズのPLCであっても型番が違えば記述方法が異なる、といったこともあるので、プログラムの移植は一筋縄ではいかない。 ラダー・ロジックは手続き型言語というよりは、ルールベースの言語といえる。ラダー中の「ラング」がルールである。ラング内のリレー各種のデバイス(ルール)は同時に、即時に「実行」される。PLC内部に実装されている場合は、通常はこれらのルールはソフトウェアによってシーケンシャルに(順番に)無限ループで実行される。実行速度が充分に速ければ(通常はミリ秒オーダーである)この同時性、即時性があるといえる。ただし、実際にPLCを使うときは、ラングの実行順序による制限を知っていなければならない場合もある。 この言語は複数の論理の検出(リレー接点)とアクチュエータ(コイル)を組み合わせたものとみなせる。ラングの左側から「真」(trueの、もしくは「閉じた」)接点を経由して出力側につながる経路がある場合、ラングはtrueであり、出力コイルは真(1)、もしくはtrueを保持することになる。経路がない場合は出力はfalse(0)となり、「コイル」に相当するデバイスは「不活性」な状態になる。この論理とリレー接点の対応は クロード・シャノン の考案によるものである。 ラダー・ロジックは「接点」によって「回路」を「閉じる」あるいは「開く」ことで「コイル」を制御する。 いわゆる「接点」は押しボタンやリミットスイッチといった機器からPLCへの入力を参照することができる。さらに、内部的なメモリのビットの状態や、プログラムのほかの箇所の出力を読み込むこともできる。 普通、各ラングの右端にはコイルを1個配置する。メーカによっては複数のコイルをサポートしている場合もある。 –( )–通常のコイル。ラングがtrueのときtrueとなる。 –(⧵)–反転コイル。ラングがtrueのときfalseとなる。 「コイル」(ラングの出力)はPLCに接続された機器を駆動する物理的な出力を表す場合もあるし、プログラムの別の箇所で使う内部的な記憶ビットの場合もある。 下記の例は、ラダー・ロジックプログラム中の1個のラングがどのように見えるかを示したものである。実際のプログラムでは、これらが何百行も連なることになる。 例 1. ----[ ]---------|--[ ]--|------( )-- X 。 Y 。 S 。 。 |--[ ]--。 Z この例では次のような関数を構成している: S = X AND ( Y OR Z ) 一般的にはラダーは左から右に、上から下に読むようにする。各々の行(ラング)の演算結果は出力コイルに格納され、その結果が後続のステップで入力として扱われることが多いためである。ラダー中に多数の「ラング」がある複雑なシステムでは、演算する順に番号を振るものもある。 2. ----。|-----------|---。|---|----( )-- X 。 Y 。 S 。 。 |---。|---。 Z ----。|----。|-------------------( )-- S X T T = X AND S この X は前述の1のものと同じものである。 2は多少複雑にしたシステムである。1行目の演算後、出力コイル(S)がラング2に代入され、さらにその演算結果が出力コイル T に代入される。Tの値は出力デバイス(ブザー、ランプなど)に反映されたり、さらに次のラングに代入される、といった具合である。 このシステムは非常に複雑な論理設計の分析・評価を可能にするものである。 より実用的な回路は下記を参照のこと。 。 。 。 。 |--][------------][-------------------O---。 キースイッチ1 キースイッチ2 ドアモータ この回路には2個のキースイッチがあり、銀行の金庫室のドアのモータを駆動する保安装置として利用できるかもしれない。双方のスイッチの常開接点が閉じたときだけ、ドアを開けるモータに電流が流れる。これは論理積回路になっている。 。 。 。 +-------+ 。 |----------------------------+ +----。 。
概要
簡単なラダー・ロジックのプログラム例
各コイルや接点はPLCのメモリの1ビットの状態に対応する。電気的なリレーと異なり、ラダー・ロジックのプログラムでは各ビットの参照回数に制限はなく、莫大な数の接点を持ったリレーといえる。
例
Size:20 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)』
担当:undef