Modbus TCP — フレームツール
Modbus TCPフレームの生成・解析とMBAPヘッダーの確認を行います。機器へのTCP接続は行いません。
Modbus TCP — 要求生成
Modbus TCP応答メッセージ生成
データ型
バイトオーダー
数値(10進数値)
Modbus TCP — フレーム解析
解析ルール設定
バイトオフセット
データ型
元のバイト
バイトオーダー
並べ替え後のバイト
解析結果
操作
値を読み取るためのルールを追加してください。
使用ガイド
機能概要
Modbus TCPフレームの生成・解析とMBAPヘッダーの確認を行います。機器へのTCP接続は行いません。
主な機能
- 対応する10進数の機能コードは01・02・03・04・05・06・15・16です。15は0x0F、16は0x10です。01~16のすべてを提供するわけではありません。
- 応答データ生成 スレーブの応答データシミュレーションをサポートし、テストと検証に便利
- データ解析 多様なデータ型とバイトオーダーの解析をサポートし、データ型とバイトオーダーが正しいか迅速に検証
コマンド生成ツールの使用説明
- 両側の通信方式と設定、Unit IDからシリアルアドレスへの対応、タイムアウトを確認します。すべての機能を中継できるとは限りません。既知の読み取り要求で両側のフレームを比較してください。
- サーバーは要求のトランザクションIDを応答へコピーします。同じIDで要求と応答を対応付けます。範囲は0–65535です。
- 対応する10進数の機能コードは01・02・03・04・05・06・15・16です。15は0x0F、16は0x10です。01~16のすべてを提供するわけではありません。
- 一般的な参照番号では40001がアドレス0、40002が1、40108が107(0x006B)です。仕様書が既に0始まりの番号を使っている場合もあります。生成ツールにはプロトコル上のオフセットを入力します。4xxxx表記の自動変換は行いません。
- 数量 読み書きするデータ量
- TCPコマンド例
- TCP読み出しコマンド 00 01 00 00 00 06 01 03 00 00 00 02 (MBAPヘッダ+PDU)
- TCP書き込みコマンド 00 01 00 00 00 06 01 06 00 00 00 01 (MBAPヘッダ+PDU)
- 7バイトのMBAPはトランザクションID 2バイト、プロトコルID 2バイト、長さ2バイト、Unit ID 1バイトです。長さはUnit IDと後続PDUの合計で、プロトコルIDは0x0000です。
応答データ生成ツールの使用説明
- コマンドと一致するファンクションコードを選択
- UINT16/INT16/UINT32/INT32/FLOAT32など、多様なデータ型をサポート
- ABCD/DCBA/BADC/CDABなど、多様なバイトオーダーをサポート
- TCPトランザクションID リクエストコマンドのトランザクションIDと一致させる必要があります
- TCPユニットID リクエストコマンドのユニットIDに対応
- TCP応答例
- TCP読み出し応答 00 01 00 00 00 07 01 03 04 00 01 00 02 (MBAPヘッダ+応答PDU)
- TCP書き込み応答 00 01 00 00 00 06 01 06 00 00 00 01 (MBAPヘッダ+確認PDU)
- サーバーは要求のトランザクションIDを応答へコピーします。同じIDで要求と応答を対応付けます。範囲は0–65535です。
データ解析ツールの使用説明
- 標準のModbusデータフレームを入力して解析をサポート
- 複数の解析ルールを設定可能、異なるデータ型とバイトオーダーをサポート
- フレーム解析では大きな64ビット整数が丸められる場合があります。厳密な確認には数値変換器を使い、型とバイト順を機器に合わせてください。 16進数・10進数変換
- 柔軟なバイトオーダー設定で、異なるデバイスのデータ形式に対応
- TCP解析の特徴
- 7バイトのMBAPはトランザクションID 2バイト、プロトコルID 2バイト、長さ2バイト、Unit ID 1バイトです。長さはUnit IDと後続PDUの合計で、プロトコルIDは0x0000です。
- Modbus TCPのアプリケーションフレームにはCRCやLRCを付けません。
- TCPフレーム形式 MBAPヘッダ(7バイト) + ファンクションコード(1バイト) + データ(nバイト)
- 7バイトのMBAPはトランザクションID 2バイト、プロトコルID 2バイト、長さ2バイト、Unit ID 1バイトです。長さはUnit IDと後続PDUの合計で、プロトコルIDは0x0000です。
- TCP解析例
- 入力 00 01 00 00 00 07 01 03 04 00 01 00 02
- 解析 トランザクションID=1, プロトコルID=0, 長さ=7, ユニットID=1, ファンクションコード=03, データ=00 01 00 02
- 大量データの解析には、ModbusデバッグページのModbusデータ解析のファイル解析機能を使用することをお勧めします。バッチデータ処理をサポートしています。