Dokumentation

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
round(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_wAktuel aktiv effekt i watt
offeredWallbox: Strøm tilbydes i mA
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)
charging_durFaktisk opladningstid for den aktuelle transaktion i sekunder (Wallbox)
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)
surplus_pcurPV-overskudsstrøm pr. (forudsagt) fase i mA
surplus_wanted1, hvis der allerede er anvendt en PV-overskudsregel, ellers 0
budgetKWh eller minutter på det aktuelle budget
budget_amountMaksimum kWh eller minutter på det aktuelle budget
budget_usedKWh eller minutter 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
reactive_powerSpecifikation for reaktiv effekt i watt (hvis understøttet af enheden), positive værdier: Induktiv, negative værdier: Kapacitiv

Eksempel
M1.current_l1Strøm fra måler M1, fase 1
E2.import_whForbrugt Wh fra EVSE E2
E3.power_wE3's aktuelle opladningseffekt i watt

Hvis du bruger formlerne til en måler af typen "Expression", kan du også udelade enhedens ID. Så refererer feltnavnene til denne måler, f.eks. er 'power_w' så denne målers effekt i watt. Ved hjælp af 'dt' kan du realisere nogle få udvidede funktioner, f.eks. i en måler af typen "Expression":

  • Som en formel for 'import_wh': import_wh + M1.power_w * dt / 3600 opdaterer den indkøbte energi baseret på effekten i den seneste opdateringstid
  • Som en formel for 'power_w': (power_w * (20 - dt) + M1.power_w * dt) / 20 udjævner effekten over de sidste 20 sekunder.

Globale variabler

date

date.yearIgangværende år
date.monthMåned fra 0..11
date.dayDag fra 1..31
date.weekdayUgedag SO=0, man=1, tir=2, ... Lør=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 (nur cFos Power Brain)

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 til wallboxe 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
_storage_home_max_capacity: Samlet kapacitet for lageret, hjemmet, hvis det er angivet i målerkonfigurationen, i Wh
_storage_home_capacity: Lagerets aktuelle kapacitet, Home, hvis det er angivet i målerens konfiguration, i Wh
_storage_all_max_capacity: Lagerets samlede kapacitet, Alle, hvis det er angivet i tællerkonfigurationen, i Wh
_storage_all_capacity: Aktuel kapacitet på lageret, Alle, hvis angivet i tællerkonfigurationen, i Wh
_max_total_current_prc: Procentdel af den tilgængelige maksimale samlede ladestrøm. Denne variabel kan også skrives (af tællerdefinitioner og Charging Manager-variabler)

Brug af de globale objekter:
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
Bemærk:
Under Custom Counters finder du også instruktioner i, hvordan du bruger formler med globale Charging Manager-variabler og -output.

GM Globale tællere

GM.grid_demandNetværksreference
GM.consumedForbrug
GM.producedGeneration
GM.consumed_evseForbrug af elbiler
GM.available_evseTilgængelig strøm
GM.surplusPV-overskud
GM.storage_homeMemory Home
GM.storage_allHukommelse for alt
GM.errorPræstation gennem fejl

Brug af de globale tællere
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.

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.