1. ホーム
  2. 製品・技術情報
  3. 高度に進化したModbusゲートウェイMB3000シリーズ

製品・技術情報

高度に進化したModbusゲートウェイMB3000シリーズ

  • 2011.06.13
高度に進化したModbusゲートウェイMB3000シリーズ
シリアルとイーサネットプロトコル間の複数リクエストの対応

Modbusプロトコルはシリアル通信向けに設計されているため、特有の制限があります。多くのModbusデバイスはRS-232CまたはRS-485シリアル規格を通して通信しますがRS-422規格も産業界で広く認められています。RS-232規格は、2つのデバイス間での簡単なデータ交換およびデータ通信のために設計されデータ損失を防ぐためにハードウェアによるフロー制御をサポートします。RS-485規格は、同一バス上で最大32ノードと通信できるマルチドロップ通信をサポートします。ただし、同時には1つのノードのみのデータ送信を行います。

シリアル通信の基本を理解することで、Modbusシリアルプロトコルがなぜ一度に1つのリクエストのみをサポートするかがわかります。RS-232Cでは、1つのデバイスしか接続できないため、複数のリクエストをサポートする必要がありません。RS-485では、複数スレーブからのレスポンスがシリアルバス上で衝突するため、マスターデバイスは、複数のリクエストを送ることができません。

これに対してModbus TCPプロトコルは、複数リクエストをサポートする能力をもつのでこれが最も大きな違いの1つです。また、イーサネットは、複数リクエストを問題なく処理できるように設計されています。各ノードからのレスポンスは、簡単に認識されマスターデバイスにより各々処理されます。

Modbus TCP規格では次のように定められています:

"TCP/MODBUSでは、いくつかのリクエストが同一サーバの確認を待つことなく送信されます。MODBUS/TCPからMODBUSシリアルラインゲートウェイへは、それらの2つの行動のコンパチビリティを保証する役目を果たします"

これは、Modbusゲートウェイが異なるプロトコル間のデータを単純に変換できないことを意味します。また、Modbusゲートウェイは、Modbusシリアルプロトコルによりサポートする方法で複数リクエストを管理する必要があります。

Modbus TCPスレーブのためにサポートされた複数のリクエスト("トランザクション"と呼ばれる)の数を明確にするために特別なパラメータが使用されます。

Modbus TCP規格では次のように定められています:

"この実行パラメータは、[NumberMaxOfClientTransaction=クライアントトランザクションの最大数]と呼ばれ、MODBUSクライアント機能の1つとして述べられます。デバイスのタイプによりこのパラメータは1から16の値になります"


このパラメータは、Modbus TCPが複数のリクエストをサポートするにも関わらずスレーブデバイスがサポートするリクエスト数は、そのメーカーによって決まる、ということを意味します。

Modbusゲートウェイが1つだけのシリアル接続の場合、シリアルインターフェースは、おもむくままに一度に1つだけコマンドを送信することができます。しかし、シリアルインターフェースがボトルネックとなるためにゲートウェイが複数のリクエストを処理する際に目立った改善にはなりません。

SCADAソフトウェアもまた、複数リクエストをサポートできる要因を備えています。例えSCADAアプリケーションが各スレーブIDに1つだけのリクエストを一度送信しても、同時に複数のスレーブIDへリクエストを送信します。複数のリクエストをサポートするModbusゲートウェイは、多くのSCADAアプリケーションとの優れたコンパチビリティを利用することができます。

MGate MB3180/3480シリーズは、各Modbus TCPマスターから最大32までの同時リクエストをサポートします。また、殆ど全てのSCADAソフトウェアアプリケーションと動作します。