NEWS
WaveShare Modbus POE ETH Relay Schalterzustände auslesen
-
Hi,
ich habe mir besagtes Modul gekauft und kann die einzelnen Relays mit dem Modbus Adapter ein und ausschalten. Die Relays habe ich als COILS anlegen können. Hier scheint das Modul die Relays sauber anzusprechen.
Die Relays können via ModBus erreicht werden unter:
Relay 0 ON: 01 05 00 00 FF 00 8C 3A
Relay 0 OFF: 01 05 00 00 00 00 CD CA
Relay 1 ON: 01 05 00 01 FF 00 DD FA
Relay 1 OFF: 01 05 00 01 00 00 9C 0ADas konnte ich simple umsetzen:
Jetzt bringt das leider nur bedingt was, da ich gerne auch den aktuellen Zustand auslesen möchte, bevor ich Relays schalte.
Auslesen kann man die Relays per HEX mit:
Hier tue ich mich schwer in der Umsetzung - wenn ich mit MBTCP die Hexcodes an die Kiste sende, bekomme ich auch die Antworten.
Jedoch habe ich aktuell keine Idee, wie ich diese Abfragen in den ModBus Adapter bekomme. Die Schaltvorgänge sind alle 05-Functions. Aber die Register sind 03-bzw 01-Functions. Wenn ich nun die Holdingregister im Adapter unter den Holding-Registern hinzufügen möchte, müsste ich dort ja einen Dezimalwert unter der Adresse verwenden. Diese müssen immer mit 4xxxxx beginnen.
Wenn ich also den Zustand von Relay 1 abfragen möchte, müsste das nach meiner Auffassung in Hex:
01 01 00 00 00 01 also 400001 sein - oder?
Ich habe Diskretinput und Holdingregister versucht, jedoch bisher ohne Erfolg. Ich bekomme immer solche Meldungen:
modbus.0 2025-01-22 11:57:11.900 warn [DevID_1] Poll error count: 1 code: {"err":"timeout","timeout":5000} modbus.0 2025-01-22 11:57:11.899 error Client in error state. modbus.0 2025-01-22 11:57:11.898 error Request timed out. modbus.0 2025-01-22 11:57:11.898 warn Error: undefined modbus.0 2025-01-22 11:57:06.908 error Error response: Function code received in the query is not recognized or allowed by slave modbus.0 2025-01-22 11:57:06.907 error Error response for FCx4: Illegal Function modbus.0 2025-01-22 11:57:06.896 debug Sending pdu to the socket. modbus.0 2025-01-22 11:57:06.894 debug [DevID_1/inputRegs] Poll address 1 - 20 registers
Das Log-Level vom Adapter steht auf Silly - ich sehe nur leider auch in diesem Modus nicht die HEX Werte, die übermittelt werden. Das wäre Hilfreich, um hier weiter zuverstehen, wie der Adapter funktioniert.
Kann mir evtl. ier jemand weiterhelfen? Wie kann ich dem Adapter beibringen mir die Relay-Stati auszulesen?
VG
Alex
-
@alex8656 sagte in WaveShare Modbus POE ETH Relay Schalterzustände auslesen:
Ich bekomme immer solche Meldungen:
bitte keine Screenshots von code und logs, sondern als Text in code-tags posten
-
@homoran said in WaveShare Modbus POE ETH Relay Schalterzustände auslesen:
@alex8656 sagte in WaveShare Modbus POE ETH Relay Schalterzustände auslesen:
Ich bekomme immer solche Meldungen:
bitte keine Screenshots von code und logs, sondern als Text in code-tags posten
habe es als Code eingefügt!
-
@alex8656 sagte in WaveShare Modbus POE ETH Relay Schalterzustände auslesen:
Function code received in the query is not recognized or allowed by slave
@alex8656 sagte in WaveShare Modbus POE ETH Relay Schalterzustände auslesen:
FCx4: Illegal Function
-
@homoran said in WaveShare Modbus POE ETH Relay Schalterzustände auslesen:
@alex8656 sagte in WaveShare Modbus POE ETH Relay Schalterzustände auslesen:
Function code received in the query is not recognized or allowed by slave
@alex8656 sagte in WaveShare Modbus POE ETH Relay Schalterzustände auslesen:
FCx4: Illegal Function
Das Log konnte ich selbst lesen - aber die Meldungen helfen mir nicht!
-
@alex8656 sagte in WaveShare Modbus POE ETH Relay Schalterzustände auslesen:
aber die Meldungen helfen mir nicht!
du nutzst einen falschen function code!
https://en.m.wikipedia.org/wiki/Modbus#Function_codeich glaube das Thema gibt es schon mal
-
@homoran said in WaveShare Modbus POE ETH Relay Schalterzustände auslesen:
@alex8656 sagte in WaveShare Modbus POE ETH Relay Schalterzustände auslesen:
aber die Meldungen helfen mir nicht!
du nutzst einen falschen function code!
https://en.m.wikipedia.org/wiki/Modbus#Function_codeich glaube das Thema gibt es schon mal
Gut möglich - aber den Function-Code kann man im Modbus Adapter doch gar nicht beeinflussen...
-
@alex8656 sagte in WaveShare Modbus POE ETH Relay Schalterzustände auslesen:
aber den Function-Code kann man im Modbus Adapter doch gar nicht beeinflussen...
doch!
Dafür war der Link -
@homoran sagte in WaveShare Modbus POE ETH Relay Schalterzustände auslesen:
ich glaube das Thema gibt es schon mal
ich hab dann mal für dich gesucht!
passt so etwas?
https://forum.iobroker.net/post/1127281so ähnliche Threads gibt's halt einige
oder eher das?
https://forum.iobroker.net/post/604241auch dazu gibt es mehrere Threads