Modbusクライアントの下流方向制御
PD Handler Modbus Client の下流方向制御について説明します。
PD Handler Modbus Client の下流方向制御に用いるJSON文字列のオブジェクトを示します。
PD Handler Modbus Client の下流方向制御に用いるJSON文字列のオブジェクト
キー | データ型 | 必須 | 説明 |
---|---|---|---|
protocol | 文字列 | 〇 | TCP接続機器の場合は"tcp"、RTU接続機器の場合は"rtu"を設定。 |
node | 文字列 | △ | TCP接続PLC機器のIPアドレスを設定。 |
port | 整数 | △ | TCP接続PLC機器のポート番号を設定。 |
device | 文字列 | △ | RTU接続PLC機器のデバイスファイルを設定。 |
unit | 整数 | 〇 | PLC機器のModbusID、1~247又は255(TCP接続のみ)を設定。 |
function | 文字列又は整数 | 〇 | Modbusの下流方向制御に説明するファンクションコードの内、次表PD Handler Modbus Clientで利用可能なファンクションコードに記載されるコードを設定。 |
data_type | 文字列又は整数 | 次の何れか
| |
address | 文字列又は整数 | データが格納されている、あるいは格納するPLC機器上の開始アドレスを設定します。先頭が'0x'の場合は16進数と解釈されます。指定されない場合は、0x00となります。 | |
number | 文字列又は整数 | 読み書きするレジスタ数を記載します。指定されない場合は、1となります。 | |
values | 整数配列 | △ | 書き込むデータ(整数値)の並び |
PD Handler Modbus Clientで利用可能なファンクションコードを示します。
PD Handler Modbus Client で利用可能なファンクションコード
コード | 名称 | 利用可能 |
---|---|---|
0x01 | Read Coils | 〇 |
0x02 | Read Discrete Input | 〇 |
0x03 | Read Holding Registers | 〇 |
0x04 | Read Input Registers | 〇 |
0x05 | Write Single Coil | 〇 |
0x06 | Write Single Register | 〇 |
0x07 | Read Exception Status | |
0x09 | Write Single Discrete Input | |
0x0a | Write Single Input Register | |
0x0f | Write Multiple Coils | 〇 |
0x10 | Write Multiple Registers | 〇 |
0x11 | Report Slave ID | 〇 |
0x13 | Write Multiple Discrete Input | |
0x14 | Write Multiple Input Registers | |
0x16 | Mark Write Registers | |
0x17 | Write and Read Registers | 〇 |
例えば、TCP接続されている入力レジスタを読み込むのであれば、クラウドより次のような制御メッセージを送ります。
対する応答メッセージは、次のようになります。
ここで"reply_to"は、制御メッセージのハッシュ値(MD5)です。
シリアル接続のPLC機器の出力レジスタに値を書き込むのであれば、クラウドより次のような制御メッセージを送ります。
ここで"data _type"が32bitsの場合、"values"は上位/下位の16bitsに分割されて処理されるため、"number"が1であって "function"はWrite Multiple Registersを使用しなくてはなりません。
対する応答メッセージは、次のようになります。
なお、"protocol","node","port","device"で指定されるPLC機器(への接続方法)は、Modbusクライアントデバイスとして登録され使用設定が有効になっているものに限られます。