A cFos Charging Manager lehetővé teszi a képletek dinamikus kiértékelését. Ez a funkció a "Kifejezés" típusú mérő és a "Képlet" típusú díjszabályok esetében érhető el.
Ezért olyan mérőket állíthat be, amelyek más mérők vagy EVSE-k értékeit kiszámítják, készenlétben tartják és megjelenítik azokat. A töltési szabályok képleteket is használhatnak a töltési áram dinamikus kiszámításához, valamint mérőkhöz és EVSE-khez is hozzáférhetnek (beleértve a "Expression" típusú mérőket is).
A képletekkel a következő műveletek végezhetők:
+ - * / % | Összeadás, kivonás, szorzás, osztás, modulus |
& | | bitenkénti ÉS és VAGY |
^ | Teljesítményszámítás, pl. 10^2 = 100 |
min(x,y) | X és y minimum, 2-nél több érv lehetséges |
max(x,y) | Maximum x és y, több mint 2 argumentum lehetséges |
abs(x) | X abszolút értéke, pl. abs(-2) = 2 |
clamp(x,min,max) | Érték x = min (ha x < min), x = max (ha x > max), különben marad x |
round(x) | Kerekítse x-et egész számra. Példa: Kerekítés 1 tizedesjegyre: round(10*x)/10. |
sqrt(x) | X négyzetgyöke |
exists(x) | true, ha az x változó létezik, egyébként false |
Továbbá a következő logikai kifejezések lehetségesek:==
(egyenlő), !=
(egyenlőtlen), <
(kisebb), <=
(kisebb-egyenlőtlen), >
(nagyobb), >=
(nagyobb-egyenlőtlen), !
(nem), ||
(logikai Vagy), &&
(logikai És), ?
(feltételes operátor, pl. x ? y : z
, y-t ad vissza, ha x igaz, különben z-t
)
Ez lehetővé teszi például, hogy az áramot a körülményektől függően kikapcsolják: M1.current >= 6500 ? M1.current : 0
visszaadja az M1 áramát, ha az nagyobb, mint 6,5A, egyébként pedig 0, ami szünetelteti a töltést. Ilyen feltételek esetén a bemenetek lekérdezése is lehetséges (lásd alább)
A következő nevek lehetségesek:
Mx | X egységazonosítóval rendelkező mérő, pl. M1 |
Ex | EVSE x eszközazonosítóval, pl. E1 |
Lehetőség van virtuális mérőkhöz is hozzáférni, mint például a napenergia-többlet, a hálózati fogyasztás vagy a "Power avail. for EVSEs" (a wallboxok számára rendelkezésre álló teljesítmény), a mérő beállításával, majd a megfelelő eszközazonosító használatával a képletben.
Ezután a pont segítségével elérheti az egységek egyes értékeit. Ezeket a következőképpen hívjuk meg:
current_l1 | Az 1. fázis árama mA-ben |
current_l2 | A 2. fázis árama mA-ben |
current_l3 | A 3. fázis árama mA-ben |
current | Az aktuális fázis árama mA-ben (a töltési szabályok esetében a töltéskezelő az összes fázist egymás után lekérdezi; a "Kifejezés" típusú mérők esetében az adott fázisra vonatkozik, amelyre a képlet vonatkozik. Ha az "Áram L1" képletet adta meg, akkor az "Áram L2" és "L3" mezők elhagyhatók. Ekkor az L1 áramra vonatkozó képletet kell használni) |
power_w | Aktuális aktív teljesítmény wattban |
offered | Wallbox: MA-ben kínált áram |
import_wh | Felvett energia Wh-ban |
export_wh | Befecskendezett energia Wh-ban |
dt | Az utolsó frissítés óta eltelt idő (másodpercben), csak a "Kifejezés" számláló esetében, lásd még CM._dt. |
inputN | A készülék N bemeneti száma, 1 = aktív, 0 = inaktív, N a bemenet száma, 1-gyel kezdődően. |
soc | SOC, töltöttségi szint százalékban (számláló/memória) - ha a készülék támogatja |
id | Eszköz azonosító, Modbus azonosító |
txn_duration | Az aktuális tranzakció időtartama másodpercben (EVSE) |
charging_dur | Az aktuális tranzakció tényleges töltési ideje másodpercben (Wallbox) |
txn_energy | Az aktuális tranzakció töltött energiája Wh-ban (EVSE) |
min_current | Minimális töltési áram mA-ben (EVSE) |
max_current | Maximális töltési áram mA-ben (EVSE) |
state | Állapot: töltés, 4 töltés szellőztetéssel, 5 hiba, 6 offline (EVSE) |
cphases | A töltési fázisok száma (0-3) |
pphases | Az előre jelzett töltési fázisok száma (0-3) |
lb_cur_l1 | Az 1. fázis számított áramerőssége mA-ben (fali doboz). Csak a wallbox töltési szabályainak számítása során, egyébként 0 |
lb_cur_l2 | A 2. fázis aktuálisan kiszámított árama mA-ben (fali doboz). Csak a wallbox töltési szabályainak kiszámítása során, egyébként 0 |
lb_cur_l3 | A 3. fázis számított áramerőssége mA-ben (fali doboz). Csak a wallbox töltési szabályainak kiszámítása során, egyébként 0 |
lb_cur | Az áramfázisra kiszámított áram mA-ben (fali doboz). Csak a wallbox töltési szabályainak kiszámítása során, egyébként 0. A Charging Manager az összes fázist egymás után lekérdezi. |
surplus_pcur | PV többletáram (előre jelzett) fázisonként mA-ben |
surplus_wanted | 1, ha már alkalmaztak PV többlet szabályt, egyébként 0 |
budget | KWh vagy percek a jelenlegi költségvetésben |
budget_amount | Maximális kWh vagy percek az aktuális költségvetésben |
budget_used | KWh vagy a jelenlegi költségvetésben felhasznált percek |
com_err | 1, ha COM hiba van, egyébként 0 |
com_err2 | 1, ha a COM hiba 12 másodpercnél hosszabb ideig áll fenn, egyébként 0 |
reactive_power | Reaktív teljesítmény specifikáció wattban (ha a készülék támogatja), pozitív értékek: Induktív, negatív értékek: Kapacitív |
switch_phases | Fázisváltós fali szekrényekhez: Kézi fázisváltás, 1 = 1 fázis, 3 = 3 fázis, -1 = automatikus fázisváltás |
departure | ISO 15118 indulási idő egységnyi időbélyegzőként (az ezt támogató wallboxok esetében, egyébként 0) |
req_energy | ISO 15118 Szükséges energia Wh-ban (az ezt támogató wallboxok esetében, egyébként 0) |
plugin_start | Unix időbélyegző, a kábel behelyezésének időpontja |
plugin_energy | Korábban feltöltött energia Wh-ban a kábel csatlakoztatásának időpontjától számítva |
M1.current_l1 | Az M1 mérőműszer árama, 1. fázis |
E2.import_wh | Az EVSE E2 fogyasztása Wh |
E3.power_w | Az E3 jelenlegi töltési teljesítménye wattban |
Ha a "Kifejezés" típusú mérőre vonatkozó képleteket használja, a készülék azonosítóját is elhagyhatja. Ekkor a mezőnevek erre a mérőre vonatkoznak, pl. a "power_w" ekkor a mérő teljesítménye wattban. A 'dt' segítségével néhány kiterjesztett függvényt valósíthat meg, pl. egy "Expression" típusú mérőben:
import_wh + M1.power_w * dt / 3600
frissíti a beszerzett energiát az elmúlt frissítési idő alatt mért teljesítmény alapján(power_w * (20 - dt) + M1.power_w * dt) / 20
az utolsó 20 másodperc teljesítményét simítja.date
date.year | Tárgyév |
date.month | Hónap 0..11-től |
date.day | Nap 1..31-től |
date.weekday | Hétköznap SO=0, Mon=1, Tue=2, ... Sat=6 |
date.yearday | Nap az évben 0..366-tól kezdve |
date.hour | Óra 0..23-tól |
date.minute | Perc 0..60-tól |
date.second | Másodperc 0..60-tól |
date.daysecond | A mai nap második napja 0..86399-től |
date.dayminute | A nap percei 0..1439-től kezdődően |
date.dst | 0 = téli időszámítás, 1 = nyári időszámítás |
date.timestamp | Unix timespamp, secs since 1.1.1970 |
PB (nur cFos Power Brain)
PB.input1 | S0 Input 1, 1 = aktív, 0 = inaktív |
PB.input2 | S0 Input 2, 1 = aktív, 0 = inaktív |
CM Charging Manager változók
Ezeket a változókat az adminisztrátor állíthatja be a 'Konfiguráció' menüpont alatt. Ha például az adminisztrátor a 'var_x' változót 1,5-re állítja, a CM.var_x 1,5 értéket ad vissza.
Előre meghatározott változók:
_num_charging: A jelenleg töltő wallboxok száma
_num_charging1: A jelenleg töltő wallboxok száma, 1, ha egyik sem töltődik
_max_total_current: A házcsatlakozás maximális áramerőssége fázisonként mA-ben
_max_total_evse_current: A fali dobozok maximális áramerőssége fázisonként mA-ben
_ár: Jelenlegi villamosenergia-ár
_price_level: A villamos energia jelenlegi árszintje, -2=nagyon drága, -3=drága, -4=normális, -5=olcsó, -6=nagyon olcsó
_többlet: Jelenlegi napenergia-többlet wattban kifejezve
_org_surplus: a napenergia többlete, amelyet a díjkezelő a saját képleteitől függetlenül számított volna ki
_storage_home_max_capacity: A tároló teljes kapacitása, ha a mérő konfigurációjában meg van adva, Wh-ban
_storage_home_capacity: A tároló jelenlegi kapacitása, Home, ha a mérő konfigurációjában meg van adva, Wh-ban
_storage_all_max_capacity: A tároló teljes kapacitása, All, ha a számláló konfigurációjában meg van adva, Wh-ban
_storage_all_capacity: A tároló jelenlegi kapacitása, All, ha a számláló konfigurációjában meg van adva, Wh-ban
_max_total_current_prc: A rendelkezésre álló maximális teljes töltési áram százalékos aránya. Ez a változó (a számláló definíciói és a Charging Manager változók segítségével) a következő módon is leírható
_dt: Az utolsó frissítés óta eltelt idő (másodpercben).
A globális objektumok használata:
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
Megjegyzés:
Az Egyéni számlálók menüpontban talál útmutatást a globális Charging Manager változókkal és kimenetekkel kapcsolatos képletek használatára vonatkozóan is.
GM Globális számlálók
GM.grid_demand | Hálózati hivatkozás |
GM.consumed | Fogyasztás |
GM.produced | Generáció |
GM.consumed_evse | Fogyasztás e-autók |
GM.available_evse | Rendelkezésre álló teljesítmény |
GM.surplus | PV többlet |
GM.storage_home | Memory Home |
GM.storage_all | Memória Minden |
GM.error | Teljesítmény a hibán keresztül |
A globális számlálók használata
Jeder Zähler hat die Felder power_w, current, current_l1, current_l2, current_l3, import_wh und export_wh,
z.B. GM.prod_pwr.current_l1 oder GM.cons_pwr.power_w
. Bei 'current' wird der Strom der gerade betrachteten Phase ausgewertet. Ströme werden in mA geliefert, Leistung in W, Energie in Wh.
A lakás fogyasztásmérője tekintetében a töltési áramot is korlátozni szeretné. Ehhez beállíthat egy töltési szabályt a 16000 - M1.current
képlettel.
M1 a lakás fogyasztását mérő mérőműszer. A cFos Charging Manager terhelésmenedzsmentje először megpróbálja az EVSE-t a maximális árammal ellátni a házi csatlakozási teljesítményhez képest, de ezt követően ezt 16A-ra korlátozza, csökkentve a lakás fogyasztásával.
A min_price(s), max_price(s) segítségével meghatározhatja az energiaszolgáltatója legolcsóbb árát euróban, ahol az árakat az aktuális időponttól a nap vagy a következő nap maximum s másodpercéig keresi, pl. a min_price(25200) a reggel 7:00 óráig érvényes legolcsóbb árat adja vissza. Létrehozhat például egy töltési szabályt a CM._ár <= min_ár(25200) feltétellel, hogy a legkedvezőbb időpontban töltsön, de azzal a feltétellel, hogy például reggel 8:00 órától akar elindulni (1 órás töltési időt feltételezve). Hasonlóképpen létezik a két függvény min_price_secs(s) és max_price_secs(s), amelyek a megkezdett nap legolcsóbb árának kezdő időpontját adják vissza másodpercben kifejezve. Ezeket aztán összehasonlíthatjuk például a date.daysecond értékkel.