cFos Charging Manager - Formule

Managerul de încărcare cFos permite evaluarea dinamică a formulelor. Această funcționalitate este disponibilă pentru un contor de tip "Expression" și pentru regulile de taxare de tip "Formula".

Prin urmare, puteți configura contoare care să calculeze valorile de la alte contoare sau EVSE-uri, să le păstreze pregătite și să le afișeze. Regulile de încărcare pot utiliza, de asemenea, formule pentru a calcula în mod dinamic curentul de încărcare și pot accesa, de asemenea, contoare și EVSE-uri (inclusiv contoare de tip "Expression").

Următoarele operații sunt posibile cu formulele:

+ - * /Adăugare, scădere, înmulțire, împărțire
^Calculul puterii, de exemplu 10^2 = 100
min(x,y)Minimum de x și y, sunt posibile mai mult de 2 argumente
max(x,y)Maximum de x și y, sunt posibile mai mult de 2 argumente
abs(x)Valoarea absolută a lui x, de exemplu: abs(-2) = 2
sqrt(x)Rădăcina pătrată a lui x

În plus, sunt posibile următoarele expresii logice:

== (egal), != (inegal), < (mai puțin), <= (mai puțin egal), > (mai mare), >= (mai mare-egal), ! (nu), || (Or logic), && (And logic), ? (operator condițional, de exemplu x ? y : z, returnează y dacă x este adevărat, altfel z)

Acest lucru permite, de exemplu, oprirea curentului în funcție de condiții: M1.current >= 6500 ? M1.current : 0 returnează curentul lui M1 dacă acesta este mai mare de 6,5 A și 0 în caz contrar, ceea ce întrerupe încărcarea. Pentru astfel de condiții, este posibilă și interogarea intrărilor (a se vedea mai jos)

Sunt posibile următoarele denumiri:

MxContor cu ID-ul unității x, de exemplu M1
ExEVSE cu ID-ul dispozitivului x, de exemplu E1

De asemenea, este posibilă accesarea contoarelor virtuale, cum ar fi surplusul de energie solară, consumul de energie din rețea sau "Puterea disponibilă pentru EVSE", prin configurarea contorului și apoi prin utilizarea ID-ului dispozitivului corespunzător în formulă.

Puteți accesa apoi valorile individuale ale unităților prin intermediul punctului. Acestea se numesc după cum urmează:

current_l1Curentul fazei 1 în mA
current_l2Curentul fazei 2 în mA
current_l3Curentul fazei 3 în mA
currentCurentul fazei curente în mA (pentru regulile de încărcare, Charging Manager interoghează toate fazele una după alta; pentru contoarele de tip "Expresie", se aplică faza respectivă la care se referă formula. Dacă ați specificat o formulă pentru "Current L1" (Curent L1), puteți omite câmpurile pentru Current L2 și L3. Atunci se utilizează formula pentru curentul L1)
power_vaPuterea curentă în Watt/VA (în funcție de tipul de contor, aici poate fi furnizată puterea aparentă sau puterea activă)
power_wPuterea activă curentă în wați
opower_vaWallbox: Puterea curentă oferită în VA pentru toate cele 3 faze.
import_whEnergie consumată în Wh
export_whEnergie injectată în Wh
dtTimpul care a trecut de la ultima actualizare trecută (în secunde)
inputNNumărul de intrare N al unității, 1 = activ, 0 = inactiv
socSOC, nivelul de încărcare în procente (contor/stocare)
txn_durationDurata tranzacției curente în secunde (EVSE)
txn_energyEnergia încărcată a tranzacției curente în Wh (EVSE)
min_currentCurentul minim de încărcare în mA (EVSE)
max_currentCurentul maxim de încărcare în mA (EVSE)
stateStare: 1 în așteptare, 2 conectat, 3 încărcând, 4 încărcând cu ventilație, 5 eroare, 6 offline (EVSE)

Exemplu
M1.current_l1Curentul contorului M1, faza 1
E2.import_whWh consumat de EVSE E2
E3.power_vaPuterea de încărcare curentă de la E3

Dacă utilizați formulele pentru un contor de tip "Expression", puteți omite și ID-ul dispozitivului. Apoi, numele câmpurilor se referă la acest contor, de exemplu, "power_va" este atunci puterea acestui contor în Watt/VA. Puteți utiliza "dt" pentru a realiza câteva funcții extinse, de exemplu, într-un contor de tip "Expression":

  • Ca o formulă pentru " import_wh ": import_wh + M1.power_va * dt / 3600 actualizează energia provenită pe baza puterii din timpul ultimei actualizări
  • Ca o formulă pentru "power_va": (power_va * (20 - dt) + M1.power_va * dt) / 20 netezește puterea pe ultimele 20 de secunde.

Variabile globale

date

date.yearAnul curent
date.monthLuna de la 0..11
date.dayZiua de la 1..31
date.weekdayZi lucrătoare Luni=0, Marți=1, ... Duminică=6
date.yeardayZiua din an de la 0..366
date.hourOra de la 0..23
date.minuteMinute de la 0..60
date.secondSecunda de la 0..60
date.daysecondA doua din această zi de la 0..86399
date.dayminuteMinutul din această zi de la 0..1439
date.dst0 = ora de iarnă, 1 = ora de vară

PB (cFos Power brain only)

PB.input1S0 Input 1, 1 = activ, 0 = inactiv
PB.input2S0 Input 2, 1 = activ, 0 = inactiv

CM Variabilele managerului de încărcare

Aceste variabile pot fi setate de către administrator la secțiunea "Configurație". De exemplu, dacă administratorul setează variabila "var_x" la 1,5, CM.var_x returnează valoarea 1,5.

Variabile predefinite:
_num_încărcare: Numărul de wallbox-uri care se încarcă în prezent
_num_charging1: Numărul de wallbox-uri care se încarcă în prezent, 1 dacă nu se încarcă niciunul
_max_total_power: Puterea maximă a conexiunii casei în W
_max_total_evse_power: Puterea maximă a EVSE-urilor în 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

Exemplu de aplicație

În plus, doriți să limitați curentul de încărcare în ceea ce privește un contor de consum al unui apartament. În acest scop, puteți seta o regulă de încărcare cu formula 16000 - M1.current.
M1 este contorul care măsoară consumul apartamentului. Gestionarea încărcăturii de către managerul de încărcare cFos încearcă mai întâi să furnizeze EVSE curentul maxim în raport cu puterea de conectare a casei, dar apoi îl limitează la 16A minus consumul apartamentului.