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 | Maximális áram a fali dobozoknál fázisonként mA-ben kifejezve |
| _price | Jelenlegi villamosenergia-ár |
| _price_level | Jelenlegi villamosenergia-árszint, -2=nagyon drága, -3=drága, -4=normális, -5=olcsó, -6=nagyon olcsó |
| _surplus | Jelenlegi napenergia-többlet wattban |
| _org_surplus | Napenergia-többlet, mivel a díjkezelő a saját képleteitől függetlenül számította volna ki |
| _storage_home_max_capacity | A tároló teljes kapacitása, Otthon, ha a mérő konfigurációjában meg van adva, Wh-ban |
| _storage_home_capacity | A tároló jelenlegi kapacitása, Otthon, ha a mérő konfigurációjában meg van adva, Wh-ban |
| _storage_all_max_capacity | Teljes tárolókapacitás, Összes, ha a mérő konfigurációjában meg van adva, Wh-ban |
| _storage_all_capacity | A tároló jelenlegi kapacitása, Minden, ha a mérő konfigurációjában meg van adva, Wh-ban |
| _storage_home_soc | A "Ház" szerepű akkumulátor-tároló(k) aktuális SoC-ja. Ha legalább egy tárolórendszer kapacitása meg lett adva, a töltéskezelő ezt használja a számításhoz, ellenkező esetben ez a változó az első "Ház" szerepkörrel talált tárolórendszer aktuális SoC értékét adja meg. |
| _storage_all_soc | Az akkumulátor-tároló(k) jelenlegi SoC-ja "Otthon+Autó" szerepkörrel. Ha a kapacitás legalább egy tárolórendszerre vonatkozóan meg lett adva, a töltéskezelő ezt használja a számításhoz, ellenkező esetben ez a változó az első talált "Otthon+Autó" szerepkörű tárolórendszer aktuális SoC értékét adja meg. |
| _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óin és a Charging Manager változókon keresztül) 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.
A cFos Charging Manager mostantól a TRONITY API-n keresztül(www.tronity.io) ki tudja olvasni az autó SoC-jét és hatótávolságát. Személyes fiókot regisztrálhat a TRONITY-nél, majd regisztrálhat egy vagy több autót. Ezután a cFos Charging Manager "Configuration" felhasználói felületén hozzáadhatja a TRONITY ID-t és a TRONITY titkot.
A "Járműadatok lekérdezése" gomb segítségével megjelenítheti a TRONITY-vel regisztrált járműveinek listáját. Minden jármű egy azonosítóval szerepel a listában. Ezt az azonosítót használja a Charging Managerrel történő kifejezésekhez és/vagy töltési szabályokhoz, pl. V1.soc vagy V1.range, ha a járművének 1-es azonosítója van. A V1.soc az aktuális töltöttségi állapot százalékban kifejezve. V1.range az aktuális hatótávolság kilométerben. Létrehozhat például egy olyan feltételt, mint V1.soc < 50, amely igaz, ha a SoC kevesebb, mint 50%.