NEWS
Modbus XY-MD02 - Timeout
-
Guten Abend zusammen,
für die ersten Gehversuche mit Modbus habe ich einen USB RS485 Adapter und einen Temperatur und Feuchtigkeitssensor des Typs XY-MD02 gekauft. Ich habe mich ein wenig in die Materie eingelesen und vieles probiert. Mit dem Programm Modpull unter Windows habe ich dann den scheinbaren "Fehler" gefunden. Wenn ich es richtig verstehe, versucht das genannte Progamm einfach die ersten Holding-Register auszulesen:
TX: 01.04.00.01.00.0A.XX.XX (Checksum habe ich nicht mehr im Kopf)
Das hatte nie geklappt, da das erste Register für den Adapter wie folgt erfolgreich ausgelesen werden:
TX 01.04.00.01.00.01.60.0A
das zweite Register:
TX: 01.04.00.02.00.01.90.0AIch hoffe, ich habe die Begriffe bis jetzt nicht allzu durcheinander gewürfelt!
Ich habe die arge Befürchtung, dass das Gerät einfach nicht den "Standard" befolgt und deshalb der modbus Adapter immer auf einen Time-Out beim Pull läuft. Leider kann ich im Log dies nicht 100%ig nachvollziehen - hier steht nur:modbus.0 2021-02-21 18:10:47.401 info (3424) Disconnected from slave modbus.0 2021-02-21 18:10:46.402 warn (3424) Poll error count: 9 code: {"err":"timeout","timeout":5000} modbus.0 2021-02-21 18:10:46.400 error (3424) Request timed out. modbus.0 2021-02-21 18:10:46.399 warn (3424) Error: undefined
Ein ähnliches Symptom hatte ich unter Modpull unter Windows - daher die Vermutung, dass hier das gleiche Problem vorliegt.
Irgendwie bin ich auch ein wenig zu doof, die Holdingregister Tabelle in den Einstellungen entsprechend zu füttern - ich müsste ja hier nur die entsprechende Länge mitgeben und schon sollte es funktionieren, oder? Kann mir hier jemand behilflich sein? Schon einmal vielen Dank!
Viele Grüße
TillMOD EDIT: LOGS BITTE IN CODE TAGS </> POSTEN
-
Hast du das loggen für die Instanz mal auf Debug gestellt?
Gibt es denn eine Modbus Beschreibung der Register und EInstellungen die von deinem XY-MD02 benötigt werden?
-
Hallo,
dann bin ich jetzt schon einmal schlauer - wusste gar nicht, dass man das Log hochschrauben kann - Danke dafür. Das sieht schon viel informativer aus:
modbus.0 2021-02-21 18:37:48.301 debug (5323) Cleaning up request fifo. modbus.0 2021-02-21 18:37:48.299 debug (5323) Clearing timeout of the current request. modbus.0 2021-02-21 18:37:48.290 info (5323) Disconnected from slave modbus.0 2021-02-21 18:37:47.291 warn (5323) Poll error count: 1 code: {"err":"timeout","timeout":5000} modbus.0 2021-02-21 18:37:47.287 error (5323) Request timed out. modbus.0 2021-02-21 18:37:47.285 warn (5323) Error: undefined modbus.0 2021-02-21 18:37:42.416 error (5323) unknown function code: 131 modbus.0 2021-02-21 18:37:42.272 debug (5323) Poll holdingRegs DevID(1) address 1 - 1 bytes modbus.0 2021-02-21 18:37:42.271 debug (5323) Initialization of scale factors done! modbus.0 2021-02-21 18:37:42.268 debug (5323) Poll device 1 modbus.0 2021-02-21 18:37:42.266 info (5323) Connected to slave modbus.0 2021-02-21 18:37:42.250 debug (5323) connect to serial /dev/ttyUSB0 with 9600
Das Manual habe ich hier mal angehangen.
Vielen, vielen Dank schon einmal!
Grüße
Tillxy-md02-manual.pdf -
@fatboyt Screenshot Adapter Einstellungen und Register wenn du welche EIngtragen hast.
-
-
@fatboyt Lösche mal bei Holding und Trage bei Eingangsregister ein.
-
Hi!
Hat leider auch keinen Erfolg
modbus.0 2021-02-21 19:49:21.395 debug (8942) Cleaning up request fifo. modbus.0 2021-02-21 19:49:21.393 debug (8942) Clearing timeout of the current request. modbus.0 2021-02-21 19:49:21.384 info (8942) Disconnected from slave modbus.0 2021-02-21 19:49:20.384 warn (8942) Poll error count: 1 code: {"err":"timeout","timeout":5000} modbus.0 2021-02-21 19:49:20.381 error (8942) Request timed out. modbus.0 2021-02-21 19:49:20.380 warn (8942) Error: undefined modbus.0 2021-02-21 19:49:16.845 debug (8942) sendTo "listUart" to system.adapter.admin.0 from system.adapter.modbus.0 modbus.0 2021-02-21 19:49:16.843 info (8942) List of port: [{"path":"/dev/ttyAMA0"},{"path":"/dev/ttyUSB0"}] modbus.0 2021-02-21 19:49:16.842 info (8942) Check /dev/ttyUSB0 : true modbus.0 2021-02-21 19:49:16.841 info (8942) Check /dev/ttyAMA0 : true modbus.0 2021-02-21 19:49:16.835 info (8942) Verify [{"path":"/dev/ttyAMA0"},{"manufacturer":"1a86","pnpId":"usb-1a86_USB2.0-Ser_-if00-port0","vendorId":"1a86","productId":"7523","path":"/dev/ttyUSB0"}] modbus.0 2021-02-21 19:49:15.494 error (8942) unknown function code: 132 modbus.0 2021-02-21 19:49:15.369 debug (8942) Poll inputRegs DevID(1) address 0 - 1 bytes
-
@fatboyt Guck dir mal die Adresse genau an
-
Danke, Danke, Danke! Es funktioniert - es lebt
Habe ich doch durcheinander bekommen mit dem 0x3 & 0x4 und so weiter.
Grüße