cFos Charging Manager - vzorce

Správce nabíjení cFos umožňuje dynamické vyhodnocování vzorců. Tato funkce je k dispozici pro měřidlo typu "Výraz" a pro pravidla zpoplatnění typu "Vzorec".

Můžete proto nastavit měřiče, které vypočítávají hodnoty z jiných měřičů nebo zařízení EVSE a udržují je připravené a zobrazují je. Pravidla nabíjení mohou také používat vzorce pro dynamický výpočet nabíjecího proudu a také přistupovat k měřičům a EVSE (včetně měřičů typu "Expression").

Se vzorci lze provádět následující operace:

+ - * / %Sčítání, odčítání, násobení, dělení, modul
& |bitové AND a OR
^Výpočet výkonu, např. 10^2 = 100
min(x,y)Minimum x a y, možnost více než 2 argumentů
max(x,y)Maximálně x a y, možné více než 2 argumenty
abs(x)Absolutní hodnota x, např. abs(-2) = 2
clamp(x,min,max)Hodnota x = min (pokud x < min), x = max (pokud x > max), jinak ponechat x
sqrt(x)Zaokrouhlete x na celé číslo. Příklad: Zaokrouhlení na 1 desetinné místo: round(10*x)/10.
sqrt(x)Druhá odmocnina z x
exists(x)true, pokud proměnná x existuje, jinak false

Dále jsou možné následující logické výrazy:

== (rovná se), != (nerovná se), < (menší), <= (menší-rovná se), > (větší), >= (větší-rovná se), ! (ne), || (logické Nebo), && (logické A), ? (podmíněný operátor, např. x ? y : z, vrací y, pokud platí x, jinak z)

To umožňuje například vypnutí proudu v závislosti na podmínkách: M1.current >= 6500 ? M1.current : 0 vrátí proud M1, pokud je větší než 6,5 A, a 0 v opačném případě, čímž se nabíjení pozastaví. Pro tyto podmínky je také možné se dotazovat na vstupy (viz níže)

Možné jsou následující názvy:

MxMěřič s ID jednotky x, např. M1
ExEVSE s ID zařízení x, např. E1

Je také možné přistupovat k virtuálním měřičům, jako je přebytek solární energie, odběr ze sítě nebo "Power avail. for EVSEs" (výkon dostupný pro wallboxy), a to nastavením měřiče a následným použitím příslušného ID zařízení ve vzorci.

Pomocí bodu pak můžete přistupovat k jednotlivým hodnotám jednotek. Ty se vyvolávají následujícím způsobem:

current_l1Proud fáze 1 v mA
current_l2Proud fáze 2 v mA
current_l3Proud fáze 3 v mA
currentProud aktuální fáze v mA (u pravidel nabíjení se Charging Manager dotazuje na všechny fáze postupně; u měřičů typu "Expression" se použije příslušná fáze, na kterou se vzorec vztahuje. Pokud jste zadali vzorec pro "Proud L1", můžete pole pro proud L2 a L3 vynechat. Pak se použije vzorec pro proud L1)
power_vaProudový výkon ve wattech/VA (v závislosti na typu měřiče zde může být uveden zdánlivý výkon nebo činný výkon)
power_wAktuální činný výkon ve wattech
opower_vaWallbox: Aktuální nabízený výkon ve VA vztažený ke všem 3 fázím.
import_whEnergie odebraná ve Wh
export_whVstřikovaná energie ve Wh
dtDoba, která uplynula od poslední aktualizace (v sekundách)
inputNČíslo vstupu N jednotky, 1 = aktivní, 0 = neaktivní
socSOC, úroveň nabití v procentech (měřič/úložiště)
idID zařízení, ID Modbusu
txn_durationDoba trvání aktuální transakce v sekundách (EVSE)
txn_energyNabitá energie aktuální transakce ve Wh (EVSE)
min_currentMinimální nabíjecí proud v mA (EVSE)
max_currentMaximální nabíjecí proud v mA (EVSE)
stateStav: 1 čeká, 2 zapojeno, 3 nabíjení, 4 nabíjení s ventilací, 5 chyba, 6 offline (EVSE)
cphasesPočet fází nabíjení (0-3)
pphasesPočet předpokládaných fází nabíjení (0-3)
budgetKWh z běžného rozpočtu
budget_amountV aktuálním rozpočtu maximální kWh
budget_usedKWh spotřebovaných v rámci běžného rozpočtu
com_err1, pokud došlo k chybě COM, jinak 0
com_err21, pokud je chyba COM přítomna déle než 12 s, jinak 0

Příklad
M1.current_l1Proud měřiče M1, fáze 1
E2.import_whSpotřeba Wh z EVSE E2
E3.power_vaAktuální nabíjecí výkon z E3

Pokud použijete vzorce pro měřidlo typu "Expression", můžete ID zařízení také vynechat. Pak se názvy polí vztahují k tomuto měřiči, např. "power_va" je pak výkon tohoto měřiče ve Wattech/VA. Pomocí 'dt' můžete realizovat několik rozšířených funkcí, např. u měřiče typu "Expression":

  • Vzorec pro "import_wh": import_wh + M1.power_va * dt / 3600 aktualizuje získanou energii na základě výkonu v uplynulém čase aktualizace
  • Vzorec pro "power_va": (power_va * (20 - dt) + M1.power_va * dt) / 20 vyhlazuje výkon za posledních 20 sekund.

Globální proměnné

date

date.yearAktuální rok
date.monthMěsíc od 0..11
date.dayDen od 1..31
date.weekdayVšední den Po=0, Út=1, ... Ne=6
date.yeardayDen v roce od 0..366
date.hourHodina od 0..23
date.minuteMinuta od 0..60
date.secondDruhá od 0..60
date.daysecondDruhý den tohoto dne od 0..86399
date.dayminuteMinuta tohoto dne od 0..1439
date.dst0 = zimní čas, 1 = letní čas

PB (cFos Power brain only)

PB.input1S0 Input 1, 1 = aktivní, 0 = neaktivní
PB.input2S0 Input 2, 1 = aktivní, 0 = neaktivní

CM Proměnné správce nabíjení

Tyto proměnné může správce nastavit v části "Konfigurace". Pokud například správce nastaví proměnnou "var_x" na hodnotu 1,5, CM.var_x vrátí hodnotu 1,5.

Předdefinované proměnné:
_num_charging: Počet aktuálně nabíjených wallboxů
_num_charging1: Počet aktuálně nabíjených wallboxů, 1, pokud se žádný nenabíjí
_max_total_current: Maximální proud domovní přípojky v mA na fázi
_max_total_evse_current: Maximální proud pro wallboxy v mA (na fázi)
_cena: Aktuální cena elektřiny
_price_level: Aktuální úroveň cen elektřiny, -2=velmi drahá, -3=drahá, -4=normální, -5=levná, -6=velmi levná _surplus: Aktuální přebytek slunečního záření ve wattech _org_surplus: Solární přebytek, který by správce poplatků vypočítal nezávisle na svých vzorcích

Benutzung der globalen Objekte:
charge 8A starting at 8:00am: date.dayminute >= 480 ? 8000 : 0
charge 16A on Saturday and Sunday: date.weekday == 5 || date.weekday == 6 ? 16000 : 0
charge 6A if input 2 active: PB.input2 ? 6000 : 0 charge 6A if CM variable non-zero: cm.var1 ? 6000 : 0

Příklad aplikace

Chcete navíc omezit nabíjecí proud s ohledem na měřič spotřeby bytu. Za tímto účelem můžete nastavit pravidlo nabíjení podle vzorce 16000 - M1.current.
M1 je měřič, který měří spotřebu bytu. Řízení zátěže správce nabíjení cFos se nejprve snaží dodat EVSE maximální proud ve vztahu k příkonu domovní přípojky, ale poté jej omezí na 16 A minus spotřeba bytu.