概要
FBD および LD プログラミングの基本単位はネットワークです。すべてのネットワークには、1) 論理式または算術式、2) POU (関数、関数ブロック、プログラム、またはライブラリ POU) の呼び出し、または 3) ジャンプまたはリターン命令を表す構造が含まれています。
IL には実際にはネットワークは必要ありません。ただし、 CODESYS IL プログラムは、FBD または LD への変換をサポートするために、少なくとも 1 つのネットワークでも構成されます。これを考慮して、IL プログラムを意味のあるネットワークに分割する必要もあります。
機能ブロック図 (FBD)
機能ブロック図は、グラフィック指向の IEC 61131 プログラミング言語です。ネットワークのリストを使用して機能します。このように、各ネットワークには、論理式および算術式、関数ブロックの呼び出し、ジャンプ、または return ステートメントを含めることができる構造が含まれています。
ブール代数でおなじみのボックスがここで使用されます。ボックスと変数は接続線で接続されます。ネットワーク内の信号の流れは左から右に流れます。エディター内の信号の流れは、ネットワーク 1 から始まって上から下に流れます。

ヒント
CFC も FBD と同じ原則に基づくプログラミング言語ですが、次のような違いがあります。
CFC エディタはネットワーク指向ではありません。
要素は CFC エディターに自由に配置できます。
フィードバックの直接挿入が可能です。
実行の順序は、現在挿入されている要素のリストによって決定されますが、これは変更できます。
詳細については、次を参照してください。 ファンクション ブロック ダイアグラム (FBD) でのプログラミング
ラダー図(LD)
ラダー ダイアグラム (LD) は、電気回路図に似たグラフィック指向のプログラミング言語です。
ラダー図は、論理スイッチング ユニットの設計に適している一方で、FBD のようにネットワークを作成することもできます。したがって、他のプログラム ブロックの呼び出しを制御するために LD を非常にうまく使用できます。
ラダー図は、一連のネットワークで構成されています。ネットワークは、左側が垂直線 (バス バー) で囲まれています。ネットワークには、接点、コイル、オプション ボックス (POU)、および接続線の回路図が含まれています。
ネットワークの左側には、ブール値に対応するオンまたはオフ状態を中継する 1 つまたは一連の接点があります。 TRUE
そして FALSE
、 左から右へ。ブール変数は各連絡先に関連付けられます。この変数が TRUE の場合、ステータスは接続ラインを介して左から右に中継されます。それ以外の場合はOFFがリレーされます。その結果、ネットワークの右側のコイルは左側からの値 ON と OFF を受け取り、値 TRUE または FALSE がそれらに割り当てられたブール変数に書き込まれます。
要素が直列に接続されている場合、これは AND 演算を意味します。それらが並列に接続されている場合、これは OR 演算を意味します。要素を通る線は、要素の否定を意味します。
入力または出力の否定は、丸記号で示されます。

IEC 61131-3 は、さまざまなタイプの接点とコイルで構成される完全な LD コマンド セットを定義しています。接点は (その種類に応じて) 左から右に電流を流します。コイルは受信した値を保存します。接点とコイルはブール変数に割り当てられます。ジャンプ、リターン、ラベル、コメントを使用して LD ネットワークを補足できます。
命令リスト (IL)
命令リストは、アセンブラに似た IEC 61131 準拠のプログラミング言語です。
アキュムレータベースのプログラミングをサポートしています。
命令リスト (IL) は、一連の命令で構成されています。各命令は新しい行で始まり、演算子と、演算のタイプに応じて、コンマで区切られた 1 つ以上のオペランドを含みます。
ラベルの後にコロンを付けて、命令の前に置くことができます。これは命令の識別に役立ち、ラベルをジャンプ先として使用できます。
コメントは行の最後の要素でなければなりません。命令間に空行を挿入できます。
複数入力、複数出力、否定、コメント、出力のセット/リセット、条件付き/無条件ジャンプなど、すべての IEC 61131-3 演算子がサポートされています。
各命令は主にアキュムレータへの値のロードに基づいています (LD
命令)。その後、アキュムレータからのパラメータを使用して、対応する演算が実行されます。操作の結果は再びアキュムレータに書き込まれます。そこから、具体的には、 ST
命令。
命令リストは比較演算子 (EQ, GT, LT, GE, LE, NE
) および条件付き実行またはループのプログラミング用のジャンプ。ジャンプは無条件 (JMP) または条件付き (JMPC/JMPCN) にすることができます。条件付きジャンプの場合、アキュムレータ内の値が次の値であるかどうかのチェックが実行されます。 TRUE
または FALSE
。
