cFos Charging Manager - formule

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:

MxMerilnik z ID enote x, npr. M1
ExEVSE 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_l1Tok faze 1 v mA
current_l2Tok faze 2 v mA
current_l3Tok faze 3 v mA
currentTok 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_vaTrenutna moč v vatih/VA (odvisno od vrste merilnika se lahko tukaj navede navidezna ali aktivna moč)
power_wTrenutna aktivna moč v vatih
opower_vaWallbox: Ponujena trenutna moč v VA za vse 3 faze.
import_whPorabljena energija v Wh
export_whVbrizgana energija v Wh
dtČas, ki je pretekel od zadnje pretekle posodobitve (v sekundah)
inputNVhodna številka N enote, 1 = aktivno, 0 = neaktivno
socSOC, stopnja napolnjenosti v odstotkih (števec/skladišče)
idId naprave, Modbus ID
txn_durationTrajanje trenutne transakcije v sekundah (EVSE)
txn_energyNapolnjena energija trenutne transakcije v Wh (EVSE)
min_currentNajmanjši polnilni tok v mA (EVSE)
max_currentNajvečji polnilni tok v mA (EVSE)
stateStatus: 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)
budgetKWh na podlagi veljavnega proračuna
budget_amountV trenutnem proračunu največ kWh
budget_usedKWh, porabljenih v tekočem proračunu
com_err1, če je prišlo do napake COM, sicer 0
com_err21, če je napaka COM prisotna dlje kot 12 sekund, sicer 0

Primer
M1.current_l1Tok števca M1, faza 1
E2.import_whPorabljeni Wh EVSE E2
E3.power_vaTrenutna 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":

  • Formula za "import_wh": import_wh + M1.power_va * dt / 3600 posodobi pridobljeno energijo na podlagi moči v preteklem času posodobitve
  • Formula za "power_va": (power_va * (20 - dt) + M1.power_va * dt) / 20 zgladi moč v zadnjih 20 sekundah.

Globalne spremenljivke

date

date.yearTekoče leto
date.monthMesec od 0..11
date.dayDan od 1..31
date.weekdayDelovni dan Po=0, Tor=1, ... Ne=6
date.yeardayDan v letu od 0..366
date.hourUra od 0..23
date.minuteMinuta od 0..60
date.secondDrugi od 0..60
date.daysecondDrugi dan tega dne od 0..86399
date.dayminuteMinuta tega dne od 0..1439
date.dst0 = zimski čas, 1 = poletni čas

PB (cFos Power brain only)

PB.input1S0 Input 1, 1 = aktivno, 0 = neaktivno
PB.input2S0 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

Primer uporabe

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.