cFos Charging Manager - Formler

cFos Charging Manager gør det muligt at foretage dynamisk evaluering af formler. Denne funktionalitet er tilgængelig for en måler af typen "Expression" og for opkrævningsregler af typen "Formula".

Du kan derfor oprette målere, der beregner værdier fra andre målere eller EVSE'er og holder dem klar og viser dem. Opladningsreglerne kan også bruge formler til dynamisk at beregne opladningsstrømmen og også få adgang til målere og EVSE'er (herunder målere af typen "Expression").

Følgende operationer er mulige med formlerne:

+ - * / %Addition, subtraktion, multiplikation, division, modulus
& |bitvis AND og OR
^Beregning af effekt, f.eks. 10^2 = 100
min(x,y)Minimum af x og y, mere end 2 argumenter muligt
max(x,y)Højst x og y, mere end 2 argumenter muligt
abs(x)Absolut værdi af x, f.eks. abs(-2) = 2
clamp(x,min,max)Værdi x = min (hvis x < min), x = max (hvis x > max), ellers beholder x
sqrt(x)Afrund x til heltal. Eksempel: Afrunding til 1 decimal: round(10*x)/10.
sqrt(x)Kvadratrod af x
exists(x)sand, hvis variablen x findes, ellers falsk

Desuden er følgende logiske udtryk mulige:

== (lig), != (ulig), < (mindre), <= (mindre lig), > (større), >= (større lig), ! (ikke), || (logisk eller), && (logisk og), ? (betinget operatør, f.eks. x ? y : z, returnerer y hvis x er sandt, ellers z)

Dette gør det f.eks. muligt at slukke for strømmen afhængigt af forholdene: M1.current >= 6500 ? M1.current : 0 returnerer strømmen i M1, hvis den er større end 6,5 A, og 0 i modsat fald, hvilket sætter opladningen på pause. For sådanne betingelser er det også muligt at forespørge indgange (se nedenfor)

Følgende navne er mulige:

MxMåler med enheds-ID x, f.eks. M1
ExEVSE med enheds-ID x, f.eks. E1

Det er også muligt at få adgang til virtuelle målere, f.eks. soloverskud, netudtag eller "Power avail. for EVSEs" (tilgængelig effekt til EVSEs), ved at konfigurere måleren og derefter bruge det tilsvarende enheds-id i formlen.

Du kan derefter få adgang til de enkelte værdier af enhederne ved hjælp af punktet. Disse kaldes på følgende måde:

current_l1Strøm i fase 1 i mA
current_l2Strøm i fase 2 i mA
current_l3Strøm i fase 3 i mA
currentStrømmen for den aktuelle fase i mA (for opladningsregler forespørger Charging Manager alle faser efter hinanden; for målere af typen "Expression" gælder den respektive fase, som formlen henviser til. Hvis du har angivet en formel for "Current L1", kan du udelade felterne for Current L2 og L3. Så anvendes formlen for strøm L1)
power_vaAktuel effekt i Watt/VA (afhængig af målerens type kan der her angives tilsyneladende effekt eller aktiv effekt)
power_wAktuel aktiv effekt i watt
opower_vaWallbox: Den aktuelle effekt i VA, der tilbydes for alle 3 faser.
import_whTrækket energi i Wh
export_whIndsprøjtet energi i Wh
dtDen tid, der er gået siden den seneste seneste opdatering (i sekunder)
inputNIndgangsnummer N for enheden, 1 = aktiv, 0 = inaktiv
socSOC, opladningsniveau i procent (måler/lager)
idEnheds-id, Modbus-id
txn_durationVarigheden af den aktuelle transaktion i sekunder (EVSE)
txn_energyOpladet energi for den aktuelle transaktion i Wh (EVSE)
min_currentMindste opladestrøm i mA (EVSE)
max_currentMaksimal opladestrøm i mA (EVSE)
stateStatus: 1 venter, 2 tilsluttet, 3 oplader, 4 oplader med ventilation, 5 fejl, 6 offline (EVSE)
cphasesAntal opladningsfaser (0-3)
pphasesAntal forudsagte opladningsfaser (0-3)
budgetKWh på det nuværende budget
budget_amountPå det nuværende budget maksimum kWh
budget_usedKWh brugt på det aktuelle budget
com_err1, hvis der er en COM-fejl, ellers 0
com_err21, hvis en COM-fejl er til stede i mere end 12 sek., ellers 0

Eksempel
M1.current_l1Strøm fra måler M1, fase 1
E2.import_whForbrugt Wh fra EVSE E2
E3.power_vaNuværende opladningseffekt fra E3

Hvis du bruger formlerne til en måler af typen "Expression", kan du også udelade enheds-id'et. Så henviser feltnavnene til denne måler, f.eks. er "power_va" så denne målers effekt i Watt/VA. Du kan bruge "dt" til at realisere nogle få udvidede funktioner, f.eks. i en måler af typen "Expression":

  • Som en formel for "import_wh": import_wh + M1.power_va * dt / 3600 opdaterer den tilførte energi baseret på strømmen i det seneste opdateringstidspunkt
  • Som en formel for "power_va": (power_va * (20 - dt) + M1.power_va * dt) / 20 udjævner effekten i de sidste 20 sekunder.

Globale variabler

date

date.yearIgangværende år
date.monthMåned fra 0..11
date.dayDag fra 1..31
date.weekdayUgedag Mo=0, Tir=1, ... Søn=6
date.yeardayDag i året fra 0..366
date.hourTimer fra 0..23
date.minuteMinut fra 0..60
date.secondAndet fra 0..60
date.daysecondAndet på denne dag fra 0..86399
date.dayminuteMinutter på denne dag fra 0..1439
date.dst0 = vintertid, 1 = sommertid

PB (cFos Power brain only)

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

CM Variabler for Charging Manager

Disse variabler kan indstilles af administratoren under "Konfiguration". Hvis administratoren f.eks. indstiller variablen "var_x" til 1,5, returnerer CM.var_x værdien 1,5.

Foruddefinerede variabler:
_num_opladning: Antal wallboxes, der i øjeblikket oplades
_num_charging1: Antal wallboxer, der i øjeblikket oplades, 1, hvis ingen er i gang med at oplade
_max_total_current: Maksimal strøm i husforbindelsen i mA pr. fase
_max_total_evse_current: Maksimal strøm for vægdåser i mA (pr. fase)
_price: nuværende elpris
_price_level: Nuværende prisniveau for elektricitet, -2=meget dyrt, -3=dyre, -4=normalt, -5=billigt, -6=meget billigt _surplus: aktuelt soloverskud i watt _org_surplus: Soloverskud, som Charge Manager ville have beregnet det uafhængigt af sine egne formler

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

Eksempel på anvendelse

Du ønsker desuden at begrænse opladningsstrømmen med hensyn til en forbrugsmåler af en lejlighed. For at gøre dette kan du oprette en opladningsregel med formlen 16000 - M1.current.
M1 er den måler, der måler lejlighedens forbrug. Belastningsstyringen i cFos Charging Manager forsøger først at forsyne EVSE'en med den maksimale strøm i forhold til husets tilslutningseffekt, men begrænser derefter denne til 16 A minus lejlighedens forbrug.