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


■解説

 

Modbus/RTUマスターのサンプルプログラムです。

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

 

■実行例

 

python時

python3.10 rtumaster.py

 

gcc時

 ./rtumaster

 

■画面イメージ

 

 

■使用手順

 

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」を入力し、エンターキーを押下下さい。