Řízení BESS (bateriového úložiště) v jednotce NPA R04
Platí pro verzi NPA R04: 2.13.beta21 · Vytvořeno: 2026-06-10
Tento dokument popisuje, jak jednotka NPA R04 řídí bateriová úložiště (BESS), jaká nastavení má uživatel k dispozici a jak správně naladit regulátor BESS — včetně příkladů chování při různých dopravních zpožděních a ukázek špatného nastavení (kmitání, dlouhé ustálení).
1. Princip řízení
Jednotka měří výkon v předávacím místě (elektroměr TML — na hranici s distribuční sítí) a podle zvoleného režimu vypočítává požadovaný výkon BESS. Ten se posílá střídačům baterií jako procento instalovaného výkonu střídačů BESS, samostatně pro každou fázi.
Znaménková konvence (platí v celém systému):
| Znaménko | Význam |
|---|---|
| − (záporný výkon BESS) | nabíjení baterie |
| + (kladný výkon BESS) | vybíjení baterie (dodávka do objektu/sítě) |
Regulační smyčka běží každých 0,5 s:
elektroměr TML ──► NPA R04 (regulátor PI) ──► povel % výkonu ──► střídač BESS
▲ │
└──────────────── změna výkonu se projeví na TML ◄───────────────┘
Regulátor tedy nikdy nepočítá výkon „napřímo" — postupně přibližuje výkon baterie tak, aby se měřená hodnota na TML dostala na požadovanou (tzv. uzavřená smyčka). Díky tomu funguje i při nepřesné znalosti spotřeby objektu, ale jeho rychlost a stabilita závisí na správném nastavení konstant regulátoru (kapitola 4).
2. Režimy řízení BESS
Režimy se vyhodnocují v tomto pořadí priority. Aktivní je vždy první režim, jehož podmínka platí. Při přepnutí režimu se regulátor resetuje (integrátor začíná od nuly), aby si nepřenášel „setrvačnost" z předchozího režimu.
2.1 Nabíjecí limit přetoků (priorita 1)
Tovární nastavení → „Nastavení limitu výkonu přetoků pro nabíjení (TML)"
Pokud přetok do distribuční sítě překročí nastavený limit a SOC baterie je menší než „SOC max.", baterie se nabíjí tak, aby přetok na TML zůstal na nastaveném limitu. Přebytek výroby se místo do sítě ukládá do baterie.
| Parametr | Klíč konfigurace | Význam |
|---|---|---|
| Limit přetoku [W] | fs_limitChrTml |
cílová hodnota přetoku na TML |
| Aktivace | fs_limitChrTmlsw |
zapnutí režimu |
| SOC max. [%] | fs_limitChrTmlPrc |
nad tímto SOC se režim nepoužije (výchozí 90 %) |
| Horní mez SoC [%] | fs_limitChrUpSoC |
tvrdá mez nabíjení baterie |
2.2 Vybíjecí limit odběru (priorita 2)
Tovární nastavení → „Nastavení limitu výkonu odběru pro vybíjení (TML)"
Pokud odběr ze sítě překročí nastavený limit a SOC je větší než „SOC min.", baterie se vybíjí a kryje část spotřeby objektu tak, aby odběr na TML zůstal na limitu.
| Parametr | Klíč konfigurace | Význam |
|---|---|---|
| Limit odběru [W] | fs_limitDchrTml |
cílová hodnota odběru na TML |
| Aktivace | fs_limitDChrTmlsw |
zapnutí režimu |
| SOC min. [%] | fs_limitDchrTmlPrc |
pod tímto SOC se režim nepoužije (výchozí 10 %) |
| Dolní mez SoC [%] | fs_limitDchrDwnSoC |
tvrdá mez vybíjení baterie |
2.3 Peak shaving — řízení ¼hodinového maxima (priorita 3)
Placené funkce → „BESS - řízení spotřeby objektu - Peak Shaving"
(fs_PeakShavingBESS)
Regulátor sleduje průměrný výkon ve čtvrthodinových intervalech (stejně jako měří distributor). Pokud by průměr překročil „Celkový rezervovaný příkon" (SoP), baterie se vybíjí a špičku ořízne. Chování dále závisí na SOC:
- SOC > rezerva SOC
(
fs_PeakShavingBESSprc, výchozí 33 %):- hrozí-li překročení ¼h maxima → baterie vybíjí (řeší špičku),
- jinak baterie symetrizuje fáze (vyrovnává nesymetrii odběru mezi L1/L2/L3),
- je-li přebytek vlastní výroby → baterie se nabíjí z přebytků.
- SOC < rezerva SOC: baterie se okamžitě dobíjí (i ze sítě), aby měla rezervu na příští špičku.
Volitelně lze zapnout „synchronizace ¼ hod. maxima"
(fs_PeakShavingCmd), aby čtvrthodiny jednotky běžely shodně
s měřením distributora.
2.4 Bez příkazu (priorita 4)
Pokud žádný režim není aktivní, regulátor stáhne výkon baterie plynule k nule (baterie nenabíjí ani nevybíjí).
3. Nadřazená omezení (platí ve všech režimech)
Vypočtený povel regulátoru se před odesláním do střídače ještě ořízne podle:
- Mezí SoC — horní mez nabíjení
(
fs_limitChrUpSoC), dolní mez vybíjení (fs_limitDchrDwnSoC); tvrdá pojistka min. 12 % SOC je vždy aktivní. Bez dostupného měření SOC se baterie nenabíjí. - Výkonových stupňů Ch/Dch — povely
Ch_BESS_reg/Dch_BESS_reg(z Modbus tabulky nebo lokálně) volí stupeň 1–4 s maximálním nabíjecím/vybíjecím výkonem (fs_BESSCh1…4,fs_BESSdCh0…4) pro výrobnu, rozpadové místo nebo zařízení. - Povelů distribuce — regulační stupně P
(
SPG_reg),PowerLimita požadovaný výkon rozpadového místa mají přednost před vybíjením. - Ručního nastavení — „Globální nastavení
nabíjecího/vybíjecího výkonu BESS" (
fs_GlobalBESS,fs_GlobalBESSdCh) aPowerLimitBessnastaví výkon napevno a regulátor obejdou.
4. Regulátor BESS
4.1 Jak funguje
BESS používá PI regulátor (proporcionálně-integrační), společný pro všechny režimy. Každých 0,5 s spočítá:
odchylka e = požadovaná hodnota − měřená hodnota [% výkonu střídačů BESS]
integrál I += e / Ti (Ti = I+ pro e > 0, I− pro e < 0)
výstup y = K·e + I (ořezán na povolený rozsah, např. −100…0 % při nabíjení)
- P složka (konstanta K) reaguje okamžitě, úměrně velikosti odchylky.
- I složka (konstanty I+ / I−) odchylku postupně „dointegrovává" k nule. Konstanty jsou dělitele: čím menší číslo, tím rychlejší (a méně stabilní) regulace. Oddělené I+ a I− umožňují jinou rychlost pro zvyšování a snižování výkonu.
- Hodnota 0 = složka vyřazena. P = 0 vypne proporcionální složku (výchozí stav, regulátor pracuje jen integračně). I+ = 0 nebo I− = 0 vyřadí celou integrační složku a její akumulace (integrátor) se vymaže — regulátor pak reaguje jen P složkou.
- Regulátor má anti-windup (integrátor se zastaví při dosažení limitu výkonu) a omezení nesymetrie mezi fázemi.
4.2 Parametry a výchozí hodnoty
Placené funkce → tabulka „Regulátor BESS (Battery Energy Storage System)"
| Parametr | Klíč | Výchozí | Význam |
|---|---|---|---|
| P | fs_reg4_k |
0 | proporcionální zesílení |
| I+ | fs_reg4_i+ |
20 | integrační konstanta pro kladnou odchylku |
| I− | fs_reg4_i- |
20 | integrační konstanta pro zápornou odchylku |
Orientační převod na čas: při kroku 0,5 s a čistě integračním řízení (K = 0) odpovídá konstanta I = 20 časové konstantě cca 10 s — regulátor odstraní zhruba 63 % skokové odchylky za ~10 s a prakticky se ustálí za ~30–50 s. Obecně:
časová konstanta ≈ I × 0,5 s doba ustálení ≈ 3–5 × časová konstanta
Plynulý náběh bez skoku. Regulátor BESS nemá
dopřednou vazbu (výstup je jen y = K·e + I), proto při
K = 0 výstup při změně požadované hodnoty
neskočí — povel startuje z aktuální hodnoty integrátoru
a plynule, monotónně a bez překmitu se blíží k cíli (čistá integrace =
exponenciální asymptota). Rychlost náběhu pak řídí jedině I+ / I−.
Tabulka pro volbu I podle požadované doby náběhu (vždy K =
0, I+ = I−):
| I+ = I− | Časová konstanta τ ≈ I·0,5 s | ~95 % cíle (3τ) | ~99 % cíle (5τ) |
|---|---|---|---|
| 20 (výchozí) | ~10 s | ~30 s | ~50 s |
| 40 | ~20 s | ~60 s | ~100 s |
| 60 | ~30 s | ~90 s | ~150 s |
| 120 | ~60 s | ~180 s | ~300 s |
- Chceš-li, aby se výkon řádově za minutu prakticky dorovnal na požadovanou hodnotu → I = 40 (na ~95 % za minutu).
- Chceš-li, aby samotná časová konstanta byla minuta (pomalejší, plné ustálení ~3–5 min) → I = 120.
I+ a I− nech stejné, ať je náběh i pokles symetrický (různé hodnoty = rozdílná rychlost pro vybíjení vs. nabíjení, viz kap. 4.4). Pozor: tato plynulost platí uvnitř jednoho režimu — při přepnutí režimu se integrátor resetuje na nulu (kap. 2), takže tam povel BESS skočí na 0 a teprve pak plynule najíždí.
4.3 Dopravní zpoždění — proč na něm záleží
Mezi povelem a jeho projevem na elektroměru TML uplyne dopravní zpoždění dané řetězcem:
čtení elektroměru (0,5–2 s) + krok regulace (0,5 s) + zápis do střídače (0,5–2 s)
+ reakce/rampa střídače (1–10 s i více) + průměrování elektroměru
| Typ připojení BESS | Typické zpoždění |
|---|---|
| Střídač přímo na lokální RS-485/Modbus TCP, rychlá rampa | 1–3 s |
| Střídač přes datalogger / sběrnou bránu (např. Logger1000) | 5–15 s |
| Pomalá rampa měniče, cloudová cesta | 10–30 s |
Zlaté pravidlo: časová konstanta regulátoru (I × 0,5 s) má být alespoň 2–4× delší než dopravní zpoždění. Regulátor nesmí stihnout „naintegrovat" celý zásah dříve, než vůbec uvidí účinek předchozího povelu — jinak zasahuje znovu a znovu na odchylku, která už je ve skutečnosti vyřešená, a vznikne překmit nebo kmitání.
4.4 Příklady nastavení
| Situace | Zpoždění | Doporučené P / I+ / I− | Chování |
|---|---|---|---|
| Výchozí (univerzální) | do ~4 s | 0 / 20 / 20 | ustálení za ~30–50 s, bez překmitu |
| Rychlý lokální střídač (RTU, rampa < 1 s) | 1–2 s | 0 / 8 / 8 (příp. P = 0,01) | ustálení za ~12–20 s |
| Střídač přes bránu / datalogger | 5–15 s | 0 / 40 / 40 | ustálení za ~1–2 min, stabilní |
| Velmi pomalá cesta (cloud, dlouhá rampa) | 15–30 s | 0 / 60–100 / 60–100 | ustálení za jednotky minut — pomalé, ale jediné stabilní |
| Asymetrický požadavek: rychle ořezat špičku, pomalu povolovat | — | 0 / 10 / 40 | rychlý náběh vybíjení (I+), opatrný návrat (I−) |
Zvýšení P nad ~0,01–0,05 přidává rychlost první reakce, ale u smyček s delším zpožděním rychle vede k překmitům — u BESS doporučujeme nechávat P = 0 a ladit jen I.
4.5 Špatné nastavení → kmitání (příliš rychlý regulátor)
Příklad: brána s dopravním zpožděním ~6 s, nastaveno I+ = I− = 3 (časová konstanta jen 1,5 s, tedy 4× kratší než zpoždění).
Průběh při skokovém překročení vybíjecího limitu o 10 kW:
| Čas | Co regulátor vidí | Co udělá |
|---|---|---|
| 0 s | odběr o 10 kW nad limitem | rychle integruje výkon vybíjení nahoru |
| 0–6 s | stále vidí plnou odchylku (střídač ještě nereagoval) | integruje dál — povel naroste na násobek potřebného výkonu |
| 6 s | dorazí účinek: odběr spadne hluboko pod limit | odchylka obrátí znaménko, regulátor integruje zpět dolů |
| 6–12 s | opět vidí starou (už neplatnou) odchylku | podstřelí na druhou stranu |
| dále | … | trvalé kmitání s periodou ~2–4× zpoždění (zde ~15–25 s) |
Projevy: výkon baterie pendluje mezi nabíjením a vybíjením nebo mezi 0 a maximem, hodnota na TML osciluje kolem limitu a nikdy se neustálí, baterie zbytečně cykluje (opotřebení), střídač hlásí časté změny výkonu. Stejný efekt způsobí i příliš velké P (řádově > 0,1) — kmitání je pak rychlejší a tvrdší.
Náprava: zvětšujte I+ / I− (zpomalujte), dokud kmitání nezmizí, a pak přidejte ještě ~50 % rezervu. P vraťte na 0.
4.6 Špatné nastavení → dlouhé ustálení (příliš pomalý regulátor)
Příklad: lokální střídač se zpožděním ~2 s, nastaveno I+ = I− = 200 (časová konstanta 100 s).
Při stejném skoku 10 kW nad vybíjecí limit regulátor přidává výkon tak pozvolna, že:
- odběr na TML klesá k limitu 5–10 minut, po celou dobu platíte překročení,
- u peak shavingu je to kritické: čtvrthodina skončí dřív, než regulátor špičku ořízne — ¼h maximum se překročí, přestože baterie měla energii i výkon,
- u nabíjecího limitu přetoků uteče přebytek do sítě místo do baterie,
- při proměnlivé spotřebě (cykly strojů, výtahy) regulátor věčně „dohání" minulost a reálná odchylka se nikdy neodstraní.
Projevy: žádné kmitání, ale TML se k požadované hodnotě jen plíží; výkon baterie roste po malých krocích dlouhé minuty. Náprava: zmenšujte I+ / I− na polovinu, dokud nezačne být odezva svižná; zastavte se s rezervou před hranicí překmitu (kap. 4.5).
4.7 Doporučený postup ladění
- Začněte s výchozími hodnotami 0 / 20 / 20.
- Změřte dopravní zpoždění: ručně změňte „Globální nastavení vybíjecího výkonu BESS" a sledujte, za jak dlouho se změna projeví na TML (stránka stavu / Regulace).
- Nastavte I+ = I− ≈ 4–8× zpoždění v sekundách (protože krok je 0,5 s, odpovídá to časové konstantě 2–4× zpoždění).
- Vyvolejte skokovou změnu (zapnutí spotřebiče, změna limitu) a
sledujte odezvu:
- překmit / pendlování → I zvětšit (zpomalit),
- líné doplazení bez překmitu → I lze zmenšit.
- Ladí se vždy jen jedna konstanta najednou; mezi pokusy nechte smyčku ustálit.
Diagnostika: stránka Regulace ve web rozhraní
zobrazuje živý výpis regulátoru (Regulace BESS, hodnoty
mError, mIntegral, mBessActPower,
aktivní režim a jeho případné přepnutí). Stejný výpis je v logu
/dev/shm/npa.log.
5. Kapacita úložiště
Kapacita BESS je vlastnost jednotlivého zařízení
(dd_BESSCapacity), ne rozpadového místa. Interně se drží ve
Wh, v editaci a zobrazení se pracuje v
kWh.
5.1 Čtení z Modbusu
U podporovaných měničů se kapacita načítá přímo z Modbusu:
| Měnič | Registr | Zdroj hodnoty |
|---|---|---|
GoodWe (goodwe,
gw_15_50kw_bess, gw_15_50kw_inverter) |
37076 (BMS1) + 39074 (BMS2) | jmenovitá kapacita [kWh], součet obou baterií |
| GoldenSigma | 0x4010 + 0x4011 | nabíjitelná + vybíjitelná energie [kWh] (nemá samostatný registr jmenovité kapacity) |
| Deye | 102 (Batt_capacity) |
kapacita v Ah; energie se dopočítá
Ah × Udc (měřené DC napětí) — orientačně |
Měniče bez registru kapacity (např. GRES, SMA) hodnotu z Modbusu nečtou — zadává se ručně (viz dále).
5.2 Automaticky vs.
ručně (dd_BESSCapHand)
V editaci zařízení je u BESS pole Kapacita baterie [kWh] a fajfka „zadat ručně":
- bez fajfky (výchozí) — pole je jen ke čtení a plní se hodnotou z Modbusu; vedle je vždy informativně „z Modbusu načteno".
- s fajfkou (
dd_BESSCapHand = true) — hodnotu zadává uživatel; načtená z Modbusu slouží už jen jako informace a do configu se nepropisuje.
Automatický zápis do configu proběhne jen při změně > 10 %. Tím se zabrání neustálému přepisování configu při kolísání DC napětí (Deye) nebo měření (GoldenSigma).
5.3 Kapacita rozpadového místa
Kapacita BESS v editaci rozpadového místa je jen ke
čtení a počítá se jako součet
dd_BESSCapacity všech zařízení, která do místa
patří. Původní ručně zadávané lo_BESSCapacity se od verze
2.13.beta21 nepoužívá a při načtení configu se z
rozpadových míst maže.