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:
Mx | Laskuri, jonka laitetunnus on x, esim. M1 |
Ex | Seinä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_l1 | Vaiheen 1 virta mA |
current_l2 | Vaiheen 2 virta mA |
current_l3 | Vaiheen 3 virta mA |
current | Nykyisen 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_w | Nykyinen aktiivinen teho watteina |
offered | Wallbox: Virta tarjolla mA:na |
import_wh | Ostettu energia Wh |
export_wh | Verkkoon syötetty energia Wh |
dt | Aika, joka on kulunut viimeisimmästä päivityksestä (sekunteina), vain laskurille "Expression", katso myös CM._dt. |
inputN | Laitteen tulon numero N, 1 = aktiivinen, 0 = inaktiivinen, N on tulon numero, alkaen 1. |
soc | SOC, varaustaso prosentteina (laskuri/muisti) - jos laite tukee sitä |
id | Laitteen tunnus, Modbus-ID |
txn_duration | Nykyisen tapahtuman kesto sekunteina (Wallbox) |
charging_dur | Nykyisen tapahtuman todellinen latausaika sekunteina (wallbox) |
txn_energy | Nykyisen tapahtuman ladattu energia Wh:na (wallbox) |
min_current | Vähimmäislatausvirta mA:na (wallbox) |
max_current | Suurin latausvirta mA:na (wallbox) |
state | Tila: 1 odottaa, 2 kytketty, 3 lataus, 4 lataus ilmanvaihdolla, 5 virhe, 6 offline (seinälaatikko) |
cphases | Latausvaiheiden lukumäärä (0-3) |
pphases | Ennustettujen latausvaiheiden lukumäärä (0-3) |
lb_cur_l1 | Virta Vaiheen 1 laskennallinen virta mA:na (wallbox). Vain seinälaatikon lataussääntöjen laskennan aikana, muutoin 0 |
lb_cur_l2 | Vaiheen 2 tällä hetkellä laskettu virta mA:na (wallbox). Vain seinälaatikon lataussääntöjen laskennan aikana, muuten 0 |
lb_cur_l3 | Virta Vaiheen 3 laskettu virta mA:na (wallbox). Vain seinälaatikon lataussääntöjen laskennan aikana, muutoin 0 |
lb_cur | Virtavaiheelle laskettu virta mA:na (wallbox). Vain wallboxin lataussääntöjen laskennan aikana, muuten 0. Charging Manager kysyy kaikki vaiheet peräkkäin. |
surplus_pcur | PV-ylimääräinen virta (ennustettua) vaihetta kohti mA:na |
surplus_wanted | 1, jos PV-ylijäämäsääntöä on jo sovellettu, muuten 0 |
budget | KWh tai minuuttia nykyisessä talousarviossa |
budget_amount | Enimmäiskilowattitunnit tai -minuutit nykyisellä budjetilla |
budget_used | Kuluvan budjetin aikana käytetyt kilowattitunnit tai minuutit |
com_err | 1, jos on COM-virhe, muuten 0 |
com_err2 | 1, jos COM-virhe kestää yli 12 sekuntia, muuten 0 |
reactive_power | Reaktiivisen tehon määrittely watteina (jos laite tukee), positiiviset arvot: Induktiiviset, negatiiviset arvot: kapasitiiviset |
switch_phases | Vaiheiden kytkennällä varustetuissa seinärasioissa: Manuaalinen vaiheiden kytkentä, 1 = 1-vaihe, 3 = 3-vaihe, -1 = automaattinen vaiheiden kytkentä |
departure | ISO 15118 -lähtöaika yksikköaikaleimana (tätä tukevissa seinälaatikoissa, muuten 0) |
req_energy | ISO 15118 Tarvittava energia Wh:na (tätä tukevissa seinälaatikoissa, muuten 0) |
plugin_start | Unix-ajastinleima, kaapelin asentamisajankohta |
plugin_energy | Aikaisemmin ladattu energia Wh:na siitä, kun kaapeli kytkettiin verkkoon |
M1.current_l1 | Mittarin M1 virta, vaihe 1 |
E2.import_wh | Wallbox E2:n kuluttama Wh |
E3.power_w | E3: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:
import_wh + M1.power_w * dt / 3600
päivittää otetun energian edellisen päivitysajan tehon perusteella(power_w * (20 - dt) + M1.power_w * dt) / 20
tasoittaa tehon viimeisten 20 sekunnin ajalta.date
date.year | Kuluva vuosi |
date.month | Kuukausi alkaen 0..11 |
date.day | Päivä alkaen 1..31 |
date.weekday | Viikonpäivä SO=0, ma=1, ti=2, .... Sat=6 |
date.yearday | Päivä vuodessa 0..366 alkaen |
date.hour | Tunti 0..23 |
date.minute | Minuutti välillä 0..60 |
date.second | Toiseksi 0..60 |
date.daysecond | Tämän päivän sekuntia 0..86399 alkaen |
date.dayminute | Tämän päivän minuutti alkaen 0..1439 |
date.dst | 0 = talviaika, 1 = kesäaika |
date.timestamp | Unix timespamp, secs since 1.1.1970 |
PB (nur cFos Power Brain)
PB.input1 | S0 Input 1, 1 = aktiivinen, 0 = inaktiivinen |
PB.input2 | S0 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_demand | Verkkosyöttö |
GM.consumed | Kulutus |
GM.produced | Sukupolvi |
GM.consumed_evse | Sähköautojen kulutus |
GM.available_evse | Käytettävissä oleva teho |
GM.surplus | PV-ylijäämä |
GM.storage_home | Varastointi kotiin |
GM.storage_all | Muisti Kaikki |
GM.error | Suorituskyky 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.
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.
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.