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