cFos Charging Manager gör det möjligt att dynamiskt utvärdera formler. Denna funktion är tillgänglig för en mätare av typen "Expression" och för debiteringsregler av typen "Formula".
Du kan därför installera mätare som beräknar värden från andra mätare eller EVSE:er och hålla dem redo och visa dem. Laddningsreglerna kan också använda formler för att dynamiskt beräkna laddningsströmmen och även få tillgång till mätare och EVSE:er (inklusive mätare av typen "Expression").
Följande operationer är möjliga med formlerna:
+ - * / | Addition, subtraktion, multiplikation, division |
^ | Effektberäkning, t.ex. 10^2 = 100 |
min(x,y) | Minsta antal x och y, fler än 2 argument möjliga |
max(x,y) | Maximalt x och y, fler än 2 argument möjliga |
abs(x) | Absolutvärde av x, t.ex. abs(-2) = 2 |
sqrt(x) | Kvadratrot av x |
Dessutom är följande logiska uttryck möjliga:==
(lika), !=
(ojämnt), <
(mindre), <=
(mindre-jämnt), >
(större), >=
(större-jämnt), !
(inte), ||
(logiskt eller), &&
(logiskt och), ?
(villkorlig operatör, t.ex. x ? y : z
, ger y om x är sant, annars z
)
Detta gör det möjligt att t.ex. stänga av strömmen beroende på förhållandena: M1.current >= 6500 ? M1.current : 0
returnerar strömmen i M1 om den är större än 6,5 A och 0 annars, vilket gör att laddningen pausas. För sådana förhållanden är det också möjligt att fråga efter ingångar (se nedan)
Följande namn är möjliga:
Mx | Mätare med enhets-ID x, t.ex. M1 |
Ex | EVSE med enhets-ID x, t.ex. E1 |
Det är också möjligt att få tillgång till virtuella mätare, t.ex. solöverskott, nätuttag eller "Power avail. for EVSEs", genom att ställa in mätaren och sedan använda motsvarande enhets-ID i formeln.
Du kan sedan få tillgång till enskilda värden för enheterna med hjälp av punkten. Dessa kallas på följande sätt:
current_l1 | Strömmen i fas 1 i mA |
current_l2 | Strömmen i fas 2 i mA |
current_l3 | Strömmen i fas 3 i mA |
current | Strömmen för den aktuella fasen i mA (för laddningsregler frågar laddningshanteraren alla faser efter varandra; för mätare av typen "Expression" gäller respektive fas som formeln avser. Om du har angett en formel för "Current L1" kan du utelämna fälten för Current L2 och L3. Då används formeln för ström L1) |
power_va | Aktuell effekt i Watt/VA (beroende på mätartyp kan skenbar effekt eller aktiv effekt anges här) |
power_w | Aktuell aktiv effekt i watt |
opower_va | Wallbox: Aktuell effekt som erbjuds i VA för alla tre faserna. |
import_wh | Uttagen energi i Wh |
export_wh | Injicerad energi i Wh |
dt | Den tid som förflutit sedan den senaste uppdateringen (i sekunder) |
inputN | Enhetens ingångsnummer N, 1 = aktiv, 0 = inaktiv |
soc | SOC, laddningsnivå i procent (mätare/lager) |
txn_duration | Den aktuella transaktionens varaktighet i sekunder (EVSE) |
txn_energy | Laddad energi för den aktuella transaktionen i Wh (EVSE) |
min_current | Lägsta laddningsström i mA (EVSE) |
max_current | Maximal laddningsström i mA (EVSE) |
state | Status: 1 väntar, 2 inkopplad, 3 laddar, 4 laddar med ventilation, 5 fel, 6 offline (EVSE) |
M1.current_l1 | Strömmen i mätare M1, fas 1 |
E2.import_wh | Förbrukad Wh från EVSE E2 |
E3.power_va | Nuvarande laddningseffekt från E3 |
Om du använder formlerna för en mätare av typen "Expression" kan du också utelämna enhets-ID. Då hänvisar fältnamnen till denna mätare, t.ex. "power_va" är då mätarens effekt i Watt/VA. Du kan använda "dt" för att realisera några utökade funktioner, t.ex. i en mätare av typen "Expression":
import_wh + M1.power_va * dt / 3600
uppdaterar den hämtade energin baserat på effekten under den senaste uppdateringstiden(power_va * (20 - dt) + M1.power_va * dt) / 20
jämnar ut effekten under de senaste 20 sekunderna.date
date.year | Innevarande år |
date.month | Månad från 0..11 |
date.day | Dag från 1..31 |
date.weekday | Veckodag Mo=0, tis=1, ... Sön=6 |
date.yearday | Dag på året från 0..366 |
date.hour | Timme från 0..23 |
date.minute | Minuter från 0...60 |
date.second | Andra från 0...60 |
date.daysecond | Dagens andra dag från 0..86399 |
date.dayminute | Minuter för denna dag från 0..1439 |
date.dst | 0 = vintertid, 1 = sommartid |
PB (cFos Power brain only)
PB.input1 | S0 Input 1, 1 = aktiv, 0 = inaktiv |
PB.input2 | S0 Input 2, 1 = aktiv, 0 = inaktiv |
CM Variabler för laddningsansvarig
Dessa variabler kan ställas in av administratören under "Configuration". Om administratören till exempel ställer in variabeln "var_x" till 1,5, returnerar CM.var_x värdet 1,5.
Fördefinierade variabler:
_num_charging: Antal wallboxar som för närvarande laddar
_num_charging1: Antal laddningsboxar som för närvarande laddas, 1 om ingen laddas
_max_total_effekt: Maximal effekt för husanslutningen i W
_max_total_evse_power: Maximal effekt för EVSE:erna i 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
Du vill dessutom begränsa laddningsströmmen i förhållande till en förbrukningsmätare i en lägenhet. För att göra detta kan du skapa en laddningsregel med formeln 16000 - M1.current
.
M1 är den mätare som mäter lägenhetens förbrukning. Lasthanteringen i cFos Charging Manager försöker först förse EVSE med den maximala strömmen i förhållande till husets anslutningseffekt, men begränsar sedan denna till 16 A minus lägenhetens förbrukning.