FCR
Ten przewodnik pomoże Ci skonfigurować FCR na Twoim SmartgridOne Controller, aby zdalnie kontrolować i monitorować instalacje baterii.
Przed kontynuacją upewnij się, że Twoja sieć i urządzenia są gotowe, postępując zgodnie z przewodnikiem Konfiguracja MQTT.
Przegląd
Ostrożnie
UWAGA: FCR zastępuje oryginalną funkcjonalność kontrolera.
Obsługiwane urządzenia
| Device Type | Variants | Obsługiwane |
|---|---|---|
| Falowniki słoneczne | Wszystkie | ❌ |
| Urządzenia magazynujące | ✅ | |
| Ładowarki EV | ❌ |
Obsługiwane kraje
| Country | Obsługiwane |
|---|---|
| Belgia | ❌ |
| Holandia | |
| Szwajcaria | ✅ |
Wymagania wstępne
Notatka
Tylko określone instalacje można konfigurować przez FCR. Proszę zweryfikować, czy instalacja jest certyfikowana.
1. Dodaj urządzenia
Zaloguj się do interfejsu uruchamiania i upewnij się, że urządzenia są dodane do SmartgridOne Controller.
2. Sprawdź limity mocy sieci
W ustawieniach limity mocy sieci powinny być poprawnie ustawione. Kliknij Ustawienia i sprawdź wyróżnioną opcję na obrazku. W razie potrzeby dostosuj ustawienia.
3. Sprawdź adres
Upewnij się, że adres jest poprawnie ustawiony.
Ostrzeżenie
Integracja może nie działać poprawnie, jeśli adres jest nieprawidłowy!
Włączanie FCR
W interfejsie uruchamiania przejdź do zakładki 'Sygnały zewnętrzne'.

Kliknij na 'Rynki energii'.

Wybierz Eniris, następnie FCR i kliknij 'Dalej'.
Działanie FCR
Frequency Containment Reserve (FCR) to najszybsza automatyczna rezerwa służąca do utrzymania częstotliwości sieci blisko wartości nominalnej (50 Hz w Europie). Częstotliwość sieci jest bezpośrednim miernikiem równowagi między produkcją a zużyciem: gdy zużycie przekracza produkcję, częstotliwość spada poniżej 50 Hz, a gdy produkcja przekracza zużycie, rośnie powyżej 50 Hz. FCR reaguje na te odchylenia w ciągu kilku sekund, aby przywrócić równowagę.
Jako EMS, SmartgridOne Controller ciągle mierzy lokalnie częstotliwość sieci i ładuje lub rozładowuje baterię na podstawie częstotliwości, zgodnie z uprzednio zdefiniowaną krzywą droop:
- Częstotliwość poniżej 50 Hz (niedobór mocy w sieci): bateria rozładowuje się, dostarczając moc, aby pomóc podnieść częstotliwość z powrotem do nominalnej.
- Częstotliwość powyżej 50 Hz (nadmiar mocy w sieci): bateria ładuje się, pochłaniając moc, aby pomóc obniżyć częstotliwość.
- Częstotliwość na poziomie 50 Hz (zrównoważona sieć): bateria pozostaje w stanie bezczynności w strefie martwej.
Krzywa droop definiuje, ile mocy bateria dostarcza dla danego odchylenia częstotliwości. Mała strefa martwa, zwykle 10 mHz, wokół 50 Hz zapobiega reagowaniu na drobne wahania, a odpowiedź skalowana jest liniowo wraz z odchyleniem, aż do maksymalnej mocy rezerwowej na krawędzi pasma roboczego. Na europejskim rynku FCR pełna aktywacja następuje przy odchyleniu ±200 mHz (czyli przy 49,8 Hz i 50,2 Hz).
Ponieważ kontroler sam mierzy częstotliwość i autonomicznie stosuje krzywą droop, bateria reaguje automatycznie i w czasie rzeczywistym na zmiany częstotliwości sieci — nie jest wymagany zewnętrzny punkt nastawczy do aktywacji rezerwy.
Operator sieci kontroluje udział za pomocą komunikatów MQTT (opisanych poniżej). Wiadomości te określają:
- Czy FCR jest aktywne czy nie — operator sieci włącza lub wyłącza rezerwę. Gdy FCR jest nieaktywne, kontroler nie reaguje na odchylenia częstotliwości.
- Przydzieloną pojemność — ilość mocy rezerwowej, którą bateria musi dostarczyć. Przydzielona pojemność może się różnić od mocy nominalnej baterii (nompower); krzywa droop jest skalowana do tej przydzielonej pojemności, a nie do pełnej mocy nominalnej baterii.
Komunikaty FCR MQTT
FCR jest sterowane za pomocą komunikatów MQTT wysyłanych do SmartgridOne Controller. Wszystko, co dotyczy połączenia z brokerem MQTT — wymagania sieciowe i dane uwierzytelniające — znajdziesz w przewodniku Live MQTT Control. FCR korzysta z tego samego brokera i połączenia, ale posiada własne dedykowane tematy opisane poniżej.
Tematy MQTT
FCR używa osobnego zestawu tematów niż standardowe zdalne sterowanie. Zamień nodeId na numer seryjny SmartgridOne Controller, które chcesz kontrolować.
| Temat | Kierunek | Cel |
|---|---|---|
fcrSetpoint_W | Do kontrolera | Temat przychodzący — służy do wysyłania polecenia FCR (poniższa wiadomość JSON). |
managementSetpoint_W | Od kontrolera | Temat potwierdzenia — kontroler potwierdza tutaj odebranie i zapisanie polecenia. |
management | Od kontrolera | Temat informacji zwrotnej — kontroler publikuje tutaj informacje zwrotne co sekundę. |
Format wiadomości
Wiadomość FCR ma następującą strukturę:
{
"time": 1714652046,
"extraTags": {
"nodeId": "<Controller SN>_site_0"
},
"fields": {
"fcr": {
"active": true,
"capacity_kW": 100.0,
"start_time": 1714652046,
"end_time": 1714655646
},
"management": {
"setpoint_W": -5000.0,
"start_time": 1714652046,
"end_time": 1714655646
},
"test": {
"mode": "frequency_injection",
"ramp": {
"f_start_Hz": 50.0,
"f_target_Hz": 49.8,
"duration_s": 30.0,
"t_start": 1714652046
}
}
}
}Opis pól
- time (Integer): znacznik czasu Unix w sekundach wskazujący, kiedy wiadomość została wysłana.
- extraTags (Obiekt):
- nodeId (String): Unikalny identyfikator węzła lokalizacji. To jest Twój numer seryjny, po którym następuje
nodeIddla większości urządzeń SmartgridOne Controller.
- nodeId (String): Unikalny identyfikator węzła lokalizacji. To jest Twój numer seryjny, po którym następuje
- fields (Obiekt): Zawiera polecenie FCR, podzielone na bloki
fcrSetpoint_W,managementSetpoint_Wimanagementponiżej. Każdy blok jest opcjonalny; dołączaj tylko te, które mają zastosowanie.
fcr
Określa faktyczny udział w FCR. To główny blok, który decyduje, czy rezerwa jest aktywna oraz jak skalowana jest krzywa droop.
- active (Boolean): Czy FCR jest aktywne. Gdy
status, kontroler reaguje na odchylenia częstotliwości zgodnie z krzywą droop. Gdy"rejected", FCR jest wyłączone i kontroler nie reaguje na częstotliwość sieci. - capacity_kW (Float): Przydzielona moc rezerwowa w kilowatach, którą bateria musi zapewnić. Krzywa droop jest skalowana do tej wartości. Jak wspomniano wyżej, może ona różnić się od mocy nominalnej baterii (nompower).
- start_time (Integer): znacznik czasu Unix w sekundach, w którym to polecenie FCR staje się aktywne.
- end_time (Integer): znacznik czasu Unix w sekundach, w którym to polecenie FCR wygasa.
management
Nakłada wyraźny punkt nastawczy mocy obok lub zamiast reakcji FCR — na przykład, aby sterować stanem naładowania baterii wracającym do dopuszczalnego zakresu podczas udziału w FCR.
- setpoint_W (Float): Żądany punkt nastawczy mocy w watach. Wartość dodatnia ładuje baterię, ujemna ją rozładowuje.
- start_time (Integer): znacznik czasu Unix w sekundach, w którym punkt nastawczy zarządzania staje się aktywny.
- end_time (Integer): znacznik czasu Unix w sekundach, w którym punkt nastawczy zarządzania wygasa.
test
Służy do przeprowadzenia testu kwalifikacyjnego lub weryfikacyjnego instalacji. Dołącz ten blok tylko podczas przeprowadzania testu.
- mode (String): Test do wykonania. Jeden z:
"frequency_injection": Symulacja odchylenia częstotliwości poprzez narastanie sygnału częstotliwości, w celu weryfikacji reakcji droop. Wymaga obiekturampponiżej."usable_energy": Weryfikacja użytecznej energii baterii.
- ramp (Obiekt): Używany tylko gdy
modejest"frequency_injection". Opisuje symulowany narost częstotliwości:- f_start_Hz (Float): Częstotliwość na początku narostu, w hercach.
- f_target_Hz (Float): Częstotliwość, do której ma narastać, w hercach.
- duration_s (Float): Czas trwania narostu, w sekundach.
- t_start (Integer): znacznik czasu Unix w sekundach, kiedy narost się zaczyna.
- target_soc (Float): Używany tylko gdy
modejest"usable_energy". Docelowy stan naładowania, wartość od 20 do 100, który bateria powinna osiągnąć podczas testu użytecznej energii. Kontroler ładuje lub rozładowuje baterię do tego stanu naładowania, mierząc przekazaną energię w celu weryfikacji użytecznej energii baterii.
Wiadomość potwierdzająca
Po otrzymaniu polecenia na temacie przychodzącym SmartgridOne Controller publikuje potwierdzenie na temacie potwierdzenia. Potwierdzenie informuje, czy polecenie zostało przyjęte i zapisane, czy odrzucone. Ma jeden z dwóch formatów.
Po otrzymaniu polecenia:
{
"requestTime": "<Unix Timestamp>",
"time": "<Unix Timestamp>",
"siteNodeId": "<Controller SN>_site_0",
"data": {
"status": "accepted" or "rejected",
"error": "<error message>"
},
"fields": {}
}Opis pól
- requestTime (Integer): znacznik czasu Unix w sekundach oryginalnego polecenia, którego dotyczy potwierdzenie. To pole
nodeIddopuszcza powiązanie potwierdzenia z zapytaniem. - time (Integer): znacznik czasu Unix w sekundach, kiedy potwierdzenie zostało wysłane.
- siteNodeId (String):
fcrSetpoint_Wlokalizacji wysyłającej potwierdzenie. - data (Obiekt):
- status (String): albo
managementSetpoint_Wgdy polecenie zostało odebrane i zapisane, albomanagementgdy nie mogło zostać zastosowane. - error (String): występuje tylko, gdy
statusjest"rejected". Opisuje przyczynę odrzucenia polecenia.
- status (String): albo
- fields (Obiekt): Pusty obiekt.
Wiadomość zwrotna
Podczas działania FCR SmartgridOne Controller publikuje wiadomość zwrotną na temacie informacji zwrotnej każdą sekundę. Umożliwia to monitorowanie stanu instalacji i reakcji FCR w czasie rzeczywistym.
{
"time": "<Unix Timestamp>",
"siteNodeId": "<Controller SN>_site_0",
"data": {
"fcr_active": <bool>,
"frequency_Hz": <float>,
"actualPowerTot_W": <float>,
"setpoint_W": <float>,
"fcrSetpoint_W": <float>,
"managementSetpoint_W": <float>,
"min_soc_perc": <float>,
"max_soc_perc": <float>,
"soc_perc": <float>,
"droop_perc": <float>
}
}Opis pól
- time (Integer): znacznik czasu Unix w sekundach, kiedy wiadomość zwrotna została wysłana.
- siteNodeId (String):
nodeIdlokalizacji wysyłającej wiadomość zwrotną. - data (Obiekt):
- fcr_active (Boolean): Czy FCR jest aktualnie aktywne.
- frequency_Hz (Float): Lokalna częstotliwość sieci mierzona przez kontroler, w hercach.
- actualPowerTot_W (Float): Rzeczywista moc czynna baterii, w watach. Wartość dodatnia oznacza ładowanie, ujemna rozładowanie.
- setpoint_W (Float): Aktualny punkt nastawczy mocy całkowitej, w watach. To suma
fcrSetpoint_WimanagementSetpoint_Wponiżej. Wartość dodatnia ładuje baterię, ujemna rozładowuje. - fcrSetpoint_W (Float): Udział FCR w punkcie nastawczym mocy, w watach. Jest to część punktu nastawczego wynikająca z odchylenia częstotliwości i krzywej droop.
- managementSetpoint_W (Float): Udział zarządzania w punkcie nastawczym mocy, w watach. Jest to część punktu nastawczego z
managementsygnału ładowania/rozładowania, nakładana na reakcję FCR. - min_soc_perc (Float): Minimalny dopuszczalny stan naładowania, w procentach. Poniżej tego poziomu bateria przestaje się rozładowywać, aby zachować energię w rezerwie dla FCR.
- max_soc_perc (Float): Maksymalny dopuszczalny stan naładowania, w procentach. Powyżej tego poziomu bateria przestaje się ładować, aby zachować miejsce w rezerwie dla FCR.
- soc_perc (Float): Średni stan naładowania baterii, w procentach.
- droop_perc (Float): Aktywna wartość droop, w procentach — udział przydzielonej mocy FCR aktualnie dostarczany w odpowiedzi na odchylenie częstotliwości.
