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, modul |
& | | șI și OR în sens biunivoc |
^ | 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 |
clamp(x,min,max) | Valoare x = min (dacă x < min), x = max (dacă x > max), altfel se păstrează x |
sqrt(x) | Rotunjiți x la un număr întreg. Exemplu: Rotunjire la 1 zecimală: round(10*x)/10. |
sqrt(x) | Rădăcina pătrată a lui x |
exists(x) | adevărat dacă variabila x există, altfel fals |
Î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:
Mx | Contor cu ID-ul unității x, de exemplu M1 |
Ex | EVSE cu ID-ul dispozitivului x, de exemplu E1 |
De asemenea, este posibilă accesarea contoarelor virtuale, cum ar fi surplusul de energie solară, consumul din rețea sau "Power avail. for EVSEs" (energia disponibilă pentru wallbox-uri), 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_l1 | Curentul fazei 1 în mA |
current_l2 | Curentul fazei 2 în mA |
current_l3 | Curentul fazei 3 în mA |
current | Curentul 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_va | Puterea curentă în Watt/VA (în funcție de tipul de contor, aici poate fi furnizată puterea aparentă sau puterea activă) |
power_w | Puterea activă curentă în wați |
opower_va | Wallbox: Puterea curentă oferită în VA pentru toate cele 3 faze. |
import_wh | Energie consumată în Wh |
export_wh | Energie injectată în Wh |
dt | Timpul care a trecut de la ultima actualizare trecută (în secunde) |
inputN | Numărul de intrare N al unității, 1 = activ, 0 = inactiv |
soc | SOC, nivelul de încărcare în procente (contor/stocare) |
id | ID dispozitiv, ID Modbus |
txn_duration | Durata tranzacției curente în secunde (EVSE) |
txn_energy | Energia încărcată a tranzacției curente în Wh (EVSE) |
min_current | Curentul minim de încărcare în mA (EVSE) |
max_current | Curentul maxim de încărcare în mA (EVSE) |
state | Stare: 1 în așteptare, 2 conectat, 3 încărcând, 4 încărcând cu ventilație, 5 eroare, 6 offline (EVSE) |
cphases | Numărul de faze de încărcare (0-3) |
pphases | Numărul de faze de încărcare preconizate (0-3) |
budget | KWh pe bugetul actual |
budget_amount | În bugetul actual, valoarea maximă a kWh |
budget_used | KWh utilizați în bugetul curent |
com_err | 1, dacă există o eroare COM, altfel 0 |
com_err2 | 1, dacă o eroare COM este prezentă mai mult de 12 secunde, altfel 0 |
M1.current_l1 | Curentul contorului M1, faza 1 |
E2.import_wh | Wh consumat de EVSE E2 |
E3.power_va | Puterea 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":
import_wh
": import_wh + M1.power_va * dt / 3600
actualizează energia provenită pe baza puterii din timpul ultimei actualizări(power_va * (20 - dt) + M1.power_va * dt) / 20
netezește puterea pe ultimele 20 de secunde.date
date.year | Anul curent |
date.month | Luna de la 0..11 |
date.day | Ziua de la 1..31 |
date.weekday | Zi lucrătoare Luni=0, Marți=1, ... Duminică=6 |
date.yearday | Ziua din an de la 0..366 |
date.hour | Ora de la 0..23 |
date.minute | Minute de la 0..60 |
date.second | Secunda de la 0..60 |
date.daysecond | A doua din această zi de la 0..86399 |
date.dayminute | Minutul din această zi de la 0..1439 |
date.dst | 0 = ora de iarnă, 1 = ora de vară |
PB (cFos Power brain only)
PB.input1 | S0 Input 1, 1 = activ, 0 = inactiv |
PB.input2 | S0 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_current: Curentul maxim al conexiunii casei în mA pe fază
_max_total_evse_current_max_total_evse_current: Curentul maxim pentru cutiile de perete în mA (pe fază)
_price: Prețul curent al energiei electrice
_price_level: Nivelul actual al prețului energiei electrice, -2=foarte scump, -3= scump, -4=normal, -5= ieftin, -6=foarte ieftin _surplus: Surplusul solar actual în wați _org_surplus: surplusul solar așa cum ar fi fost calculat de către administratorul de taxare independent de propriile formule
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
Î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.