Hallo,
ich teste eine Modbus-Verbindung mit einem Revolution Pi als Modbus Slave.
Das Tutorial habe ich abgearbeitet. Die Verbindung funktioniert auch. Allerdings ist es nach einem Wiedereinschalten / Neustart nicht möglich, die Verbindung mit qModMaster aufzubauen.
Ich habe nun herausgefunden, das erst die Funktion „Treiber zurücksetzen“ in Pictory wieder ausgeführt werden muss.
Danach ist die Verbindung wieder möglich. Was ist zu tun, damit dieser Schritt nicht nach jedem Neustart notwendig ist?
Viele Grüße
Falko
Revolution Pi als Modbus Slave - Treiber zurücksetzen
Re: Revolution Pi als Modbus Slave - Treiber zurücksetzen
Ich habe es soben getestet mit RevPi Core 3 und aktuellem Stretch Image, Modbus TCP Slave in PiCtory konfiguriert und QModMaster als Modbus Master auf einem PC.
Ich starte mit QModMaster eine zyklische Abfrage Read Input Registers (Function Code 0x04) ab Adresse 0, 1x Pro Sekunde, was funktioniert.
Nach einem Neustart des RevPi muss hier bei QModMaster die Verbindung neu aufgebaut werden (Commands -> Connect).
Beim RevPi war jedoch ein Rest des PiControl Treibers nicht notwendig.
Ich kann es mir nur so erklären, dass die Kommunikation über das Betriebssystem läuft und hier verliert in diesem Fall das TCP-Socket die Gegenstelle.
Deine Anwendung muss demnach so fehlertolerant sein, die Verbindung wieder aufzubauen sollte das RevPi nicht ansprechbar sein.
Ich starte mit QModMaster eine zyklische Abfrage Read Input Registers (Function Code 0x04) ab Adresse 0, 1x Pro Sekunde, was funktioniert.
Nach einem Neustart des RevPi muss hier bei QModMaster die Verbindung neu aufgebaut werden (Commands -> Connect).
Beim RevPi war jedoch ein Rest des PiControl Treibers nicht notwendig.
Ich kann es mir nur so erklären, dass die Kommunikation über das Betriebssystem läuft und hier verliert in diesem Fall das TCP-Socket die Gegenstelle.
Deine Anwendung muss demnach so fehlertolerant sein, die Verbindung wieder aufzubauen sollte das RevPi nicht ansprechbar sein.
Re: Revolution Pi als Modbus Slave - Treiber zurücksetzen
Hallo Dirk,
vielen Dank für die Antwort. Genau das erneute Verbinden mit qModMaster ist nicht möglich (Connection failed). Ich muss erst im Pictory auf "Treiber zurücksetzen" klicken. Der nächste Verbindungsaufbau mit qModMaster funktioniert sofort.
(Ich benutze ein RevPi 3 mit Jessie-Image)
Viele Grüße
Falko
PS: Vielleicht kann der Beitrag ins deutschsprachige Unterforum verschoben werden?
vielen Dank für die Antwort. Genau das erneute Verbinden mit qModMaster ist nicht möglich (Connection failed). Ich muss erst im Pictory auf "Treiber zurücksetzen" klicken. Der nächste Verbindungsaufbau mit qModMaster funktioniert sofort.
(Ich benutze ein RevPi 3 mit Jessie-Image)
Viele Grüße
Falko
PS: Vielleicht kann der Beitrag ins deutschsprachige Unterforum verschoben werden?
Re: Revolution Pi als Modbus Slave - Treiber zurücksetzen
Eventuell habe ich deinen Fehler deshalb nicht reproduzieren können, weil ich die neueste Version der Modbus Master und Slave Pakete auf meinem System installiert habe. Versuche doch mal diese beiden Pakete zu aktualisieren:
Code: Select all
sudo apt install pimodbus-master pimodbus-slave
Re: Revolution Pi als Modbus Slave - Treiber zurücksetzen
Vielen Dank. Es scheint jetzt zu funktionieren.
Viele Grüße
Falko
Viele Grüße
Falko