Dokumentasjon

cFos Charging Manager - Formler

CFos Charging Manager tillater dynamisk evaluering av formler. Denne funksjonaliteten er tilgjengelig for en teller av typen "Uttrykk" og for belastningsregler av typen "Formel".

Du kan derfor sette opp målere som beregner verdier fra andre målere eller Wallbox-ladestasjoner og holde dem klare og vise dem. Ladereglene kan også beregne ladestrømmen dynamisk ved hjelp av formler og kan også få tilgang til målere og Wallbox-ladestasjoner (inkludert målere av typen "Expression").

Følgende operasjoner er mulige med formlene:

+ - * / %Addisjon, subtraksjon, multiplikasjon, divisjon, modulus
& |bitvis AND og OR
^Beregning av potens, f.eks. 10^2 = 100
min(x,y)Minimum av x og y, mer enn 2 argumenter mulig
max(x,y)Maksimalt x og y, mer enn 2 argumenter er mulig
abs(x)Absolutt verdi av x, f.eks. abs(-2) = 2
clamp(x,min,max)Verdi x = min (hvis x < min), x = maks (hvis x > maks), ellers behold x
round(x)Avrund x til helt tall. Eksempel: Avrunding til 1 desimal: round(10*x)/10.
sqrt(x)Kvadratroten av x
exists(x)true, hvis variabelen x finnes, ellers false

Videre er følgende logiske uttrykk mulige:

== (lik), != (ulik), < (mindre), <= (mindre-lik), > (større), >= (større-lik), ! (ikke), || (logisk eller), && (logisk og), ? (betinget operator, f.eks. x ? y : z, returnerer y hvis x er sann, ellers z)

Dette gjør det for eksempel mulig å slå av strømmen avhengig av forholdene: M1.current >= 6500 ? M1.current : 0 returnerer strømmen til M1 hvis den er større enn 6,5 A og 0 ellers, noe som stopper ladingen. For slike forhold er det også mulig å spørre innganger (se nedenfor)

Følgende navn er mulige:

MxMåler med enhets-ID x, f.eks. M1
ExLadestasjon med enhets-ID x, f.eks. E1

Det er også mulig å få tilgang til virtuelle målere, for eksempel soloverskudd, nettuttak eller "Power avail. for EVSEs" (strøm tilgjengelig for ladestasjoner), ved å sette opp måleren og deretter bruke den tilsvarende enhets-ID-en i formelen.

Du kan deretter få tilgang til individuelle verdier for enhetene ved hjelp av punktet. Disse kalles som følger:

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øm for den aktuelle fasen i mA (for laderegler spør Charging Manager alle fasene etter hverandre; for målere av typen "Expression" gjelder den respektive fasen som formelen refererer til. Hvis du har angitt en formel for "Strøm L1", kan du utelate feltene for Strøm L2 og L3. Da brukes formelen for strøm L1)
power_wNåværende aktiv effekt i watt
offeredWallbox: Tilbudt strøm i mA
import_whUttrukket energi i Wh
export_whInjisert energi i Wh
dtTiden som har gått siden siste oppdatering (i sekunder), kun for telleren "Expression", se også CM._dt.
inputNInngangsnummer N på enheten, 1 = aktiv, 0 = inaktiv, N er nummeret på inngangen, og begynner med 1.
socSOC, ladenivå i prosent (teller/minne) - hvis enheten støtter dette
idEnhets-ID, Modbus-ID
txn_durationVarighet av gjeldende transaksjon i sekunder (Wallbox)
charging_durFaktisk ladetid for den aktuelle transaksjonen i sekunder (Wallbox)
txn_energyLadet energi for den aktuelle transaksjonen i Wh (Wallbox)
min_currentMinste ladestrøm i mA (Wallbox)
max_currentMaksimal ladestrøm i mA (Wallbox)
stateStatus: 1 venter, 2 tilkoblet, 3 lader, 4 lader med ventilasjon, 5 feil, 6 frakoblet (ladestasjon)
cphasesAntall ladefaser (0-3)
pphasesAntall forventede ladefaser (0-3)
lb_cur_l1Aktuell beregnet strøm for fase 1 i mA (Wallbox-ladestasjon). Kun under beregning av ladeboksens laderegler, ellers 0
lb_cur_l2Beregnet strøm for fase 2 i mA (Wallbox-ladestasjon). Bare under beregningen av reglene for lading av Wallbox-ladestasjonen, ellers 0
lb_cur_l3Aktuell beregnet strøm for fase 3 i mA (Wallbox-ladestasjon). Kun under beregning av reglene for lading av Wallbox-ladestasjonen, ellers 0
lb_curStrøm beregnet for den aktuelle fasen i mA (Wallbox-ladestasjon). Kun under beregningen av Wallbox-ladingsreglene, ellers 0. Charging Manager spør alle fasene etter hverandre.
surplus_pcurPV-overskuddsstrøm per (forventet) fase i mA
surplus_wanted1, hvis en PV-overskuddsregel allerede har blitt brukt, ellers 0
budgetKWh eller minutter på gjeldende budsjett
budget_amountMaksimalt antall kWh eller minutter på gjeldende budsjett
budget_usedKWh eller minutter brukt på gjeldende budsjett
com_err1, hvis det er en COM-feil, ellers 0
com_err21, hvis en COM-feil er til stede i mer enn 12 sekunder, ellers 0
reactive_powerSpesifikasjon for reaktiv effekt i watt (hvis enheten støtter dette), positive verdier: Induktiv, negative verdier: Kapasitiv
switch_phasesFor Wallbox-ladestasjoner med fasekobling: Manuell fasekobling, 1 = 1-fase, 3 = 3-fase, -1 = automatisk fasekobling
departureISO 15118 avgangstid som enhetstidsstempel (for Wallbox-ladestasjoner som støtter dette, ellers 0)
req_energyISO 15118 Nødvendig energi i Wh (for Wallbox-ladestasjoner som støtter dette, ellers 0)
plugin_startUnix-tidsstempel, tidspunkt for innsetting av kabel
plugin_energyTidligere ladet energi i Wh fra det tidspunktet kabelen ble koblet til

Eksempel
M1.current_l1Strøm av måler M1, fase 1
E2.import_whForbrukt Wh av Wallbox E2
E3.power_wNåværende ladeeffekt for E3 i watt

Hvis du bruker formlene for en måler av typen "Expression", kan du også utelate enhets-ID-en. Feltnavnene refererer da til denne måleren, f.eks. er "power_w" effekten til denne måleren i watt. Ved hjelp av 'dt' kan du realisere noen få utvidede funksjoner, f.eks. i en måler av typen "Expression":

  • Som en formel for 'import_wh': import_wh + M1.power_w * dt / 3600 oppdaterer den tilførte energien basert på effekten i løpet av den siste oppdateringstiden
  • Som en formel for "power_w": (power_w * (20 - dt) + M1.power_w * dt) / 20 jevner ut effekten over de siste 20 sekundene.

Globale variabler

date

date.yearInneværende år
date.monthMåned fra 0..11
date.dayDag fra 1..31
date.weekdayUkedag SO=0, man=1, tir=2, ... Lør=6
date.yeardayDag i året fra 0..366
date.hourTime fra 0..23
date.minuteMinutt fra 0..60
date.secondSekund fra 0..60
date.daysecondAndre av denne dagen fra 0..86399
date.dayminuteMinute av denne dagen fra 0..1439
date.dst0 = vintertid, 1 = sommertid
date.timestampUnix timespamp, secs since 1.1.1970

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 variablene kan angis av administratoren under "Konfigurasjon". Hvis administratoren for eksempel setter variabelen "var_x" til 1,5, returnerer CM.var_x verdien 1,5.

Forhåndsdefinerte variabler:
_num_lading: Antall ladestasjoner som lades for øyeblikket
_num_charging1: Antall ladestasjoner som lader for øyeblikket, 1 hvis ingen lader
_max_total_current: Maksimal strøm for hustilkoblingen i mA per fase
_max_total_evse_current: Maksimal strøm for veggbokser i mA per fase
pris: Gjeldende strømpris
_price_level: Nåværende elektrisitetsprisnivå, -2=svært dyrt, -3=dyrt, -4=normal, -5=billig, -6=svært billig
_overskudd: Nåværende soloverskudd i watt
_org_surplus: Soloverskudd som ville blitt beregnet av Charging Manager uavhengig av dens egne formler
_storage_home_max_capacity: Total kapasitet på lageret, home, hvis spesifisert i målerkonfigurasjonen, i Wh
_storage_home_capacity: Gjeldende kapasitet på lageret, hjemme, hvis spesifisert i målerkonfigurasjonen, i Wh
_storage_all_max_capacity: Total lagringskapasitet, All, hvis angitt i tellerkonfigurasjonen, i Wh
_storage_all_capacity: Gjeldende kapasitet på lageret, All, hvis spesifisert i tellerkonfigurasjonen, i Wh
max_total_current_prc: Prosentandel av den tilgjengelige maksimale totale ladestrømmen. Denne variabelen kan også skrives (ved hjelp av tellerdefinisjoner og Charging Manager-variabler)
_dt: Tiden som har gått siden forrige oppdatering (i sekunder).

Bruk av de globale objektene:
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
Merknad:
Under Egendefinerte tellere finner du også instruksjoner om hvordan du bruker formler med globale Charging Manager-variabler og -utganger.

GM Globale tellere

GM.grid_demandNettreferanse
GM.consumedForbruk
GM.producedGenerasjon
GM.consumed_evseForbruk av elbiler
GM.available_evseTilgjengelig strøm
GM.surplusPV-overskudd
GM.storage_homeMemory Home
GM.storage_allMinner om alt
GM.errorYtelse gjennom feil

Bruk av de globale tellerne
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å søknad

Du vil i tillegg begrense ladestrømmen med hensyn til en forbruksmåler i en leilighet. For å gjøre dette kan du sette opp en laderegel med formelen 16000 - M1.current.
M1 er måleren som måler forbruket i leiligheten. Laststyringen til cFos Charging Manager prøver først å forsyne Wallbox-ladestasjonen med maksimal strøm i forhold til husets tilkoblingseffekt, men begrenser denne til 16A minus leilighetens forbruk.

Funksjoner

Ved hjelp av min_price(s), max_price(s) kan du finne den billigste prisen til energileverandøren din i euro, der prisene søkes fra det nåværende tidspunktet til maks. s sekunder på dagen eller påfølgende dag, f.eks. min_price(25200) returnerer den billigste prisen frem til kl. 07.00. Du kan for eksempel opprette en laderegel med betingelsen CM._price <= min_price(25200) for å lade på det gunstigste tidspunktet, men med en betingelse om at du for eksempel vil starte fra kl. 08.00 (forutsatt en ladetid på 1 time). På samme måte finnes de to funksjonene min_price_secs(s) og max_price_secs(s), som returnerer starttidspunktet for den billigste prisen i sekunder for den påbegynte dagen. Du kan deretter sammenligne disse med for eksempel date.daysecond.