UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ

NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074

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

Dies ist das Unterforum ausschließlich für FERTIGE MODBUS PROFILE
Forumsregeln
HIER NUR FERTIGE MODBUS PROFILE.
Wünsche und Fragen zum Modbus oder für neue Profile bitte im Modbus Unterforum

Ersteller
tger977
Reactions:
Beiträge: 740
Registriert: So Aug 12, 2018 9:25 am
Hat sich bedankt: 205 Mal
Danksagung erhalten: 274 Mal

#61

Beitrag 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...
Gruß
Andi

TW2500 #440 (ex Timberwolf 2400 #111) mit PBM #124, Support VPN nur auf Anfrage, Reboot bitte nur nach Absprache

gndlff
Reactions:
Beiträge: 6
Registriert: Do Feb 03, 2022 8:36 pm
Danksagung erhalten: 12 Mal

#62

Beitrag 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ß.
timberwolf714 (TWS3500) | VPN offen | Reboot tagsüber erlaubt

Ersteller
tger977
Reactions:
Beiträge: 740
Registriert: So Aug 12, 2018 9:25 am
Hat sich bedankt: 205 Mal
Danksagung erhalten: 274 Mal

#63

Beitrag 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.
Gruß
Andi

TW2500 #440 (ex Timberwolf 2400 #111) mit PBM #124, Support VPN nur auf Anfrage, Reboot bitte nur nach Absprache

Ersteller
tger977
Reactions:
Beiträge: 740
Registriert: So Aug 12, 2018 9:25 am
Hat sich bedankt: 205 Mal
Danksagung erhalten: 274 Mal

#64

Beitrag von tger977 »

Und auch danke für den link zu der powercontrol Doku!
Gruß
Andi

TW2500 #440 (ex Timberwolf 2400 #111) mit PBM #124, Support VPN nur auf Anfrage, Reboot bitte nur nach Absprache

StefanW
Elaborated Networks
Reactions:
Beiträge: 9689
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 4831 Mal
Danksagung erhalten: 7632 Mal
Kontaktdaten:

#65

Beitrag 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
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.

StefanW
Elaborated Networks
Reactions:
Beiträge: 9689
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 4831 Mal
Danksagung erhalten: 7632 Mal
Kontaktdaten:

#66

Beitrag 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
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.

Ersteller
tger977
Reactions:
Beiträge: 740
Registriert: So Aug 12, 2018 9:25 am
Hat sich bedankt: 205 Mal
Danksagung erhalten: 274 Mal

#67

Beitrag 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...
Zuletzt geändert von tger977 am Mo Aug 01, 2022 6:52 pm, insgesamt 1-mal geändert.
Gruß
Andi

TW2500 #440 (ex Timberwolf 2400 #111) mit PBM #124, Support VPN nur auf Anfrage, Reboot bitte nur nach Absprache

AchterB
Reactions:
Beiträge: 93
Registriert: So Jan 02, 2022 9:29 am
Hat sich bedankt: 51 Mal
Danksagung erhalten: 42 Mal

#68

Beitrag 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
TWS 3500L ID:660, VPN offen, Reboot nach Rücksprache

AchterB
Reactions:
Beiträge: 93
Registriert: So Jan 02, 2022 9:29 am
Hat sich bedankt: 51 Mal
Danksagung erhalten: 42 Mal

#69

Beitrag von AchterB »

Es läuft alles! Wenn ein Admin dies liest, dann kann er meinen vorherigen Post gerne löschen. Merci.
TWS 3500L ID:660, VPN offen, Reboot nach Rücksprache

AchterB
Reactions:
Beiträge: 93
Registriert: So Jan 02, 2022 9:29 am
Hat sich bedankt: 51 Mal
Danksagung erhalten: 42 Mal

#70

Beitrag 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
Zuletzt geändert von AchterB am Sa Jan 14, 2023 10:02 am, insgesamt 1-mal geändert.
TWS 3500L ID:660, VPN offen, Reboot nach Rücksprache
Antworten

Zurück zu „MODBUS PROFILE“