Modbus TCP/IP のマルチマスターに奇妙な問題があります。Modbus Serial がマルチマスターをサポートしていないことは知っています。しかし、ドキュメントを見たところ、Modbus TCP はマルチマスターをサポートしていると書かれていました。
Modbus TCP マスターとして 3 つの tcp クライアントを構成し、Modbus TCP スレーブとしてサーバーを構成しました。各 Modbus TCP マスターは、定期的に 2 秒ごとにデータを取得するように Modbus TCP スレーブに要求します。また、マスターデバイスには Triangle MicroWorks 製の Modbus TCP スタックを使用しています。
すべてのマスターがスレーブからデータを受信できると思っていましたが、実際には 1 つのマスターだけがスレーブとうまく通信し、他のマスターはデータを受信できませんでした。彼らは、「MBCHNL_RESP_STATUS_CANCELED」を意味するリターンステータス「3」のみを受け取りました。
この構図で、この振る舞いは正しいですか?「マルチマスター/複数の同じリクエスト」がスタックでサポートされていないか、マルチマスターを動作させる他の方法があるのだろうか。