cFos Charging Manager - formler

CFos Charging Manager tillåter dynamisk utvärdering av formler. Denna funktionalitet är tillgänglig för en räknare av typen "Expression" och för laddningsregler av typen "Formel".

Så du kan ställa in mätare som beräknar värden från andra mätare eller vägglådor och hålla dem redo och visa dem. Laddningsreglerna kan också dynamiskt beräkna laddströmmen med hjälp av formler och även åtkomstmätare och väggboxar (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)Minst x och y, mer än 2 argument möjliga
max(x,y)Maximalt x och y, mer än 2 argument möjliga
abs(x)Absolut mängd x, t.ex. abs (-2) = 2
sqrt(x)Kvadratrot av x

Följande logiska uttryck är också möjliga:

== (lika med) != (inte lika med), < (mindre än), <= (mindre än eller lika med), > (större än), >= (större än eller lika med) ! (inte), || (logiskt eller), && (logiskt och) ? (Villkorlig operator, x ? y : z, returnerar y om x är sant, annars z)

Detta tillåter till exempel att stänga av strömmen beroende på förhållanden: M1.current >= 6500 ? M1.current : 0 levererar strömmen för M1 om den är större än 6,5A och annars 0, vilket pausar laddningen. För sådana villkor är det också möjligt att fråga ingångar (se nedan)

Följande namn är möjliga:

MxRäknare med enhets -ID x, t.ex. M1
ExEVSE med enhets -ID x, t.ex. E1

Det är också möjligt att komma åt virtuella mätare som solöverskott, inköpt el eller "Power avail. For EVSEs" (ström tillgänglig för väggboxar) genom att ställa in mätaren och sedan använda motsvarande enhets -ID i formeln.

Enskilda värden för enheterna kan sedan nås med en punkt. Dessa kallas enligt följande:

current_l1Fas 1 ström i mA
current_l2Fas 2 ström i mA
current_l3Fas 3 ström i mA
currentStrömmen för den aktuella fasen i mA (med laddningsregler frågar Charging Manager alla faser efter varandra; med mätare av typen "Uttryck" gäller respektive fas som formeln hänvisar till. Om du har angett en formel för " Nuvarande L1 ", kan du utelämna fälten för ström L2 och L3. Sedan används formeln för ström L1)
power_vaStrömeffekt i watt/VA (beroende på mätartyp kan skenbar effekt eller verklig effekt tillhandahållas här)
import_whRelaterad energi i Wh
export_whEnergi som matas in i Wh
dtTiden sedan den senaste uppdateringen (i sekunder)
inputNIngångsnummer N för enheten, 1 = aktiv, 0 = inaktiv
socSOC, laddningsnivå i procent (räknare/minne)
txn_durationDen aktuella transaktionens varaktighet i sekunder (wallbox)
txn_energyLaddad energi för den aktuella transaktionen i Wh (wallbox)

exempel
M1.current_l1Ström av mätare M1, fas 1
E2.import_whAnvänds Wh av EVSE E2
E3.power_vaNuvarande laddningseffekt på E3

Om du använder formlerna för en räknare av typen "Uttryck" kan du utelämna enhets -ID. Då refererar fältnamnen till denna mätare, t.ex. är 'power_va' maktens effekt i watt/VA. Med 'dt' kan du implementera några ytterligare funktioner, till exempel i en räknare av typen "Uttryck":

  • Som en formel för 'import_wh': import_wh + M1.power_va * dt / 3600 uppdaterar den dragna energin baserat på effekten under den senaste uppdateringstiden
  • Som en formel för 'power_va': (power_va * (20 - dt) + M1.power_va * dt) / 20 jämnar ut effekten under de senaste 20 sekunderna.

globala variabler

date

date.yearnuvarande år
date.monthmånad från 0..11
date.daydag från 1..31
date.weekdayVeckodag mån=0, ti=1, ... sön=6
date.yeardaydag på året från 0..366
date.hourtimme från 0..23
date.minuteminuter från 0..60
date.secondtvåa från 0..60
date.daysecondAndra denna dag från 0..86399
date.dayminuteDagens minut från 0..1439
date.dst0 = vintertid, 1 = sommartid

PB (cFos Power brain only)

PB.input1S0 Input 1, 1 = aktiv, 0 = inaktiv
PB.input2S0 Input 2, 1 = aktiv, 0 = inaktiv

CMCharging manager variabler

Dessa variabler kan ställas in av administratören under "Konfiguration". Till exempel, om administratören ställer in variabeln 'var_x' till 1,5, returnerar CM.var_x värdet 1,5.

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

Tillämpningsexempel

Du vill dessutom begränsa laddströmmen med avseende på en förbrukningsmätare i en lägenhet. För att göra detta kan du ställa in 16000 - M1.current
M1 är mätaren som mäter lägenhetens förbrukning. Lasthanteringen av cFos Charging Manager försöker först förse wallboxen med maximal ström med hänsyn till husets anslutningskapacitet, men begränsar sedan denna till 16A minus lägenhetsförbrukningen.