Seite 7 von 13

Re: MODBUS PROFIL: SunSpec Modbus Implementierung für PV-Wechselrichter (z.B. Solaredge,...)

Verfasst: Fr Jul 29, 2022 7:59 pm
von tger977
und auch vielen Dank für das aktualisierte Profil mit den neuen Registern!

Speziell die Leistungsbegrenzung ist top, da kann ich nun meine eigene dynamische 70% Regelung endlich realisieren ohne diesen sauteuren Solaredge Modbuszähler :dance:

Da Du offensichtlich irgendwo deutlich mehr Register rausfinden konntest als ich: Kennst Du ggf. auch das Modbus Register in das der Solaredge Zähler die aktuelle Leistung reinschreibt (EVU Wert vom Hauszähler) so daß man quasi per TW diesen Zähler "Emulieren" könnte? Dann hätte man ja auch in der Solaredge APP noch alle Daten und die Berechnung von Autarkie / Eigenverbrauch. Da wollte ich auch schon lange mal ran, aber es fehlt einfach die Zeit...

Re: MODBUS PROFIL: SunSpec Modbus Implementierung für PV-Wechselrichter (z.B. Solaredge,...)

Verfasst: Fr Jul 29, 2022 11:52 pm
von gndlff
Hallo Andi,

der Baustein prüft über den Limiter, ob die berechneten Werte beim Ändern des Scalefaktors außerhalb des plausiblen Bereichs liegen, die du mit Wert 3 (minimal) und Wert 4 (maximal) vorgibst. Mehr Kommentierung im Baustein wäre da gut ;)

Bei mir stehen die Werte auf -10000 min und 10000 max, da die Batterieentladung und der Netzbezug vom Solaredge-Zähler als negative Werte übergeben werden. Bei 0 als min würde nur die Erzeugung gezählt.

Das verhindert zumindest deutliche Fehlberechnungen bei hohen Leistungen. Bei sehr kleinen Leistungen, wo der Scalefaktor z.B. von 10-2 auf 10-1 springt, d.h. wo sich die Leistung innerhalb der zuvor konfigurierten Grenzen bewegt, wird leider noch nicht gefiltert. In der Regel ist der Fehler dann aber nicht mehr so gravierend, dass er groß auffällt.

Besserung hat bei mir außerdem gebracht, die jeweiligen Werte und den zugehörigen Scalefaktor im Modbus-Gerätemanager in eine eigene Abfragegruppe zu packen und den Zugriff auf 'Exklusiv' zu stellen, damit die beiden Register unmittelbar nacheinander ausgelesen werden.

Der Scalefaktor wird dann im Logikbaustein direkt aktualisiert, die Berechnung für den Ausgang findet aber erst bei Änderung des Zahlenwerts für die Leistung statt.

Zu deinem zweiten Post:

Die Register habe ich aus dem Solaredge-Dokument zu "Power Control Protocol", zu finden u.a. hier:

https://www.photovoltaikforum.com/core/ ... rters-pdf/
https://github.com/nmakel/solaredge_mod ... erters.pdf

Da ist bezüglich Leistungsregelung noch deutlich mehr drin, allerdings auch Funktionen, die für den Normalanwender bei Kleinanlagen eher nicht nötig sind, wie die Einstellung des Leistungsfaktors usw.

Register für das Beschreiben der Zählerwerte über Modbus-TCP habe ich bisher nicht gesehen. Ich vermute, dazu müsstest du an die Modbus RTU Schnittstelle gehen. Dort hängt zumindest bei mir der Solaredge Zähler. Dieser ist allerdings Modbus-Slave, d.h. der Wechselrichter liest als Master den Zähler aus. Der TWS kann derzeit nur selbst Master sein, kein Slave, soweit ich weiß.

Re: MODBUS PROFIL: SunSpec Modbus Implementierung für PV-Wechselrichter (z.B. Solaredge,...)

Verfasst: Sa Jul 30, 2022 9:38 pm
von tger977
Ok, dann ist es jetzt klar. Der custom von Dir macht damit nicht mehr als meine verknüpften einzellogiken und kann damit die Sprünge innerhalb des WR Leistungsbereitschaft auch nicht wegfiltern. Aber immerhin wieder ein paar logiken die jetzt rausschmeißen kann.
M.E. müsste man eine Logik einbauen die den SF einmal direkt vor und einmal direkt nach dem Wert ausliest und nur dann den Ausgang schreibt wenn die beiden SF gleich sind. Oder irgendwie den umgerechnet Wert auf einen Sprung von z.b. Faktor 8 prüfen. Ich hab da aber bisher im TW keine einfache Lösung gefunden da man dann immer irgendwie mit Vorgängerwerten arbeiten muss.

Re: MODBUS PROFIL: SunSpec Modbus Implementierung für PV-Wechselrichter (z.B. Solaredge,...)

Verfasst: Sa Jul 30, 2022 9:40 pm
von tger977
Und auch danke für den link zu der powercontrol Doku!

Re: MODBUS PROFIL: SunSpec Modbus Implementierung für PV-Wechselrichter (z.B. Solaredge,...)

Verfasst: So Jul 31, 2022 9:55 am
von StefanW
Hallo Andi,

wir haben das Problem nicht aus den Augen verloren, aber waren auch andere Dinge zu erfüllen.

Ansich war in der ursprünglichen Planung unserer Modbus Implementierung vorgesehen, dass man mehrere Register auf einmal abfragen und auch berechnen lassen kann, so dass dies im Profil einstellbar wäre. Leider ist dann das Budget ausgegangen, weil das andere schon anstrengend war.

In einer Modbus Implementierung V2 mit erweiterten Leistungsmerkmalen würden wir das vorsehen. Werde ich noch in die Roadmap einarbeiten.

lg

Stefan

Re: MODBUS PROFIL: SunSpec Modbus Implementierung für PV-Wechselrichter (z.B. Solaredge,...)

Verfasst: So Jul 31, 2022 10:01 am
von StefanW
Gleich noch eine Frage hierzu:

Wieweit liegen die Register auseinander? Also welche Nummer haben die Werteregister und welche Nummer hat das Exponent-Register und erlaubt die Modbus Implementierung des Wechselrichters, diese Anzahl vo Registern zwischen dem ersten Wert BIS einschließlich dem Exponent in einer Abfrage zu übertragen?

Weil die Modbus Spezifikationen erlauben die Abfrage mehrerer AUFEINANDERFOLGENDER Register mit einer Abfrage (insgesamt 250 Byte). Wird aber nicht von jedem Gerät in vollem Umfang unterstützt. Weil damit könnte man in einem Request den Wert und den Exponent anfragen (in der Hoffnung, dass der Hersteller den Exponent während der Abarneitung des Lesetelegramms "einfriert"). Weil damit hätte man einen sicheren Weg und müsste jetzt nur noch die gewünschten Register herausdröseln. Was immer noch eine Menge Programmierarbeit ist.

lg

Stefan

Re: MODBUS PROFIL: SunSpec Modbus Implementierung für PV-Wechselrichter (z.B. Solaredge,...)

Verfasst: Mo Aug 01, 2022 6:49 pm
von tger977
StefanW hat geschrieben: So Jul 31, 2022 10:01 am Wieweit liegen die Register auseinander? Also welche Nummer haben die Werteregister und welche Nummer hat das Exponent-Register und erlaubt die Modbus Implementierung des Wechselrichters, diese Anzahl vo Registern zwischen dem ersten Wert BIS einschließlich dem Exponent in einer Abfrage zu übertragen?
Also die Werteregister liegen immer direkt hintereinander, zuerst der phys. Wert und direkt danach das Register ist immer der dazugehörige ScalFactor. Das wäre schon mal gut.

Zum zweiten Teil finde ich in der Doku folgenden Hinweis:
Appendix A – Supported MODBUS Request Methods
SolarEdge has implemented two methods of the MODBUS request procedure:
MODBUS request with explicit register addressing - supported by all communication board CPU versions. For example:
• Tx: 01 03 9C 40 00 7A EB AD – Read 122 registers starting at address 40001.
• Rx: 01 03 F4 53 75 … [Registers data] … FF FF 12 1B
MODBUS request without explicit addressing – supported by communication board CPU version 2.478 and above. For example:
• Tx: 01 03 00 00 00 7A C4 29 – Read 122 registers starting at offset 0.
• Rx: 01 03 F4 53 75 6E 53 … [Registers data] … FF FF AE DB
Der erste Request mit expliziter Startadresse sollte doch das sein was Du meinst, oder?
StefanW hat geschrieben: So Jul 31, 2022 9:55 am wir haben das Problem nicht aus den Augen verloren, aber waren auch andere Dinge zu erfüllen.

In einer Modbus Implementierung V2 mit erweiterten Leistungsmerkmalen würden wir das vorsehen. Werde ich noch in die Roadmap einarbeiten.
da war keinerlei Anspruchshaltung meinerseits drin. Ich habe ja einen workaround, der zwar nicht ganz perfekt ist, aber das Thema ist sicher nicht Prio 1 auf meiner und eurer Liste. Die peaks in der Grafik sind halt einfach unschön, aber mittlerweile hab ich mich schon fast dran gewöhnt. Aber schön wenn es noch eine Modbus 2.0 gibt die dann auch dieses Problem einfach löst. Schön wäre auch wenn man weiterentwickelte Profile dann ohne löschen und wieder einem kompletten Neuanlegen des Projektes mit dann auch allen Abfragen direkt ersetzen könnte. Ist aber sicher auch einiges an Aufwand bei euch...

Re: MODBUS PROFIL: SunSpec Modbus Implementierung für PV-Wechselrichter (z.B. Solaredge,...)

Verfasst: So Jan 01, 2023 8:56 pm
von AchterB
Guten Abend,

vielen Dank für eure grandiose Vorarbeit! Das Einlesen des Modbusprofils hat super geklappt und ich erhalte alle Daten im TWS. Ich betreibe einen SE7K Wechselrichter mit SE3500H und einem LG RESU Speicher.

Jetzt möchte ich zuerst die Werte visualisieren, bevor es tiefer in die Materie geht.
gndlff hat geschrieben: Fr Jul 22, 2022 11:50 pm Bei Systemen mit Hybrid-Wechselrichtern lässt sich der tatsächliche PV-Ertrag nur berechnen aus DC-Leistung Wechselrichter + DC-Leistung Batterie. Zur besseren Darstellung in Grafana habe ich mit einem Custom-Logikbaustein die Berechnung der einzelnen Teil-Energieströme umgesetzt:
Frage: Müssen die Inputwerte bereits mit dem Scalefactor verrechnet sein? Falls ja, in einer eigenen Logik wahrscheinlich oder habe ich etwas übersehen? Die Beschriftungen/Bezeichnungen verwirren mich gerade. Bei der ersten Logik in deinem Post wird nur der Scalefactor auf seine Plausibilität überprüft, oder habe ich das falsch verstanden?
gndlff hat geschrieben: Fr Jul 22, 2022 11:50 pm "Input": [
["i_ac_power_scaled","AC Power des Solaredge Wechselrichters","$i_ac_power_scaled","c"],
["i_dc_power","DC Power des Solaredge Wechselrichters","$i_dc_power_scaled","c"],
["m_ac_power","AC Power des Solaredge Modbuszählers [W]","$m_ac_power_scaled","c"],
["b_dc_power","DC Power der Storedge Battery [W]","$b_dc_power","c"]
Danke bereits im Vorfeld!

Grüße,
Ben

Re: MODBUS PROFIL: SunSpec Modbus Implementierung für PV-Wechselrichter (z.B. Solaredge,...)

Verfasst: Mo Jan 02, 2023 5:50 pm
von AchterB
Es läuft alles! Wenn ein Admin dies liest, dann kann er meinen vorherigen Post gerne löschen. Merci.

Re: MODBUS PROFIL: SunSpec Modbus Implementierung für PV-Wechselrichter (z.B. Solaredge,...)

Verfasst: Sa Jan 14, 2023 9:59 am
von AchterB
Guten Morgen,

jetzt muss ich mich doch wieder melden... Leider stimmen bei mir die Werte aus der Monitoringplattform einfach nicht mit den Modbuswerten überein und ich finde den Fehler nicht. :angry-banghead:

Ich habe die Logiken von @gndlff und das Modbusprofil von @tger977 und @gndlff im Einsatz. Die Abfragen für die Logiken in eine eigene Abfragegruppe gesammelt und auf exclusiv gesetzt.

Der Netzbezugwert ist der einzige Wert, der übereinstimmt. Ich habe auch bereits die Register nochmal überprüft, da nach etlichen Internetrecherchen immer wieder etwas von Modbus ID 2 erwähnt wurde. Aber dies war auch nicht wirklich zielführend. Mein Wechselrichter hat die Modbus ID 1 und der Energiezähler die ID 2...

Bild

Grüße,
Ben