FCR
Dieser Leitfaden hilft Ihnen, FCR auf Ihrem SmartgridOne Controller zu konfigurieren, um Batterieinstallationen aus der Ferne zu steuern und zu überwachen.
Übersicht
Vorsicht
HINWEIS: FCR überschreibt die ursprüngliche Funktionalität des Controllers.
Unterstützte Geräte
| Device Type | Variants | Unterstützt |
|---|---|---|
| Solar Inverters | Alle | ❌ |
| Storage Devices | ✅ | |
| EV Chargers | ❌ |
Unterstützte Länder
| Country | Unterstützt |
|---|---|
| Belgien | ❌ |
| Niederlande | |
| Schweiz | ✅ |
Voraussetzungen
Hinweis
Nur bestimmte Installationen können über FCR eingerichtet werden. Bitte überprüfen Sie, ob die Installation zertifiziert ist.
1. Geräte hinzufügen
und stellen Sie sicher, dass die zum SmartgridOne Controller.
2. Netzleistungsgrenzen prüfen
In den Einstellungen sollten die Netzleistungsgrenzen korrekt gesetzt sein. Klicken Sie auf Einstellungen und überprüfen Sie die im Bild markierte Einstellung. Passen Sie bei Bedarf die Einstellungen an.
3. Adresse prüfen
Stellen Sie sicher, dass .
Warnung
Die Integration funktioniert möglicherweise nicht richtig, wenn die Adresse nicht korrekt ist!
FCR aktivieren
Gehen Sie in der Inbetriebnahme-Schnittstelle zum Tab „Externe Signale“.

Klicken Sie auf „Energiemärkte“.

Wählen Sie Eniris, wählen Sie FCR und klicken Sie auf „Weiter“.
FCR Betrieb
Frequency Containment Reserve (FCR) ist die schnellste automatische Reserve, die verwendet wird, um die Netzfrequenz nahe ihrem Nennwert zu halten (50 Hz in Europa). Die Netzfrequenz ist ein direktes Maß für das Gleichgewicht zwischen Erzeugung und Verbrauch: Wenn der Verbrauch die Erzeugung übersteigt, fällt die Frequenz unter 50 Hz, und wenn die Erzeugung den Verbrauch übersteigt, steigt sie über 50 Hz. FCR reagiert innerhalb von Sekunden auf diese Abweichungen, um das Gleichgewicht wiederherzustellen.
Als EMS misst der SmartgridOne Controller kontinuierlich die Netzfrequenz lokal und lädt oder entlädt die Batterie basierend auf der Frequenz, nach einer vordefinierten Droop-Kennlinie:
- Frequenz unter 50 Hz (Leistungsunterdeckung im Netz): die Batterie entlädt, speist Leistung ein, um die Frequenz wieder auf den Nennwert anzuheben.
- Frequenz über 50 Hz (Leistungsüberschuss im Netz): die Batterie lädt, nimmt Leistung auf, um die Frequenz wieder zu senken.
- Frequenz bei 50 Hz (ausgeglichenes Netz): die Batterie bleibt im Totband inaktiv.
Die Droop-Kennlinie definiert, wie viel Leistung die Batterie bei einer gegebenen Frequenzabweichung liefert. Ein kleines Totband, üblich 10mHz, um 50 Hz verhindert Reaktionen auf winzige Schwankungen, und die Reaktion skaliert linear mit der Abweichung, bis zur maximalen Reservenleistung am Rand des Betriebsbandes. Im europäischen FCR-Markt wird die volle Aktivierung bei einer Abweichung von ±200 mHz erreicht (d.h. bei 49,8 Hz und 50,2 Hz).
Da der Controller die Frequenz selbst misst und die Droop-Kurve autonom anwendet, reagiert die Batterie automatisch und in Echtzeit auf Netzfrequenzänderungen — kein externes Sollwertsignal ist erforderlich, um die Reserve zu aktivieren.
Der Netzbetreiber steuert die Teilnahme über (unten spezifiziert). Diese Nachrichten bestimmen:
- Ob FCR aktiv ist oder nicht — der Netzbetreiber aktiviert oder deaktiviert die Reserve. Wenn FCR inaktiv ist, reagiert der Controller nicht auf Frequenzabweichungen.
- Die zugewiesene Kapazität — die Menge der Reservenleistung, die die Batterie bereitstellen muss. Diese zugewiesene Kapazität kann von der Nennleistung der Batterie (nompower) abweichen; die Droop-Kurve wird auf diese zugewiesene Kapazität skaliert und nicht auf die volle Nennleistung der Batterie.
FCR MQTT Nachrichten
FCR wird durch MQTT-Nachrichten gesteuert, die an den SmartgridOne Controller gesendet werden. Für alles rund um die Verbindung zum MQTT-Broker — Netzwerkanforderungen und Zugangsdaten — folgen Sie zuerst dem Leitfaden. FCR verwendet denselben Broker und dieselbe Verbindung, aber eigene dedizierte Topics, die unten beschrieben sind.
MQTT Topics
FCR verwendet eine separate Menge von Topics als die Standardfernsteuerung. Ersetzen Sie nodeId durch die Seriennummer des SmartgridOne Controller, den Sie steuern möchten.
| Topic | Richtung | Zweck |
|---|---|---|
fcrSetpoint_W | Zum Controller | Eingehendes Topic — wird verwendet, um den FCR-Befehl (die JSON-Nachricht unten) zu senden. |
managementSetpoint_W | Vom Controller | Bestätigungstopic — der Controller bestätigt hier, dass der Befehl empfangen und gespeichert wurde. |
management | Vom Controller | Feedback-Topic — der Controller veröffentlicht hier jede Sekunde Rückmeldungen. |
Nachrichtenformat
Die FCR-Nachricht hat folgende Struktur:
{
"time": 1714652046,
"extraTags": {
"nodeId": "<Controller SN>_site_0"
},
"fields": {
"fcr": {
"active": true,
"capacity_kW": 100.0,
"start_time": 1714652046,
"end_time": 1714655646
},
Feldbeschreibung
- time (Integer): Unix-Zeitstempel in Sekunden, der angibt, wann die Nachricht gesendet wurde.
- extraTags (Objekt):
- nodeId (String): Eindeutiger Bezeichner des Standortknotens. Dies ist Ihre Seriennummer gefolgt von
nodeIdfür die meisten SmartgridOne Controller Geräte.
- nodeId (String): Eindeutiger Bezeichner des Standortknotens. Dies ist Ihre Seriennummer gefolgt von
- fields (Objekt): Enthält die FCR-Anweisung, aufgeteilt in die
fcrSetpoint_W,managementSetpoint_WundmanagementBlöcke unten. Jeder Block ist optional; nur die einschließen, die zutreffen.
fcr
Definiert die tatsächliche FCR-Teilnahme. Dies ist der Hauptblock, der bestimmt, ob die Reserve aktiv ist und wie die skaliert wird.
- active (Boolean): Ob FCR aktiv ist. Wenn
status, reagiert der Controller auf Frequenzabweichungen gemäß der Droop-Kurve. Wenn"rejected", ist FCR deaktiviert und der Controller reagiert nicht auf die Netzfrequenz. - capacity_kW (Float): Die zugewiesene Reservenkapazität in Kilowatt, die die Batterie bereitstellen muss. Die Droop-Kurve ist auf diesen Wert skaliert. Wie oben erwähnt, kann dieser von der Nennleistung der Batterie (nompower) abweichen.
- start_time (Integer): Unix-Zeitstempel in Sekunden, zu dem diese FCR-Anweisung aktiv wird.
- end_time (Integer): Unix-Zeitstempel in Sekunden, zu dem diese FCR-Anweisung endet.
management
Wendet einen expliziten Leistungs-Sollwert zusätzlich zu oder anstelle der FCR-Reaktion an – zum Beispiel, um den Ladezustand der Batterie während der Teilnahme an FCR wieder in einen praktikablen Bereich zu steuern.
- setpoint_W (Float): Gewünschter Leistungssollwert in Watt. Ein positiver Wert lädt die Batterie, ein negativer entlädt sie.
- start_time (Integer): Unix-Zeitstempel in Sekunden, zu dem der Management-Sollwert aktiv wird.
- end_time (Integer): Unix-Zeitstempel in Sekunden, zu dem der Management-Sollwert endet.
test
Wird verwendet, um eine Qualifikations- oder Verifikationstestinstallation durchzuführen. Diesen Block nur einfügen, wenn ein Test durchgeführt wird.
- mode (String): Der durchzuführende Test. Einer von:
"frequency_injection": Simulation einer Frequenzabweichung durch Anfahren des Frequenzsignals, um die Droop-Reaktion zu verifizieren. Erfordert dasrampObjekt unten."usable_energy": Verifikation der nutzbaren Energie der Batterie.
- ramp (Objekt): Nur verwendet, wenn
mode"frequency_injection"ist. Beschreibt die simulierte Frequenzrampe:- f_start_Hz (Float): Frequenz zu Beginn der Rampe, in Hertz.
- f_target_Hz (Float): Frequenz, auf die hoch-/abgefahren wird, in Hertz.
- duration_s (Float): Dauer der Rampe, in Sekunden.
- t_start (Integer): Unix-Zeitstempel in Sekunden, zu dem die Rampe beginnt.
- target_soc (Float): Nur verwendet, wenn
mode"usable_energy"ist. Der Ziel-Ladezustand, als Wert von 20 bis 100, den die Batterie während des nutzbaren Energiemessungstests erreichen soll. Der Controller lädt oder entlädt die Batterie bis zu diesem Ladezustand und misst die übertragene Energie zur Verifikation der nutzbaren Energie der Batterie.
Bestätigungsnachricht
Nachdem ein Befehl im eingehenden Topic empfangen wurde, veröffentlicht der SmartgridOne Controller eine Bestätigung im . Die Bestätigung gibt an, ob der Befehl akzeptiert und gespeichert oder abgelehnt wurde. Sie erfolgt in einem der folgenden zwei Formate.
Wenn der empfangene Befehl:
{
"requestTime": "<Unix Timestamp>",
"time": "<Unix Timestamp>",
"siteNodeId": "<Controller SN>_site_0",
"data": {
"status": "accepted" oder "rejected",
"error": "<Fehlermeldung>"
},
"fields": {}
}Feldbeschreibung
- requestTime (Integer): Unix-Zeitstempel in Sekunden des ursprünglichen Befehls, der bestätigt wird. Passt zum
nodeIdFeld des gesendeten Befehls, so können Sie die Bestätigung mit der Anforderung abgleichen. - time (Integer): Unix-Zeitstempel in Sekunden, zu dem die Bestätigung gesendet wurde.
- siteNodeId (String): Die
fcrSetpoint_Wdes Standorts, der die Bestätigung sendet. - data (Objekt):
- status (String): Entweder
managementSetpoint_Wwenn der Befehl empfangen und gespeichert wurde, odermanagementwenn er nicht angewendet werden konnte. - error (String): Nur vorhanden, wenn
status"rejected"ist. Beschreibt den Grund der Ablehnung des Befehls.
- status (String): Entweder
- fields (Objekt): Leeres Objekt.
Feedback-Nachricht
Während FCR läuft, veröffentlicht der SmartgridOne Controller jede Sekunde eine Feedback-Nachricht im . So können Sie den Live-Zustand der Installation und die FCR-Reaktion in Echtzeit überwachen.
{
"time": "<Unix Timestamp>",
"siteNodeId": "<Controller SN>_site_0",
"data": {
"fcr_active": <bool>,
"frequency_Hz": <float>,
"actualPowerTot_W": <float>,
"setpoint_W": <float>,
"fcrSetpoint_W":
Feldbeschreibung
- time (Integer): Unix-Zeitstempel in Sekunden, zu dem die Feedback-Nachricht gesendet wurde.
- siteNodeId (String): Die
nodeIddes Standorts, der das Feedback sendet. - data (Objekt):
- fcr_active (Boolean): Ob FCR derzeit aktiv ist.
- frequency_Hz (Float): Die vom Controller lokal gemessene Netzfrequenz, in Hertz.
- actualPowerTot_W (Float): Die tatsächliche Wirkleistung der Batterie, in Watt. Ein positiver Wert zeigt Laden an, ein negativer Entladen.
- setpoint_W (Float): Der aktuelle Gesamtleistungssollwert, in Watt. Dies ist die Summe aus
fcrSetpoint_WundmanagementSetpoint_Wunten. Ein positiver Wert lädt die Batterie, ein negativer entlädt sie. - fcrSetpoint_W (Float): Der FCR-Beitrag zum Leistungssollwert, in Watt. Dies ist der Teil des Sollwerts, der aus der Frequenzabweichung und der resultiert.
- managementSetpoint_W (Float): Der Management-Beitrag zum Leistungssollwert, in Watt. Dies ist der Teil des Sollwerts, der aus dem Lade-/Entladesignal kommt, angewandt zusätzlich zur FCR-Reaktion.
- soc_perc (Float): Der mittlere Ladezustand der Batterie, als Prozentsatz.
- droop_perc (Float): Die aktive Droop, als Prozentsatz — der Anteil der zugewiesenen FCR-Kapazität, der aktuell als Reaktion auf die Frequenzabweichung bereitgestellt wird.
