私は2つのSCADAシステムでデータを交換しています。私は両方のシステムがこのプロトコルをサポートしているので、tcpよりもmodbusを使うことを目指しています。もちろん、両方のシステムがモードバスマスタとしてしか機能しないという問題はあります。SCADAシステムでは、Modbusマスターを別のマスターと話す方法はありますか?
すべてのフィールドバスオープンソースを使って、2人のマスターがお互いに話すようにする「ブリッジ」ユーティリティはなかったことに驚きました。私は技術に精通しているわけではありませんが、外部からは2つのポートを開き、2つの別々のマスターの奴隷として機能するプロセスを実装することは自明のようです。
両方のマスタが仲介をスレーブとして認識しますが、Master1のPOVからの入力レジスタはMaster2のPOVからの出力レジスタであり、その逆もあります。
概念的にもプロトコル的にも、問題があると示唆されるものはありますか?
Modbusスレーブは、並行性の問題に陥ることなく、2つの異なるマスターを受け入れるのが一般的ですか?私は、それがプロトコルの一部であったと思っていました。これは、モードバスマスターが同時に2つの操作を同時に行うことはないということでした。私はOPCと考えていましたが、他の懸念から、接続がIOインターフェイスを通過したいと思っています。 – Tormod
MODBUS RTUとASCIIスレーブは、1つのマスタのみを持つことができます。 MODBUS TCPスレーブは実際にはTCPサーバーであり、他のTCPサーバーと同様にメッセージのシリアル化が組み込まれています。さもなければ、Webサーバは、(同じ時間に人間がそれを知覚するのに十分速く逐次化が行われるので)「同時に」多くのクライアントを処理できませんでした。 – avra
Modbus/TCPサーバは、複数の(しかし限られた数の)同時接続をサポートするように設計されています。共有レジスタを介して情報をトンネリングするAvraの提案は、おそらくあなたが得ることができる最高のものです。 Peter Groteの提案はおそらく、これらのうちの1つをPCに実装しています。 – Pekka