ModbusTcpMes
使い方
動作環境: Win10以降, .NET6.0

ポートはModbusは502固定です
Modbus対応機器によって全てのファンクションに対応しているわけではありません 対応しているファンクションはマニュアルで確認してください
FUNC | 名称 | 内容 | オペランド |
---|---|---|---|
01 | Read Coil Status | コイルの読出 | アドレス, 個数 |
02 | Read Input Status | 入力ステータスの読出し | アドレス, 個数 |
03 | Read Holding Register | 保持レジスタの読出し | アドレス, 個数 |
04 | Read Input Register | 入力レジスタの読出し | アドレス, 個数 |
05 | Force Single Coil | コイルの書込み | アドレス, データ |
06 | Preset Single Register | 保持レジスタの書込み | アドレス, データ |
08 | Diagnostics | 通信の診断 | 診断サブコード,データ |
11 | Fetch Communication Event Counter | 通信イベントカウンタ読出し | なし |
12 | Fetch Communication Event Log | 通信イベントログ読出し | なし |
15 | Force Multiple Coils | 連続した複数のコイルの書込み | アドレス,個数,バイト数,データ |
16 | Preset Multiple Registers | 連続した複数のレジスタの書込み | アドレス,個数,バイト数,データ1... |
17 | Report Slave ID | スレーブ情報読出し | なし |
同様に入力ステータス、保持レジスタ、入力レジスタの指定も-1した数値で指定します
コマンド | データの書き方 | 例 |
---|---|---|
(05) Force Single Coil | 0000 = OFF, FF00 = ON | FF00 |
(06) Preset Single Register | 12AB(16進で表記) | 12AB |
(15) Force Multiple Coils |
1100 0000 01 を書込む場合 0000 0011 10 (バイト単位で反対側からビットを並び替える) |
0000 0011 10 |
(06) Preset Multiple Registers | 複数ワードを続けて記載 |
2ワード書き込む場合 1234ABCD |
- ファンクションを選択します
- オペランドを入力します
-
[Create Command]ボタンを押すとコマンド枠にModbusコマンドが作成されます
コマンドはバイト単位で'-'を繋げて表示します
-
作成したコマンドはそのまま送信できますが、編集することもできます
編集する場合はバイト単位で'-'で区切ります
- [Send]を押すと送信コマンドのデータを送信します
送信したデータはDUMP枠に送信内容と受信内容を表示します
正常時
ファンクションに続いてデータ部分が付いて返信されます
(例)
ファンクション | バイト数 | データ |
---|---|---|
0x03 | 0x02 | 0x00 0x01 |
異常時
異常時の受信データではファンクションの最上位ビットがONした値で返信されます
(例)
ファンクション | 異常コード |
---|---|
0x83 | 0x02 |