2016-04-14 3 views
0

J'ai 2 périphériques communiquant entre eux en utilisant Modbus et je voudrais renifler cette ligne de communication en utilisant Python à des fins de journalisation. J'ai connecté mon ordinateur au bus de communication via un dongle Modbus, mais je ne sais pas comment je peux réellement lire les données.Reniflage Modbus en utilisant python

Je l'ai utilisé Pymodbus avant, mais je ne pense pas que cela fonctionne dans ce cas, car il permet uniquement pour les périphériques maître ou esclave (pour autant que je sache)

Existe-t-il d'autres bibliothèques que je peux utiliser pour mon but? Serait-il possible pour moi d'implémenter quelque chose comme un socket en lecture seule sur le port COM qui n'interfère pas avec la communication existante sur le bus?

Merci!

+0

Essentiellement, il s'agit d'une connexion série de base dans la fondation, si vous pouvez configurer une connexion qui n'interfère pas avec la transmission entre A et B, vous pouvez simplement lire les données en tant que données brutes et analyser. Oui normalement pymodbus sera soit un esclave ou un maître et ainsi analyser les données en conséquence, mais vous voulez essentiellement 'tcpdump' mais pour les données série? Là pour un peu d'analyse de votre propre sera fait après le dumping des données série brutes. Si possible, utilisez http://freecode.com/projects/linuxserialsniffer/ – Torxed

Répondre

-1

Vous pouvez essayer un simulateur MODBUS comme this un: Il a une option pour voir l'activité sur le bus.

Si vous souhaitez utiliser un autre MODBUS python, je recommande d'utiliser modbus_tk. Il a un exemple sur la façon de créer un simulateur MODBUS. Mais pour pouvoir renifler les paquets envoyés à d'autres appareils, vous devrez faire quelques modifications pour désactiver la réponse automatique.

Si la seule chose que vous voulez faire est de voir l'activité sur le bus, je recommande la première option.

J'espère que cela vous aide.

[Modifier]: Pour être plus précis, vous devrez télécharger les logiciels suivants: Sondage Modbus - simulateur esclave MODBUS (qui fonctionne sous Windows) et branchez votre clé MODBUS dans le port que vous souhaitez utiliser. Après avoir effectué tous les réglages pour les communications série, accédez à l'onglet Affichage et cliquez sur Communication. Vous serez en mesure de voir le trafic sur la ligne.

+0

Bien que ce lien puisse répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et de fournir le lien pour référence. Les réponses à lien uniquement peuvent devenir invalides si la page liée change. - [De l'avis] (/ review/low-quality-posts/14126442) – Julien

+0

Merci pour votre suggestion, je vais essayer d'améliorer mes messages – aoprisor