NPA Jantar s.r.o.
← Zpět na dokumentaci
⬇ Stáhnout PDF

Ří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:

  1. 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í.
  2. 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í.
  3. Povelů distribuce — regulační stupně P (SPG_reg), PowerLimit a požadovaný výkon rozpadového místa mají přednost před vybíjením.
  4. Ručního nastavení — „Globální nastavení nabíjecího/vybíjecího výkonu BESS" (fs_GlobalBESS, fs_GlobalBESSdCh) a PowerLimitBess nastaví 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í

  1. Začněte s výchozími hodnotami 0 / 20 / 20.
  2. 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).
  3. 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í).
  4. 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.
  5. 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.