0

Linux サーバーとセルラー モデムの間の接続を作成します。モデムはシリアル オーバー TCP のサーバーとして機能します。

モデム自体は、RS232 接続を介して modbus デバイス (産業用プロトコル) に接続されています。

エンド modbus デバイスとの通信を容易にするために pymodbus を使用したいと思います。ただし、エンドデバイスがシリアル modbus (Modbus RTU) を話すため、PyModbus で TCP modbus オプションを使用できません。また、Linuxサーバーで実際のローカルシリアルポート(ttyデバイス)を開くことを期待しているため、Pymodbusでシリアルmodbusオプションを使用できません。

pymodbus ライブラリが接続をローカル シリアル デバイスとして認識するように、シリアル接続をブリッジするにはどうすればよいですか?

4

2 に答える 2

0

LinuxサーバーをだましてMODBUSRTUが実際にはMODBUSTCP接続であると思わせる簡単な解決策はありません。

いずれの場合も、モデムはデータをTCPからシリアルに(およびその逆に)転送する必要があります。したがって、私は次のように想定しています。1)どういうわけか、モデムをプログラムして、好きなことを実行するように指示できます。2)モデムの製造元は、それを実行するための組み込みメカニズムを提供しています。

1)の場合:TCP接続からRSリンクにデータをコピーするときに、TCPADUをRTUADUに(およびその逆に)置き換えることができるようにモデムをプログラムする必要があります。

2)の場合:メーカーが考案したAPIにRTUフレームを提供するだけです。

于 2013-03-19T07:53:07.957 に答える
0

私は実際に似たようなものに取り組んでいて、独自のシリアル/TCP ブリッジを作成することにしました。仮想シリアル ポートを使用して、各モデムとの通信を処理します。

仮想シリアル ポートを処理するために少し変更する必要はありましたが、minimalmodbus ライブラリを使用しました。

問題が解決したことを願っています。解決していない場合は、お役に立てれば幸いです。

于 2013-05-24T20:10:25.553 に答える