View Categories

MODBUS TCP: Integration mit Photovoltaik

1. Einführung #

Das DOMIQ/Base-Modul verfügt über integrierte Unterstützung für das MODBUS TCP-Protokoll. In der Praxis bedeutet das breite Integrationsmöglichkeiten mit vielen Geräten. Dadurch erweitern sich die Möglichkeiten des intelligenten Gebäudes erheblich. Beispiele für solche Geräte sind u.a. Photovoltaik-Wechselrichter, Lüftungsanlagen, Wärmepumpen, Heizkessel. In diesem Tutorial beschäftigen wir uns mit den ersten, also Photovoltaik-Wechselrichtern.

2. Was gewinnst du durch die Integration von PV mit DOMIQ? #

Hauptziel: Optimierung des Managements der erzeugten Energie.

#

Die Optimierung erfolgt durch die Möglichkeit, Geräte im Gebäude abhängig von den Betriebsparametern der PV-Anlage zu steuern. Das ist besonders wichtig, wenn du keinen Energiespeicher hast und die Produktion nach dem Netbilling-Modell abgerechnet wird. Das Base-Modul liest in einem solchen Szenario die Daten zur erzeugten Energie vom PV-Wechselrichter aus und kann nach den programmierten Regeln bestimmte Geräte einschalten, um die Energie direkt zu verbrauchen, ohne sie ins Stromnetz einzuspeisen (Maximierung des Eigenverbrauchs). Zusätzlich hilft das, die Netzspannung zu senken, um Abschaltungen der PV-Anlage bei Überschreiten der Grenzspannung – 253V – zu vermeiden. Das wiederum führt zu realen finanziellen Vorteilen, da du keine Übertragungsgebühren zahlst und den Strom nicht zu sehr niedrigen Tarifen verkaufst.

Nachfolgend einige Beispiele für Aktionen, die während der höchsten Energieproduktion der PV-Anlage empfohlen werden:

  1. Einschalten des Warmwasserheizelements (CWU).

  2. Erhöhung der Solltemperatur des Warmwasserspeichers (CWU).
  3. Erhöhung der Solltemperatur an der Wärmepumpe/dem Heizkessel.
  4. Einschalten der Klimaanlage, damit sie während des Produktionshochs das Haus kühlt.
  5. Einschalten der Gebäudeheizung (z.B. Elektroheizkörper, Nachtspeicheröfen). Dies ist besonders nützlich in Übergangszeiten (früher Herbst/frühes Frühjahr).
  6. Laden von Batterie-Geräten.
  7. Erwärmen von Wasser im Pool/Jacuzzi.

Zusätzliches Ziel: Überwachung der Daten #

Dank der Integration des DOMIQ-Systems mit der Grafana-Software kannst du problemlos Daten über die Energieproduktion und Betriebsparameter der PV-Anlage für beliebige Zeiträume sammeln. Außerdem kannst du aktuelle Systemdaten in der Remote-Anwendung anzeigen. Dank historischer Trends kannst du weitere Optimierungsmöglichkeiten erkennen. Weitere Informationen zur Integration mit Grafana findest du im Tutorial: https://domiq.pl/wiki/wykresy-w-domiq-integracja-z-grafana/

3. Was wirst du brauchen? #

Für die Umsetzung der vorgestellten Funktionalität benötigst du:

  1. DOMIQ/Base – das Basismodul des DOMIQ-Systems
  2. Photovoltaik-Wechselrichter – muss über MODBUS TCP-Unterstützung verfügen und an das LAN angeschlossen sein, in dem das DOMIQ/Base-Modul arbeitet.
  3. Zweirichtungs-Energiezähler – Es ist wichtig, dass der Wechselrichter mit dem Zähler kommunizieren kann, was das Auslesen von Informationen über die aktuell erzeugte Leistung und die aktuell vom Stromnetz bezogene Leistung ermöglicht, da du für die vorgestellte Funktion Daten zum Produktionsüberschuss benötigst. Unsere Erfahrungen bestätigen eine problemlose Integration mit Wechselrichtern folgender Hersteller:
    1. Fronius
    2. Solar Edge
    3. SMA
    4. Victron
    5. GoodWe
  4. Dokumentation mit der Modbus-Registerkarte des Wechselrichters und des Zählers.

4. Implementierungsbeispiel #

In diesem Abschnitt zeigen wir ein Beispiel für die Integration mit dem Wechselrichter Fronius Symo-Gen24 Plus. Bei Fronius ist für die Information, ob ein Produktionsüberschuss vorliegt, ein zweirichtungsfähiger Energiezähler Fronius Smart Meter erforderlich. Dieser Zähler arbeitet mit dem Wechselrichter zusammen und ist über das Modbus TCP-Protokoll als separates Gerät sichtbar.

Die gesamte Konfiguration wird im Modbus-Tab im Konfigurator des DOMIQ/Base-Moduls dargestellt.

  1. Klicke auf +Verbindung, um eine neue TCP-Verbindung mit dem PV-Wechselrichter hinzuzufügen.
  2. Im Fenster Details gib die Verbindungsparameter ein:
    1. Name – hier gib den Namen dieser Verbindung ein. Der Name darf keine Leerzeichen und keine Sonderzeichen enthalten und muss innerhalb der gesamten Konfiguration im Modbus-Tab eindeutig sein. Beispielname: pv.
    2. Typ – wähle TCP.
    3. IP-Adresse – Gib die IP-Adresse des PV-Wechselrichters in deinem lokalen Netzwerk ein. Es empfiehlt sich, eine feste IP-Adresse für den Wechselrichter basierend auf der MAC-Adresse seiner Netzwerkkarte zu vergeben.
    4. Port – Standardmäßig ist dies 502, was die Standard-Portnummer für das Modbus TCP-Protokoll ist.
  3. Mit der ausgewählten Verbindung in der Struktur-Liste klicke auf +Gerät, um die Definition des angeschlossenen Wechselrichters hinzuzufügen. Im Fenster Details:
    • Name: Gib den Namen für den Wechselrichter ein. Beispielnamen: wechselrichter, fronius usw.
      • 2. Adresse: Gib hier die Adresse ein, die in den Wechselrichtereinstellungen gewählt wurde. Wert muss zwischen 1 und 247 liegen. In unserem Fall 1.
  4. Füge ein weiteres Gerät hinzu, um die Register für das Auslesen der Zählerdaten zu konfigurieren.
    • Name: Gib den Namen für den Zähler ein. Beispielnamen: zaehler, smartMeter usw.
    • Adresse: Gib hier die Zähleradresse ein. Wert muss zwischen 1 und 247 liegen. In unserer Konfiguration 2.

An dieser Stelle ist die Konfiguration für alle Wechselrichter-Hersteller identisch und im Grunde für alle über MODBUS TCP integrierten Geräte.

An dieser Stelle ist die Konfiguration für alle Wechselrichter-Hersteller identisch und im Grunde für alle über MODBUS TCP integrierten Geräte. Der wichtigste Teil ist die korrekte Konfiguration der Registerkarte, anhand derer das Base-Modul Daten von den Geräten ausliest. Die gesamte Konfiguration erfolgt im Fenster Register. Die Register müssen gemäß der Dokumentation des Herstellers definiert werden. Zur Veranschaulichung fügen wir die Konfiguration für den PV-Wechselrichter Fronius und den Fronius Smart Meter Zähler bei.

Wechselrichter #

Smart Meter #

5. Steuerung der Geräte #

An dieser Stelle ist die Konfiguration für alle Wechselrichter-Hersteller identisch und im Grunde für alle über MODBUS TCP integrierten Geräte.

Der wichtigste Teil ist die korrekte Konfiguration der Registerkarte, anhand derer das Base-Modul Daten von den Geräten ausliest. Die gesamte Konfiguration erfolgt im Fenster Register. Die Register müssen gemäß der Dokumentation des Herstellers definiert werden. Zur Veranschaulichung fügen wir die Konfiguration für den PV-Wechselrichter Fronius und den Fronius Smart Meter Zähler bei.

  1. Ein Timer überprüft in einem bestimmten Zeitfenster alle 5 Minuten den Überschuss der von der PV-Anlage erzeugten Leistung. Wenn dieser größer oder gleich der Leistung des Heizelements ist und das Heizelement nicht eingeschaltet ist, schaltet das System das Heizelement ein.
  2. Wenn der Überschuss der erzeugten Leistung unter den festgelegten Schwellenwert fällt (bei uns angenommen: 1800W), wird ein Timer mit einer Verzögerung von 15 Minuten aktiviert. Wenn dieser Zustand 15 Minuten lang anhält (der Timer läuft ab), wird das Heizelement ausgeschaltet. Dies soll verhindern, dass der Boiler arbeitet, wenn der Überschuss nicht ausreicht, und häufige Schaltvorgänge vermeiden.
  3. Wenn zwischenzeitlich der Überschuss der von der PV-Anlage erzeugten Leistung erneut den erwarteten Wert überschreitet, wird der 15-Minuten-Timer zurückgesetzt und das Heizelement bleibt eingeschaltet.

Implementierung #

Für das Beispiel haben wir folgende Annahmen getroffen:

  • Leistung des Heizelements: 2000W
  • Mindestüberschuss der von PV erzeugten Leistung: 2000W
  • Schwellenwert des Leistungsüberschusses: 1800W. Fällt der Überschuss unter diesen Wert, wird der Timer zum Ausschalten des Heizelements gestartet.
  • Timerdauer zum Ausschalten des Heizelements: 15 Minuten.
  • Modbus-Kennung, die sich auf den Überschuss der von PV erzeugten Leistung bezieht: MODBUS.pv.smartMeter.ac_power
  • Kennung der Shelly-Steckdose zur Steuerung des Boilers: SHELLY.bojler.relay.0
  • Hilfskennung, die signalisiert, ob der Timer zum Ausschalten des Heizelements gestartet wurde: VAR.bojler.timer.
    Alle obigen Parameter kannst du nach eigenem Ermessen anpassen.

WICHTIG: Im Fall des Fronius-Zählers gibt es ein Register, das die aktuelle Leistung der Anlage angibt. Ist der Wert positiv, bedeutet das, dass Energie aus dem Stromnetz bezogen wird. Ist der Wert dieses Registers negativ, bedeutet das, dass ein Überschuss besteht und Energie ins Netz eingespeist wird. In unserer Konfiguration erfolgen alle Vergleiche mit negativen Werten, da – wie bereits erwähnt – uns der Überschuss interessiert, den wir zur Maximierung des Eigenve rbrauchs nutzen möc hten.Die Konfigurationsdateien des unten beschriebenen Verfahrens sind dem Tutorial beigefügt.

Im ersten Schritt definieren wir einen Timer, der den Überschuss der von der PV-Anlage erzeugten Leistung prüft. Für unser Beispiel haben wir das Zeitfenster des Timers von 9 bis 16 Uhr gewählt.

  1. Im Tab Timer füge einen Timer hinzu und konfiguriere seine Parameter:
    • Im Feld Stunde: 9,10,11,12,13,14,15
    • Im Feld Minute: 0,5,10,15,20,25,30,35,40,45,50,55
    • Im Feld Bedingung: MODBUS.pv.smartMeter.ac_power <= -2000 and SHELLY.bojler.relay.0 == 0
  2. +Kommando:
    • Name: C.SHELLY.bojler.relay.0
    • Wert: 1
  3. Speichere die Konfiguration.

Der so definierte Timer wird zu allen aufgeführten Stunden alle 5 Minuten ausgelöst und prüft jedes Mal den Überschuss der PV-Leistung sowie den Boilerstatus.

  1. Im Tab Ereignisse füge eine Gruppe hinzu (+Gruppe). Im Feld Beschreibung z.B. Boilersteuerung.
  2. Zur Gruppe füge das erste Ereignis hinzu. Es reagiert auf den Rückgang des Überschusses unter den Schwellenwert, indem ein Timer zum Ausschalten des Boilers gestartet wird.
    • Kanal: E.MODBUS.pv.smartMeter.ac_power
    • Daten: leer lassen
    • Bedingung: $D0 > -1800 and SHELLY.bojler.relay.0 == 1 and VAR.bojler.timer == 0
  3. Aktionen:
    • +Kommando – Timer auf 15 Minuten setzen, der den Boiler ausschalten soll:
      • Name: TIMER.bojler_off.15min.C.bojler
      • Wert: 0
    • +Kommando – Mit einer Variablen markieren, dass der Timer gestartet wurde:
      • Name: C.VAR.bojler.timer
      • Wert: 1

4. Füge das zweite Ereignis hinzu. Dieses Ereignis ist das Makro zum Ausschalten des Boilers und setzt gleichzeitig die Variable VAR für den Timer zum automatischen Ausschalten des Boilers zurück.

  1. Kanal: C.bojler
  2. Daten: 0
  3. Aktionen:
    • +Kommando
      • Name: C.SHELLY.bojler.relay.0
      • Wert: 0
    • +Kommando:
      • Name: C.VAR.bojler.timer
      • Wert: 0

5. Zur Gruppe füge das nächste Ereignis hinzu. Es reagiert auf den Anstieg des Überschusses über den erwarteten Wert. Die Folge ist das Löschen des Timers, der die Zeit zum automatischen Ausschalten des Boilers zählt.

  1. Kanal: E.MODBUS.pv.smartMeter.ac_power
  2. Daten: leer lassen
  3. Bedingung: $D0 <= -2000 and VAR.bojler.timer == 1
  4. Aktionen:
    • +Kommando – Timer löschen
      • Name: TIMER.bojler_off.0
      • Wert: 0
    • +Kommando – Die Variable, die den laufenden Timer anzeigt, zurücksetzen
      • Name: C.VAR.bojler.timer
      • Wert: 0

6. Speichere die Konfiguration.

6. Zusammenfassung #

Wenn du bis hierher gekommen bist – herzlichen Glückwunsch! Wir hoffen, dass durch die Integration von DOMIQ mit der PV-Anlage die Möglichkeiten des intelligenten Gebäudes noch weiter wachsen und sich tatsächlich auf die Optimierung des Energieverbrauchs auswirken, was auch einen finanziellen Effekt bringt.

Angehängte Dateien #

Powered by BetterDocs