CODESYS対応装置は、CPSN-PCB271-S1-041を使用しております。
CODESYSをスレーブ、RaspberryPiのNode-REDをマスタとします。
デバイスの追加
デバイスを選択して右クリックからデバイスの追加を行います。

イーサネットアダプタを選択します。

追加したEthernetを選択してデバイスの追加を選択します。

Modbus TCPスレーブデバイスを選択します。

設定を行います。追加したスレーブを選択して全般タブを開きます。

以下主な設定項目です。その他はデフォルトでも問題ありません。
スレーブポート:CODESYS側の待ち受けポート番号です。Modbus TCPは502番です。
保持レジスタ・入力レジスタ:スレーブのレジスタ割り付け設定です。今回は10個ずつ割り付けます。
書き込み可能は、保持レジスタ上書きされてもよいのかを設定です。マスタ側から書き込む場合はチェックします。
GVLの追加
Modbus TCPのレジスタと紐づけるグローバル変数を用意します。
Applicationを右クリックしてグローバル変数リストを追加します。


先ほどMobusTCPで設定した入力レジスタと、保持レジスタと同じ要素数をもつ配列を定義します。

デバイスマッピング
宣言したグローバル変数と、ModbusTCPのIOとでマッピングを行います。

ここまで設定できましたらプログラムをデバイスに書き込みましょう。

黄色の三角になっている状態になればOKです。これはマスタに接続していない状態を示しています。
ここまででCODESYS側の設定は終了です。
動作確認
マスタが接続すると以下のように緑色に変わります。

プログラムで変数を使用しないと変数をモニタできないため、プログラムに変数を使用します。

以下、Node-RED側で入力レジスタを読み出して見た結果です。
読み出しアドレスは0からのようです。

コメント