ModbusRTU Master

説明

ModbusRTU MasterコンポーネントはUSB-シリアルアダプタを通じてModbus RTU対応のSlaveデバイスと通信できます。

ModbusRTU Master

Modbusのコンポーネントの出力について

物理デバイスIDを指定した場合のJSON配列:

[
   {
      "DeviceId": "cu.usbserial-OL111162",
      "ResponseData": [16,1,45626,1],
      "ResponseRaw": [1,3,8,0,16,0,1,178,58,0,1,127,99]
   }
]

物理デバイスIDを指定した場合のJSONオブジェクト:

{
  "DeviceId": "cu.usbserial-OL111162",
  "ResponseData": [16,1,45626,1],
  "ResponseRaw": [1,3,8,0,16,0,1,178,58,0,1,127,99]
}

Modbusのレスポンスの説明

  • "DeviceId" はシリアルデバイスの物理デバイスIDです。
  • "ResponseRaw" はModbusデバイスからのそのままのレスポンスを示します。
  • "ResponseData" は読み取ったデータや書き込んだデータの情報のみを含みます。

"(0x01) Read Coils" と "(0x02) Read Discrete Inputs" の場合、レスポンスはビット形式になります。 例: "ResponseData": [0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0](長さはコマンドの設定によって異なります)

"(0x03) Read Holding Registers" と "(0x04) Read Input Registers" の場合、レスポンスは2バイト形式になります。 例: "ResponseData": [6, 20000](長さはコマンドの設定によって異なります)

"(0x05) Write Single Coil" と "(0x06) Write Single Register" の場合、2バイトのレスポンスが返され、データアドレスと書き込んだデータが含まれます。 例: "ResponseData": [12, 65280](12=データアドレス、65280=書き込んだデータ)

"(0x0F) Write Multiple Coils" と "(0x10) Write Multiple Registers" の場合も、2バイトのレスポンスが返され、最初のデータアドレスと書き込んだコイルの数またはレジスターの数が含まれます。 例: "ResponseData": [5, 2](5=最初のデータアドレス、2=書き込んだコイルまたはレジスターの数)

コンポーネントプロパティ

プロパティ名 説明
スレーブアドレス (SlaveAddress) デバイスのスレーブアドレスを指定できます。10進数と16進数で入力可能です。16進数の場合は数字の前に「0x」を追加してください
ファンクションコード (FunctionCode) サポートされているファンクションコードを選択できます
アドレス (Address) 最初に読み込むまたは書き込むレジスター (Register) またはコイル (Coil) を指定できます
数 (Quantity) 読み込むまたは書き込むレジスター (Register) やコイル (Coil) の数を指定できます
データ (Data) 書き込むデータを指定できます。10進数と16進数で入力可能です。データはカンマ区切りで1バイトずつ入力する必要があります。(例:0xFA, 224, 5, 0x4)
物理デバイスID Modbus USBデバイスまたはUSB-シリアルアダプタを指定します。複数使用する場合は、デバイスIDをカンマ区切りで記述することができます

サポートされているファンクションコード

  • (0x01) Read Coils
  • (0x02) Read Discrete Inputs
  • (0x03) Read Holding Registers
  • (0x04) Read Input Registers
  • (0x05) Write Single Coil
  • (0x06) Write Single Register
  • (0x0F) Write Multiple Coils
  • (0x10) Write Multiple Registers

注意: 複数の異なるModbus USBデバイスまたはUSB-シリアルアダプタが接続されている場合、デバイスIDを指定しないと、異なるデバイスに同じコマンドが送信されるため、エラーが発生する可能性があります。

物理デバイスID を省略できるのは、次のいずれかの場合です: - Modbus の物理デバイスが 1 台のみ接続されている場合 - Modbus の物理デバイスが 2 台以上接続されていて、すべてが同じスレーブアドレス・同じ動作をする場合

デバイスに接続するために設定ファイルの変更が必要になりますので弊社まで連絡願います。