Articles Posted by the Author:

  • readDiscreteInputs()

    readDiscreteInputs()

    説明 スレーブノードにパケットコマンドを送信し、ディスクリート入力レジスタを読み出します。 構文 node1.readDiscreteInputs(read_address, read_size) パラメータ node1: ModbusMasterNode オブジェクト。 read_address: 読み出すディスクリート入力レジスタの開始アドレス。 read_size: 読み出すディスクリート入力レジスタのサイズ。 戻り値 int: 成功した場合は MODBUS_SUCCESS を返し、それ以外の場合は EXCEPTION_CODE を返します。 例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #include <Modbus86.h>    ModbusMaster […]


  • readCoils()

    readCoils()

    説明 スレーブノードにパケットコマンドを送信し、コイルレジスタを読み出します。 構文 node1.readCoils(read_address, read_size) パラメータ node1: ModbusMasterNode オブジェクト。 read_address: 読み出すコイルレジスタの開始アドレス。 read_size: 読み出すコイルレジスタのサイズ。 戻り値 int: 成功した場合は MODBUS_SUCCESS を返し、それ以外の場合は EXCEPTION_CODE を返します。 例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #include <Modbus86.h>    ModbusMaster […]


  • getResponseBuffer()

    getResponseBuffer()

    説明 ModbusMasterNode クラスのプライベート配列 readData の値を読み取ります。readData は、Read 関数コードを使用してスレーブデバイスのレジスタを読み戻した後に保存される配列です。 構文 node1.getResponseBuffer(index, mode) パラメーター node1: ModbusMasterNode オブジェクト。 index: readData 配列のインデックス値。 mode: readData 配列からデータを読み取るモード。引数は MODBUS_DATAMODE_BIT または MODBUS_DATAMODE_UINT16 です。引数が指定されていない場合は、MODBUS_DATAMODE_UINT16 に設定されます。 戻り値 int: readData 配列から取得した値。エラーが発生した場合は、0xFFFF が返されます。 例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 […]


  • setTransmitBuffer()

    setTransmitBuffer()

    説明 ModbusMasterNode クラスのプライベート配列 writeData の値を設定します。writeData は、Write 関数コードを使用して Modbus パケットに書き込む内容です。 構文 node1.setTransmitBuffer(index, value, mode) パラメーター node1: ModbusMasterNode オブジェクト。 index: writeData 配列のインデックス値。 value: writeData 配列に書き込まれる値、つまり送信する Modbus パケットの内容です。 mode: writeData 配列からデータを読み取るモードです。引数は MODBUS_DATAMODE_BIT または MODBUS_DATAMODE_UINT16 です。引数が指定されていない場合は、MODBUS_DATAMODE_UINT16 にプリセットされます。 戻り値 int: 成功した場合は MODBUS_SUCCESS を返し、それ以外の場合は EXCEPTION_CODE を返します。 例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 […]


  • clearTransmitBuffer()

    clearTransmitBuffer()

    説明 ModbusMasterNode クラスのプライベート配列 writeData の値をクリアします。writeData は、Write 関数コードを使用して書き込んだ Modbus パケットの内容です。 構文 node1.clearTransmitBuffer() パラメータ node1: ModbusMasterNode オブジェクト。 参照 - setTransmitBuffer() ライブラリリファレンスホームページ 86Duinoリファレンスのテキストは、Arduinoリファレンスから改変されており、クリエイティブ・コモンズ 表示-継承ライセンスの下で提供されています。 3.0ライセンス。参考資料内のコード例はパブリックドメインとして公開されています。


  • clearResponseBuffer()

    clearResponseBuffer()

    説明 ModbusMasterNode クラスのプライベート配列 readData の値をクリアします。readData は、Read 関数コードを使用してスレーブデバイスのレジスタを読み戻した後に保存される配列です。 構文 node1.clearResponseBuffer() パラメーター node1: ModbusMasterNode オブジェクト。 参照 - getResponseBuffer() ライブラリリファレンスホームページ 86Duinoリファレンスのテキストは、Arduinoリファレンスから改変されており、クリエイティブ・コモンズ 表示-継承ライセンスの下で提供されています。 3.0ライセンス。参考資料内のコード例はパブリックドメインとして公開されています。


  • EXCEPTION_CODE

    EXCEPTION_CODE

    説明 例外コードは、Modbusスレーブノードがパケットを返す際に使用され、Modbusマスターはフィードバックを取得できます。 コード MODBUS_SUCCESS (0x00) – パケットは正常に送信されました MODBUS_ILLEGAL_FUNCTION (0x01) – スレーブデバイスが不正なファンクションコードを受信しました MODBUS_ILLEGAL_DATA_ADDRESS (0x02) – スレーブデバイスが不正なアドレス空間を受信しました MODBUS_ILLEGAL_DATA_VALUE (0x03) – スレーブデバイスが指定されたアドレスで不正な値を受信しましたスペース MODBUS_SERVER_DEVICE_FAILURE (0x04) – 操作中に回復不能なエラーが発生しました MODBUS_ACKNOWLEDGE (0x05) – コマンドが受け入れられ、処理中ですが、完了までに長い時間がかかります MODBUS_SERVER_DEVICE_BUSY (0x06) – 長いコマンドが処理中です MODBUS_MEMORY_PARITY_ERROR (0x08) – メモリの読み取り中にパリティエラーが検出されました MODBUS_GATEWAY_PATH_UNAVAILABLE (0x0A) – Modbusゲートウェイパスが利用できません MODBUS_GATEWAY_TARGET_DEVICE_FAILED_TO_RESPOND (0x0B) – Modbusゲートウェイデバイスがネットワーク上にありません MODBUS_INVALID_SLAVE_ID (0xE0) – スレーブ番号が無効です MODBUS_INVALID_FUNCTION (0xE1) – 機能コードが無効です MODBUS_RESPONSE_TIMEOUT (0xE2) – 応答タイムアウト […]


  • writeInputRegister()

    writeInputRegister()

    説明 入力レジスタへの書き込み。 構文 node1.writeInputRegister(address, value) node2.writeInputRegister(address, size, buffer) パラメータ node1/node2: ModbusSlaveNode オブジェクト。 address: 書き込み先の入力レジスタのアドレス。 value: 書き込み先の単一入力レジスタの値。 size: 書き込む複数の入力レジスタの数。 buffer: buffer が指す配列空間内の配列データを入力レジスタレジスタにコピーします。 戻り値 int: 成功した場合は MODBUS_SUCCESS を返し、そうでない場合は EXCEPTION_CODE を返します。 例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 […]


  • writeHoldingRegister()

    writeHoldingRegister()

    説明 保持レジスタへの書き込み。 構文 node1.writeHoldingRegister(address, value) node2.writeHoldingRegister(address, size, buffer) パラメータ node1/node2: ModbusSlaveNode オブジェクト。 address:書き込む保持レジスタのアドレス。 value:書き込む保持レジスタの値。 size: 書き込む保持レジスタの数。 buffer: buffer が指す配列空間内の配列データを保持レジスタにコピーします。 戻り値 int: 成功した場合は MODBUS_SUCCESS を返し、それ以外の場合は EXCEPTION_CODE を返します。 例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 […]


  • readHoldingRegister()

    readHoldingRegister()

    説明 Holding Registersレジスタを読み出します。 構文 node1.readHoldingRegister(address) node2.readHoldingRegister(address, size, buffer) パラメータ node1/node2: ModbusSlaveNodeオブジェクト。 address: 読み出すHolding Registersレジスタのアドレス。 size: 読み出すHolding Registersレジスタの数。 buffer: 読み取ったHoldingRegistersレジスタ配列データを、bufferが指す配列空間にコピーします。 戻り値 int: アドレスパラメータが使用されている場合にのみ、HoldingRegisterの位置データを返します。指定されたバッファを使用して読み取る場合はMODBUS_SUCCESSが返され、それ以外の場合はEXCEPTION_CODEが返されます。 例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 […]