Dokumentacja

menedżer ds. ładowania cFos - Formuły

Menedżer ładowania cFos umożliwia dynamiczną ocenę formuł. Funkcjonalność ta jest dostępna dla licznika typu "Wyrażenie" oraz dla reguł naliczania opłat typu "Formuła".

Można zatem skonfigurować liczniki, które obliczają wartości z innych liczników lub EVSE i utrzymują je w gotowości oraz wyświetlają je. Reguły ładowania mogą również wykorzystywać formuły do dynamicznego obliczania prądu ładowania, a także uzyskiwać dostęp do liczników i EVSE (w tym liczników typu "Expression").

Z formułami możliwe są następujące operacje:

+ - * / %Dodawanie, odejmowanie, mnożenie, dzielenie, modulus
& |bitowe AND i OR
^Obliczanie potęgi, np. 10^2 = 100
min(x,y)Minimum x i y, możliwe więcej niż 2 argumenty
max(x,y)Maksymalnie x i y, możliwe więcej niż 2 argumenty
abs(x)Wartość bezwzględna x, np. abs(-2) = 2
clamp(x,min,max)Wartość x = min (jeśli x < min), x = max (jeśli x > max), w przeciwnym razie zachować x
round(x)Zaokrąglenie x do liczby całkowitej. Przykład: Zaokrąglenie do 1 miejsca po przecinku: round(10*x)/10.
sqrt(x)Pierwiastek kwadratowy z x
exists(x)true jeśli zmienna x istnieje, w przeciwnym razie false

Ponadto możliwe są następujące wyrażenia logiczne:

== (równe), != (nierówne), < (mniej), <= (mniej-równe), > (większe), >= (większe-równe), ! (nie), || (logiczne Or), && (logiczne And), ? (operator warunkowy, np. x ? y : z, zwraca y jeśli x jest prawdziwe, w przeciwnym razie z)

Pozwala to np. na wyłączenie prądu w zależności od warunków: M1.current >= 6500 ? M1.current : 0 zwraca prąd M1 jeśli jest większy niż 6,5A i 0 w przeciwnym wypadku, co wstrzymuje ładowanie. Dla takich warunków możliwe jest również odpytywanie wejść (patrz poniżej)

Możliwe są następujące nazwy:

MxLicznik z identyfikatorem jednostki x, np. M1
ExEVSE z identyfikatorem urządzenia x, np. E1

Możliwy jest również dostęp do wirtualnych liczników, takich jak nadwyżka solarna, pobór z sieci lub "Power avail. for EVSEs" (moc dostępna dla wallboxów), poprzez ustawienie licznika, a następnie użycie odpowiedniego ID urządzenia w formule.

Następnie można uzyskać dostęp do poszczególnych wartości jednostek za pomocą punktu. Są one nazywane w następujący sposób:

current_l1Prąd fazy 1 w mA
current_l2Prąd fazy 2 w mA
current_l3Prąd fazy 3 w mA
currentPrąd fazy bieżącej w mA (w przypadku reguł ładowania Charging Manager odpytuje wszystkie fazy po kolei; w przypadku liczników typu "Expression" obowiązuje odpowiednia faza, do której odnosi się formuła. Jeżeli określiliście formułę dla "Prądu L1", możecie pominąć pola dla Prądu L2 i L3. Wtedy używana jest formuła dla prądu L1)
power_wAktualna moc czynna w watach
offeredWallbox: Oferowany prąd w mA
import_whEnergia pobrana w Wh
export_whWtłoczona energia w Wh
dtCzas, który upłynął od ostatniej aktualizacji (w sekundach)
inputNNumer wejścia N urządzenia, 1 = aktywny, 0 = nieaktywny
socSOC, poziom naładowania w procentach (licznik/magazyn)
idDevice Id, Modbus ID
txn_durationCzas trwania bieżącej transakcji w sekundach (EVSE)
charging_durRzeczywisty czas ładowania bieżącej transakcji w sekundach (Wallbox)
txn_energyEnergia naładowania bieżącej transakcji w Wh (EVSE)
min_currentMinimalny prąd ładowania w mA (EVSE)
max_currentMaksymalny prąd ładowania w mA (EVSE)
stateStatus: 1 oczekuje, 2 podłączony, 3 ładowanie, 4 ładowanie z wentylacją, 5 błąd, 6 offline (EVSE)
cphasesLiczba faz ładowania (0-3)
pphasesLiczba przewidywanych faz ładowania (0-3)
surplus_pcurNadmiar prądu PV na (przewidywaną) fazę w mA
surplus_wanted1, jeśli reguła nadwyżki PV została już zastosowana, w przeciwnym razie 0
budgetKWh lub minut w bieżącym budżecie
budget_amountMaksymalna liczba kWh lub minut w bieżącym budżecie
budget_usedKWh lub minuty wykorzystane w ramach bieżącego budżetu
com_err1, jeśli jest błąd COM, w przeciwnym razie 0
com_err21, jeżeli błąd COM jest obecny dłużej niż 12 sekund, w przeciwnym razie 0
reactive_powerSpecyfikacja mocy biernej w watach (jeśli jest obsługiwana przez urządzenie), wartości dodatnie: Indukcyjna, wartości ujemne: Pojemnościowa

Przykład
M1.current_l1Prąd licznika M1, faza 1
E2.import_whPobrana Wh przez EVSE E2
E3.power_wAktualna moc ładowania E3 w watach

W przypadku korzystania z formuł dla miernika typu "Expression" można również pominąć identyfikator urządzenia. Wtedy nazwy pól odnoszą się do tego miernika, np. "power_w" jest wtedy mocą tego miernika w watach. Za pomocą 'dt' można zrealizować kilka rozszerzonych funkcji, np. w liczniku typu "Expression":

  • Jako formuła dla "import_wh": import_wh + M1.power_w * dt / 3600 aktualizuje pozyskiwaną energię w oparciu o moc w czasie poprzedniej aktualizacji
  • Jako wzór dla "power_w": (power_w * (20 - dt) + M1.power_w * dt) / 20 wygładza moc w ciągu ostatnich 20 sekund.

Zmienne globalne

date

date.yearRok bieżący
date.monthMiesiąc od 0..11
date.dayDzień od 1..31
date.weekdayDzień powszedni Mo=0, Tue=1, ... Sun=6
date.yeardayDzień w roku od 0..366
date.hourGodzina od 0..23
date.minuteMinuta od 0..60
date.secondDrugi od 0..60
date.daysecondDrugi dzień tego dnia od 0..86399
date.dayminuteMinuta tego dnia od 0..1439
date.dst0 = czas zimowy, 1 = czas letni

PB (nur cFos Power Brain)

PB.input1S0 Input 1, 1 = aktywny, 0 = nieaktywny
PB.input2S0 Input 2, 1 = aktywny, 0 = nieaktywny

CM Zmienne menedżera ładowania

Zmienne te mogą być ustawione przez administratora w sekcji "Konfiguracja". Na przykład, jeśli administrator ustawi zmienną "var_x" na 1,5, CM.var_x zwróci wartość 1,5.

Zmienne predefiniowane:
_num_charging: Liczba aktualnie ładujących się wallboxów
_num_charging1: Liczba aktualnie ładujących się wallboxów, 1 jeśli żaden nie jest ładowany
_max_total_current: Maksymalny prąd przyłącza domowego w mA na fazę
_max_total_evse_current: Maksymalny prąd dla stacji ładowania w mA na fazę
_price: Bieżąca cena energii elektrycznej
_price_level: Bieżący poziom cen energii elektrycznej, -2=bardzo drogi, -3=drogi, -4=normalny, -5=tani, -6=bardzo tani
_surplus: aktualna nadwyżka energii słonecznej w watach
_org_surplus: Nadwyżka energii słonecznej, która zostałaby obliczona przez Zarządcę opłat niezależnie od jego własnych formuł

Korzystanie z obiektów globalnych:
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
Uwaga:
W sekcji Liczniki niestandardowe znajdują się również instrukcje dotyczące korzystania z formuł z globalnymi zmiennymi i danymi wyjściowymi Charging Manager.

GM Liczniki globalne

GM.grid_demandOdniesienie do sieci
GM.consumedZużycie
GM.producedGeneracja
GM.consumed_evseZużycie samochodów elektrycznych
GM.available_evseDostępna moc
GM.surplusNadwyżka PV
GM.storage_homeMemory Home
GM.storage_allPamięć wszystkiego
GM.errorWydajność dzięki błędom

Korzystanie z liczników globalnych
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.

Przykład zastosowania

Chcesz dodatkowo ograniczyć prąd ładowania w odniesieniu do licznika zużycia mieszkania. W tym celu można ustawić regułę ładowania o wzorze 16000 - M1.prąd.
M1 to licznik, który mierzy zużycie prądu przez mieszkanie. Zarządzanie obciążeniem przez cFos Charging Manager najpierw próbuje zapewnić EVSE maksymalny prąd w stosunku do mocy przyłączeniowej domu, ale następnie ogranicza go do 16A minus zużycie mieszkania.