Modbus/RTUマスタ 通信サンプルプログラム


■解説

 

C++、C#、VB.Netで作成された、Modbus/RTUマスターのサンプルプログラムです。

COMポートを指定し、ボーレートやパリティ等を設定し、Modbus/RTU通信を実行可能です。

 

■画面イメージ

 

 

 

■使用手順

 

  1. 利用するCOMポート及び、ボーレート、パリティビット、データビット、ストップビットを入力し、[modbus_new_rtu]を実行します。

  2. [modbus_set_slave]にてスレーブIDを指定下さい。
    ※各種シリアル設定およびスレーブIDは、通信するデバイスの設定に合わせてください。

  3. [modbus_connect]でデバイスとの接続を開始します。

  4. Modbus通信にて入出力を行うには、各ファンクションコードのパラメータ設定後にボタンを押下してください。
    ※各ボタンに対応するファンクションコードは以下を参照下さい。

    ファンクションコード

    ボタン名(関数名)

    ReadCoils (FC 1)

    modbus_read_bits

    ReadDiscreteInputs (FC 2)

    modbus_read_input_bits

    ReadHoldingRegisters (FC 3)

    modbus_read_registers

    ReadInputRegisters (FC 4)

    modbus_read_input_registers

    WriteCoil (FC 5)

    modbus_write_bit

    WriteRegister (FC6)

    modbus_write_register

    WriteMultipleCoils (FC15)

    modbus_write_bits

    WriteMultipleRegisters (FC16)

    modbus_write_regsiters


    送受信する際のデータフォーマットは以下になります。

    ・送信データ(16進数)
       例) 01 0D AD

    ・受信データ(16進数)
       例) 01 0D AD

    ・送信データ(2進数)
       例) 0 1 1

    ・受信データ(2進数)
       例) 0 1 1

    本サンプルの読出し最大数は2000ビット/125ワード、書き込み最大数は1968ビット/123ワードです。
    ※Modbus仕様上の最大値となります。

  5. [modbus_close]でデバイスとの接続を切断します。

  6. [modbus_free]で割り当てられたメモリを開放します。

  7. 閉じるボタンを押すと、プログラムを終了します。