NEWS
ModBus Adapter / Registerabfrage
-
@joergh hier ist das Datenblatt:
http://datenblatt.stark-elektronik.de/solvimus/Datenblatt_MBUS-GE80M-IS.pdf
Und hier etwas ausführlicher das Handbuch:
https://www.solvimus.de/wp-content/uploads/2020/06/MBUS_GEM_UG_1.32__1_-2.pdf
-
@dillio Danke. Da steht es in Kapitel 6.2.2 beschrieben:
Im Holding Register Reiter also bspw. entsprechend das Register eintragen und "Poll" nicht vergessen, sonst kommen keine Daten. Ich empfehle erst einmal ein einziges Register zu nehmen und wenn es läuft die anderen sukzessive nacheinander einzutragen, da ModBus die Verbindung bei einer fehlerhaften Angabe eines Wertes gerne abbricht und man dann wieder im Protokoll suchen muss was nicht gepasst hat.
-
@joergh perfekt, das war der entscheidende Hinweis; vielen Dank!!
Somit konnte ich die für mich wichtigsten Datenpunkte abrufen.
Nun versuche ich das gleiche mit einem anderen Gateway. Vielleicht kannst du mir hier auch nochmal helfen. Hier scheinst das anscheinend anders zu funktionieren: HD67044-B2_.pdf
-
@dillio So wie ich das sehe, legt man die Modbus Register hier selber fest. Die M-Bus Register gibt das Gerät vor und man weist dann in den Einstellungen Registeradressen auf dem Modbus zu und fragt diese dann so ab, wie immer.
-
@joergh nun hatte ich endlich mal wieder etwas Zeit mich damit zu beschäftigen. Leider funktioniert es immer noch nicht. Der Adapter wird für 4 Sekunden grün und danach gelb. Gefühlt habe ich schon sämtliche Einstellungen verändert, aber anscheinend noch nicht die passende gefunden. Vielleicht kannst du mir hier nochmal helfen?
So sieht meine Konfiguration auf dem MBus Gerät aus:
Und hier nochmal im Adapter:
-
@dillio sagte in ModBus Adapter / Registerabfrage:
@joergh nun hatte ich endlich mal wieder etwas Zeit mich damit zu beschäftigen. Leider funktioniert es immer noch nicht. Der Adapter wird für 4 Sekunden grün und danach gelb. Gefühlt habe ich schon sämtliche Einstellungen verändert, aber anscheinend noch nicht die passende gefunden. Vielleicht kannst du mir hier nochmal helfen?
So sieht meine Konfiguration auf dem MBus Gerät aus:
Und hier nochmal im Adapter:
Soweit sehe ich keinen Fehler, aber bist Du sicher, dass der nur 2400 baud hat? Die meisten laufen mit 8n1 9600 baud...?
Was sagt denn das Log? Stell doch mal auf Debug um und poste was er meldet wenn er versucht zu ziehen. Ich vermute das Register ist nicht korrekt und deswegen geht er auf gelb, aber mal sehen...
-
@joergh ich habe die Baudrate auf 9600 umgestellt; hat jedoch nichts gebracht. Anbei die Logausgabe:
modbus.0 2022-05-20 17:10:35.999 debug (25979) Closing client on purpose. modbus.0 2022-05-20 17:10:34.998 debug (25979) Cleaning up request fifo. modbus.0 2022-05-20 17:10:34.996 debug (25979) Socket closed with error modbus.0 2022-05-20 17:10:34.983 info (25979) Disconnected from slave xxx.xxx.xxx.xxx modbus.0 2022-05-20 17:10:34.981 debug (25979) Closing client on purpose. modbus.0 2022-05-20 17:10:34.929 warn (25979) Poll error count: 6 code: {"errorCode":131,"exceptionCode":221} modbus.0 2022-05-20 17:10:34.927 debug (25979) Received pdu describes an error. modbus.0 2022-05-20 17:10:34.563 debug (25979) [DevID_0/holdingRegs] Poll address 101 - 1 registers modbus.0 2022-05-20 17:10:34.561 debug (25979) [DevID_0] Poll start --------------------- modbus.0 2022-05-20 17:10:33.510 warn (25979) Poll error count: 5 code: {"errorCode":131,"exceptionCode":221} modbus.0 2022-05-20 17:10:33.508 debug (25979) Received pdu describes an error. modbus.0 2022-05-20 17:10:33.144 debug (25979) [DevID_0/holdingRegs] Poll address 101 - 1 registers modbus.0 2022-05-20 17:10:33.142 debug (25979) [DevID_0] Poll start --------------------- modbus.0 2022-05-20 17:10:32.091 warn (25979) Poll error count: 4 code: {"errorCode":131,"exceptionCode":221} modbus.0 2022-05-20 17:10:32.089 debug (25979) Received pdu describes an error. modbus.0 2022-05-20 17:10:31.725 debug (25979) [DevID_0/holdingRegs] Poll address 101 - 1 registers modbus.0 2022-05-20 17:10:31.724 debug (25979) [DevID_0] Poll start --------------------- modbus.0 2022-05-20 17:10:30.672 warn (25979) Poll error count: 3 code: {"errorCode":131,"exceptionCode":221} modbus.0 2022-05-20 17:10:30.670 debug (25979) Received pdu describes an error. modbus.0 2022-05-20 17:10:30.306 debug (25979) [DevID_0/holdingRegs] Poll address 101 - 1 registers modbus.0 2022-05-20 17:10:30.305 debug (25979) [DevID_0] Poll start --------------------- modbus.0 2022-05-20 17:10:29.252 warn (25979) Poll error count: 2 code: {"errorCode":131,"exceptionCode":221} modbus.0 2022-05-20 17:10:29.250 debug (25979) Received pdu describes an error. modbus.0 2022-05-20 17:10:28.886 debug (25979) [DevID_0/holdingRegs] Poll address 101 - 1 registers modbus.0 2022-05-20 17:10:28.885 debug (25979) [DevID_0] Poll start --------------------- modbus.0 2022-05-20 17:10:27.833 warn (25979) Poll error count: 1 code: {"errorCode":131,"exceptionCode":221} modbus.0 2022-05-20 17:10:27.832 debug (25979) Received pdu describes an error. modbus.0 2022-05-20 17:10:27.462 debug (25979) [DevID_0/holdingRegs] Poll address 101 - 1 registers modbus.0 2022-05-20 17:10:27.462 debug (25979) Initialization of scale factors done! modbus.0 2022-05-20 17:10:27.460 debug (25979) [DevID_0] Poll start --------------------- modbus.0 2022-05-20 17:10:27.459 info (25979) Connected to slave xxx.xxx.xxx.xxx modbus.0 2022-05-20 17:10:26.836 debug (25979) Add holdingRegisters.101_Volume: {"_id":"holdingRegisters.101_Volume","type":"state","common":{"name":"Volume","role":"value","type":"number","read":true,"write":true,"def":0,"unit":"m³"},"na modbus.0 2022-05-20 17:10:26.836 debug (25979) Initialize Objects for holdingRegs: [{"_address":101,"name":"Volume","description":"Volume","unit":"m³","type":"uint16be","len":1,"factor":1,"offset":0,"formula":"","role":"value","room":""," modbus.0 2022-05-20 17:10:26.835 debug (25979) Initialize Objects for inputRegs: [] modbus.0 2022-05-20 17:10:26.835 debug (25979) Initialize Objects for coils: [] modbus.0 2022-05-20 17:10:26.834 debug (25979) Initialize Objects for disInputs: [] modbus.0 2022-05-20 17:10:26.502 info (25979) starting. Version 4.0.4 in /opt/iobroker/node_modules/iobroker.modbus, node: v14.19.3, js-controller: 4.0.23 modbus.0 2022-05-20 17:10:25.848 info (25979) Plugin sentry Sentry Plugin disabled for this process because sending of statistic data is disabled for the system modbus.0 2022-05-20 17:10:25.834 debug (25979) Plugin sentry Initialize Plugin (enabled=true) modbus.0 2022-05-20 17:10:25.624 debug (25979) States create User PubSub Client modbus.0 2022-05-20 17:10:25.623 debug (25979) States create System PubSub Client modbus.0 2022-05-20 17:10:25.559 debug (25979) Objects client initialize lua scripts modbus.0 2022-05-20 17:10:25.407 debug (25979) Objects create User PubSub Client modbus.0 2022-05-20 17:10:25.406 debug (25979) Objects create System PubSub Client modbus.0 2022-05-20 17:10:25.403 debug (25979) Objects client ready ... initialize now
-
@dillio Da ich das alte Log nicht gesehen habe, kann ich nicht beurteilen ob es "nichts gebracht" hat, schliesslich kann es multiple Probleme geben. Jedenfalls sieht das für mich so aus, als ob er sich mit 9600 verbunden hat, aber beim Abfragen des Registers 101 ein Fehler aufgetreten ist.
EDIT: Woher hast Du denn das Register 101?
-
@joergh welches alte Log? Mit der Baudrate 2400 sieht das Log übrigens genauso aus.
Das Register 101 kam aus einer Beispielkonfiguration des Geräts. Ich habe es lediglich im ioBroker angepasst.
-
@dillio Das "alte Log" mit 2400 Baud....wenn es identisch ist, dann kann er sich wohl auch mit 2400 unterhalten...jedenfalls liegt es an Deinen Einstellungen im Gateway würde ich mal sagen...ist halt schwer, wenn man nicht selber damit rumprobieren kann und das Teil noch nie in den Fingern hatte...
-
@joergh ja, das habe ich mir schon fast gedacht. Wie gesagt, gefühlt habe ich schon zig Einstellungen ausprobiert. Leider war die richtige Konfiguration noch nicht dabei und ich weiß auch nicht, was ich genau verändern sollte, damit es endlich klappt...
-
@dillio sagte in ModBus Adapter / Registerabfrage:
@joergh ja, das habe ich mir schon fast gedacht. Wie gesagt, gefühlt habe ich schon zig Einstellungen ausprobiert. Leider war die richtige Konfiguration noch nicht dabei und ich weiß auch nicht, was ich genau verändern sollte, damit es endlich klappt...
Das Teil zeigt alle Birnen grün?
-
@joergh So sieht es aus, nachdem ich den Adapter starte:
Device state blinkt durchgehend grün, M-Bus Comm. und Modbus Comm. blinken mehrfach kurz nach dem Start des Adapters orange, danach leuchtet M-Bus Error.
-
@dillio sagte in ModBus Adapter / Registerabfrage:
@joergh So sieht es aus, nachdem ich den Adapter starte:
Device state blinkt durchgehend grün, M-Bus Comm. und Modbus Comm. blinken mehrfach kurz nach dem Start des Adapters orange, danach leuchtet M-Bus Error.
Ich sehe gerade Du hast ja hier einen Wert von 16 Bit unsigned eingestellt...der Zähler wirft aber laut Beschreibung einen Wert unsigned INT64 (Big Endian) bzw. auf Offset 4-5 einen FLOAT32 (BigEndian) auf den Bus...
Sollte der Zähler umgestellt sein auf das reduzierte Layout, dann ist es am Offset 0 ein FLOAT32 (Big Endian)
64 Bit
-
@joergh Ok, ich habe jetzt lediglich an der Konfiguration im Adapter rumgespielt, jedoch ohne Erfolg. Die Einstellungen im Gerät sind gleich geblieben. Logbuch bleibt auch unverändert.
Wenn ich dich richtig verstanden habe, dann sollte es so aussehen:
bzw so:
Ist das so richtig? Der Adapter bleibt leider weiterhin gelb.
-
-
@glasfaser habe ich versucht, klappt leider auch nicht. Im Logbuch steht nun folgendes:
modbus.0 2022-05-20 19:43:10.947 warn (2098) Poll error count: 6 code: {"errorCode":131,"exceptionCode":2,"message":"ILLEGAL DATA ADDRESS"} modbus.0 2022-05-20 19:43:10.946 debug (2098) Received pdu describes an error. modbus.0 2022-05-20 19:43:10.941 debug (2098) [DevID_0/holdingRegs] Poll address 100 - 2 registers modbus.0 2022-05-20 19:43:10.940 debug (2098) [DevID_0] Poll start ---------------------
modbus.0 2022-05-20 19:43:38.407 warn (2128) Poll error count: 6 code: {"errorCode":131,"exceptionCode":2,"message":"ILLEGAL DATA ADDRESS"} modbus.0 2022-05-20 19:43:38.406 debug (2128) Received pdu describes an error. modbus.0 2022-05-20 19:43:38.403 debug (2128) [DevID_0/holdingRegs] Poll address 102 - 2 registers modbus.0 2022-05-20 19:43:38.402 debug (2128) [DevID_0] Poll start ---------------------
-
Kenne das M-Bus Gateway nicht ...
Aber bei dem ... mußte RTU over TCP eingestellt werden
-
@glasfaser klappt leider nicht:
modbus.0 2022-05-20 19:57:26.871 debug (3235) Closing client on purpose. modbus.0 2022-05-20 19:57:25.880 debug (3235) Cleaning up request fifo. modbus.0 2022-05-20 19:57:25.879 debug (3235) Clearing timeout of the current request. modbus.0 2022-05-20 19:57:25.877 debug (3235) Socket closed with error modbus.0 2022-05-20 19:57:25.873 warn (3235) Poll error count: 1 code: {"err":"timeout","timeout":5000} modbus.0 2022-05-20 19:57:25.870 error (3235) Client in error state. modbus.0 2022-05-20 19:57:25.869 error (3235) Request timed out. modbus.0 2022-05-20 19:57:25.867 warn (3235) Error: undefined modbus.0 2022-05-20 19:57:20.871 error (3235) Wrong CRC for frame: 0,3,0,0,0
-
Über das M-Bus-Gateway
Mal was anderes , habe mich noch nicht mit M-Bus befast in Verbindung mit dem Modbus -Adapter .... geht das überhaupt !?
Denn es gibt ein :