ModbusRTUマスタ通信 CUIサンプル [rtumaster]


■解説

 

Pythonで作成された、Modbus/RTUマスターのサンプルプログラムです。

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

 

■実行例

 

py rtumaster.py

 

■画面イメージ

 

 

■使用手順

 

  1. 「0」を入力し、エンターキーを押下下さい。

  2. Initにて、利用するCOMポート及び、ボーレート、パリティビット、データビット、ストップビット、スレーブIDを入力する事でデバイスとの接続を開始します。

  3. 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仕様上の最大値となります。

  4. 終了する場合は、「9」を入力し、エンターキーを押下下さい。