Менаџерот за полнење на cFos овозможува динамична евалуација на формулите. Оваа функционалност е достапна за бројач од типот "Израз" и за правила за вчитување од типот "Формула".
Така, можете да поставите метри што пресметуваат вредности од други метри или wallидни кутии и да ги чувате подготвени и да ги прикажете. Правилата за полнење, исто така, можат динамично да ја пресметаат струјата за полнење користејќи формули и, исто така, да пристапат до метри и wallидни кутии (вклучувајќи метри од типот "Изразување").
Следниве операции се можни со формулите:
+ - * / % | Собирање, одземање, множење, делење, модул |
& | | по малку И и ИЛИ |
^ | Пресметка на моќност, на пр. 10 ^ 2 = 100 |
min(x,y) | Минимум x и y, можни се повеќе од 2 аргументи |
max(x,y) | Максимум од x и y, можни се повеќе од 2 аргументи |
abs(x) | Апсолутна количина на x, на пр. Апс (-2) = 2 |
clamp(x,min,max) | Вредност x = min (ако x < min), x = max (ако x > max), инаку задржи x |
round(x) | Заокружете го x до цел број. Пример: заокружете до 1 децимално место: круг(10*x)/10. |
sqrt(x) | Квадратен корен на x |
exists(x) | точно ако постои променливата x, инаку неточно |
Следниве логички изрази се исто така можни:==
(еднакво на) !=
(не е еднакво на), <
(помало од), <=
(помало или еднакво на), >
(поголемо од), >=
(поголемо или еднакво на) !
(не), ||
(логично или), &&
(логично и) ?
(Условен оператор, x ? y : z
, враќа y ако x е точно, инаку z)
Ова овозможува, на пример, исклучување на струјата во зависност од условите: M1.current >= 6500 ? M1.current : 0
ја напојува струјата на M1 ако е поголема од 6,5A и 0 во спротивно, што го паузира полнењето. За такви услови, можно е и барање за влезови (види подолу)
Следниве имиња се можни:
Mx | Бројач со ID на уредот x, на пр. M1 |
Ex | EVSE со уред ID, на пр. E1 |
Исто така, можно е да се пристапи до виртуелни броила, како што се соларниот вишок, купената електрична енергија или „Power avail. for EVSEs“ (моќта достапна за wallboxes) со поставување на мерачот и потоа користење на соодветниот ID на уредот во формулата.
До индивидуалните вредности на уредите потоа може да се пристапи со помош на точка. Тие се нарекуваат како што следува:
current_l1 | Фаза 1 струја во mA |
current_l2 | Фаза 2 струја во mA |
current_l3 | Фаза 3 струја во mA |
current | Струја на тековната фаза во mA (со правила за полнење, Менаџерот за полнење ги прашува сите фази една по друга; со метри од типот "Израз", се применува соодветната фаза на која се однесува формулата. Ако сте навеле формула за " Тековен L1 ", можете да ги изоставите полињата за потокот L2 и L3. Потоа се користи формулата за поток L1) |
power_w | Тековната активна моќност во вати |
offered | Wallbox: Моментално достапна струја во mA |
import_wh | Поврзана енергија во Wh |
export_wh | Енергија внесена во Wh |
dt | Времето што поминало од последното ажурирање (во секунди), само за бројачот „Израз“, видете исто така CM._dt. |
inputN | Влезен број N на уредот, 1 = активен, 0 = неактивен, N е бројот на влезот, почнувајќи од 1. |
soc | SOC, ниво на полнење во проценти (бројач/меморија) - ако е поддржано од уредот |
id | ID на уред, ID на Modbus |
txn_duration | Времетраење на тековната трансакција во секунди (wallbox) |
charging_dur | Реално време на вчитување на тековната трансакција во секунди (Wallbox) |
txn_energy | Наплатена енергија на тековната трансакција во Wh (wallbox) |
min_current | Минимална струја на полнење во mA (EVSE) |
max_current | Максимална струја на полнење во mA (EVSE) |
state | Статус: 1 чекање, 2 приклучено, 3 полнење, 4 полнење со вентилација, 5 грешка, 6 офлајн (EVSE) |
cphases | Број на фази на вчитување (0-3) |
pphases | Број на предвидени фази на вчитување (0-3) |
lb_cur_l1 | Тековна пресметана струја на фаза 1 во mA (wallbox). Само додека ги пресметувате правилата за полнење на Wallbox, во спротивно 0 |
lb_cur_l2 | Тековна пресметана струја на фаза 2 во mA (wallbox). Само додека ги пресметувате правилата за полнење на Wallbox, во спротивно 0 |
lb_cur_l3 | Тековна пресметана струја на фаза 3 во mA (wallbox). Само додека ги пресметувате правилата за полнење на Wallbox, во спротивно 0 |
lb_cur | Тековно пресметана струја на тековната фаза во mA (wallbox). Само за време на пресметката на правилата за полнење Wallbox, во спротивно 0. Управникот за полнење ги прашува сите фази една по друга. |
surplus_pcur | PV вишок струја по (предвидена) фаза во mA |
surplus_wanted | 1 ако веќе е применето правило за вишок на PV, во спротивно 0 |
budget | kWh или минути на тековниот буџет |
budget_amount | На тековниот буџет максимум kWh или минути |
budget_used | kWh или минути искористени на тековниот буџет |
com_err | 1 ако има грешка COM, во спротивно 0 |
com_err2 | 1 ако има грешка COM подолга од 12 секунди, во спротивно 0 |
reactive_power | Спецификација за реактивна моќност во вати (ако уредот го поддржува ова), позитивни вредности: индуктивни, негативни вредности: капацитивни |
switch_phases | За ѕидни кутии со фазно префрлување: Рачно префрлување фаза, 1 = 1-фаза, 3 = 3-фаза, -1 = автоматско префрлување фаза |
departure | ISO 15118 време на поаѓање како единица временска ознака (за ѕидни кутии што го поддржуваат ова, инаку 0) |
req_energy | ISO 15118 Потребна енергија во Wh (за ѕидни кутии што го поддржуваат ова, во спротивно 0) |
plugin_start | Временски печат на Unix, време на вметнување кабел |
plugin_energy | Енергијата се полни досега во Wh од моментот кога кабелот беше приклучен |
M1.current_l1 | Струја на метар М1, фаза 1 |
E2.import_wh | Користен Wh од EVSE E2 |
E3.power_w | Тековна моќност на полнење од E3 во вати |
Ако ги користите формулите за бројач од типот „Израз“, можете исто така да го испуштите ID на уредот. Тогаш имињата на полињата се однесуваат на овој метар, на пример, „power_w“ е тогаш моќноста на овој метар во вати. Користејќи „dt“ можете да имплементирате неколку дополнителни функции, на пример во бројач од типот „Израз“:
import_wh + M1.power_w * dt / 3600
ја ажурира купената енергија врз основа на моќноста за време на минатото ажурирање(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.dst | 0 = зимско време, 1 = летно време |
date.timestamp | Unix timespamp, secs since 1.1.1970 |
PB (nur cFos Power Brain)
PB.input1 | S0 Input 1, 1 = активен, 0 = неактивен |
PB.input2 | S0 Input 2, 1 = активен, 0 = неактивен |
CM Променливи на менаџерот за полнење
Овие променливи може да ги постави администраторот под „Конфигурација“. На пример, ако администраторот ја постави променливата „var_x“ на 1,5, CM.var_x ја враќа вредноста 1,5.
Предефинирани променливи:
_num_charging: Број на ѕидни кутии кои моментално се полнат
_num_charging1: Број на wallboxes кои моментално се полнат, 1 ако ниту една не се полни
_max_total_current: Максимална струја на приклучокот на куќата во mA по фаза
_max_total_evse_current: Максимална струја за ѕидни кутии во mA по фаза
_price: Тековна цена на струјата
_price_level: Тековно ниво на цената на електричната енергија, -2=многу скапо, -3=скапо, -4=нормално, -5=евтино, -6=многу евтино
_suplus: Тековен соларен вишок во вати
_org_surplus: Сончевиот вишок бидејќи Менаџерот за наплата би го пресметал независно од неговите формули
_storage_home_max_capacity: вкупен капацитет за складирање, Дома, доколку е наведено во конфигурацијата на бројачот, во Wh
_storage_home_capacity: Тековен капацитет за складирање, Home, доколку е наведено во конфигурацијата на бројачот, во Wh
_storage_all_max_capacity: Вкупен капацитет за складирање, Сите, доколку е наведено во конфигурацијата на бројачот, во Wh
_storage_all_capacity: Тековен капацитет за складирање, Сите, доколку е наведено во конфигурацијата на бројачот, во Wh
_max_total_current_prc: Процент од достапната максимална вкупна струја за полнење. Оваа променлива, исто така, може да се запише (преку дефинициите на мерачот и променливите на менаџерот за полнење).
_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
Забележете:
Под Прилагодени бројачи ќе најдете и упатства како да користите формули со глобални променливи и излези на Управникот за полнење.
GM Глобални шалтери
GM.grid_demand | Референца на мрежа |
GM.consumed | потрошувачката |
GM.produced | генерација |
GM.consumed_evse | Потрошувачка на електрични автомобили |
GM.available_evse | Достапна моќност |
GM.surplus | ФВ вишок |
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) за полнење на најевтино време, но со услов да сакате да тргнете од 08:00 часот (претпоставувајќи 1 час време за полнење). Слично на тоа, постојат двете функции min_price_secs(s) и max_price_secs(s), кои го враќаат времето на започнување на најевтината цена во секунди од денот што започнал. Потоа можете да го споредите ова со date.daysecond, на пример.