Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS: Abfrage von Modbus TCP via Homeserver

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

    #76
    Die sleep100ms haben den Unterschied gemacht, jetzt kommen die Werte häufiger. Immer noch nicht so oft wie der Baustein sie anfordert, aber man kann damit arbeiten.
    Die Passenden Werte habe ich nur mit Divisionsblöcken dann eingestellt, teilweise habe ich auch den Gain (in der Doku) oder Multiplyer (in der Logik) Wert geändert.
    ich werde noch mit längeren sleep Zeiten testen (wenn das funktioniert), ob sich da noch was verbessert, im großen und ganzen bin ich aber schon zufrieden.

    Hab jetzt noch andere Kleinigkeiten durch das Update welche ich beseitigen muss: Diagramme lassen sich nicht richtig anlegen, Pocketvisu funktioniert nichtmehr,...
    Im Großen und ganzen hat aber auch das Update problemlos funktioniert (und was hatte ich da immer für Angst/Respekt davor...wenn man hier immer liest was da so alles passieren kann)

    Angehängte Dateien

    Kommentar


      #77
      Fehler treten nicht mehr auf. (Keiner im Debug) - Top!
      Sprich wenn es nun verzögert kommt liegt es am WR.
      modbus 1 und 2 aber nicht gleichzeitig aktivieren sonst wirst ggf. Wieder Fehler kriegen.

      Du kannst den multiplier verwenden und damit die Divisionen danach sparen. So war es auch gedacht. Statt /1000 setzt Du am Multiplier-Eingang 0,001 - so kommt man easy ohne zich Divisionsbausteine von Wh auf kWh.

      Viel Spaß. Hast Modbus (für das Gerät) gemeistert.

      Kommentar


        #78
        Hallo,

        habe hier eine lauffähige Instanz mit "ModbusTCP Reader" Baustein exemplarisch angelegt.
        Lauffähig mit einem Janitza UMG604Pro Energiemessgerät.
        Nur als Musterbeispiel.


        Angehängte Dateien
        Zuletzt geändert von PLS; 26.09.2022, 18:22.

        Kommentar


          #79
          Hallo in der Runde!

          erhalte nach Anlegen eines LBS Fehlermeldungen auf der Debugseite unter HSL2.0!
          Mein System besteht aus einem SolarEdge-Wechselrichter SE10K, Energiezähler und einer Wallbox OpenWB.
          Der LBS liest das Modbustelegramm ( SunSpec) Register 40084 aus dem Wechselrichter,
          der mir den Wert als Leistung in W ausgibt (aktuelle Produktion der PV-Anlage).
          In der Wallbox wird der Wert mit angezeigt als eine Trendkurve. Leider erkenne ich ( grüne Kurve) jede Menge Aussetzer.
          Obwohl der LBS einen gültigen Wert ausgibt! (Reg1: Ausgang)
          Hat jemand Medizin für die Ursache.

          Danke im Voraus!!!
          Screenshot 2022-09-28 092121.jpg Screenshot 2022-09-28 092337.png Screenshot 2022-09-28 101004.jpg

          Kommentar


            #80
            Hmm, also du bekommst den richtigen Wert, aber es schließt mitten drin die Verbindung?
            Probiere bitte den Parameter "ReconnectAfterEachRead". F1-Doku hast du auch gesehen, dass quasi dein Case da erwähnt ist - nur mit "Connection unexpectedly​"? (Wenn es hilft, was es sollte, kann ich deinen Fehler auch 1:1 da listen.)

            Wenn du pech hast, kann der WR nur eine Abfrage und Verbindung zur gleichen Zeit und da auch die WB den WR abfragt, fällt er oft auf die Nase. Ohne "ReconnectAfterEachRead" versucht er alle Register am Stück über die gleiche Verbindung zu lesen.
            Zuletzt geändert von SvenB; 28.09.2022, 09:29.

            Kommentar


              #81
              Hallo Sven,

              ist eingetragen, das Ergebnis siehe Anhang!
              Die anderen Register werden nicht mehr gelesen.
              Soll ich eine zweite Instanz von dem LBS erstellen,
              die einen versetzten Trigger hat?

              Screenshot 2022-09-28 115207.png Screenshot 2022-09-28 115116.png ​​​​​​​
              Zuletzt geändert von PLS; 28.09.2022, 11:23.

              Kommentar


                #82
                Hätte ich mal was mit Katzen gemacht (,statt mit Modbus) .. Man ist der WR empfindlich. Scheinbar braucht er zw. den Reconnects mehr als 100ms.
                Du kannst gern mal deinen Vorschlag versuchen: Zwei Bausteine hintereinander und dazwischen ne Telegrammverzögerung von 1s und der erste Läuft auf Intervall und der Zweite auf Impulse (E3). Wenn du nun 8 hintereinander packst solltest du den Intervall >=10s setzen.

                Wenn das klappt baue ich noch sleep250 und 500ms ein.

                Ich bin gerade auf Dienstreise. Wenn ich zu Hause bin und Zeit hab gucke ich nochmal in den Code und überlege, ob noch was Anderes geht.

                Kommentar


                  #83
                  Danke für die Rückmeldung!
                  Spiele weiter mit der Schnittstelle herum.
                  Vielleicht kommt der Aha-Effekt von alleine.

                  Kommentar


                    #84
                    Servus,

                    ich habe nun den ScaleFactor aktiv eingetragen und berechnet sich aus der Rückmeldung vom Modbus und der Berechnung 10 hoch X in die Multiplikation mit rein.

                    Allerdings habe ich evtl. einen Bug. Ich bekomme die gleichen Werte, aber anscheinend wir bei den zweiten Werten der Faktor nicht gezogen!?

                    lbs.jpg
                    MfG
                    Chris

                    Kommentar


                      #85
                      Hey Chris,
                      er aktualisiert die Werte um die Scale-Factor nur bei einem neuen / nächsten Fetch, nicht wenn du den Scalefactor setzt mit dem alten Register-Wert. War das Problem danach (nach dem nächsten Fetch) immer noch da? Der Code für alle Register ist der Gleiche, wird nur mit anderen Eingängen aufgerufen. Ich hab die Eingangsnummern nochmal kontrolliert. Passt.

                      Also du erwartest, dass Reg5 auch 1,93 ist - obwohl du eine andere Register-Adresse drin hast? Klingt losch, weil 193A ist viel ;-)

                      Kommentar


                        #86
                        Moin moin,

                        hab ich in der Live Ansicht gesehen. Allerdings ist der SF bzw. die Berechnung daraus meistens statisch (0,1 bzw 0,01). Ich habe zwei Wechselrichter mit mehreren Bausteinen. Bei beiden dasselbe Phänomen.

                        Der MPPT2 ab Reg 5 wird der Multiplikator nicht gezogen. Im Bild oben auch bei Reg3/7 ersichtlich. Da werden die Werte nicht mit 0,1 multipliziert.

                        Der Modbusreader zieht auch bei beiden Registern die selbe Anzahl an Ziffern 193 / 193. Nur bei Reg1 wird es noch mit dem Multiplikator multipliziert.

                        Ich erwarte bei Reg5 1","93 und bei Reg7 1166","4

                        Absolut ungewöhnlich bei 2 versch. Wechselrichtern dieses gleiche "Fehl"verhalten. Daher hatte/habe ich den Baustein in Vermutung.

                        Gruß
                        Chris
                        MfG
                        Chris

                        Kommentar


                          #87
                          Danke.
                          ausschließen kann ich es pauschal auch nicht.
                          kannst du bitte einen Baustein kurz deaktivieren und mir einen Screenshot vom Debug machen, wenn der Andere einmal gefetched hat?
                          (werde mal einbauen, dass man den Baustein in Debug setzen kann)

                          Gehe davon aus, dass du auch andere Multiplikatoren probiert hast.
                          Zuletzt geändert von SvenB; 30.09.2022, 07:18.

                          Kommentar


                            #88
                            ​Hallo,

                            anbei meine aktuelle Umsetzung für einen SolarEdge-Wechselrichter SE10K.
                            Beinhaltet die Auswertung der Skalierungsfaktoren für die Temperatur und die aktuelle Leistung des Wechselrichters.
                            Der Betriebszustand wird ausgelesen und als Zeichenkette ausgegeben!
                            Musste das Intervall am LBS auf 10Sekunden setzen, weil ich sonst die Kommunikation ausfälle auf der Wallbox in der Trendaufzeichnung habe.
                            Außerdem schalte ich einen Heizstab in zweistufen, der meinen Pufferspeicher aufheizt!
                            Und Tschüss!

                            Screenshot 2022-10-01 103237.jpg Screenshot 2022-10-01 102112.jpg
                            Zuletzt geändert von PLS; 01.10.2022, 09:54.

                            Kommentar


                              #89
                              Also ich habe mal den WR2 deaktiviert und nur den WR1 abfragen lassen.

                              Bild 2 sind beide Wechselrichter aktiv.

                              Früher hatte ich fixe Multiplikatoren verwendet. Gleiches Problem. Dann bin ich auf die variablen SF gestossen und hatte gedacht es so zu lösen. Aber anscheinend ist es tatsächlich so, dass die andern egal ob fix oder dynamisch nicht zur Berechnung verwendet werden.

                              beide aktiv.jpg

                              wr2 deaktiviert.jpg
                              Zuletzt geändert von chris_s; 02.10.2022, 12:52.
                              MfG
                              Chris

                              Kommentar


                                #90
                                Wer hat sich schon den neuen Modbus-Baustein vom GIRA in 4.12 angeschaut? 😬 Hat Gira Deinen Baustein direkt übernommen SvenB 🤔

                                Kommentar

                                Lädt...
                                X