Anbindung eines Sungrow Hybrid Wechselrichter SH 10 RT
Einklappen
X
-
Sungrow Wechselrichter - LoxWiki - LoxWiki (atlassian.net)
und
Hallo zusammen, Ich habe 2 Wechselrichter bei mir verbaut ( 1x SG10 + 1xSH10 von Sungrow) und versuche nun eine Kommunikation zwischen diesen und Loxone herzustellen. Im Loxwiki habe ich hierzu etwas gefunden aber die dort aufgelisteten Modbus-Register sind nur Read Werte. Ich benötige auch eine Write Funktion da ich den
(Beim zweiten hab ich das Register PDF hinzugefügt, falls welche Details noch gebraucht werden)Kommentar
-
Habe die Anbindung meines Wechselrichters SH10.0RT samt BYD HVS 12,8 and den Energiemonitor laut Wiki durchgeführt.
Ein Problem ist dabei aufgetreten, und zwar ist der Wert der Speicherladung / Speicherentladung (Modbus Register Battery Power 13022) leider ein unsigned Integer. Dadurch kann der Energiemonitor nicht automatisch zwischen Laden und Entladen unterscheiden.
Achtung in Lox mit Nr. 13021 als Modbussensor anlegen ... wegen Modbus ... 0 ist das 1. Register ...
Es gibt aber ein Register Running State (13001) in dem die nötigen Infos bzgl. Laden / Entladen in den Bits 2 und 3 verfügbar sind. siehe Registerbeschreibung und Anlage Modbus Register Anhang 2
In der Config sind nun diese beiden Werte geeignet zu verknüpfen, um zu einer vorzeichenbasierten Speicherleistung zu kommen und diese an den Energiemonitor anzubinden :
Der Running State (Byte) wird durch den Binärdekoder in die einzelnen Bits aufgeteilt und im folgenden Formelbaustein der Leistungswert "Battery Power" in den vorzeichenbasierten Lade/Entladewert umgewandelt. Formel: (I1*I3)-(I1*I2)
Hier nun die Darstellung des Ladevorganges (grüne Linie zw. Produktion und Batterie)
bedeutet: dass die Batterieleistung am Energiemonitor Eingang Ps negativ ist.
Modbus Register SHXXRT TI_20211231_Communication Protocol of Residential Hybrid Inverter_V1.0.23_EN.pdf
HG Bert
PS: Im Wiki schaffe ich es derzeit nicht einen Account anzulegen und den Artikel zu ergänzen.
Stefan Löwemann: kannst gerne meine Inhalte rüberkopieren ... falls Zeit und Lust ...Zuletzt geändert von beteigeuze; 28.09.2022, 12:23.Kommentar
-
Hallo,
Das mit der Batterie funktioniert super mit dem Binärdekoder habe nur die Abfrage des Running State auf 13000 ändern müssen! Danke
Hast du evtl. auch eine Lösung für den Gwpr Eingang beim Energiemonitor?
Mache derzeit über 13009 die Abfrage! Bekomme aber immer nur einen - Wert!
lg
Kommentar
-
Ptot : 13001 | 4 - Read input register(3x) | 32-bit floating point
Validierung Eingangswert 2 = 1 | Zielwert 2 = 0,1
ppwr : 5016 | 4 - Read input register(3x) | 32-bit floating point
Validierung Eingangswert 2 = 100 | Zielwert 2 = 0,1
Gi : 13007 |4 - Read input register(3x) | 32-bit floating point
Validierung Eingangswert 2 = 10 | Zielwert 2 = 0,01
Gpwr : 13009 |4 - Read input register(3x) | 32-bit floating point
Validierung Eingangswert 2 = 100 | Zielwert 2 = MINUS - 0,1
GESpwr : 5016 |4 - Read input register(3x) | 32-bit floating point
Validierung Eingangswert 2 = 100 | Zielwert 2 = 0,1
SoC . 13022 |4 - Read input register(3x) | 16-bit unsigned integer
Validierung Eingangswert 2 = 10 | Zielwert 2 = 1
Batterieladeleistung 13021 | 4 - Read input register(3x) | 16-bit unsigned integer
Formel: ((I1*I3)-(I1*I2))/1000
1 BildKommentar
-
Hallo im Forum.
Bei mir hat alles geklappt nur beim "Running State" bekomme ich den Wert 0 raus. Somit weiß ich nicht ob ich importiere oder exportiere
Danke
MFG
Roland
Kommentar
-
Bei mir funktioniert der Runningstate. Unterschied zur deiner Config: der Haken bei "16-Bit Register" ist nicht drinnen.
Den Running State musst du dann noch in die einzelnen Bits zerlegen. Ich hab da lang gebraucht um das herauszufinden. Um dir das ganze herumsuchen zu ersparen:
Den Running State auf den Baustein "Formel"
mit folgender Formel:
I1-int(I1/256)*256
Den Ausgang "R" auf einen Binärdecoder Baustein.
Dann erhältst du 8 Ausgänge:
O1 = PV Produktion (Ein/Aus)
O2 = Batterie lädt (Ein/Aus)
O3 = Batterie entlädt (Ein/Aus)
O4 = Verbraucher (Ein/Aus)
O5 = Einspeisung Netz (Ein/Aus)
O6 = Bezug Netz (Ein/Aus)
O7 = Reserver (nicht belegt)
O8 = Negative Load power (so wie ich das Verstehe: Verbraucher speisen ein - benötige ich nicht).
Den Running State benötige ich für die korrekte Anzeige der Batterie.
Grund: Die Battery-Power wird immer positiv angezeigt (bei Ladung und Entladung).
Über den Status-Baustein habe ich dann die Ladung der Batterie negativ gesetzt und die Entladung positiv.
EDIT: haha, grad gesehen, dass der running state im Beitrag 4 bereits gut dokumentiert ist 😂
LGZuletzt geändert von kofi1990; 23.01.2023, 10:29.Kommentar
-
Hi,
also ich habe alles ausprobiert, was ihr hier geschrieben habt, einmal mit Adresse 13000 und 13001, zuerst hatte es anscheinend mit 13001 geklappt, aber dann seit ich in Loxone was geändert hatte und der Miniserver einen Neustart gemacht hatte, läuft nichts mehr. Ich bekomme es einfach nicht hin, dass der Akku anständig im Energieflussmonitor angezeigt wird:-( Vielleicht könntet Ihr mir nochmal bissl unter die Arme greifen. Habe auch den Binärdekodierer und die Formeln genau so drin.... Aber er spuckt mir jetzt hinter dem Formelbaustein keine Zahlen mehr aus....
3 BilderKommentar
-
1. Ich glaub zwar nicht dass es daran liegt, aber bei der Eingangskorrektur hab ich 0, 0, 10, 10. bei deinem Screenshot seh ich den letzten Punkt nicht mehr. Die letzten beiden müssten jedenfalls 10,10 oder 100,100 sein.
2. Wechselrichter neu starten (mit der sungrow App und dem Direktzugriff)
3. Keine Ahnung. Man sieht ja, dass die Modbusverbindung klappt, da die anderen Werte übermittelt werden.
Das Problem liegt jedenfalls nicht an deinem Binärdekoder, oder den Formeln. Es kommt am Anfang schon nichts an.
Wenn der Wert mal übermittelt wird, sollte der Rest auch passen (so auf den ersten blick)Zuletzt geändert von kofi1990; 01.02.2023, 18:36.
-
-
13000 ist schon richtig. 13001 ist "Daily PV Generation".
Alle Registernummen im Dokument minus 1
Kommentar
-
Hallo,
ich habe leider auch das problem mit Runningstate... ich bekomme nur den Wert: 0
Eine Fehlermeldung bekomme ich nicht. Kann mir hier jemand helfen?
Desweiteren würde mich Interessieren ob es irgendeine Möglichkeit gibt den Systemstatus (12999) auszulesen bzw. zu dekodieren?
Auch bei den Fehlerstatuse bekomme ich nur "0" - kann aus der Doku nicht entnehmen ob das nun OK ist, da kein Fehler vorliegt, oder die Werte unplausibel sind.
Vielen Dank!
ChristianKommentar
-
Ich hab jetzt was in einem anderen Forum gelesen das nicht alle Daten am Winet S auslesbar sind. Wr hat einen 2. NETZWERKANSCHLUSS. Dort sollen alle Modus Parameter auslesbar sein. Hab es aber noch nicht probiert.
Kommentar
-
Genau so muss man es machen!!! Also über das WiNet bekomme ich den Wert nicht raus aber vom WR direkt schon, also einen 2. Modusserver angelegt und dann dort die andere IP Adresse eingegeben und siehe da, der spuckt den Wert aus!!!!Kommentar
-
Ich habe an meinem Router nachgesehen, welcher Port dort belegt ist und dann die IP auf dem Router rausgesucht, sollte bei dir auch so machbar sein…Kommentar
-
Leider nicht. Ich habe es über einen Switch laufen, dort sehe ich den Port un nicht die IP. Normal sehe ich im Router im Netzwerk alles was am Switch hängt. aber ich sehe den Sungrow nur einmal.. und zwar die IP die ich bisher verwendet habe übers WiNet.
So wie ich euch verstehe müsste allergings der WR ein zweites mal auftauchen mit einer neuen IP. Das macht er nicht.
Muss ich "auser Anstecken" des Netzwerkkabels noch irgendwas beachten?
-
-
Also zur Klarstellung:
Der Netzwerkanschluss hinten ist der Modbusanschluss. Darüber bekommt man alle Daten.
Der Netzwerkanschluss, wo der WiNet Stick drinnen ist ist der "normale" LAN Anschluss. Dieser ist für Modbus nur bedingt geeignet.
Normalerweise bekommt der Wechselrichter nach Einstecken des LAN Kabels automatisch eine IP für die Modbus Schnittstelle.
Diese sollte eigentlich in der Clientliste des Routers sichtbar sein. Ansonsten kann auch noch ein IP Scanner verwendet werden.
Ich nutze Unifi und habe den Wechselrichter 3x sichtbar.
1x IP WLAN
1x IP LAN
1x IP Modbus
Ansonsten kann auch noch ein Netzwerk Scanner verwendet werden. Bei mir sehe ich alle Geräte mit der Wifiman App von Unifi.
Bei mir sieht das zB so aus:
192.168.7.X: Model Tuya Smart, Manufacturer Espressif Inc. = LAN
192.168.7.Y: Model Embedded OS, Manufacturer Sungrow Power Supply Co. Ltd. = Modbus
LGKommentar
Kommentar