Eine Batterie kann einen Befehl annehmen, ohne die angeforderte Leistung zu liefern. Die Anforderung kann in einer Warteschlange liegen, vom PCS abgewiesen, durch den Batterieschutz begrenzt oder von einer anderen Steuerung überschrieben werden. Erfassen Sie jede Stufe getrennt. Wird eine Minderlieferung beanstandet, zeigt das Protokoll, an welcher Stufe sie entstand.
Dieser Leitfaden gehört zur Reihe über Flexibilität. Der Leitfaden zu BESS-Steuerungsebenen erklärt die Zuständigkeiten von BMS, PCS und EMS.
Festlegen, was als Lieferung zählt
Vereinbaren Sie vor dem ersten Test den Zähler, die Vorzeichenregel, das Zeitfenster und die Toleranz.
Der Zähler kann an den Batterieanschlüssen, am Netzanschlusspunkt des Standorts oder beim Netzbetreiber liegen. An jedem Punkt ergibt sich ein anderer Wert. Zwischen Batterie und Netzanschlusspunkt entstehen Verluste in Wechselrichter, Transformator und Leitungen. Am Netzzähler wirken zudem alle anderen Lasten des Standorts. Wird die Lieferung dort bewertet, braucht es eine Baseline: was der Standort ohne den Befehl getan hätte. Bei den dynamischen Diensten in Großbritannien ist die operative Baseline eine Physical Notification (PN). Sie gilt ganzjährig in GMT mit einer Auflösung von einer Minute oder feiner und wird zum Gate Closure 60 Minuten vor jeder 30-minütigen Abrechnungsperiode festgeschrieben. Demand-Response-Programme verwenden häufig stattdessen eine historische Baseline; der Leitfaden zur Baseline-Messung beschreibt diese Verfahren.
Schreiben Sie die Vorzeichenregel in das Protokoll. PCS-Registertabellen behandeln Entladung häufig als positiv, entsprechend der Erzeugerkonvention. Ein Standortzähler nach Verbrauchskonvention zählt Bezug positiv; dieselbe Entladung erscheint dort als negative Leistung oder als geringerer Bezug. Kehrt eine Stelle der Kette das Vorzeichen um, sieht eine korrekte Entladung von 500 kW gegenüber der Anforderung wie eine Abweichung von 1.000 kW aus.
Ein Dienst kann Zeitfenster und Toleranzen vorgeben. Die NESO-Leitlinie für dynamische Dienste in Großbritannien nennt diese Grenzen:
| Dienst | Maximale Reaktionsbeginnzeit | Maximale Zeit bis zur vollständigen Lieferung | Obergrenze der Rampenzeit | Leistungsdaten |
|---|---|---|---|---|
| Dynamic Containment (DC) | 0,5 s | 1 s | 0,5 s | 20 Hz |
| Dynamic Moderation (DM) | 0,5 s | 1 s | 0,5 s | 20 Hz |
| Dynamic Regulation (DR) | 2 s | 10 s | 8 s | 20 Hz oder 2 Hz |
NESO bewertet jede 30-minütige Abrechnungsperiode, bei 20 Hz also 36.000 Datenzeilen. Bei DC und DM zählt ein Fehler erst, wenn er über ein gleitendes Fenster von 0,2 s (vier Messwerte) anhält. Der größte solcher Fehler in der Periode bestimmt den Leistungsfaktor. Meldet eine Einheit in weniger als 99,9 % der Zeilen Verfügbarkeit, erhält sie für diese Periode keine Verfügbarkeitszahlung. Fehlende oder falsch zeitgestempelte Zeilen können also zusätzlich zur Reaktion selbst Geld kosten. Diese Dienste folgen der Netzfrequenz vor Ort, sodass die Befehlskette kurz ist. Die Stufen des Nachweises gelten auch für den Sollwert, den die lokale Steuerung berechnet.
Für einen abrufbaren Dienst ohne veröffentlichte Regeln gehören Zahlen in den Vertrag. Beispiel: volle Leistung innerhalb von 5 s nach dem Befehl, 30 Minuten gehalten, bewertet anhand von Minutenmittelwerten innerhalb von ±3 % der Anforderung am Zähler des Batterieabgangs.
Stufen eines Befehls
| Stufe | Nachweis | Noch offen |
|---|---|---|
| Autorisiert | Der Anforderer war nach der vereinbarten Regel berechtigt | Es wurde noch nichts gesendet |
| Angenommen | API, Broker oder Gateway haben die Anforderung angenommen | Ob sie die Batterie erreicht hat |
| An die Steuerung übergeben | EMS oder PCS haben den Schreibzugriff bestätigt | Ob örtliche Grenzen ihn zulassen |
| Zustand bestätigt | Aktiver Sollwert und Betriebsart wurden zurückgelesen | Ob die Leistung folgt |
| Ergebnis gemessen | Der vereinbarte Zähler zeigt die Reaktion innerhalb der Toleranz | Verhalten nach dem Zeitfenster |
Jede Protokollbestätigung belegt nur eine Übertragungsstrecke. HTTP 202 Accepted bedeutet, dass die Anforderung zur Bearbeitung angenommen wurde, die noch nicht abgeschlossen ist. Ein MQTT PUBACK quittiert ein QoS-1-PUBLISH. Prüfen Sie bei MQTT 5 den Reason Code: Werte ab 0x80 bedeuten eine Ablehnung. Ein erfolgreiches PUBACK vom Broker bestätigt die Annahme durch diesen Broker, nicht den Empfang durch einen Abonnenten oder eine Aktion der Batterie. QoS 0 hat keine Bestätigung; QoS 2 verwendet PUBREC, PUBREL und PUBCOMP.
Ein Modbus-Schreibzugriff auf ein Register (Funktion 06) sendet ein Echo der Anforderung zurück. Ein Schreibzugriff auf mehrere Register (Funktion 16) bestätigt Startadresse und Anzahl geschriebener Register. Das Echo belegt, dass das Gerät den Frame verarbeitet hat. Viele PCS nehmen den Schreibzugriff an, begrenzen den Wert aber anschließend oder ignorieren ihn, weil er außerhalb des zulässigen Bereichs liegt, das Gerät im lokalen Modus ist oder eine andere Quelle Vorrang hat. Lesen Sie zur Zustandsprüfung den aktiven Sollwert zurück. Bei vielen PCS liegt er in einem anderen Register als der angeforderte Wert. Keine dieser Bestätigungen misst die Batterieleistung.
Zusammengehörige Daten protokollieren
Erfassen Sie für jeden Befehl:
- eine Befehlskennung, die Zielanlage und das anfordernde System;
- den angeforderten Wert mit Einheit und Vorzeichenregel;
- Ausgabezeitpunkt und Ablaufzeit;
- jede Bestätigung mit ihrer Zeit, verknüpft mit der Befehlskennung;
- den zurückgelesenen aktiven Sollwert und die PCS-Betriebsart;
- Ladezustand sowie momentan zulässige Lade- und Entladeleistung;
- die am vereinbarten Zähler gemessene Leistung mit dem Zeitpunkt der Messung, nicht dem Zeitpunkt ihres Eintreffens.
Uhren synchronisieren
Das Protokoll lässt sich nur zuordnen, wenn alle Geräte dieselbe Zeitbasis verwenden. Die Befehlszeit stammt von der Plattform, die Schreibzeit vom Gateway und die Messzeit vom Zähler. Weichen diese Uhren um 300 ms voneinander ab, scheint eine rechtzeitig begonnene DC-Reaktion gegenüber der Grenze von 0,5 s zu spät zu beginnen.
In einem wenig belasteten Ethernet-LAN kann NTP eine Uhr auf etwa 100 µs genau halten. Über eine interkontinentale Internetverbindung kann der Fehler mehrere zehn Millisekunden betragen; asymmetrische Wege können 100 ms oder mehr verursachen. Verwenden Sie für 20-Hz-Daten eine Zeitquelle am Standort: einen GNSS-Empfänger oder einen NTP-Server im Standort-LAN, der mit GNSS synchronisiert wird. Versehen Sie Messwerte am Messpunkt mit einem UTC-Zeitstempel. NESO weist in Leistungsdateien Zeilen zurück, deren Zeitstempel keine exakten Vielfachen des Abtastintervalls sind, bei 20 Hz also 50 ms.
Durchgerechnetes Beispiel
Ein Aggregator fordert 500 kW Entladung, beginnend sofort und für 30 Minuten. Bewertet wird am Zähler des Batterieabgangs. Vereinbart sind volle Leistung innerhalb von 5 s und Minutenmittelwerte innerhalb von ±3 % (15 kW). Das PCS behandelt Entladung als positiv. Die Zahlen dienen nur als Beispiel.
| Zeit (UTC) | Stufe | Nachweis |
|---|---|---|
| 14:00:00.210 | Angenommen | Befehl c-0412, +500 kW, auszuführen bis 14:00:30. Die API antwortet mit 202. |
| 14:00:01.040 | An die Steuerung übergeben | Das Gateway schreibt den Sollwert mit Funktion 16. Das Echo trifft 25 ms später ein. |
| 14:00:01.310 | Zustand bestätigt | Zurückgelesen: aktiver Sollwert +500 kW, Betriebsart Fernsteuerung, zulässige Entladung 1.000 kW |
| 14:00:02.900 | Ergebnis gemessen | Der Batterieabgangszähler überschreitet 475 kW, also 95 % der Anforderung |
| 14:00:03.600 | Ergebnis gemessen | Der Batterieabgangszähler zeigt 498 kW |
| 14:02:00 | Ergebnis gemessen | Der Minutenmittelwert von 14:01 bis 14:02 beträgt 497 kW. Bestanden. |
Im selben Zeitraum sank der Bezug am Netzzähler um 440 kW, nicht um 500 kW. Um 14:00:40 sprang eine Kältemaschine mit 55 kW an, wie ihr Unterzähler zeigt; etwa 5 kW entfielen auf Transformator- und Leitungsverluste. Ohne Baseline erscheint dieselbe Reaktion am Netzzähler als 88 % Lieferung.
Führen Sie denselben Befehl nun bei 11 % Ladezustand aus. Das Schreib-Echo ist identisch. Beim Zurücklesen stehen aktiver Sollwert und zulässige Entladung auf 300 kW. Das Protokoll zeigt die Begrenzung mit ihrem Grund bereits bei der Stufe „Zustand bestätigt“, etwa 1 s nach dem Befehl. Ohne Zurücklesen fällt die Minderlieferung erst bei der Abrechnung auf.
Zeitüberschreitungen und Wiederholungen
Eine Zeitüberschreitung bedeutet, dass das Ergebnis unbekannt ist. Die Batterie kann reagiert haben, während ihre Antwort verloren ging. Lesen Sie vor jedem erneuten Versuch den aktiven Sollwert und die gemessene Leistung.
Vereinbaren Sie die Befehlsverarbeitung schriftlich mit dem PCS-Lieferanten. Geben Sie jedem Befehl eine Kennung. Verfügt das PCS über ein Befehlskennungs- oder Sequenzregister, schreiben Sie Kennung und Sollwert gemeinsam und lesen Sie sie zurück. So löst eine Wiederholung mit derselben Kennung keine zweite Wirkung aus. Ein neuer Befehl ersetzt den alten; der letzte Schreiber hat Vorrang. Das Zurücklesen zeigt, welcher Befehl gilt. Brechen Sie mit einem ausdrücklichen Befehl ab, meist null Leistung oder Rückkehr zum lokalen Modus, nicht durch Schweigen. MQTT QoS 1 liefert mindestens einmal. Ein wiederholter Anwendungsbefehl kann mit DUP=0 eintreffen; DUP kennzeichnet die erneute Übertragung eines MQTT-Pakets und ist kein verlässliches Duplikatmerkmal auf Anwendungsebene. Erkennen Sie Duplikate anhand der Anwendungsbefehlskennung, unabhängig von DUP.
Spielen Sie einen abgelaufenen Befehl nach Wiederherstellung einer Verbindung niemals erneut ein. Eine zehn Minuten verspätete Entladeanforderung ist eine neue, nicht angeforderte Entladung. Prüfen Sie die Ablaufzeit am Empfänger anhand einer synchronisierten Uhr; nur er weiß, wann der Befehl eingetroffen ist. Zwei MQTT-Funktionen können nach einer Wiederverbindung einen veralteten Sollwert liefern: eine Retain-Nachricht, die der Broker an neue Abonnenten sendet, und eine persistente Sitzung, die QoS-1- und QoS-2-Nachrichten für einen getrennten Client vorhält. Das MQTT-5-Message-Expiry-Interval lässt den Broker eine Kopie löschen, deren Übertragung er vor Fristablauf noch nicht begonnen hat. Es stoppt weder eine bereits begonnene Übertragung noch eine Nachricht, die ein Gateway selbst gepuffert hat. Führen Sie die Ablaufzeit in der Nutzlast mit und prüfen Sie sie am Gateway.
Auch das PCS braucht eine Grenze für veraltete Sollwerte. Viele PCS haben einen Kommunikations-Watchdog: Aktualisiert die Steuerung ein Heartbeat-Register nicht rechtzeitig, schaltet das PCS auf einen Rückfallwert. Das SunSpec-Modell für Immediate Controls (Modell 123) gibt der Leistungsgrenze mit WMaxLimPct_RvrtTms eine eigene Rückfallzeit. Vereinbaren Sie den Rückfall schriftlich: null Leistung, den Zeitplan des lokalen EMS oder das Halten des letzten Sollwerts für eine feste Zeit. Den letzten Sollwert zu halten ist riskant, weil eine Entladung bei Verbindungsverlust weiterlaufen kann.
Grenzen sichtbar machen
Protokollieren Sie die vom PCS gemeldete zulässige Lade- und Entladeleistung bei jedem Befehl, nicht erst bei einem Fehler. Kann die Batterie nicht liefern, zeigen Sie den gemeldeten Grund: Ladezustand, Leistungsbegrenzung, temperaturbedingte Leistungsreduzierung, Alarm, Wartungsmodus oder eine Steuerung mit höherer Priorität. Meldet die Batterie keinen Grund, vermerken Sie „unbekannt“. Leiten Sie keinen Grund allein aus der Minderleistung ab.
Vereinbaren Sie, welche Steuerung Vorrang hat, wenn Zeitplan, Aggregatoranforderung und lokale Grenze einander widersprechen. Batterieschutz und Verriegelungen des Standorts müssen wirksam bleiben. Ein Gateway darf niemals eine Verriegelung umgehen, nur um einen Fernbefehl erfolgreich erscheinen zu lassen.
Prüfablauf bei der Inbetriebnahme
Führen Sie jeden Test in Anwesenheit des Anlagenverantwortlichen durch und bewahren Sie das Stufenprotokoll dazu auf.
- Normaler Befehl. Entladung innerhalb der Grenzen. Bestanden: Alle Stufen sind unter einer Befehlskennung protokolliert und der vereinbarte Zähler erreicht den Sollwert innerhalb von Zeit und Toleranz.
- Begrenzter Befehl. Anforderung über der zulässigen Entladeleistung. Bestanden: Der zurückgelesene Sollwert zeigt die Begrenzung, das Protokoll den Grund und die gemessene Leistung entspricht dem begrenzten Sollwert.
- Duplikat. Dieselbe Befehlskennung zweimal senden. Bestanden: Die Batterie führt den Befehl nur einmal aus.
- Ablaufzeit. Einen Befehl nach Ablauf seiner Frist zustellen. Bestanden: Das Gateway lehnt ihn ab und protokolliert die Ablehnung; die Batterie behält ihren aktuellen Sollwert oder den Rückfallwert.
- Verbindungsverlust. Die Verbindung während einer Entladung trennen. Bestanden: Das PCS geht innerhalb der Watchdog-Zeit auf den vereinbarten Rückfallwert. Nach Wiederherstellung setzt die Batterie den alten Sollwert nicht fort.
- Neustart. Gateway oder EMS während eines Befehls neu starten. Bestanden: Danach gilt der Rückfallwert oder ein noch gültiger Befehl; das Protokoll weist aus, welcher.
- Konkurrierende Steuerung. Lokale Übersteuerung während eines Fernbefehls. Bestanden: Die lokale Übersteuerung hat Vorrang und das entfernte System protokolliert den Befehl mit Grund als überschrieben.
Der Leitfaden zur lokalen Steuerung erweitert diese Fälle zu einer Fehlermatrix für den ganzen Standort.
Batteriesteuerung mit EpiSensor
Der ZDR-22 ist die Batteriesteuerungsvariante des ZDR Demand Response Controllers. Er folgt der Netzfrequenz, sendet über Modbus RTU einen veränderlichen Sollwert an Batterie oder USV und misst die Versorgung mit Klasse 0.5S. Er zeichnet Ereignisse in 20-ms-Abständen mit GPS-Zeitstempeln auf. Gesendeter Sollwert und gemessene Reaktion liegen damit auf derselben Zeitbasis; sie decken die Befehls- und Ergebnisstufe der obigen Tabelle ab.
Ein Gateway mit Edge kann die PCS-Register einschließlich aktivem Sollwert und zulässiger Leistung sowie die Standortzähler über Modbus abfragen. Es versieht jeden Messwert bei der Abfrage mit einem Zeitstempel und hält die Historie auf dem Gateway vor. Ein Ausfall der Plattformverbindung hinterlässt so keine Lücke im lokalen Protokoll. Edge Automation läuft auf dem Gateway und wendet die Ablaufregel auf eigene zeitgesteuerte Aktionen an. Nach einem Neustart sendet sie einen gespeicherten Endbefehl höchstens fünf Minuten nach dessen Frist. Danach spielt sie den Befehl nicht erneut ein. Sie meldet den abgelaufenen Befehl und fordert zur Prüfung der Anlage auf.
Häufige Fragen
Wie prüfe ich, ob eine Batterie einem Abrufbefehl gefolgt ist?
Protokollieren Sie jede Stufe unter einer Befehlskennung: Annahme der Anforderung, Modbus-Schreib-Echo, zurückgelesenen aktiven Sollwert am PCS und gemessene Leistung am vereinbarten Zähler über das vereinbarte Zeitfenster. Versehen Sie alles mit Zeitstempeln derselben synchronisierten Zeitbasis. Ein erfolgreicher API-Aufruf oder Registerschreibzugriff belegt nur die ersten Stufen.
Warum hat die Batterie die angeforderte Leistung nicht geliefert?
Lesen Sie die momentan zulässige Lade- und Entladeleistung und den aktiven Sollwert des PCS zum Befehlszeitpunkt. Liegt der aktive Sollwert unter der Anforderung, hat das PCS ihn begrenzt; Alarm-, Betriebsart- und Ladezustandswerte können den Grund zeigen. Entspricht der Sollwert der Anforderung, aber die gemessene Leistung nicht, prüfen Sie Zähler, Vorzeichenregel und weitere Lasten hinter dem Zähler.