NEWS

[Gelöst] Modbus Einstellungen



  • Hallo, ich bräuchte Hilfe beim Einstellen von Modbus. Ich habe einen neuen Boiler mit Wärmepumpe von Ochsner erworben, und möchte diesen über Modbus auslesen. Dazu hab ich mir einen RS485 to Ethernet Converter besorgt:
    Anmerkung 2020-07-06 1008.jpg
    Dieser soll die Verbindung zum ioBroker herstellen. Die Anschlüsse A, B und G sind über 50cm lange Drähte ohne Isolation mit dem Boiler verbunden. Die andere Seite ist mit einem CAT7 Kabel an meinem Netzwerk angeschlossen.
    Nachdem alles angeschlossen war, und eingeschaltet wurde, hat der Converter eine IP Adresse (192.168.178.112) bekommen, und konnte so auf das Menü des Konverters zugreifen. Folgende Einstellungen habe ich getätigt:
    Anmerkung 2020-07-06 09392.jpg
    Baudrate ist 9600, ist auch so im Boiler eingestellt. Data Size und Parity müssten auch stimmen, hab ich mal so aus der Anleitung entnommen (siehe Bild unten). Remote Server, müsste ja die IP vom IoBroker sein. Local Port und Remote Port weiss ich nicht genau was ich einstellen soll.
    Hier sind jetzt die Einstellungen die ich im ioBroker eingestellt habe:
    Anmerkung 2020-07-06 392.jpg
    Anmerkung 2020-07-06 32.jpg

    Wenn ich den Modbus Adapter starte, wird dieser für 8s grün und dann gelb. Im LOG steht dann folgendes:

    Anmerkung 2020-07-06 115038.jpg

    Leider kann ich das nicht richtig deuten. In der Anleitung stehen Addressen zwischen 2000 und 2204. Kann mir jemand sagen was ich falsch mache?
    Anmerkung 2020-07-06 093927.jpg
    Anmerkung 2020-07-06 0939272.jpg

    Danke euch
    Christophe


  • Starter

    Haken bei Aliases benutzen raus und IMMER mit dem grünem Haken abspeichern.
    Einfach ENTER drücken reicht NICHT !
    (Meine Erfahrung. Modbus ist nicht meins. Viel zu Anfällig für Fehler)


  • Starter

    @Paan83
    Hab jetzt nicht alle Einstellungen kontrolliert, aber beim ioBroker Modbus Adapter musst du bei Holding Registers noch die Holding Register Basisadresse auf dein Register draufaddieren. Wenn du also Holding Register2001 lesen willst, dann 40001+2200 = 42201.
    Damit sollte schonmal die Fehlermeldung "Invalis Holding Register Address" verschwinden.

    Edit: Oder wie mein Vorredner schrieb, Haken bei Alias rausnehmen. Hatte ich gerade überlesen.
    Nochmal Edit: Ich sehe gerade, dass du die Startadresse bei Hoding Registers auf 2000 geändert hast. Die sollte nicht geändert werden und 40001 betragen (Modbus Standard).



  • @Blechsoldat
    Hallo,
    danke für deine Anregung. Haken bei Aliases ist raus. Das mit dem grünen Haken bestätigen ist mir auch schon aufgefallen 🙂

    Meinen Wechselrichter lese ich seid einem Jahr ohne Probleme mit Modbus aus. Womit hast du Probleme?



  • @Alexi
    Danke für den Hinweis, durch das Ändern des Holding Registers ist schonmal die Fehlermeldung verschwunden. Jedoch wechselt der Status jetzt noch schneller von grün auf gelb. Sobald die Instanz läuft wird sie kurz grün und direkt wieder gelb.

    undefined2020-07-07 08:39:54.642 - info: modbus.1 (6176) Connected to slave 192.168.178.112
    2020-07-07 08:39:54.858 - info: host.iobrokerubuntu "system.adapter.modbus.1" disabled
    2020-07-07 08:39:54.859 - info: host.iobrokerubuntu stopInstance system.adapter.modbus.1 (force=false, process=true)
    2020-07-07 08:39:54.861 - info: host.iobrokerubuntu stopInstance system.adapter.modbus.1 send kill signal
    2020-07-07 08:39:54.864 - info: modbus.1 (6176) Got terminate signal TERMINATE_YOURSELF
    2020-07-07 08:39:54.865 - info: modbus.1 (6176) terminating
    2020-07-07 08:39:54.866 - info: modbus.1 (6176) Terminated (START_IMMEDIATELY_AFTER_STOP): Without reason
    2020-07-07 08:39:55.379 - info: host.iobrokerubuntu instance system.adapter.modbus.1 terminated with code 156 (156)
    2020-07-07 08:39:56.643 - info: host.iobrokerubuntu "system.adapter.modbus.1" enabled
    2020-07-07 08:39:56.654 - info: host.iobrokerubuntu instance system.adapter.modbus.1 started with pid 29600
    2020-07-07 08:39:57.402 - info: modbus.1 (29600) starting. Version 3.1.4 in /opt/iobroker/node_modules/iobroker.modbus, node: v12.18.1
    2020-07-07 08:39:57.771 - info: modbus.1 (29600) Connected to slave 192.168.178.112
    2020-07-07 08:39:58.782 - info: modbus.1 (29600) Disconnected from slave 192.168.178.112
    

    Vielleicht kann mir jemand anhand des LOGs weiterhelfen?

    Im Menü des Converters gibt es noch eine Einstellseite, aber ich habe keinen blassen Schimmer was ich hier einstellen soll:
    Anmerkung 2020-07-07 094446.jpg


  • Starter

    @Paan83
    Sieht für mich so aus, als ob der Adapter erst gar keine TCP Verbindung zum Gateway aufbauen kann.
    Ich würde mal bei Remote Port Number die 8089 eintragen.



  • @Alexi
    Remote Port scheint doch der Port vom ioBroker zu sein, da ich ja auch die Remote IP eingeben soll, und der Port müsste ja in diesem Fall die 8081 sein oder nicht?
    Anmerkung 2020-07-07 094446.jpg
    Aber leider immer noch gelb...


  • Starter

    @Paan83 said in Modbus Einstellungen:

    Remote Port scheint doch der Port vom ioBroker zu sein, da ich ja auch die Remote IP eingeben soll, und der Port müsste ja in diesem Fall die 8081 sein

    Nee, auf keinen Fall. Der Port gibt an, über welchen Port der Server = Modbus Adapter mit dem Gateway komuniziert. Den trägst du ja in der Adapterkonfiguration bei "Allgemein" ein. Modbus TCP Standard wäre übrigens 8899 502, aber solange die zueinander passen, ist das Wurscht.
    Der Webserver Port des ioBrokers hat da absolut nix zu suchen.



  • @Alexi
    ah okay verstehe. Ich hab mal versucht im Modbus Adapter unter Port und im Converter unter Remote Port die 8899 einzutragen, aber dann bekommt er gar keine Verbindung mehr hin. Der Status wird nur kurz grün, wenn im ioBroker unter Port die 8089 eingetragen ist. Ich weiss leider nicht was ich jetzt noch machen soll


  • Starter

    @Paan83
    Ein Log wäre hilfreich...
    Wichtig ist, dass die Ports in Adapter und Gateway gleich sind.



  • @Alexi
    Hier ist das Log:

    undefined2020-07-07 14:18:51.042 - info: host.iobrokerubuntu "system.adapter.modbus.1" enabled
    2020-07-07 14:18:51.056 - info: host.iobrokerubuntu instance system.adapter.modbus.1 started with pid 4372
    2020-07-07 14:18:51.920 - info: modbus.1 (4372) starting. Version 3.1.4 in /opt/iobroker/node_modules/iobroker.modbus, node: v12.18.1
    2020-07-07 14:18:52.189 - info: modbus.1 (4372) Connected to slave 192.168.178.112
    2020-07-07 14:18:53.200 - info: modbus.1 (4372) Disconnected from slave 192.168.178.112
    

    Und hier sind nochmal die Einstellungen:
    mod.jpg mod2.jpg


  • Starter

    Verwende viel Modbus TCP, mit RTU/Serial hab ich noch nicht gearbeitet.
    Da gibt es auch eine Einstellung RTU over TCP, schon mal versucht?
    Ebenso ist der Standardport für Modbus TCP der 502.
    Einfach mal probieren.



  • @Chris87
    Hey, danke für den Tipp,
    ich hab erstmal umgestellt auf RTU over TCP ->keine Veränderung
    dann hab ich den Port im Adapter und im Converter auf 502 geändert. Dann kommt gar keine Verbindung mehr zu stande. Nur wenn ich den Port im Modbus auf 8089 stelle, dann connected er sich für 1s und dann ist die Verbindung wieder weg (siehe LOG im vorherigen Beitrag)


  • Starter

    @Paan83 said in Modbus Einstellungen:

    Modbus auf 8089 stelle, dann connected er sich für 1s und dann ist die Verbindung wieder weg (siehe LOG im vorherigen Beitrag)

    Wie sieht denn das Log aus, wenn "gar keine Verbindung zu stande" kommt?
    Wenn etwas länger dauert, muss das nicht unbedingt ein Hinweis sein, dass es besser funktioniert.

    Edit: Oh, und du könntest mal den Log Level des Adapters auf Debug stellen, dann sieht man, ob er überhaupt eine Query rausschickt.



  • @Alexi
    Wenn ich beide auf Port 502 stelle, dann sieht das Log folgendermassen aus:

    undefined2020-07-07 15:30:00.033 - info: host.iobrokerubuntu instance system.adapter.ical.0 started with pid 21404
    2020-07-07 15:30:03.476 - info: host.iobrokerubuntu "system.adapter.modbus.1" enabled
    2020-07-07 15:30:03.493 - info: host.iobrokerubuntu instance system.adapter.modbus.1 started with pid 21453
    2020-07-07 15:30:04.052 - info: host.iobrokerubuntu instance system.adapter.ical.2 started with pid 21477
    2020-07-07 15:30:04.721 - info: modbus.1 (21453) starting. Version 3.1.4 in /opt/iobroker/node_modules/iobroker.modbus, node: v12.18.1
    2020-07-07 15:30:05.213 - error: modbus.1 (21453) Socket Error
    2020-07-07 15:30:05.214 - error: modbus.1 (21453) Client in error state.
    2020-07-07 15:30:05.214 - warn: modbus.1 (21453) On error: {"errno":"ECONNREFUSED","code":"ECONNREFUSED","syscall":"connect","address":"192.168.178.112","port":502}
    2020-07-07 15:30:11.628 - info: host.iobrokerubuntu instance system.adapter.ical.0 terminated with code 0 (NO_ERROR)
    

  • Starter

    @Paan83
    Sicher, dass du den Port auf dem Gateway wirksam geändert hast? Denn jetzt wird die Verbindung vom Gateway verweigert.
    Welchen Port hast du denn im Gateway auf 502 geändert? Local, Remote oder beide? Wenn ich das in der Doku von dem Gateway richtig sehe, ist bei "TCP Client" und "RTU over TCP" "Remote" entscheidend.
    Wie Chris87 schon geschrieben hat, sollte " RTU over TCP" übrigens die richtige Einstellung sein, da dein Boiler keinen ASCII Übertragungsmodus kann und somit RTU Modus gewählt werden muss).



  • @Alexi
    Beim Gateway habe ich nur folgende Auswahlmöglichkeiten:
    mod2.jpg
    den Modbus Adapter habe ich auf RTU over TCP umgestellt:
    mod.jpg
    Auf den Fotos müsste man die Einstellungen doch gut erkennen können. Könnte es denn sein, dass er das Holding Register nicht lesen kann, und deswegen die Verbindung wieder trennt? Vielleicht ist hier noch eine Einstellung falsch


  • Starter

    Bleibt der Adapter gelb oder Rot, bzw. nur der letzte punkt gelb?
    Was ist unter IP Einstellungen hast da noch was?
    Schreib deinen Datenpunkt mal in Input Register.
    MfG


  • Starter

    @Paan83
    Ich sehe gerade (hatte die ganze Zeit Tomaten auf den Augen): Du musst im Gateway "TCP Server" auswählen.



  • @Alexi
    Wenn ich TCP Server auswähle, dann kann ich den Remote Port nicht mehr verändern, dieser steht dann auf 8089 grau hinterlegt, aber leider bleibt alles gleich, auch das LOG.
    mod2.jpg

    @Chris87
    Der Adapter wird kurz grün und dann gelb und bleibt auch gelb.
    Hier sind alle Menüs die es im Gateway gibt:
    4.jpg 3.jpg 2.jpg 1.jpg



Suggested Topics

2.2k
Online

32.6k
Users

39.1k
Topics

530.3k
Posts