Modbus TCPプロトコルの詳細

無料無料技术资料

这篇内容可直接阅读,适合用于基础学习和検索引流。

Modbus TCPプロトコルの詳細

Modbus TCPプロトコル解析

Modbus TCPとModbus UDPのメッセージフォーマットは同じですが、両者の違いは実際にはTCPとUDPの違いです。したがって、Modbus TCPのプロトコルを分析し、Modbus TCPとModbus RTu(Modbus ASCI I)の違いは次の図のようになります。

Modbus TCPプロトコルの詳細插图

上の図からわかるように、Modbus TCPはModbusシリアル通信に基づいて検証(TCP自体がチェックサムを持っているため)とデバイスアドレス(Modbus TCPはデバイスアドレスを弱め、IPアドレスに置き換えます)を取り除き、MBAPヘッダ(7バイト)を追加しています。

ドメイン名:Domain長さは説明書はクライアント·クライアントサーバー·サーバー
取引子2バイト。Modbusリクエスト/レスポンストランザクションの識別クライアントの起動レプリケーション·レスポンス
プロトコル識別子2バイト。0=Modbusプロトコルクライアントの起動レプリケーション·レスポンス
長さは2バイト。長さの後のバイト数合計クライアントの起動サーバーの起動
ユニット識別子1バイト目シリアルリンクまたは他のバスのスレーブクライアントの起動レプリケーション·レスポンス

特定のメッセージを分析すると、イーサネットリンク上のModbusプロトコルのメッセージフォーマットは次のようになります。

取引子プロトコル識別子長さはユニット識別子関数コードの特徴データは
2 bytes2 bytes2 bytes1 byte1 byteN bytes

以上の理論的基盤を得て、各機能コードの詳細な分析を以下に示します。

読み取り出力コイル

送信メッセージの形式は次のとおりです。

Modbus TCPプロトコルの詳細插图1

送信メッセージの意味:ステーション出力コイルからサーバー 1を読み取り、開始アドレスは0 x 13=19、対応するアドレスは00020、コイルの数は0 x 1 B =27、すなわち、ステーション出力コイルから1を読み取り、アドレスは00020-00046、合計27コイルの状態値。

ここでは、プロトコル内の開始アドレスはインデックスを指し、後続のアドレスは特定のアドレスを指し、任意のメモリ領域については、インデックスは0から始まりますが、対応する特定のアドレスは、メモリ領域に関連しています。例えば、出力コイル、0は00001に対応します。入力コイル、0は10001に対応します。入力レジスタ、0は300 01に対応します。

リターンメッセージの形式は以下のとおりです。

Modbus TCPプロトコルの詳細插图2

返送メッセージ意味:返送サーバー 1番スワーステーション出力コイル00020-00046、计27个のコイルの値、返送バイト数は4个で、それぞれCD6B B2 05である。

CD=1100 1101は00020-00027に対応します。

6B=0110 1011は00028-00035に対応する

B 2 =1011 0 010は00036-00043に対応する。

05=0000 0 1 01は00044-00046に対応する。

入力コイルの読み取り

送信メッセージの形式は次のとおりです。

Modbus TCPプロトコルの詳細插图3

送信メッセージの意味:読み取りサーバー 1はステーションからコイルに入力され、開始アドレスは0 x C 4=196、対応するアドレスは10197、コイルの数は0 x 1 D =29、つまり、ステーションから1を読み取り、アドレスは10197-10225、29コイルの状態値の合計。

リターンメッセージの形式は以下のとおりです。

Modbus TCPプロトコルの詳細插图4

リターンメッセージの意味:サーバー 1は、ステーションからコイル10197-10225を入力し、合計29個のコイルの状態値を返し、戻りバイト数は4個で、それぞれCD 6B 2 0 5です。

CD=1100 1101は10197- 1020 4に対応する。

6B=0110 1011は10205-10212に相当する。

B 2 =1011 0 010は10213-10220に対応する。

0 5 =0000 0 101は10221-10225に対応する。

リードホールドレジスタ

送信メッセージの形式は次のとおりです。

Modbus TCPプロトコルの詳細插图5

送信メッセージの意味:読み取りサーバ1は、ステーション保持レジスタから、開始アドレス0 x 6B=107、対応するアドレス40108、レジスタ数0 x 0 2 =2、すなわち、ステーション保持レジスタから1、アドレス40108-40109、2つのレジスタ値の合計を読み取ります。

リターンメッセージの形式は以下のとおりです。

Modbus TCPプロトコルの詳細插图6

リターンメッセージの意味:リターンサーバ1は、レジスタ40108-40109を保持し、合計2つのレジスタの値を保持し、リターンバイト数は4つで、それぞれ0 2 2 B 0 1 0 6、40108は0 x 0 22 B、40109は0 x 0 106に対応します。

入力レジスタの読み取り

送信メッセージの形式は次のとおりです。

Modbus TCPプロトコルの詳細插图7

メッセージの意味を送信する:読み取りサーバ1は、ステーション入力レジスタ、開始アドレス0 x 6B=107、対応するアドレス30108、レジスタ数0 x 0 2 =2、つまり、ステーション保持レジスタから1を読み取り、アドレス30108- 3 0 109、2つのレジスタ値の合計。

リターンメッセージの形式は以下のとおりです。

Modbus TCPプロトコルの詳細插图8

リターンメッセージの意味:リターンサーバ1は、ステーションからレジスタ30108-30109を入力し、合計2つのレジスタの値を入力し、リターンバイト数は4つで、それぞれ0 2 2 B 0 1 0 6、30108は0 x 0 22 B、30109は0 x 0 106に対応します。

プリセットシングルコイル

送信メッセージの形式は次のとおりです。

Modbus TCPプロトコルの詳細插图9

送信メッセージの意味:プリセットサーバ1はステーションの単一コイルの値から、コイルアドレスは0 x 00AC=172、対応するアドレスは00173、ブレークオフフラグ0 x FF 00はセットを示し、0 x 000はリセットを示し、つまりセット1はステーション出力コイル00173から出力します。

リターンメッセージの形式は以下のとおりです。

Modbus TCPプロトコルの詳細插图10

リターンメッセージ意味:プリセット単一出力コイル元のメッセージリターン。

プリセットシングルレジスタ

送信メッセージの形式は次のとおりです。

Modbus TCPプロトコルの詳細插图11

送信メッセージの意味:ステーションからの単一保持レジスタの値、レジスタアドレス0 x 0 0 87 =135、対応するアドレス40136、書き込み値0 x 0 3 9 E、つまり、ステーションからのプリセット1は、ステーションからの保持レジスタ40136の値0 x 0 3 9 Eの値を保持する。

リターンメッセージの形式は以下のとおりです。

Modbus TCPプロトコルの詳細插图12

リターンメッセージの意味:プリセットシート保持レジスタ元のメッセージが返されます。

プリセットマルチコイル

送信メッセージの形式は次のとおりです。

Modbus TCPプロトコルの詳細插图13

送信メッセージの意味:ステーションの複数のコイルの値からプリセットサーバー 1、コイルアドレス0 x 0 013 =19、対応するアドレス00020、コイル数0 x 0 A =10、書き込み値0 x CD 00、つまりステーションコイル00020- 00 027 = 0 x CD =1100 1101、00028- 00 029 = 0 x 00=0000 000。

リターンメッセージの形式は以下のとおりです。

Modbus TCPプロトコルの詳細插图14

リターンメッセージの意味:プリセットされたマルチ出力コイルリターンメッセージは、元のメッセージに基づいてバイト数と具体的なバイトを除去した後に返されます。

プリセットマルチレジスタ

送信メッセージの形式は次のとおりです。

Modbus TCPプロトコルの詳細插图15

送信メッセージの意味:ステーションの複数のレジスタの値からのプリセットサーバー 1、レジスタアドレス0 x 0 0 87 =135、開始アドレス40136、レジスタ数0 x 0 2 =2、終了アドレス40137、書き込み値0 x CD 00と0 x 0 A 10、すなわちステーションのレジスタ40136= 0 x 0 105、40137= 0 x 0 A 10のプリセット1。

リターンメッセージの形式は以下のとおりです。

Modbus TCPプロトコルの詳細插图16

リターンメッセージの意味:プリセットマルチホールドレジスタリターンメッセージは、元のメッセージに基づいてバイト数と具体的なバイトを除いて返されます。

Modbus技術QQコミュニケーショングループ

Modbus TCPプロトコルの詳細插图17
この資料を実際のプロジェクトに活用しませんか?

ツールセンターで電文解析、CRCチェック、デバイスデバッグを行うか、要件を送信して選定と接続のアドバイスを受けましょう。

エンジニア会員

この記事を実行可能なデバッグ資料に

登録すると、高度な電文解析、資料パックのダウンロード、コード例、エンジニアリングケース、優先技術サポートが利用可能に。実際のプロジェクト納品に最適です。

高度なツール無制限
資料パックとコードパック
完全なエンジニアリングケースライブラリ
優先技術サポート窓口

发表回复

あなたのメールアドレスアドレス不会被公开。 必須項目已用 * 标注