Дакументацыя

cFos Charging Manager - формулы

cFos Charging Manager дазваляе дынамічна ацэньваць формулы. Гэтая функцыя даступная для лічыльніка тыпу "Выраз" і для правілаў загрузкі тыпу "Формула".

Такім чынам, вы можаце наладзіць лічыльнікі, якія вылічаюць значэнні з іншых лічыльнікаў або насценных скрынь, і трымаць іх у гатоўнасці і адлюстроўваць. Правілы зарадкі таксама могуць дынамічна разлічваць зарадны ток з дапамогай формул, а таксама атрымаць доступ да лічыльнікаў і насценных скрынь (у тым ліку лічыльнікаў тыпу "Выраз").

З формуламі магчымыя наступныя аперацыі:

+ - * / %Складанне, адніманне, множанне, дзяленне, модуль
& |паразраднае І і АБО
^Разлік магутнасці, напрыклад 10 ^ 2 = 100
min(x,y)Мінімум x і y, магчыма больш за 2 аргументаў
max(x,y)Максімум x і y, магчыма больш за 2 аргументаў
abs(x)Абсалютная колькасць х, напрыклад, abs (-2) = 2
clamp(x,min,max)Значэнне x = min (калі x < min), x = max (калі x > max), у адваротным выпадку захавайце x
round(x)Акругліць х да цэлага. Прыклад: акругленне да 1 знака пасля коскі: круглае (10*x)/10.
sqrt(x)Квадратны корань з х
exists(x)ісціна, калі зменная x існуе, у адваротным выпадку ілжыва

Таксама магчымыя наступныя лагічныя выразы:

== (роўна) != (не роўна), < (менш за), <= (менш або роўна), > (больш за), >= (больш або роўна) ! (не), || (лагічны або), && (лагічны і) ? (Умоўны аператар, x ? y : z, вяртае y, калі x праўда, інакш z)

Гэта дазваляе, напрыклад, адключыць ток у залежнасці ад умоў: M1.current >= 6500 ? M1.current : 0 забяспечвае ток M1, калі ён перавышае 6,5 А, і 0 у адваротным выпадку, што спыняе зарадку. Для такіх умоў таксама можна запытваць уводы (гл. ніжэй)

Магчымыя наступныя назвы:

MxЛічыльнік з ідэнтыфікатарам прылады x, напрыклад, M1
ExEVSE з ідэнтыфікатарам прылады x, напрыклад E1

Таксама можна атрымаць доступ да віртуальных лічыльнікаў, такіх як лішак сонечнай энергіі, набытая электраэнергія або "Даступнасць электраэнергіі для EVSE" (магутнасць, даступная для насценных скрынак), наладзіўшы лічыльнік, а затым выкарыстоўваючы адпаведны ідэнтыфікатар прылады ў формуле.

Затым можна атрымаць доступ да асобных значэнняў прылад з дапамогай кропкі. Яны называюцца наступным чынам:

current_l1Ток фазы 1 у ма
current_l2Фаза 2 току ў мА
current_l3Ток фазы 3 у ма
currentТок бягучай фазы ў мА (з правіламі зарадкі менеджэр зарадкі запытвае ўсе фазы адзін за адным; з лічыльнікамі тыпу "Выраз" прымяняецца адпаведная фаза, да якой адносіцца формула. Калі вы задалі формулу для " Бягучы L1 ", вы можаце апусціць палі для патокаў L2 і L3. Затым выкарыстоўваецца формула для патоку L1)
power_wБягучая актыўная магутнасць у ватах
offeredWallbox: даступны ў цяперашні час ток у мА
import_whЗвязаная энергія ў Ут
export_whЭнергія, якая паступае ў Вт
dtЧас, які прайшоў з моманту апошняга абнаўлення (у секундах), толькі для лічыльніка «Выраз», гл. таксама CM._dt.
inputNНумар уваходу N прылады, 1 = актыўны, 0 = неактыўны, N - нумар уваходу, пачынаючы з 1.
socSOC, узровень зарада ў працэнтах (лічыльнік/памяць) - калі падтрымліваецца прыладай
idІдэнтыфікатар прылады, ідэнтыфікатар Modbus
txn_durationПрацягласць бягучай транзакцыі ў секундах (сценная скрынка)
charging_durФактычны час загрузкі бягучай транзакцыі ў секундах (Wallbox)
txn_energyЗараджаная энергія бягучай транзакцыі ў Вт-гадз (васценны скрыню)
min_currentМінімальны ток зарадкі ў мА (EVSE)
max_currentМаксімальны ток зарадкі ў мА (EVSE)
stateСтатус: 1 чакае, 2 падключана, 3 зараджаецца, 4 зараджаецца з вентыляцыяй, 5 памылка, 6 па-за сеткай (EVSE)
cphasesКолькасць фаз загрузкі (0-3)
pphasesКолькасць прагназуемых фаз загрузкі (0-3)
lb_cur_l1Разліковы ток фазы 1 у мА (насценная скрынка). Толькі падчас разліку правілаў зарадкі Wallbox, інакш 0
lb_cur_l2Разліковы ток фазы 2 у мА (насценная скрынка). Толькі падчас разліку правілаў зарадкі Wallbox, інакш 0
lb_cur_l3Разліковы ток фазы 3 у мА (насценная скрынка). Толькі падчас разліку правілаў зарадкі Wallbox, інакш 0
lb_curБягучы разлічаны ток бягучай фазы ў мА (Wallbox). Толькі падчас разліку правілаў зарадкі Wallbox, інакш 0. Менеджэр зарадкі запытвае ўсе фазы адну за адной.
surplus_pcurПеравышэнне току PV на (прагназаваную) фазу ў мА
surplus_wanted1, калі правіла лішку PV ужо прыменена, інакш 0
budgetкВт.гадз або хвілін пры бягучым бюджэце
budget_amountУ бягучым бюджэце максімальная колькасць кВт.гадз або хвілін
budget_usedкВт.гадз або хвіліны, выкарыстаныя пры бягучым бюджэце
com_err1, калі ёсць памылка COM, інакш 0
com_err21, калі ёсць памылка COM больш за 12 секунд, інакш 0
reactive_powerСпецыфікацыя рэактыўнай магутнасці ў ватах (калі прылада падтрымлівае гэта), дадатныя значэнні: індуктыўная, адмоўныя значэнні: ёмістная
switch_phasesДля насценных боксаў з пераключэннем фаз: ручное пераключэнне фаз, 1 = 1-фаза, 3 = 3-фаза, -1 = аўтаматычнае пераключэнне фаз
departureЧас адпраўлення па ISO 15118 як адзінкавая метка часу (для насценных скрынак, якія падтрымліваюць гэта, інакш 0)
req_energyISO 15118. Неабходная энергія ў Вт·гадз (для насценных боксаў, якія падтрымліваюць гэта, інакш 0)
plugin_startПазнака часу Unix, час устаўкі кабеля
plugin_energyЗараджаная энергія ў Вт·гадз з моманту падлучэння кабеля

прыклад
M1.current_l1Ток лічыльніка М1, фаза 1
E2.import_whВыкарыстоўваецца Wh з EVSE E2
E3.power_wБягучая магутнасць зарадкі E3 у ватах

Калі вы выкарыстоўваеце формулы для лічыльніка тыпу "Выраз", вы таксама можаце апусціць ідэнтыфікатар прылады. Тады назвы палёў адносяцца да гэтага лічыльніка, напрыклад, "power_w" - гэта магутнасць гэтага лічыльніка ў ватах. З дапамогай «dt» можна рэалізаваць некалькі дадатковых функцый, напрыклад, у лічыльніку тыпу «Выраз»:

  • У якасці формулы для 'import_wh': import_wh + M1.power_w * dt / 3600 абнаўляе набытую энергію на аснове магутнасці за мінулы час абнаўлення
  • Як формула для 'power_w': (power_w * (20 - dt) + M1.power_w * dt) / 20 згладжвае магутнасць за апошнія 20 секунд.

глабальныя зменныя

date

date.yearбягучы год
date.monthмесяц з 0..11
date.dayдзень з 1.31
date.weekdayДзень будня нд=0, пн=1, аўт=2, ... сб=6
date.yeardayдзень года з 0..366
date.hourгадзіна з 0..23
date.minuteхвілін ад 0..60
date.secondдругая ад 0..60
date.daysecondДругі гэтага дня з 0..86399
date.dayminuteХвіліна гэтага дня з 0..1439г
date.dst0 = зімовы час, 1 = летні час
date.timestampUnix timespamp, secs since 1.1.1970

PB (nur cFos Power Brain)

PB.input1S0 Input 1, 1 = актыўны, 0 = неактыўны
PB.input2S0 Input 2, 1 = актыўны, 0 = неактыўны

CM Зменныя дыспетчара зарадкі

Гэтыя зменныя могуць быць устаноўлены адміністратарам у раздзеле «Канфігурацыя». Напрыклад, калі адміністратар усталёўвае для зменнай 'var_x' значэнне 1,5, CM.var_x вяртае значэнне 1,5.

Зададзеныя зменныя:
_num_charging: Колькасць настольных скрынак, якія зараз зараджаюцца
_num_charging1: Колькасць прылад Wallbox, якія зараз зараджаюцца, 1, калі ні адна не зараджаецца
_max_total_current: Максімальны ток хатняга падключэння ў мА на фазу
_max_total_evse_current: Максімальны ток для насценных скрынак у мА на фазу
_price: Бягучая цана на электраэнергію
_price_level: бягучы ўзровень цэн на электраэнергію, -2=вельмі дорага, -3=дорага, -4=нармальна, -5=танна, -6=вельмі танна
_surplus: бягучы сонечны лішак у ватах
_org_surplus: лішак сонечнай энергіі, паколькі дыспетчар зарадкі разлічыў яго незалежна ад уласных формул
_storage_home_max_capacity: Агульная ёмістасць захоўвання, Home, калі паказана ў канфігурацыі лічыльніка, у Вт·гадз
_storage_home_capacity: бягучая ёмістасць захоўвання, Home, калі паказана ў канфігурацыі лічыльніка, у Вт·гадз
_storage_all_max_capacity: Агульная ёмістасць захоўвання, усе, калі паказана ў канфігурацыі лічыльніка, у Вт·гадз
_storage_all_capacity: бягучая ёмістасць захоўвання, усе, калі паказана ў канфігурацыі лічыльніка, у Вт·гадз
_max_total_current_prc: Працэнт даступнага максімальнага агульнага току зарадкі. Гэтую зменную таксама можна запісаць (праз вызначэнні лічыльнікаў і зменныя Charging Manager).
_dt: час з моманту апошняга абнаўлення (у секундах).

Выкарыстанне глабальных аб'ектаў:
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
Заўвага:
У раздзеле "Карыстальніцкія лічыльнікі" вы таксама знойдзеце інструкцыі па выкарыстанні формул з глабальнымі зменнымі і выхадамі Charging Manager.

GM Глабальныя лічыльнікі

GM.grid_demandСпасылка на сетку
GM.consumedспажывання
GM.producedпакалення
GM.consumed_evseСпажыванне электрамабіляў
GM.available_evseДаступная магутнасць
GM.surplusPV лішак
GM.storage_homeДом памяці
GM.storage_allПамяць Усё
GM.errorПрадукцыйнасць праз памылкі

Выкарыстанне глабальных лічыльнікаў
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.

Прыклад прымянення

Вы хацелі б дадаткова абмежаваць зарадны ток у дачыненні да лічыльніка спажывання ў кватэры. Для гэтага можна наладзіць 16000 - M1.current
М1 - гэта лічыльнік, які вымярае спажыванне кватэры. Кіраванне нагрузкай cFos Charging Manager спачатку спрабуе забяспечыць настенную скрынку максімальным токам з улікам магутнасці падключэння дамоў, але затым абмяжоўвае гэта да 16 А за вылікам спажывання ў кватэры.

Асаблівасці

Выкарыстоўваючы min_price(s), max_price(s), вы можаце вызначыць самую танную цану ад вашага пастаўшчыка энергіі ў еўра, пры гэтым цэны шукаюцца ад бягучага часу да max s секунд дня або наступнага дня, напрыклад, min_price(25200). самая танная цана да 7:00 раніцы. Напрыклад, вы можаце стварыць правіла зарадкі з умовай CM._price <= min_price(25200) для зарадкі ў самы танны час, але з умовай, што вы хочаце пачаць з 8:00 раніцы (пры ўмове, што час зарадкі складае 1 гадзіну). Аналагічным чынам існуюць дзве функцыі min_price_secs(s) і max_price_secs(s), якія вяртаюць час пачатку самай нізкай цаны ў секундах дня, які пачаўся. Затым вы можаце параўнаць гэта з date.daysecond, напрыклад.