2023/02/03

概略

ModbusTcpMesはModbusコマンドの作成を補助して相手機器にModbusコマンドを送信するアプリケーションです
動作確認環境: Win10

Modbus通信コマンド 例

Holding Register読出し

送信:
00 01 00 00 00 06 01 03 00 00 00 02
応答:
00 01 00 00 00 07 01 03 04 00 64 00 C8

関連ページ

コマンドの内容はModbusを参照してください

使い方

ModbusTcpMes画面
ModbusTcpMes画面

接続先とポート

接続先はModbus対応機器のIPアドレスを指定します
ポートはModbusは502固定です

ユニットID (HEX)

Modbus対応機器で指定されているユニットIDを16進で指定します

ファンクション

ファンクションを選択してオペランドを設定します
Modbus対応機器によって全てのファンクションに対応しているわけではありません 対応しているファンクションはマニュアルで確認してください
ファンクション一覧
FUNC名称内容オペランド
01Read Coil Statusコイルの読出アドレス, 個数
02Read Input Status入力ステータスの読出しアドレス, 個数
03Read Holding Register保持レジスタの読出しアドレス, 個数
04Read Input Register入力レジスタの読出しアドレス, 個数
05Force Single Coilコイルの書込みアドレス, データ
06Preset Single Register保持レジスタの書込みアドレス, データ
08Diagnostics通信の診断診断サブコード,データ
11Fetch Communication Event Counter通信イベントカウンタ読出しなし
12Fetch Communication Event Log通信イベントログ読出しなし
15Force Multiple Coils連続した複数のコイルの書込みアドレス,個数,バイト数,データ
16Preset Multiple Registers連続した複数のレジスタの書込みアドレス,個数,バイト数,データ1...
17Report Slave IDスレーブ情報読出しなし
書込みデータのフォーマット
コマンドデータの書き方
(05) Force Single Coil0000 = OFF, FF00 = ONFF00
(06) Preset Single Register12AB(16進で表記)12AB
(15) Force Multiple Coils1100 0000 01 を書込む場合
0000 0011 10
(バイト単位で反対側からビットを並び替える)
0000 0011 10
(06) Preset Multiple Registers複数ワードを続けて記載2ワード書き込む場合
1234ABCD

アドレスについて

コイルのアドレスを指定するときに20番地を指定したい場合は20から1引いた19を指定します
同様に入力ステータス、保持レジスタ、入力レジスタの指定も-1した数値で指定します

Modbus例外コード一覧
コード内容
01不正ファンクション
02不正データアドレス
03不正データ

コマンド作成手順

  1. ファンクションを選択します
  2. オペランドを入力します
  3. [Create Command]ボタンを押すとコマンド枠にModbusコマンドが作成されます
    コマンドはバイト単位で'-'を繋げて表示します
  4. 作成したコマンドはそのまま送信できますが、編集することもできます
    編集する場合はバイト単位で'-'で区切ります

コマンドの送信

[Send]を押すと送信コマンドのデータを送信します

送信したデータはDUMP枠に送信内容と受信内容を表示します

レスポンス

正常時

ファンクションに続いてデータ部分が付いて返信されます
正常時の例
ファンクションバイト数データ
0x030x020x00 0x01

異常時

異常時の受信データではファンクションの最上位ビットがONした値で返信されます
異常時の例
ファンクション異常コード
0x830x02

よくある質問

Modbus RTUには対応していますか?

本ツールはModbus TCP専用です。

ポート番号は変更できますか?

標準ポート502を使用します。

PLC以外にも使用できますか?

Modbus TCP対応機器であれば使用できます。

ダウンロード

ダウンロードされたときは利用規約に同意したものとみなします

この記事へのコメント