2016-04-14 4 views
0

У меня есть 2 устройства, обменивающиеся друг с другом с помощью Modbus, и я хотел бы обнюхать эту линию связи с помощью Python для ведения журнала. Я подключил свой компьютер к шине связи через ключ Modbus, но я не знаю, как я могу действительно читать данные.Modbus sniffing using python

я перед использованием Pymodbus, но я не думаю, что будет работать в этом случае, так как он позволяет только для ведущего или ведомого устройства (насколько я знаю)

Существуют ли какие-либо другие библиотеки, которые я могу использовать для моей цели? Можно ли мне реализовать что-то вроде сокета только для чтения на COM-порту, который не мешает существующей связи на шине?

Спасибо!

+0

По существу это базовое последовательное соединение в фундаменте, если вы можете настроить соединение, которое не мешает передаче между A и B, вы можете просто прочитать данные в виде необработанных данных и проанализировать их. Да, обычно pymodbus будет либо подчиненным, либо ведущим и, следовательно, обрабатывает данные соответственно, но вы в основном хотите 'tcpdump', но для последовательных данных? Там для вашего собственного анализа будет сделано после сброса необработанных последовательных данных. Если возможно, просто используйте http://freecode.com/projects/linuxserialsniffer/ – Torxed

ответ

-1

Вы можете попробовать симулятор MODBUS, например this: у него есть возможность увидеть активность на автобусе.

Если вы хотите использовать другой python MODBUS, я рекомендую использовать modbus_tk. В нем есть пример того, как создать симулятор MODBUS. Но чтобы иметь возможность нюхать пакеты, отправленные на другие устройства, вам нужно будет внести некоторые изменения, чтобы отключить автоматический ответ.

Если единственное, что вы хотите сделать, это увидеть активность на автобусе, я рекомендую первый вариант.

Надеюсь, это вам поможет.

[Изменить]: Чтобы быть более конкретным вам нужно будет загрузить следующее программное обеспечение: Modbus Poll - MODBUS ведомый тренажер (который работает на Windows) и подключить MODBUS донгл в порт, который вы собираетесь использовать. После того, как вы выполните все настройки для последовательной связи, перейдите на вкладку и нажмите Связь. Вы сможете увидеть трафик на линии.

+0

Хотя эта ссылка может ответить на вопрос, лучше включить здесь основные части ответа и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. - [Из обзора] (/ review/low-quality-posts/14126442) – Julien

+0

Спасибо за ваше предложение, я постараюсь улучшить свои сообщения – aoprisor