FH Kiel: Pro 9-12 + OpenEMS Potential

Guten Tag liebe OpenEMS Community,
Die FH Kiel ist mit einem Fenecon Pro 9-12 Batteriespeicher ausgestattet und durch verschiedene Studienprojekte soll nun die Grundlage zur Erweiterung der Funktionalität auf Basis von OpenEMS Entwicklungen gelegt werden. Die aktuelle Aufgabe besteht darin, einerseits eine geeignete Entwicklungsumgebung und Strategie zu entwerfen, andererseits ein akutes Problem zu beheben.

  1. Für Anregungen zur Umsetzung einer geeigneten Entwicklungsumgebung sind wir sehr dankbar. Da die Campus IT und Einstellungen des FEMS möglichst unverändert bleiben sollten (Problematik aufgrund von Sonderregelungen der Zugangsrechte etc.), würden wir gerne die auf der openems.io dokumentierten Programme auf einem separaten Gerät installieren und den verschiedenen Projektteams als Klon des vorhandenem Systems (extrahierte historische daten in .csv) aushändigen. Falls es eine durchaus einfachere und sinnvollere Methode hierfür gäbe, wären wir über Input sehr dankbar.

  2. Die FH integriert den Energiespeicher in einer Laborübung, in welcher verschiedene Kurven bei verschiedenen Ladeleistungen aufgenommen werden. Dies geschah bisher mit der “state of charge”- Funktion, welche nach dem Update am Anfang des Jahres leider nicht mehr einstellbar ist. Gibt es hier aus Seiten der Community eine einfache Lösung zur manuellen Einstellung der folgenden Parameter.
    MaxSOC
    MinSOC
    ActivePowerL1 - L2 - L3

Mit der Grundsteinlegung für zukünftige Projekte hoffen wir den Energiespeicher in Zukunft auch sinnvoller nutzen zu können.

Vielen Dank

Luis Reismann

PS: Es sei anzumerken, dass wir uns in die Materie einarbeiten und bisher lediglich über Basisprogrammierfähigkeiten verfügen.

Hallo Luis,

willkommen in der OpenEMS Community. Ich hoffe, dass wir euch hier besser und individueller unterstützen können, als das über den FENECON-Service usw. möglich ist.

Der Pro 9-12 wird über die RS485-Schnittstelle und das Protokoll Modbus/RTU angesteuert. Über einen USB-RS485-Adapter klappt das auch direkt von einem Laptop aus. Es ist also möglich auf einem normalen Laptop gemäß Getting Started Guide OpenEMS Edge und OpenEMS UI zu starten und damit den Pro 9-12 direkt aus der Eclipse-Entwicklungsumgebung heraus zu steuern. Ein separater Mini-PC ist nicht unbedingt notwendig.

Um den Pro 9-12 als Speicher in OpenEMS zu konfigurieren, muss über die Apache Felix Web-Console (siehe Getting Started) folgendes konfiguriert werden:

  • Der simulierte Speicher (ess0), Zähler (meter0), Datenquelle (datasource0) und Eigenverbrauchsoptimierungscontroller (ctrlBalancing0) aus dem Getting Started können gelöscht werden.
  • Bridge Modbus/RTU Serial: der Port-Name wäre unter Windows z. B. COM3, das kann aus dem Geräte-Manager ausgelesen werden, nachdem man den Adapter einsteckt. Die weiteren Standardwerte passen so.
  • FENECON Pro 9-12 Ess: die Standardwerte passen so.
  • Controller Fix Active Power Symmetric: mit dem Fix-Active Power-Controller können dann einfach Be- und Entladeanweisungen gegeben werden. Auch hier passen die Standardwerte; lediglich “Charge/Discharge power [W]” muss angegeben werden.

Projektteams als Klon des vorhandenem Systems (extrahierte historische daten in .csv) aushändigen. Falls es eine durchaus einfachere und sinnvollere Methode hierfür gäbe, wären wir über Input sehr dankbar.

Diese Frage habe ich leider noch nicht ganz verstanden. Wofür sind die historischen Daten gedacht?

Die FH integriert den Energiespeicher in einer Laborübung, in welcher verschiedene Kurven bei verschiedenen Ladeleistungen aufgenommen werden. Dies geschah bisher mit der “state of charge”- Funktion, welche nach dem Update am Anfang des Jahres leider nicht mehr einstellbar ist. Gibt es hier aus Seiten der Community eine einfache Lösung zur manuellen Einstellung der folgenden Parameter.
MaxSOC
MinSOC
ActivePowerL1 - L2 - L3

Diese Werte ergeben sich aus der gewünschten Anwendung (z. B. Eigenverbrauchsoptimierung, Lastspitzenkappung, usw.). Der Controller Ess Limit Total Discharge kann z. B. den minimalen Ladezustand festlegen, um eine Notstromvorhaltung zu gewährleisten. Phasengenaue Leistungen können z. B. über den Controller Fix Active Power Asymmetric vorgegeben werden. Außerdem gibt es noch einige andere Controller unter io.openems.edge.controller.asymmetric. Leider ist eine phasengenaue Steuerung zumindest in Deutschland gesetzlich nicht mehr möglich, deshalb muss dafür erst explizit der “Symmetric-Mode” in der ESS Power-Komponente deaktiviert werden.

Ich hoffe mit diesen Infos könnt ihr erstmal etwas anfangen. Ansonsten stehen ich und die anderen Mitglieder der Community euch hier natürlich gerne für Fragen zur Verfügung.

Viele Grüße,
Stefan Feilmeier

Guten Tag Herr Feilmeier,
Vielen Dank für Ihre Lösungsvorschläge. Ich werde mich damit auseinandersetzen und mich bei Fragen hier in der Community melden.

Mit ihrem Lösungsvorschlag des direkten Anschlusses an den Batteriespeicher hat sich diese Frage erübrigt. Eventuell richten wir eine Remote Verbindung zum vorhandenen PC (mit zukünftig installierter Eclipse) ein.
Die Idee war, eine portable Version eines “Entwicklungs-FEMS” zu erstellen, welches an das jeweilige Projektteam weitergegeben werden könnte. Dies hätte den Vorteil eine Programmierung von zu Hause möglich zu machen, ohne an das FH Netzwerk gebunden zu sein. ( Aus meiner unerfahrenen Sicht) Die historischen Daten wären in Form von eingepflegten .csv Dateien (PV/Windkraft) für eine realitätsnahe Simulation angedacht gewesen.

Wir sind guter Dinge die Grundlage für weitere Projekte mit OpenEMS legen zu können.

Vielen Dank!

Beste Grüße

Luis Reismann

Hallo Herr Reismann,

der erste Schritt könnte vielleicht auch sein, dass die Studenten ein Energiesystem komplett am privaten PC virtualisieren. Ich habe OpenEMS selbst in einer eigenen Grundlagen-Vorlesung so verwendet und dabei gute Erfahrungen gemacht.

Hier ein Ausschnitt aus meiner Vorlesungs-Präsentation. Sie können die Inhalte daraus gerne verwenden. Falls Sie die originale Powerpoint-Datei benötigen, kann ich Ihnen diese privat zukommen lassen.

Stefan Feilmeier - Vorlesung Energiemanagement - Ausschnitte.pdf (1.1 MB)

Vielen Dank Herr Feilmeier.
Wir installieren die Entwicklungsumgebung in der kommenden Woche auf dem PC im Raum des Batteriespeichers. Der Anschluss soll dann direkt per RS485 Schnittstelle geschehen. Parallel werde ich die simulierte digitale Variante weiterhin ausprobieren.

1 Like

Guten Abend Herr Feilmeier und Community,

mittlerweile haben wir das Labor wieder zum Laufen bekommen.
Für das Labor nutzen wir den “Fix Active Power Symmetric Controller” um die Studierenden manuell den Speicher be- und entladen zu lassen. Hierbei benutzen wir den “Ess Limit Total Discharge Controller” um eine unbeabsichtigte Tiefenentladung zu vermeiden. Um die einstellbare Ladeleistung einzuschränken haben wir den “Limit Active Power Controller” hinzugefügt.

Diese 3 Komponenten werden im “Fixed Order Scheduler” priorisiert. Andere Komponenten, bspw. Balancing Symmetric Controller sind inaktiv.
Leider konnte ich die funktionsweise der Full Cycle Komponenten nicht ganz entschlüsseln, sonst hätte ich diesen verwendet um die Be- und Entladung automatisch ausführen zu lassen. Die Studierenden sollen innerhalb des Labors das Ladeverhalten des Speichers im SOC von ca 70% bis 95% aufnehmen können, weshalb das SOC Minimum im Discharge Controller auf 65% gesetzt ist.

In einer früheren Version des FEMS, welches noch auf Grafana Visualisierung beruhte konnten aus der Historie noch mehr Daten gezogen werden. Sind Daten wie bspw. Batteriespannung und -strom, wie auch leiterspezifische Ladeleistungen aus der heutigen Version noch exportierbar oder muss dafür eine InfluxDB angelegt werden?

Vielen Dank für ihre Hilfe.

Beste Grüße

Luis Reismann

Hallo Herr Reismann,

Ihre Anwendung klingt sehr interessiert. Zur Frage: der One-Full-Cycle-Controller führt jeweils einen Vollzyklus innerhalb der erlaubten Grenzen durch. Wenn er also im Scheduler nach dem Limit Total Discharge-Controller kommt, würde er bis dahin entladen und dann wieder voll beladen. Für ihre spezifische Anwendung gibt es leider keinen fertigen Algorithmus, dieser sollte sich aber eigentlich sehr leicht umsetzen lassen (z. B. von einem Studenten in einer Projekt-/ oder Abschlussarbeit).

Die Daten aller Channels - also auch Batteriespannungen und -ströme - werden in einer RRD4j-Datenbank aufgezeichnet. Die Daten können z. B. auch im JSON-Format per REST-Api abgerufen und dann visualisiert werden. Fertige Charts im UI gibt es dafür leider (noch) nicht. Generell wäre für Ihren Anwendungsfall eine InfluxDB mit Grafana zur Visualisierung und Auswertung am sinnvollsten. Beides ließe sich auch auf ihrem PC im Raum des Batteriespeichers installieren. In OpenEMS müssten sie dann lediglich die Timedata InfluxDB-Komponente aktivieren.

Übrigens ist es für die Ladezustandsberechnungen bei Lithium-Ionen-Batterien gut, wenn diese regelmäßig wirkliche Voll-Zyklen fahren. Nur so kann sich das Batteriemanagementsystem anhand der Zellspannungen neu referenzieren und der Ladezustand als Prozentwert ist wirklich aussagekräftig.

Viele Grüße,
Stefan Feilmeier