Менаџерот за полнење на 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 |
sqrt(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_va | Тековна моќност во вати/VA (во зависност од видот на мерачот, привидна моќност или вистинска моќност може да се обезбеди тука) |
power_w | Тековната активна моќност во вати |
opower_va | Wallbox: Моментално понудени перформанси во VA поврзани со сите 3 фази. |
import_wh | Поврзана енергија во Wh |
export_wh | Енергија внесена во Wh |
dt | Времето од последното последно ажурирање (во секунди) |
inputN | Влезен број N на уредот, 1 = активен, 0 = неактивен |
soc | SOC, ниво на полнење во проценти (бројач/меморија) |
id | ID на уред, ID на Modbus |
txn_duration | Времетраење на тековната трансакција во секунди (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) |
budget | kWh на тековниот буџет |
budget_amount | На тековниот буџет максимум kWh |
budget_used | kWh искористени на тековниот буџет |
com_err | 1 ако има грешка COM, во спротивно 0 |
com_err2 | 1 ако има грешка COM подолга од 12 секунди, во спротивно 0 |
M1.current_l1 | Струја на метар М1, фаза 1 |
E2.import_wh | Користен Wh од EVSE E2 |
E3.power_va | Тековна моќност на полнење на Е3 |
Ако ги користите формулите за бројач од типот "Израз", можете да го испуштите ИД на уредот. Тогаш имињата на полето се однесуваат на овој метар, на пр. 'Power_va' е тогаш моќноста на овој метар во вати/VA. Со 'dt' можете да имплементирате неколку дополнителни функции, на пример во бројач од типот "Изразување":
import_wh + M1.power_va * dt / 3600
ажурира извлечената енергија врз основа на моќноста за време на последното време на ажурирање(power_va * (20 - dt) + M1.power_va * dt) / 20
измазнува моќноста во последните 20 секунди.date
date.year | оваа година |
date.month | месец од 0..11 |
date.day | ден од 1..31 |
date.weekday | Ден во неделата Пон=0, Вто=1, ... Сонце=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 = летно време |
PB (cFos Power brain only)
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: Сончевиот вишок бидејќи Менаџерот за наплата би го пресметал независно од неговите формули
Benutzung der globalen Objekte:
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
Би сакале дополнително да ја ограничите струјата за полнење во однос на мерачот на потрошувачка во стан. За да го направите ова, можете да поставите 16000 - M1.current
М1 е броилото кое ја мери потрошувачката на станот. Управувањето со оптоварувањето на cFos Charging Manager прво се обидува да му обезбеди на ѕидното сандаче максимална струја во однос на капацитетот за поврзување на куќата, но потоа го ограничува тоа на 16А минус потрошувачката на станот.