Dokumentaatio

cFos Charging Manager - Kaavat

CFos Charging Manager mahdollistaa kaavojen dynaamisen arvioinnin. Tämä toiminto on käytettävissä "Expression"-tyyppiselle laskurille ja "Formula"-tyyppisille veloitussäännöille.

Voit siis asettaa mittareita, jotka laskevat arvot muista mittareista tai seinälaatikoista ja säilyttävät ja näyttävät ne. Lataussäännöt voivat myös laskea latausvirran dynaamisesti kaavojen avulla ja käyttää myös mittareita ja seinälaatikoita (myös "Expression"-tyyppisiä mittareita).

Seuraavat toiminnot ovat mahdollisia kaavoilla:

+ - * / %Yhteenlasku, vähennyslasku, kertolasku, jakolasku, moduuli
& |bittinen AND ja OR
^Teholaskenta, esim. 10^2 = 100
min(x,y)X:n ja y:n vähimmäismäärä, yli 2 argumenttia mahdollista
max(x,y)Enintään x ja y, enemmän kuin 2 argumenttia mahdollista
abs(x)X:n absoluuttinen arvo, esim. abs(-2) = 2
clamp(x,min,max)Arvo x = min (jos x < min), x = max (jos x > max), muuten säilytetään x
round(x)Pyöristetään x kokonaisluvuksi. Esimerkki: Pyöristäminen yhteen desimaaliin: round(10*x)/10.
sqrt(x)X:n neliöjuuri
exists(x)true jos muuttuja x on olemassa, muuten false

Myös seuraavat loogiset lausekkeet ovat mahdollisia:

== (yhtäläinen), != (epätasa-arvoinen), < (pienempi), <= (pienempi-yhtäläinen), > (suurempi), >= (suurempi-yhtäläinen), ! (ei), || (looginen tai), && (looginen ja), ? (ehdollinen operaattori, esim. x ? y : z, palauttaa y, jos x on tosi, muuten z)

Tämä mahdollistaa virran kytkemisen pois päältä esimerkiksi olosuhteiden mukaan: M1.current >= 6500 ? M1.current : 0 palauttaa M1:n virran, jos se on suurempi kuin 6,5A, ja muutoin 0, jolloin lataus keskeytyy. Tällaisia olosuhteita varten on myös mahdollista kysyä tuloja (ks. jäljempänä)

Seuraavat nimet ovat mahdollisia:

MxLaskuri, jonka laitetunnus on x, esim. M1
ExSeinälaatikko, jonka laitetunnus on x, esim. E1

On myös mahdollista käyttää virtuaalisia mittareita, kuten aurinkoenergian ylijäämää, verkkokulutusta tai "Power avail. for EVSEs" (seinäkoteloiden käytettävissä oleva teho), määrittelemällä mittari ja käyttämällä kaavassa vastaavaa laitetunnusta.

Tämän jälkeen voit käyttää laitteiden yksittäisiä arvoja pisteen avulla. Näitä kutsutaan seuraavasti:

current_l1Vaiheen 1 virta mA
current_l2Vaiheen 2 virta mA
current_l3Vaiheen 3 virta mA
currentNykyisen vaiheen virta mA:na (lataussääntöjen osalta latauksenhallinta kysyy kaikkia vaiheita peräkkäin; "lausekkeen" tyyppisten laskureiden osalta sovelletaan kyseistä vaihetta, johon kaava viittaa. Jos olet määrittänyt kaavan "Virta L1", voit jättää pois kentät virta L2 ja L3. Tällöin käytetään virtaa L1 koskevaa kaavaa)
power_wNykyinen aktiivinen teho watteina
offeredWallbox: Virta tarjolla mA:na
import_whOstettu energia Wh
export_whVerkkoon syötetty energia Wh
dtAika, joka on kulunut viimeisimmästä päivityksestä (sekunteina), vain laskurille "Expression", katso myös CM._dt.
inputNLaitteen tulon numero N, 1 = aktiivinen, 0 = inaktiivinen, N on tulon numero, alkaen 1.
socSOC, varaustaso prosentteina (laskuri/muisti) - jos laite tukee sitä
idLaitteen tunnus, Modbus-ID
txn_durationNykyisen tapahtuman kesto sekunteina (Wallbox)
charging_durNykyisen tapahtuman todellinen latausaika sekunteina (wallbox)
txn_energyNykyisen tapahtuman ladattu energia Wh:na (wallbox)
min_currentVähimmäislatausvirta mA:na (wallbox)
max_currentSuurin latausvirta mA:na (wallbox)
stateTila: 1 odottaa, 2 kytketty, 3 lataus, 4 lataus ilmanvaihdolla, 5 virhe, 6 offline (seinälaatikko)
cphasesLatausvaiheiden lukumäärä (0-3)
pphasesEnnustettujen latausvaiheiden lukumäärä (0-3)
lb_cur_l1Virta Vaiheen 1 laskennallinen virta mA:na (wallbox). Vain seinälaatikon lataussääntöjen laskennan aikana, muutoin 0
lb_cur_l2Vaiheen 2 tällä hetkellä laskettu virta mA:na (wallbox). Vain seinälaatikon lataussääntöjen laskennan aikana, muuten 0
lb_cur_l3Virta Vaiheen 3 laskettu virta mA:na (wallbox). Vain seinälaatikon lataussääntöjen laskennan aikana, muutoin 0
lb_curVirtavaiheelle laskettu virta mA:na (wallbox). Vain wallboxin lataussääntöjen laskennan aikana, muuten 0. Charging Manager kysyy kaikki vaiheet peräkkäin.
surplus_pcurPV-ylimääräinen virta (ennustettua) vaihetta kohti mA:na
surplus_wanted1, jos PV-ylijäämäsääntöä on jo sovellettu, muuten 0
budgetKWh tai minuuttia nykyisessä talousarviossa
budget_amountEnimmäiskilowattitunnit tai -minuutit nykyisellä budjetilla
budget_usedKuluvan budjetin aikana käytetyt kilowattitunnit tai minuutit
com_err1, jos on COM-virhe, muuten 0
com_err21, jos COM-virhe kestää yli 12 sekuntia, muuten 0
reactive_powerReaktiivisen tehon määrittely watteina (jos laite tukee), positiiviset arvot: Induktiiviset, negatiiviset arvot: kapasitiiviset
switch_phasesVaiheiden kytkennällä varustetuissa seinärasioissa: Manuaalinen vaiheiden kytkentä, 1 = 1-vaihe, 3 = 3-vaihe, -1 = automaattinen vaiheiden kytkentä
departureISO 15118 -lähtöaika yksikköaikaleimana (tätä tukevissa seinälaatikoissa, muuten 0)
req_energyISO 15118 Tarvittava energia Wh:na (tätä tukevissa seinälaatikoissa, muuten 0)
plugin_startUnix-ajastinleima, kaapelin asentamisajankohta
plugin_energyAikaisemmin ladattu energia Wh:na siitä, kun kaapeli kytkettiin verkkoon

Esimerkki
M1.current_l1Mittarin M1 virta, vaihe 1
E2.import_whWallbox E2:n kuluttama Wh
E3.power_wE3:n nykyinen latausteho watteina

Jos käytät "Expression"-tyyppisen mittarin kaavoja, voit myös jättää laitteen ID:n pois. Kenttien nimet viittaavat tällöin tähän mittariin, esim. 'power_w' on tällöin tämän mittarin teho watteina. Käyttämällä 'dt' voit toteuttaa muutamia laajennettuja toimintoja, esim. "Expression"-tyyppisessä laskurissa:

  • Kaavana 'import_wh': import_wh + M1.power_w * dt / 3600 päivittää otetun energian edellisen päivitysajan tehon perusteella
  • Kaavana 'power_w': (power_w * (20 - dt) + M1.power_w * dt) / 20 tasoittaa tehon viimeisten 20 sekunnin ajalta.

Globaalit muuttujat

date

date.yearKuluva vuosi
date.monthKuukausi alkaen 0..11
date.dayPäivä alkaen 1..31
date.weekdayViikonpäivä SO=0, ma=1, ti=2, .... Sat=6
date.yeardayPäivä vuodessa 0..366 alkaen
date.hourTunti 0..23
date.minuteMinuutti välillä 0..60
date.secondToiseksi 0..60
date.daysecondTämän päivän sekuntia 0..86399 alkaen
date.dayminuteTämän päivän minuutti alkaen 0..1439
date.dst0 = talviaika, 1 = kesäaika
date.timestampUnix timespamp, secs since 1.1.1970

PB (nur cFos Power Brain)

PB.input1S0 Input 1, 1 = aktiivinen, 0 = inaktiivinen
PB.input2S0 Input 2, 1 = aktiivinen, 0 = inaktiivinen

CM Charging Manager -muuttujat

Ylläpitäjä voi asettaa nämä muuttujat kohdassa "Configuration". Jos esimerkiksi ylläpitäjä asettaa muuttujan 'var_x' arvoksi 1,5, CM.var_x palauttaa arvon 1,5.

Ennalta määritellyt muuttujat:
_num_charging: Tällä hetkellä lataavien seinälaatikoiden lukumäärä
_num_charging1: Tällä hetkellä lataavien seinälaatikoiden lukumäärä, 1, jos yksikään ei ole lataamassa
_max_total_current: Talon liitännän enimmäisvirta mA:na vaihetta kohti
_max_total_evse_current: seinärasioiden enimmäisvirta mA:na vaihetta kohti
_price: sähkön nykyinen hinta
_price_level: Sähkön nykyinen hintataso, -2=erittäin kallis, -3=kallis, -4=normaali, -5=halpa, -6=erittäin halpa
_ylijäämä: Nykyinen auringon ylijäämä watteina
_org_surplus: auringon ylijäämä sellaisena kuin latauksen hallinnoija olisi laskenut sen omien kaavojensa mukaisesti
_storage_home_max_capacity: Varaston kokonaiskapasiteetti, koti, jos se on määritetty mittarin konfiguraatiossa, Wh:na
_storage_home_capacity: Varaston nykyinen kapasiteetti, Home, jos se on määritetty mittarin kokoonpanossa, Wh:na
_storage_all_max_capacity: Varaston kokonaiskapasiteetti, All, jos se on määritetty laskurikonfiguraatiossa, Wh:na
_storage_all_capacity: Varaston nykyinen kapasiteetti, All, jos se on määritetty laskurin kokoonpanossa, Wh:na
_max_total_total_current_prc: Prosenttiosuus käytettävissä olevasta suurimmasta kokonaislatausvirrasta. Tämä muuttuja voidaan myös kirjoittaa (laskurin määritelmien ja Charging Manager -muuttujien avulla)
_dt: Viimeisimmästä päivityksestä kulunut aika (sekunteina).

Globaalien objektien käyttö:
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
Huomautus:
Kohdassa Käyttäjän määrittelemät laskurit on myös ohjeet kaavojen käyttämisestä globaalien Charging Manager -muuttujien ja -ulostulojen kanssa.

GM Maailmanlaajuiset laskurit

GM.grid_demandVerkkosyöttö
GM.consumedKulutus
GM.producedSukupolvi
GM.consumed_evseSähköautojen kulutus
GM.available_evseKäytettävissä oleva teho
GM.surplusPV-ylijäämä
GM.storage_homeVarastointi kotiin
GM.storage_allMuisti Kaikki
GM.errorSuorituskyky virheen kautta

Maailmanlaajuisten laskureiden käyttö
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.

Sovellusesimerkki

Haluat lisäksi rajoittaa latausvirtaa asunnon kulutusmittarin osalta. Tätä varten voit asettaa lataussäännön kaavalla 16000 - M1.current.
M1 on mittari, joka mittaa asunnon kulutusta. CFos Charging Managerin kuormanhallinta yrittää aluksi antaa seinälaatikolle maksimivirran, joka vastaa talon liitäntävirtaa, mutta rajoittaa sen sitten 16A: iin, josta vähennetään asunnon kulutus.

Toiminnot

Käyttämällä min_price(s), max_price(s) voit määrittää energiantarjoajasi halvimman hinnan euroina, jolloin hintoja etsitään tämänhetkisestä kellonajasta päivän tai seuraavan päivän enintään s sekuntiin, esim. min_price(25200) palauttaa halvimman hinnan klo 7:00 asti. Voit esimerkiksi luoda lataussäännön, jossa on ehto CM._price <= min_price(25200), jotta lataus tapahtuisi edullisimpana ajankohtana, mutta jossa on ehto, että haluat käynnistää latauksen esimerkiksi kello 8:00 alkaen (olettaen, että latausaika on 1 tunti). Vastaavasti on olemassa kaksi funktiota min_price_secs(s) ja max_price_secs(s), jotka palauttavat halvimman hinnan alkamisajankohdan sekunneissa aloitetun päivän aikana. Voit sitten verrata näitä esimerkiksi date.daysecondiin.