Ankündigung

Einklappen

Hinweis

Die Forenregeln wurden überarbeitet (Stand 7.11.22). Sie sind ab sofort verbindlich. Wir bitten um Beachtung.
Mehr anzeigen
Weniger anzeigen

LBS: Schreiben von Registern mittels Modbus TCP

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    HS/FS LBS: Schreiben von Registern mittels Modbus TCP

    Liebe Modbus- & Homeserver-Fans,

    um mittels Modbus TCP die gewünschten Werte in die Register von Wärmepumpen, Wallboxen etc. zu schreiben, habe ich folgenden Baustein entwickelt. Dieser darf privat eingesetzt werden, ich gebe aber keine Garantie oder Gewährleistung. Aktuell wird dieser noch getestet und weiterentwickelt. Für das Lesen gibt es ja schon diesen Baustein.

    Die Nutzung ist einfach: Neben den Modbus-Server Daten, muss das Register und Typ angegeben werden. Es wird dann jeder Wert bei einer Änderung geschrieben. Kommen viele Änderungen über das KO, so sollte mittels Zeitverzögerung / Filter die Schreiblast reduziert werden.
    Da jeder LBS einen verdrahteten Ausgang braucht, zählt dieser Baustein einfach die Schreibzugriffe (nicht remanent) mit. Den Ausgang einfach auf eine interne KO schreiben lassen.
    Bitte auch die mitgelieferte Hilfe beachten! Bei Fehlern bitte ins debug vom HS schauen.

    modbus_writer_0.5.1.png

    Verwendung: Damit könnte z.B. die Ladeleistung der Wallbox an den aktuellen PV-Ertrag gekoppelt werden.

    Ein mega dickes Danke geht an hypnotoad. Der hat nicht nur den Baustein mit seiner Anlage getestet, sondern auch Sonderlocken mit seinen Geräten festgestellt, die dieser Baustein nun auch handled - manches auch durch seine Pullrequests. (Stelle den Baustein OpenSource wenn etwas stabiler).

    Download im Download-Bereich! (ggf. noch nicht freigeschaltet!)

    Freue mich über Geschenke von meiner Amazon Wishlist: https://www.amazon.de/hz/wishlist/ls/22KJ1D22XROTQ

    #2
    Hallo Sven,

    vielen dank für den zweiten Modbus Baustein!!!

    Ich habe das bei mir mit zwei Geräten getestet bei denen ich auch schon dein Modbus TCP Fetcher (14184) v0.4.1 zum Auslesen von Modbus Daten getestet. Bei beiden Geräten ist es nun so, dass wenn ich mit dem Modbus TCP Writer (14185) v0.5.1 Werte auf die Register schreibe, keine werte mehr über den Modbus TCP Fetcher (14184) v0.4.1 ausgelesen werden. Ich muss dann immer manuell die Abfrage triggern, dann kommen die Werte. Wenn ich den Modbus TCP Writer (14185) v0.5.1 entferne, dann kommen die Werte über über den Modbus TCP Fetcher (14184) v0.4.1 wieder im Intervall der eingestellt wurde (bei mir alle 15 sec.)

    Ich bin mir nicht sicher ob es an den Geräten liegt, die noch zwei gleichzeitige Modbus Verbindungen aufbauen können oder ob es etwas anderes ist. Anbei ein paar Printscreens von der Ansteuerung einer Mennekes Professional Ladestation. Das gleiche Verhalten habe ich bei einem Siemens PAC2200 Modbus Zähler, dieser sollte gem. Anleitung 3 TCP Modbus Verbindungen gleichzeitig handhaben können.

    Hat jemand eine Vermutung an was dies liegen könnte?

    Schöne Grüsse
    Angehängte Dateien

    Kommentar


      #3
      Sieht sehr nach gleichzeitigen Verbindungen aus. Der Fetcher unterstützt NoKeepAlive auf Eingang 7. Schon getestet?
      Ob der Writer die Verbindung hält und auch so ein Feature braucht muss ich mir ansehen.

      Kommentar


        #4
        Es gibt die Version 0.6.1 im Download-Bereich.
        Verändert hat sich:
        • Es gibt nun auf Eingang Position 4 eine Möglichkeit KeepAlive An/Ab-Zuschalten. Default ist ein - Sollte das Problem von r85x beheben, wenn man Eingang 4 auf 0 setzt.(*
        • Update auf pymodbus 2.5.3 (von 2.5.0)
        • Etwas aufgeräumt
        *) Da noch Beta hab ich mir das erlaubt. Da sich alle Eingänge verschieben, sollte man vorher einen Screenshot vom Modul machen.

        Viel Spaß. Freue mich auf Anregungen.
        Damit ich auch weiterhin Spaß am Heimwerken habe, freue ich mich auf Dinge von meiner Wishlist.
        Zuletzt geändert von SvenB; 16.10.2022, 10:08.

        Kommentar


          #5
          FYI: Die 0.6.4 ist im Download-Bereich zu finden.

          Die Anpassungen ab der 0.6.1 wurden weiter verfeinert für Modbus-Geräte, die etwas zickig sind und gerne mal die TCP-Verbindung schließen. Freue mich über Feedback.

          Kommentar


            #6
            Da ich für die Grundlagen wohl zu blöd bin, wollte ich mal testen was Leuten machen die es können!

            Will ich Register 1210 der Alfen Wallbox beschreiben (ja ich habe es auch mit 1209 probiert, weil man beim Abfragen der Register den Offset auf -1 stellen muss und da ja weiter gezählt wird).
            Kommt folgende Meldung:
            Alfenschreibenmeldungdoof.jpg

            Der Witz dabei ist jetzt, dass beeinflußt dann auch noch den Reader, der dann folgendes produziert:
            alfenreaderdannauchdoof.jpg

            Bis man die Wallbox neu startet.
            Angehängte Dateien
            Dieser Beitrag enthält keine Spuren von Sarkasmus... ich bin einfach so?!

            Kommentar


              #7
              Hey,
              Modbus Implementierungen orientieren sich sehr oft an der IP-Adresse und nicht an der TCP-connection. Daher solltest du
              • Die Register einzeln schreiben (also entweder das eine oder das andere), da sonst immer das falsche Register die Verbindung killt. - Nicht beide am Baustein haben.
              • Du am besten mit nem ModbusTCP writer auf nem PC du es zuerst versuchst zu schreiben.
              • Ggf. KeepAlive am Reader Abschalten: Evtl. erlaubt er nur genau eine Verbindung.
              Im Detail lass gerne im privat schreiben. Hast du einen Link auf die Doku? Wie lang/groß ist das Zielregister?

              Kommentar


                #8
                Zitat von SvenB Beitrag anzeigen
                Du am besten mit nem ModbusTCP writer auf nem PC du es zuerst versuchst zu schreiben
                Hallo kannst Du da einen bestimmten empfehlen. Ich habe eine Mennekes Amtron Wallbox und möchte diese auch an den HS anbinden, bekomme aktuell aber auch nicht wirklich eine Verbindung.

                Danke

                Kommentar


                  #9
                  Ich verwende den Simply Modbus TCP Client. Damit habe ich bisher immer alles hin bekommen. Auch das lesen der Alfen Wallbox, aber beim beschreiben der Register, stellt sich das blöde Ding quer, also die Alfen, nicht die Software.

                  Software gibt es hier: https://www.simplymodbus.ca/TCPclient.htm (nein, ich habe nichts davon)

                  Meine Versuche hier: https://knx-user-forum.de/forum/öffe...05#post1761405 und folgende Beiträge...
                  Zuletzt geändert von BadSmiley; 18.04.2022, 18:42.
                  Dieser Beitrag enthält keine Spuren von Sarkasmus... ich bin einfach so?!

                  Kommentar


                    #10
                    Zitat von Hubsi Beitrag anzeigen

                    Hallo kannst Du da einen bestimmten empfehlen. Ich habe eine Mennekes Amtron Wallbox und möchte diese auch an den HS anbinden, bekomme aktuell aber auch nicht wirklich eine Verbindung.

                    Danke
                    Hallo Hubsi,

                    ich habe mir meine Mennekes Wallbox auch integriert und mache das ganze Lastmanagement (Überwachung Hausanschluss und abhängig davon die Regelung der aktuellen Leistung der Ladestation) über den HS mit den Logikbausteine Modbus TCP Fetcher (14184) zum Auslesen von Modbus Daten und Modbus TCP Writer zum vorgeben der Ladeleistung. Funktioniert mit Mennekes bestens und extrem zuverlessig und schnell. Hatte auch schon Keba und Alfen versucht, diese sind extrem träge und bei mehrern Abfragen (was bei Lastregelung norwendig ist) stürtzt der Controller immer wieder ab und muss mit einem Netzreset wiederbelebt werden.

                    Anbei die Anbidnung der
                    Logikbausteine und die Beshreibung der ModBus Register von Mennekes.

                    Gruss aus der Schweiz
                    Angehängte Dateien

                    Kommentar


                      #11
                      Ich habe leider keinen besseren Client, hab es oft auf der Konsole gemacht. Ich hatte noch einen anderen, der aber nicht besser ist als der Simple Modbus Client. Den sollte man wirklich nur mit Offset:0 betreiben. Irgendwie sind die alle UI-Mäßig eine Katastrophe, installieren zahlreiche 1970er Libraries auf den PC und kosten Geld.

                      BadSmilie hat sein Problem aber gefunden: Abweichend vom Modbus "Standard" verwendet die Alfen Word Order Big-Endian. Das spielt bei Float32 eine Rolle - Beim Lesen und Schreiben.

                      Kommentar


                        #12
                        Sven hat sich echt super viel Zeit genommen, aber wir haben es nicht hin bekommen, dass der liebe Simply etwas an die Wallbox sendet. Wurde von der Wallbox immer abgelehnt.
                        Mit diesen Einstellungen klappt es jetzt aber sauber über den Writer an die Alfen:
                        alfen schreiben geht.jpg
                        Bis man die Antwort lesen kann, vergehen gerne mal 10-20 Sekunden. Also nicht zu ungeduldig sein. Das die Wallbox sich dabei weg hängt, kann ich bisher nicht bestätigen. Ich lasse den Ladestrom aber auch nur alle 5 Minuten korrigieren, so lange hält das mein Hausspeicher als Puffer aus.
                        Zuletzt geändert von BadSmiley; 19.04.2022, 22:16.
                        Dieser Beitrag enthält keine Spuren von Sarkasmus... ich bin einfach so?!

                        Kommentar


                          #13
                          Leider komme ich mit meiner Mennekes Amtron Xtra Wallbox nicht weiter. Die von "r85x"gepostete Konfiguration funktioniert bei mir nicht. Auch ist das ein anderes Manual mit anderen Registern, da es sich anscheinend um ein anderes Amtron Modell handelt .

                          Ich habe mal meine aktuelle Konfiguration angehängt incl. der Mennekes Beschreibung. Vielleicht hat jemand ja eine Idee wo mein Fehler liegt.

                          HSList.jpg Logik.jpg Description Modbus_AMTRON HCC3_v01_2021-06-25_en.pdf

                          Kommentar


                            #14
                            Auf den ersten Blick:
                            • Register 305 gibts nicht, bitte entfernen.
                            • 30780 ist die Seriennummer. Ist das gewollt?
                            • 30780 ist Input Register: Typ 4!
                            • Der Fehler aber sieht eher danach aus als wäre Modbus garnicht aktiviert oder die IP falsch

                            Kommentar


                              #15
                              Zitat von BadSmiley Beitrag anzeigen
                              Mit diesen Einstellungen klappt es jetzt aber sauber über den Writer an die Alfen:
                              Danke, dass du dein Ergebnis hier zur Verfügung gestellt hast!

                              Kommentar

                              Lädt...
                              X