Fronius Wechselrichterdaten über Modbus TCP/IP in Loxone einlesen

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • FrozenHeaven
    Dumb Home'r
    • 16.05.2023
    • 14

    #1

    Fronius Wechselrichterdaten über Modbus TCP/IP in Loxone einlesen

    Hallo,

    ich besitze einen Fronius Symo GEN24 Wechselrichter inkl. Fronius Smart Meter und möchte die Erzeugungswerte und den Netzbezug/-einspeisung über Modbus TCP/IP auslesen.
    Die Modbus Schnittstelle wurde von meinem Elektriker freigeschaltet und der Sunspec Model Type ist auf "int+SF" eingestellt.
    Ich lese folgende Register aus (jeweils mit dem Offset von -1):
    • Smart Meter:
      • 40088: Total Real Power
      • 40092: Real Power scale factor
    • Wechselrichter:
      • 40084: AC Power
      • 40085: W_SF
    Für die Umrechnung mit dem scale factor verwende ich folgende Formel: Wert*(10^scale factor)
    Die Werte stimmen an sich, aber die Umrechnung mit dem Scale Factor ergibt immer wieder falsche Ergebnisse (Komma wird an falscher Stelle gesetzt).
    Was mir komisch vorkommt ist, dass die Werte die über die Register 40092 und 40085 kommen immer entweder 0 oder 65536 sind.
    Ich habe noch ein paar Screenshots beigelegt die das Problem und die Einstellungen zeigen.
    Hat hier jemand eine Idee was ich hier falsch mache?

    Vielen Dank für eure Hilfe!
  • Bogenhaus
    LoxBus Spammer
    • 24.05.2020
    • 264

    #2
    weil du unsigned int verwendest - der Skale Faktor ist ein signed int

    Kommentar

    • FrozenHeaven
      Dumb Home'r
      • 16.05.2023
      • 14

      #3
      Vielen Dank für die schnelle Hilfe! Das war der Fehler!
      Jetzt funktioniert alles!

      Kommentar

      • romildo
        Lebende Foren Legende
        • 25.08.2015
        • 5144

        #4
        FrozenHeaven
        Hallo, bei Dir funktioniert alles, wieso bei mir nicht?
        Bisher lese ich die Werte über API aus, diese sind stimmig, dennoch würde mich sehr interessieren, warum es über Modbus nicht gehen soll.

        Die Modbuswerte meines "GEN24 10 kW Plus" sind auch mit den Einstellungen wie oben beschrieben, keineswegs stimmig.
        Bisher konnte ich auch keine Modbus-Einstellungen im Forum finden, welche mich zum gewünschten Erfolg geführt hätten.
        Vielleicht könntest Du mir die funktionierende Konfiguration nochmals zeigen?



        lg Romildo

        Kommentar

        • FrozenHeaven
          Dumb Home'r
          • 16.05.2023
          • 14

          #5
          Hallo Romildo,

          bei mir funktioniert jetzt alles. Ich habe dir nochmal alle Screenshots mit meinen aktuellen Einstellungen und Formeln hochgeladen.
          Ich hoffe das hilft dir weiter.

          LG

          Kommentar

          • AlexAn
            Lebende Foren Legende
            • 25.08.2015
            • 4300

            #6
            Hatte mal gelesen dass der Scale und die Leistung etwas versetzt daherkommen oder wurde das von Fronius schon behoben? (war aber beim Akku)
            Grüße Alex

            Kommentar

            • romildo
              Lebende Foren Legende
              • 25.08.2015
              • 5144

              #7
              FrozenHeaven
              Danke schon mal.
              Es lag an den Adressen, welche ich von Post 1 genommen habe.
              Werte kommen, ob die einigermaßen passen, werde ich in ein paar Tagen berichten

              Ich würde auch noch gerne die Werte für Total-Energie, Total-Export und Total-Import auslesen.
              Gibt es denn irgendwo passende Registertabellen für Gen24 und Smart Meter. Ich habe einige gefunden, aber keine passt so richtig?
              lg Romildo

              Kommentar

              • Smidi
                Dumb Home'r
                • 06.04.2022
                • 19

                #8
                Was ist der Vorteil beim Auslesen via Modbus TCP zur API? Schneller Abfragen?

                Kommentar

                • FrozenHeaven
                  Dumb Home'r
                  • 16.05.2023
                  • 14

                  #9
                  romildo: Im Anhang findest du die aktuelle Beschreibung der Modbus Schnittstelle für den GEN24. Die Registertabellen kann ich hier leider nicht hochladen. Sie können aber auf der Fronius Webseite heruntergeladen werden.

                  Smidi: Ja genau! Der Vorteil von Modbus ist, dass Modbus zuverlässiger funktioniert und die Werte in einem kürzeren Intervall ausgelesen werden können.
                  Angehängte Dateien

                  Kommentar


                  • romildo
                    romildo kommentierte
                    Kommentar bearbeiten
                    Danke.für die Beschreibung. Ich hatte noch die 027-02052022.
                    Die Registertabellen in den aufgeführten Links sind aber immer noch dieselben.
                • Bogenhaus
                  LoxBus Spammer
                  • 24.05.2020
                  • 264

                  #10
                  über die API kann man mehr auslesen als ich über Modbus
                  halt etwas langsamer
                  ich hatte über Modbus Probleme - wie leicht schwankende Zählerstände - bin hier auch mit Gronius in Kontakt aber ohne Lösung

                  Aus http://ip fronius/components/readable

                  ist aber undokumentiert und nicht sichergestellt dass sich was ändert

                  wenn man steuern will - zB Ladeleistungsbegrenzung Speicher geht das nur über Modbus

                  Kommentar

                  • romildo
                    Lebende Foren Legende
                    • 25.08.2015
                    • 5144

                    #11
                    Kleines Update meinerseits.
                    Modus TCP mit Einstellung "int+sf" hat so weit funktioniert.
                    Ich habe jetzt auf Modbus TCP mit Einstellung "float" umgestellt und mit den API (HTTP) Werten verglichen.
                    Bei mir sind die Werte zurzeit absolut identisch. So weit ich es beurteilen kann, funktioniert sowohl API wie auch Modbus, zumindest bei mir
                    Bei Modbus muss man halt darauf achten, dass die Registerstartadresse bei "32bit float" um 2 niedriger ist wie im Registerverzeichnis von Fronius aufgelistet.
                    Beispielsweise muss für "AC Power" in Loxone die IO-Adresse 40090 eingegeben werden.

                    Korrektur:
                    Registeradresse Loxone = Registeradresse Registerverzeichnis -1
                    Type > 16 Bit = Häkchen bei Loxone Registerreihenfolge
                    Zuletzt geändert von romildo; 19.06.2023, 22:24.
                    lg Romildo

                    Kommentar

                    • Bogenhaus
                      LoxBus Spammer
                      • 24.05.2020
                      • 264

                      #12
                      Hallo Romildo, mich würde interessieren ob bei dir zB LifeTimeEn1 (Register 40286) in Ordnung ist ?

                      Ich hatte immer das Thema dass dieser Wert, bzw andere Werte im acc32 Format unplausibel sind
                      Alle anderen Werte passten auch bei mir über ModBus.

                      LifeTimeEn1 ist der Gesamt Zähler String 1 - im Screenshot die gelbe Kurve oben
                      Die grüne Kurve ist jener über die API
                      das ein Zählerstand schwankt kann ja nicht sein , auch am Scale Faktor kann das nicht liegen - da wäre die Änderung ja jeweils einen 10er Potenz.

                      Danke

                      Angehängte Dateien

                      Kommentar


                      • romildo
                        romildo kommentierte
                        Kommentar bearbeiten
                        LifeTimeEn1 habe ich bisher nicht gebraucht und somit auch nicht eingebunden.
                        Mir ist auch nicht wirklich klar welche Register-Einstellungen ich da in Loxone verwenden muss.

                        Wenn du mir die Register-Einstellungen und von API die Befehlserkennung nennst, kann ich das aber bei mir gerne einmal testen.
                    • romildo
                      Lebende Foren Legende
                      • 25.08.2015
                      • 5144

                      #13
                      Bei mir schwankt "AC Energy" Register 40102.
                      Ich habe den noch nicht lange in Verwendung, aber es sieht so aus, als kämen unter anderem bei Standbybetrieb falsche Werte.​
                      Im Beispiel fällt er um ca. 21:30 Uhr von 5.37 MWh auf 5.4 MWh zurück, um 6:00 Uhr beginnt er dann wieder bei 5.37 MWh.
                      Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Gen24_MB_ACEnergy.png Ansichten: 0 Größe: 72,2 KB ID: 394457
                      Zuletzt geändert von romildo; 18.06.2023, 20:03.
                      lg Romildo

                      Kommentar

                      • Bogenhaus
                        LoxBus Spammer
                        • 24.05.2020
                        • 264

                        #14
                        Hallo
                        das ist genau das was ich meine - egal was ist , aber ein absoluter Zählerstand kann/darf einfach nicht weniger werden. Fronius findet angeblich nichts

                        Ich arbeite ja mit den DC Werten weil diese unabhängig vom Battery Speicher sind - im übrigen zeigt auch Fronius in deren die DC Werte an
                        (Damit schaut meiner Meinung nach auch der Energieflußmonitor besser aus)

                        Nachstehend die Parametrierung

                        Über Modbus WR_module_1_DCWH
                        Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 2407
Größe: 29,1 KB
ID: 394460

                        WR_DCWH_SF
                        Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 2327
Größe: 28,3 KB
ID: 394461


                        Von der API - URL http://IP-SymoGen/components/readable

                        Achtung - dies ist nicht die offiziell dokumentierte API - es besteht also ein gewisses Risiko ;-)
                        Dafür gibt es dort mehr Werte


                        PV DC1 Zähler
                        Befehlskennung "PV_ENERGYACTIVE_ACTIVE_SUM_01_U64" : \v

                        Skalierung weil Wert in Ws
                        Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 2329
Größe: 39,2 KB
ID: 394463

                        Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 2343
Größe: 26,1 KB
ID: 394462

                        Das passiert aktuell - grad noch ca. 200W am String 1- der gelbe Kurve von der API , ok, die grüne vom Modus - kann so nicht sein
                        Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 2320
Größe: 64,5 KB
ID: 394464

                        Bin schon gespannt was bei dir rauskommt

                        Kommentar


                        • SPS-Guru
                          SPS-Guru kommentierte
                          Kommentar bearbeiten
                          Hallo
                          Ich habe das so gelöst das ich am Schluss das Register "Timestamp [40287]" auslese und die Berechnung der Werte
                          nur dann auslöse wenn sich dieser Wert geändert hat. Also alle benötigten Register mit dem selben Zeitinterval auslesen
                          und das Register "Timestamp" am Schluss. So kann ich sicherstellen das nicht zwischen dem lesen der Istwerte und den
                          Scalierungsfaktoren eine Berechnung ausgelöst wird.

                        • bausi2k
                          bausi2k kommentierte
                          Kommentar bearbeiten
                          Danke für die Info - in Wahrheit will ich ja nur einen Zähler für die PV -> AC Wert und einen vom SmartMeter für die aktuelle Netzleisung(Netz zähler), damit ich den in den Energiefluss und Energiemanager bekomme.

                        • Tico
                          Tico kommentierte
                          Kommentar bearbeiten
                          @PLC Guru - vielleicht können Sie diesen Ansatz näher erläutern. Der Zeitstempel ist nur ein weiteres Register, das einen Wert in der Reihenfolge der Abfrageanforderungen zurückgibt. Er hat keine besondere Bedeutung für andere Modbus-Abfrageanforderungen. Die anderen Modbus-Werte geben keinen Zeitstempel zurück, um sie an einem bestimmten Skalierungsfaktor auszurichten.
                      • Bogenhaus
                        LoxBus Spammer
                        • 24.05.2020
                        • 264

                        #15
                        Hallo

                        das ist bedingt durch das -2 in Loxone welches meiner Meinung nach nötig ist
                        Klicke auf die Grafik für eine vergrößerte Ansicht  Name: image.png Ansichten: 0 Größe: 45,6 KB ID: 394468
                        Zuletzt geändert von Bogenhaus; 18.06.2023, 21:02.

                        Kommentar

                        Lädt...