Upravitelj polnjenja cFos omogoča dinamično vrednotenje formul. Ta funkcionalnost je na voljo za števec vrste "Izraz" in za pravila za zaračunavanje vrste "Formula".
Zato lahko nastavite števce, ki izračunavajo vrednosti iz drugih števcev ali naprav EVSE ter jih hranijo in prikazujejo. Pravila za polnjenje lahko uporabljajo tudi formule za dinamično izračunavanje polnilnega toka ter dostopajo tudi do števcev in EVSE (vključno z števci tipa "Expression").
S formulami so možne naslednje operacije:
+ - * / % | Seštevanje, odštevanje, množenje, deljenje, modul |
& | | bitni AND in OR |
^ | Izračun moči, npr. 10^2 = 100 |
min(x,y) | Najmanj x in y, možna sta več kot 2 argumenta |
max(x,y) | Največ x in y, možna sta več kot 2 argumenta |
abs(x) | Absolutna vrednost x, npr. abs(-2) = 2 |
clamp(x,min,max) | Vrednost x = min (če je x < min), x = max (če je x > max), sicer ohrani x |
sqrt(x) | Zaokrožite x na celo število. Primer: Zaokroževanje na eno decimalno mesto: round(10*x)/10. |
sqrt(x) | Kvadratni koren x |
exists(x) | true, če spremenljivka x obstaja, sicer false |
Poleg tega so mogoči naslednji logični izrazi:==
(enako), !=
(neenako), <
(manj), <=
(manj enako), >
(večje), >=
(večje enako), !
(ne), ||
(logični Or), &&
(logični And), ?
(pogojni operator, npr. x ? y : z
, vrne y, če je x res, sicer z
)
To omogoča, da se tok na primer izklopi glede na razmere: M1.current >= 6500 ? M1.current : 0
vrne tok M1, če je večji od 6,5 A, in 0 v nasprotnem primeru, kar ustavi polnjenje. Za take pogoje je mogoče poizvedovati tudi po vhodih (glej spodaj)
Možna so naslednja imena:
Mx | Merilnik z ID enote x, npr. M1 |
Ex | EVSE z ID naprave x, npr. E1 |
Dostop do virtualnih števcev, kot so presežek sončne energije, poraba omrežja ali "Power avail. for EVSEs" (moč, ki je na voljo za wallboxe), je mogoč tudi z nastavitvijo števca in nato z uporabo ustreznega ID naprave v formuli.
Do posameznih vrednosti enot lahko nato dostopate s pomočjo točke. Te se imenujejo na naslednji način:
current_l1 | Tok faze 1 v mA |
current_l2 | Tok faze 2 v mA |
current_l3 | Tok faze 3 v mA |
current | Tok trenutne faze v mA (pri pravilih za polnjenje upravitelj polnjenja poizveduje po vseh fazah eno za drugo; pri števcih tipa "Izraz" se uporablja ustrezna faza, na katero se nanaša formula. Če ste določili formulo za "Tok L1", lahko izpustite polji za Tok L2 in L3. Potem se uporabi formula za tok L1.) |
power_va | Trenutna moč v vatih/VA (odvisno od vrste merilnika se lahko tukaj navede navidezna ali aktivna moč) |
power_w | Trenutna aktivna moč v vatih |
opower_va | Wallbox: Ponujena trenutna moč v VA za vse 3 faze. |
import_wh | Porabljena energija v Wh |
export_wh | Vbrizgana energija v Wh |
dt | Čas, ki je pretekel od zadnje pretekle posodobitve (v sekundah) |
inputN | Vhodna številka N enote, 1 = aktivno, 0 = neaktivno |
soc | SOC, stopnja napolnjenosti v odstotkih (števec/skladišče) |
id | Id naprave, Modbus ID |
txn_duration | Trajanje trenutne transakcije v sekundah (EVSE) |
txn_energy | Napolnjena energija trenutne transakcije v Wh (EVSE) |
min_current | Najmanjši polnilni tok v mA (EVSE) |
max_current | Največji polnilni tok v mA (EVSE) |
state | Status: 1 čakanje, 2 priključen, 3 polnjenje, 4 polnjenje s prezračevanjem, 5 napaka, 6 brez povezave (EVSE) |
cphases | Število faz polnjenja (0-3) |
pphases | Število predvidenih faz polnjenja (0-3) |
budget | KWh na podlagi veljavnega proračuna |
budget_amount | V trenutnem proračunu največ kWh |
budget_used | KWh, porabljenih v tekočem proračunu |
com_err | 1, če je prišlo do napake COM, sicer 0 |
com_err2 | 1, če je napaka COM prisotna dlje kot 12 sekund, sicer 0 |
M1.current_l1 | Tok števca M1, faza 1 |
E2.import_wh | Porabljeni Wh EVSE E2 |
E3.power_va | Trenutna moč polnjenja iz E3 |
Če uporabljate formule za merilnik tipa "Izraz", lahko ID naprave tudi izpustite. Potem se imena polj nanašajo na ta števec, npr. "power_va" je potem moč tega števca v vatih/VA. Za uresničitev nekaj razširjenih funkcij lahko uporabite "dt", npr. pri merilniku tipa "Izraz":
import_wh + M1.power_va * dt / 3600
posodobi pridobljeno energijo na podlagi moči v preteklem času posodobitve(power_va * (20 - dt) + M1.power_va * dt) / 20
zgladi moč v zadnjih 20 sekundah.date
date.year | Tekoče leto |
date.month | Mesec od 0..11 |
date.day | Dan od 1..31 |
date.weekday | Delovni dan Po=0, Tor=1, ... Ne=6 |
date.yearday | Dan v letu od 0..366 |
date.hour | Ura od 0..23 |
date.minute | Minuta od 0..60 |
date.second | Drugi od 0..60 |
date.daysecond | Drugi dan tega dne od 0..86399 |
date.dayminute | Minuta tega dne od 0..1439 |
date.dst | 0 = zimski čas, 1 = poletni čas |
PB (cFos Power brain only)
PB.input1 | S0 Input 1, 1 = aktivno, 0 = neaktivno |
PB.input2 | S0 Input 2, 1 = aktivno, 0 = neaktivno |
CM Spremenljivke upravitelja polnjenja
Te spremenljivke lahko upravitelj nastavi v razdelku "Konfiguracija". Na primer, če upravitelj nastavi spremenljivko 'var_x' na 1,5, CM.var_x vrne vrednost 1,5.
Vnaprej določene spremenljivke:
_num_charging: Število stenskih omaric, ki se trenutno polnijo
_num_charging1: Število trenutno polnih wallboxov, 1, če se ne polni noben
_max_total_current: Največji tok hišnega priključka v mA na fazo
_max_total_evse_current: Največji tok za stenske omarice v mA (na fazo)
_price: trenutna cena električne energije
_price_level: Trenutna raven cen električne energije, -2 = zelo draga, -3 = draga, -4 = normalna, -5 = poceni, -6 = zelo poceni _surplus: Trenutni presežek sončne energije v vatih _org_surplus: Presežek sončne energije, ki bi ga upravitelj zaračunavanja izračunal neodvisno od svojih formul
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
Dodatno želite omejiti polnilni tok glede na števec porabe stanovanja. To lahko storite tako, da določite pravilo za polnjenje s formulo 16000 - M1.current
.
M1 je števec, ki meri porabo stanovanja. Upravljanje obremenitve upravitelja polnjenja cFos najprej poskuša EVSE zagotoviti največji tok glede na moč hišnega priključka, nato pa ga omeji na 16 A minus poraba stanovanja.