2016-04-14 15 views
0

Modbusを使用して2台のデバイスが互いに通信しているので、この通信回線をPythonを使ってログに記録したいと思います。 Modbusドングルを使用してコンピュータを通信バスに接続しましたが、実際にデータを読み取る方法がわかりません。Pythonを使用したModbusスニッフィング

私は前にPymodbusを使用しているが、私はそれが唯一のマスターまたはスレーブデバイスが可能になりますので、それは

は、他のライブラリがあります(私の知る限り)、この場合に働くだろうとは思わないこと私ができます私の目的のために使う? COMポート上に、バス上の既存の通信を妨げない読み取り専用ソケットのようなものを実装することは可能でしょうか?

ありがとうございました!

+0

基本的には基本的なシリアル接続です.AとBの間の通信を妨げない接続を設定することができれば、データを生データとして読み取って解析することができます。はい通常pymodbusはスレーブかマスターかのどちらかになりますので、それに応じてデータを解析しますが、基本的には 'tcpdump'が必要ですがシリアルデータは必要ですか?そこでは、生のシリアルデータをダンプした後に、あなた自身の解析が行われます。可能であれば、http://freecode.com/projects/linuxserialsniffer/ – Torxed

答えて

-1

thisのようなMODBUSシミュレータを試すことができます。バスのアクティビティを表示するオプションがあります。

別のpython MODBUSを使用する場合は、modbus_tkを使用することをお勧めします。 MODBUSシミュレータの作成方法の例があります。しかし、他のデバイスに送信されたパケットを盗聴できるようにするには、自動応答を無効にするためにいくつかの変更を行う必要があります。

あなたがしたいのは、バス上のアクティビティを見ることだけです。私は最初のオプションをお勧めします。

私はこれがあなたを助けてくれることを願っています。

[編集]:あなたは次のソフトウェアダウンロードする必要があります具体的には:Modbusの投票 - (Windows上で動作します)MODBUSスレーブシミュレータをし、使用するポートであなたのMODBUSドングルを接続します。シリアル通信のすべての設定を行ったら、ディスプレイタブに行き、通信をクリックします。回線上のトラフィックを見ることができます。

+0

を使用してください。このリンクは質問に答えるかもしれませんが、ここでは答えの重要な部分を含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になります。 - [レビューの投稿](レビュー/低品質の投稿/ 14126442) – Julien

+0

あなたの提案をありがとう、私は私の記事を改善しようとします – aoprisor

関連する問題