まず、Modbus プロトコルは、主に 3 種類に分けられます。
1. シリアルポートの場合: Modbus RTU、Modbus ASCHl、一般的に使用されるシリアルポートRS232/RS422/RS485
2. ネットワークインターフェース: Modbus TCP、一般的に使用されるネットワークインターフェース: RJ45
3. Modicon専用Modbus Plus
Modbus RTU と Modbus ASCI は非同期シリアル伝送を使用しますが、Modbus TCP は TCP/IP プロトコルに基づいています。Modbus は半二重通信で、マスター スレーブ通信モードを使用し、同時に存在できるのはマスター ステーションのみです。そのため、質問者が述べたように、2 つのマスターと複数のスレーブとの通信が可能です。Modbus RTU 通信を使用する場合は、リレーを使用して異なるスレーブを切り替えることができます。もちろん、他の方法もあります。Modbus Plus は高速トークン ネットワークであり、トークンはステーション間ですばやく渡すことができ、トークンを取得した人がマスターになります。そのため、複数のマスターと複数のスレーブの問題も解決されます。ただし、これは Modicon の特別なプロトコルであり、オープンではないため、オープン Modbus プロトコルはまだ実現できません。一般的に言えば、私たちがよく使用する Modbus 通信は Modbus RTU と Modbus TCP であり、Modbus RTU は読み取りと書き込みにポーリング方式を使用する必要があります。Modbus TCP は、ネットワーク上で複数のクライアントを許可するクライアント サーバー モデルです。
したがって、質問の要件を考慮すると、最も簡単な方法は、Modbus RTU プロトコルを Modbus TCP プロトコルに変換することです。どのように変換するのでしょうか? 多くのメーカーは、よく使用される MOXA など、この機能を実現できる対応するプロトコル変換ゲートウェイ デバイスを提供しています。
たとえば、MOXA の MB3170 は、ModbuSTCP、ASCI、RTU デバイスを統合できるほか、シリアル マスターからシリアル スレーブ、または同時にイーサネット マスターを含む複数のマスターとスレーブの混合ネットワークも統合できます。
このゲートウェイにより、複数のマスターが同時にスレーブにアクセスできるようになります。TCP/P プロトコルを使用しているため、これは複数のクライアントが同時に複数のサーバーにアクセスするモードに相当します。




