RevPi Connect reset driver für Modbus RTU

Post Reply
SeSn
Posts: 2
Joined: 20 Oct 2021, 09:10

RevPi Connect reset driver für Modbus RTU

Post by SeSn »

Hallo,

für meine Bachelorarbeit verwende ich einen RevPi Connect um Energiezähler per Modbus RTU auszulesen.

Ihr Gerät besitzt bereits eine RS-485 Schnittstelle, welche ich nach Ihren Anleitungen erfolgreich in Betrieb nehmen konnte. Allerdings ist mir aufgefallen, dass nach einem Neustart des Geräts das "Modbus_Master_Status" Register den hex Fehler-Code 0x11 (Die Verbindung zum Modbus-Master-Gerät ist fehlgeschlagen) besitzt. Auch wenn ich in das Register "Master_Status_Reset" den Wert 1 schreibe, bleibt der Fehler erhalten.

Reset'tet man den driver via PiCtory oder verwendet den Befehl "piTest -x", so weist das "Modbus_Master_Status" Register den hex Wert 0x00 auf.

Ich habe Ihnen einen Beispiel-Ablauf in den Anhang gepackt.

Gibt es hierfür eine Konfiguration, welche ich nicht beachtet habe, oder die ich zusätzlich vornehmen muss, sodass dieser Fehler nicht mehr auftritt? Oder muss man beim Start ein bestimmtes Register beschreiben, bevor man den Modbus-Master verwenden kann?

Viele Grüße
Attachments
Modbus_Master_Status_Register.PNG
Modbus_Master_Status_Register.PNG (89.75 KiB) Viewed 14391 times
User avatar
dirk
KUNBUS
Posts: 2174
Joined: 15 Dec 2016, 13:19

Re: RevPi Connect reset driver für Modbus RTU

Post by dirk »

Deine Vorgehensweise ist schonmal genau die richtige. Die Fehleranalyse beginnt mit dem Auslesen der Werte in den Status Variablen. Hier gibt es mehr Wissen, das Dir helfen kann:

Modbus-RTU Communication

Der Fehler 0x11 ist hier beschrieben
https://revolutionpi.de/tutorials/modbu ... verwenden/
cca83ee4-f064-4c2a-8c42-b0dd57e115c7.png
cca83ee4-f064-4c2a-8c42-b0dd57e115c7.png (34.63 KiB) Viewed 14334 times

Die Kommunikation hängt von beiden Partnern ab. In letzter Zeit gab es jedoch auch von uns hier Aktualisierungen zum Thema Modbus siehe hier:

viewtopic.php?f=6&t=2939&start=10#p10950

Das sinnvollste ist, die Kommunikation z.B. mit einem Logic Analyzer zu debuggen, um das Problem zu verstehen und somit an der Wurzel zu packen.
Schließlich kann auch der angeschlossene Modbus Slave hier problematisch reagieren.

Ein denkbarer Workaround besteht darin, den Befehl zum Reset des PiControl Treibers beim Start auszuführen.
Dazu kannst Du den Befehl in die “/etc/rc.local” schreiben aber vor “return 0”.
SeSn
Posts: 2
Joined: 20 Oct 2021, 09:10

Re: RevPi Connect reset driver für Modbus RTU

Post by SeSn »

Hallo Dirk,

vielen Dank für deine schnelle Antwort.

Leider bin ich jetzt etwas verwirrt, der Link, welchen du mir geschickt hast, führt zur Beschreibung des RevPi Core-Modells.

Ich verwende einen RevPi Connect, hier ist der Fehler anscheinend anders beschrieben. Oder hat das im übertragenen Sinne die gleiche Bedeutung?

Ich habe gedacht, dass es am RevPi selbst liegt, da ich ja den virtuellen Modbus Master des Gerätes verwende, und im Fehlercode (siehe: https://revolutionpi.de/tutorials/modbu ... enden-con/) die Beschreibung "Die Verbindung zum Modbus-Master-Gerät ist fehlgeschlagen." zu lesen ist.

Ist hierbei dann die Verbindung zu meinen Slaves gemeint?

Viele Grüße
Last edited by SeSn on 04 Nov 2021, 09:21, edited 1 time in total.
User avatar
dirk
KUNBUS
Posts: 2174
Joined: 15 Dec 2016, 13:19

Re: RevPi Connect reset driver für Modbus RTU

Post by dirk »

Hallo SeSn,
danke für Deine Geduld. Da habe ich wohl einen falschen Link gepostet, bitte um Entschuldigung - hier ist der korrekte Link zu Modbus-RTU Master des RevPi Connect Modules:
https://revolutionpi.de/tutorials/modbu ... enden-con/
Die Screenshots stellen jedoch unglücklicherweise RevPi Core Module dar also es gibt immer Luft für Verbesserungen hier ... In der Tat ist die Aussage des Fehlers eine andere nämlich:
"0x11 Resource temporarily unavailable"
Falls Du jetzt noch offene Fragen hast dann melde Dich. Wenn alles klar ist umso besser.
Post Reply