De cFos Charging Manager maakt de dynamische evaluatie van formules mogelijk. Deze functionaliteit is beschikbaar voor een meter van het type "Expressie" en voor laadregels van het type "Formule".
U kunt dus meters instellen die waarden van andere meters of EVSE's berekenen en deze klaar houden en weergeven. De laadregels kunnen ook formules gebruiken om dynamisch de laadstroom te berekenen en ook toegang krijgen tot meters en EVSE's (inclusief meters van het type "Expression").
De volgende bewerkingen zijn mogelijk met de formules:
+ - * / | Optellen, aftrekken, vermenigvuldigen, delen |
^ | Berekening van macht, b.v. 10^2 = 100 |
min(x,y) | Minimum van x en y, meer dan 2 argumenten mogelijk |
max(x,y) | Maximum van x en y, meer dan 2 argumenten mogelijk |
abs(x) | Absolute waarde van x, b.v. abs(-2) = 2 |
sqrt(x) | Vierkantswortel van x |
Voorts zijn de volgende logische uitdrukkingen mogelijk:==
(gelijk), !=
(ongelijk), <
(minder), <=
(minder-gelijk), >
(groter), >=
(groter-gelijk), !
(niet), ||
(logische Or), &&
(logische En), ?
(voorwaardelijke operator, bv. x ? y : z
, geeft y terug als x waar is, anders z
)
Dit maakt het bijvoorbeeld mogelijk om de stroom uit te schakelen afhankelijk van de omstandigheden: M1.current >= 6500 ? M1.current : 0
geeft de stroom van M1 terug als deze groter is dan 6,5A en 0 anders, waardoor het laden wordt gepauzeerd. Voor dergelijke condities is het ook mogelijk om ingangen te vragen (zie hieronder)
De volgende namen zijn mogelijk:
Mx | Meter met eenheid ID x, bijv. M1 |
Ex | EVSE met apparaat-ID x, bijv. E1 |
Het is ook mogelijk om toegang te krijgen tot virtuele meters, zoals zonneoverschot, netopname of "Power avail. for EVSEs", door de meter in te stellen en vervolgens de corresponderende apparaat-ID in de formule te gebruiken.
U kunt dan via het punt toegang krijgen tot de afzonderlijke waarden van de eenheden. Deze worden als volgt opgeroepen:
current_l1 | Stroom van fase 1 in mA |
current_l2 | Stroom van fase 2 in mA |
current_l3 | Stroom van fase 3 in mA |
current | Stroom van de huidige fase in mA (voor laadregels vraagt de Laadmanager alle fasen na elkaar op; voor meters van het type "Uitdrukking" geldt de betreffende fase waarop de formule betrekking heeft. Indien u een formule heeft opgegeven voor "Stroom L1", kunt u de velden voor Stroom L2 en L3 weglaten. Dan wordt de formule voor stroom L1 gebruikt) |
power_va | Huidig vermogen in Watt/VA (afhankelijk van het type meter kan hier schijnbaar vermogen of actief vermogen worden opgegeven) |
power_w | Huidig actief vermogen in watt |
opower_va | Wallbox: Huidig aangeboden vermogen in VA met betrekking tot alle 3 fasen. |
import_wh | Opgenomen energie in Wh |
export_wh | Geïnjecteerde energie in Wh |
dt | De tijd die is verstreken sinds de laatste bijwerking (in seconden) |
inputN | Ingangsnummer N van het toestel, 1 = actief, 0 = inactief |
soc | SOC, laadniveau in procenten (meter/opslag) |
txn_duration | Duur van de huidige transactie in seconden (EVSE) |
txn_energy | Opgeladen energie van de huidige transactie in Wh (EVSE) |
min_current | Minimum laadstroom in mA (EVSE) |
max_current | Maximale laadstroom in mA (EVSE) |
state | Status: 1 wachtend, 2 ingeplugd, 3 opladen, 4 opladen met ventilatie, 5 fout, 6 offline (EVSE) |
M1.current_l1 | Stroom van meter M1, fase 1 |
E2.import_wh | Verbruikte Wh van de EVSE E2 |
E3.power_va | Huidige laadstroom van E3 |
Als u de formules gebruikt voor een meter van het type "Expressie", dan kunt u ook het apparaat-ID weglaten. Dan verwijzen de veldnamen naar deze meter, bijv. 'power_va' is dan het vermogen van deze meter in Watt/VA. U kunt "dt" gebruiken om enkele uitgebreide functies te realiseren, b.v. in een meter van het type "Expressie":
import_wh + M1.power_va * dt / 3600
actualiseert de ingekochte energie op basis van het vermogen gedurende de laatste actualiseringstijd(power_va * (20 - dt) + M1.power_va * dt) / 20
wordt het vermogen over de laatste 20 seconden afgevlakt.date
date.year | Lopend jaar |
date.month | Maand van 0..11 |
date.day | Dag van 1..31 |
date.weekday | Weekdag Mo=0, Tue=1, ... Zon=6 |
date.yearday | Dag in het jaar van 0..366 |
date.hour | Uur van 0..23 |
date.minute | Minuten van 0..60 |
date.second | Tweede van 0..60 |
date.daysecond | Tweede van deze dag van 0..86399 |
date.dayminute | Minuten van deze dag van 0..1439 |
date.dst | 0 = wintertijd, 1 = zomertijd |
PB (cFos Power brain only)
PB.input1 | S0 Input 1, 1 = actief, 0 = inactief |
PB.input2 | S0 Input 2, 1 = actief, 0 = inactief |
CM Variabelen van de laadmanager
Deze variabelen kunnen door de admin ingesteld worden onder "Configuratie". Bijvoorbeeld, als de admin de variabele 'var_x' instelt op 1.5, dan geeft CM.var_x de waarde 1.5 terug.
Voorgedefinieerde variabelen:
_num_charging: Aantal wandboxen die momenteel worden opgeladen
_num_charging1: Aantal wandboxen die momenteel worden opgeladen, 1 als er geen wordt opgeladen
_max_total_power: Maximaal vermogen van de huisaansluiting in W
_max_total_evse_power: Maximaal vermogen voor de EVSE's in 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
U wilt de laadstroom extra beperken ten opzichte van een verbruiksmeter van een flat. Daartoe kunt u een laadregel instellen met de formule 16000 - M1.stroom
.
M1 is de meter die het verbruik van de flat meet. Het belastingsbeheer van de cFos Charging Manager probeert eerst de EVSE te voorzien van de maximale stroom in verhouding tot het vermogen van de huisaansluiting, maar beperkt dit vervolgens tot 16A min het verbruik van de flat.