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
^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
sqrt(x)Kvadratni koren x

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 v omrežju ali "razpoložljiva moč za naprave EVSE", 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č)
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)
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)

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 trenutno polnilnih EVSE
_num_charging1: Število EVSE, ki se trenutno polnijo, 1, če se ne polni nobena
_max_total_power: Največja moč hišnega priključka v W
_max_total_evse_power: Največja moč za EVSE v W

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.