html Modbus TCPとRTU:フレーミング、ゲートウェイのマッピング、応答時間 | FCTELE
                                   +8618758069661 [email protected]
製品検索 検索ガイド: スペース = AND(かつ)、 | = OR(または)、 ! = NOT(除外)

ご質問はありますか? 今すぐお電話ください!

+8618758069661

またはメッセージをお送りください

オンラインお問い合わせ

Modbus TCPとRTU:メッセージ構造、ゲートウェイ変換、応答タイミング

閲覧数: 86 +4FCTELEによるオリジナル記事著者:FCTELE技術チーム
概要

ModbusゲートウェイでTCPクライアントをRTU計測器に接続すると、何が変わるのでしょうか?

機能とデータモデルは共通性を保てますが、ゲートウェイは異なるトランスポートのフレーミング、要求の対応付け、デバイスのマッピングを処理します。TCPはMBAP情報を使用し、RTUはシリアルアドレスとCRCを含み、シリアル通信のタイミング規則に従います。ネットワークから同時に要求が届いても、シリアル側の処理能力には限りがあります。ユニットのマッピング、タイムアウト、既知のレジスタ値を確認し、透過的なシリアル通信のネットワーク転送がこの変換を行うとは考えないでください。

3つの仕組みと検証の適用範囲信号の流れを追い、実際のサービスを検証する

01対応するフレーミングを変換する

Translate supported framingThe gateway associates TCP transactions with the appropriate serial request and response.MBAP + PDUGatewayRTUTCPAddr + PDU+ CRCAssociate transaction and serial endpoint

ゲートウェイはTCPトランザクションを、対応するシリアル要求および応答に関連付けます。

02計測器へのアクセスを逐次化する

Serialize the instrument accessA shared serial bus serves coordinated requests with finite response time.MasterStation 1Station 2Station 3Addressed exchanges; not simultaneous replies

共有シリアルバスは、要求間のアクセスを調整して処理し、応答には一定の時間を要します。

03返された値を解釈する

Interpret the returned valueRegister offsets and multi-register value conventions belong to the application definition.Register nRegister n+1InterpretValueOffset / word order / scalingKnown bytes still need the correct definition

レジスタのオフセットと、複数レジスタにまたがる値の表現規則は、アプリケーションの定義に属します。

スワイプして3つの図を比較 →

概念を説明するための図であり、実測波形、設置配線図、特定製品の内部構成を示すものではありません。
  • 対応するフレーミングを変換する

    対応する役割、ユニットのマッピング、例外時の動作を確認してください。

  • 計測器へのアクセスを逐次化する

    クライアントを追加しながら、キューの待ち時間と計測器の処理時間を測定してください。

  • 返された値を解釈する

    既知の読み取り専用値を、計測器の資料と照合してください。

選定・検証チェックリスト確認項目と関連ガイドを展開する
対象サービスと実際の運用条件に関する確認事項
確認項目確認する内容検証方法
対応するフレーミングを変換するゲートウェイはTCPトランザクションを、対応するシリアル要求および応答に関連付けます。対応する役割、ユニットのマッピング、例外時の動作を確認してください。
計測器へのアクセスを逐次化する共有シリアルバスは、要求間のアクセスを調整して処理し、応答には一定の時間を要します。クライアントを追加しながら、キューの待ち時間と計測器の処理時間を測定してください。
返された値を解釈するレジスタのオフセットと、複数レジスタにまたがる値の表現規則は、アプリケーションの定義に属します。既知の読み取り専用値を、計測器の資料と照合してください。

Modbus RTUとModbus TCPはファンクションコードとデータモデルを共有していますが、トランスポートのフレーミングは異なります。RTUはシリアル回線でよく使用され、そのメッセージにはアドレスとCRCが含まれます。TCPはTCP/IP上で伝送され、RTUのCRCフィールドを付加せずにMBAPヘッダーを使用します。両者を接続するには通常、Modbus変換を処理できるゲートウェイが必要であり、一般的なインターフェースアダプターだけでは対応できません。

共通するのは「何を要求するか」、異なるのは「どのように届けるか」

Modbusのファンクションコードは、コイルの読み取り、レジスタの読み取り、書き込みなどの操作を表し、データ部分はアドレス、数量、内容を示します。ファンクションコードとデータで、プロトコルデータユニット(PDU)を構成します。同じ要求をシリアル回線またはTCP接続に送る場合、それぞれ異なるトランスポート関連のフィールドが付加されます。

RS485は主に電気的インターフェースを定義しており、Modbus RTUと同じものではありません。Ethernetは主にリンク上の伝送を担い、これもModbus TCPと同じものではありません。デバイスにRS485ポートやRJ45ポートがあるというだけでは、インターフェース条件の一部しか分かりません。対応するアプリケーションプロトコルを引き続き確認する必要があります。

プロトコルゲートウェイは、Ethernet側のModbus TCPをシリアル側のModbus RTUに対応付けます。インターフェース変換とプロトコル変換を混同してはいけません。
プロトコルゲートウェイは、Ethernet側のModbus TCPをシリアル側のModbus RTUに対応付けます。インターフェース変換とプロトコル変換を混同してはいけません。

メッセージ構造の違いが接続に与える影響

RTUメッセージは、デバイスアドレス、ファンクションコード、データ、CRCチェックで構成されると要約できます。シリアル回線では、メッセージ境界の識別にタイミング規則も使用します。TCPメッセージは、MBAPヘッダーとPDUで構成されます。MBAPにはトランザクション識別子、プロトコル識別子、長さ、ユニット識別子などの情報が含まれ、要求と応答の識別および対応付けに使用されます。

Modbus TCPにRTUのCRCフィールドがないからといって、ネットワーク全体に誤り検出がないわけではありません。TCP/IPと下位リンクには、それぞれ独自の仕組みがあります。一方、RTUのCRCは主にメッセージの誤りを検査するものであり、本人認証や暗号化ではありません。いずれの基本モードについても、ネットワークセキュリティ保護を標準で備えていると見なすべきではありません。

RTUとTCPではPDUの意味は同じで、外側のカプセル化だけが異なります。この図は、そのまま送信できる完全な16進数メッセージを示したものではありません。
RTUとTCPではPDUの意味は同じで、外側のカプセル化だけが異なります。この図は、そのまま送信できる完全な16進数メッセージを示したものではありません。

シリアルバスとTCPの並行処理は単純には置き換えられない

一般的なシリアルModbusでは、1つのクライアントが要求を開始し、サーバーが応答する方式を採用し、同一バス上のアクセスを調整します。複数のマスターが調整なしに同時送信することはできません。TCPサーバーは複数の接続を受け付ける場合がありますが、許容される接続数、同時要求数、処理速度はデバイスの実装によって決まります。

TCPゲートウェイの接続先が共有シリアルバスのままであれば、複数のTCP要求は通常、キューで待つ必要があります。ネットワークポートの速度を上げても、計測器の応答が直ちに速くなるわけではありません。シリアル通信のボーレート、メッセージ長、スレーブの処理、タイムアウトは、いずれもポーリング周期全体に影響します。優先度の高い操作に対しては、アクセス間隔の設計も必要です。

レジスタ読み取りの例

ホストソフトウェアが計測器から保持レジスタを2つ読み取る場合、対象デバイス、ファンクションコード、開始アドレス、数量を指定する必要があります。計測器の資料では40001のような慣用的な番号を使用する一方、メッセージのアドレスはオフセット表現を使用する場合があり、ソフトウェアでの入力方法も同じとは限りません。1つずれることを防ぐため、マニュアルとソフトウェアの規則を照合してください。

16ビットのレジスタを2つ受信しても、それらが1つの正しい浮動小数点数であると直ちに判断することはできません。バイト順、レジスタのワード順、符号付き数の扱い、スケーリング係数、単位は、メーカーによって定義される場合があります。通信の成功とデータ解釈の正しさは別々の確認事項です。既知の測定値を使って検証するのが望ましい方法です。

一般的なシリアルサーバーだけでは不十分な場合がある理由

透過型シリアルサーバーは、シリアルのバイト列をTCPデータストリームに格納するだけの場合があり、必ずしもMBAPの解析、RTUアドレスとCRCの生成、トランザクションの対応付けを行うわけではありません。この種の製品は、明確に定義された透過伝送方式では使用できますが、当然にModbusプロトコルゲートウェイであるとは見なせません。購入時には、単に「シリアルからネットワークポートへ」と記載するのではなく、TCPからRTUへの変換が必要であることを明示してください。

ゲートウェイについては、動作上の役割、ユニット識別子のマッピング、シリアル通信フォーマット、タイムアウト、ポーリング方式も確認する必要があります。TCP側のユニット識別子がシリアルデバイスをどのように指定するかは、ゲートウェイの実装に応じて設定する必要があります。直接接続のTCPデバイスでは運用上の慣例が異なる場合があり、すべてのデバイスを1つの規則で設定できるわけではありません。

障害は接続、メッセージ、業務の3つの層に分けられる

TCPが接続できない場合は、アドレス、ポート、経路、アクセス規則を確認します。接続は確立するもののタイムアウトする場合は、ゲートウェイのマッピング、シリアル通信パラメーター、端末の状態、キューの待ち状況を確認します。例外応答を受信した場合は、ファンクションコードとアドレス範囲を確認します。例外応答は、デバイスが特定の種類の問題を明示的に報告していることを意味し、まったく応答がない場合とは異なります。

RTU側では、配線、終端整合、アドレスの重複、電気的条件も確認する必要があります。A/Bという名称を、そのまま正負の定義と同一視しないでください。デバイスの資料に従って対応を確認してください。試験は単一デバイスと低頻度の読み取り専用要求から始め、徐々に負荷を増やすことが望まれます。許可なく稼働中のデバイスへのレジスタ書き込みを試さないでください。

基本的なModbusの導入では、アクセス元を制限し、必要に応じてネットワークを分割してファイアウォールを設置する必要があります。また、ポート502を公開ネットワークに直接公開してはいけません。Modbusのセキュリティ拡張やセキュリティゲートウェイを使用する場合も、互換性と証明書管理の確認が必要です。RTUとTCPのどちらを選ぶかは、既存の端末、データ規模、保守条件によって決まり、単純に「新しいか古いか」「上位か下位か」で順位付けするものではありません。

参考資料:Modbusアプリケーションプロトコル仕様;Modbusシリアル回線実装ガイド.

中国語の技術記事から翻訳。原文の初公開:2026-04-23。原文の最終改訂:2026-10-13T23:07:12+08:00。 中国語の原文を読む

実務上のよくある質問

生のRTUバイト列をTCPソケット経由で転送すれば、自動的にModbus TCPになるのでしょうか?

いいえ。透過伝送では、MBAPに基づく通信を構成せず、RTUメッセージをそのまま保持する場合があります。ネットワークコネクターから変換機能を推測するのではなく、明示されたゲートウェイ機能があり、それがクライアントの想定する動作と一致することを確認してください。

ギガビットEthernetでも、TCPクライアントを追加するとModbusの応答遅延が増えるのはなぜでしょうか?

下流のシリアルバスと計測器が、引き続き処理能力を制限します。要求は進行中の通信が終わるまでキューで待つことがあります。最初の対策としてEthernetの速度を上げるのではなく、シリアルバスの占有状況、ゲートウェイの処理方針、タイムアウトを測定してください。

Modbusレジスタを2つ正常に読み取れても、表示される測定値が誤っていることはありますか?

はい。アドレスの規則、符号の有無、スケーリング、バイト順、ワード順が異なる場合があります。既知の値と実際のベンダー定義を確認してください。通信の成功は、データ解釈が正しいことの証明にはなりません。

出典と適用範囲

これらの補足は一般的な仕組みを説明するものです。対応機能、接続の詳細、受入判定基準は、実際の機器、ソフトウェア、運用条件に合わせて検証する必要があります。図は測定結果や認証の証拠ではありません。

この記事を共有する