문서

cFos 충전 관리자 - 공식

CFos 충전 관리자를 사용하면 공식을 동적으로 평가할 수 있습니다. 이 기능은 "표현식" 유형의 카운터와 "공식" 유형의 충전 규칙에 사용할 수 있습니다.

따라서 다른 계량기 또는 월박스의 값을 계산하는 계량기를 설정하고 이를 준비 상태로 유지하여 표시할 수 있습니다. 또한 충전 규칙은 공식을 사용하여 충전 전류를 동적으로 계산할 수 있으며 계량기 및 월박스('표현식' 유형의 계량기 포함)에 액세스할 수도 있습니다.

수식을 사용하여 다음과 같은 작업을 수행할 수 있습니다:

+ - * / %덧셈, 뺄셈, 곱셈, 나눗셈, 모듈러스
& |비트 AND 및 OR
^전력 계산(예: 10^2 = 100)
min(x,y)최소 x와 y, 2개 이상의 인자 가능
max(x,y)최대 x와 y, 2개 이상의 인자 가능
abs(x)X의 절대값(예: abs(-2) = 2)
clamp(x,min,max)값 x = 최소(x < 최소인 경우), x = 최대(x > 최대인 경우), 그렇지 않으면 x를 유지합니다
round(x)X를 정수로 반올림합니다. 예: 소수점 이하 1자리 반올림: round(10*x)/10.
sqrt(x)X의 제곱근
exists(x)변수 x가 존재하면 참, 그렇지 않으면 거짓입니다

또한 다음과 같은 논리 표현이 가능합니다:

== (같음), != (같지 않음), < (작음), <= (작음-동등), > (큼), >= (큼-동등), ! (아님), || (논리 Or), && (논리 And), ? (조건부 연산자, 예: x ? y : z, x가 참이면 y를 반환하고, 그렇지 않으면 z를 반환)

예를 들어 조건에 따라 전류를 차단할 수 있습니다: M1.current >= 6500 ? M1 .current : 0은 M1의 전류가 6.5A보다 크면 0을 반환하고, 그렇지 않으면 충전을 일시 중지합니다. 이러한 조건의 경우 입력을 쿼리할 수도 있습니다(아래 참조)

다음과 같은 이름을 사용할 수 있습니다:

Mx단위 ID x가 있는 계량기(예: M1)
Ex장치 ID x가 있는 월박스(예: E1)

또한 계량기를 설정한 다음 공식에서 해당 장치 ID를 사용하여 태양광 잉여, 그리드 드로우 또는 "Power avail. for EVSEs"(월박스에 사용 가능한 전력)와 같은 가상 계량기에 액세스할 수도 있습니다.

그런 다음 포인트를 사용하여 단위의 개별 값에 액세스할 수 있습니다. 이를 다음과 같이 호출합니다:

current_l11단계 전류(mA)
current_l22단계 전류(mA)
current_l33단계 전류(mA)
current현재 위상의 전류(mA)(충전 규칙의 경우 충전 관리자가 모든 위상을 차례로 쿼리하고, "표현식" 유형의 계량기의 경우 공식이 참조하는 각 위상이 적용됩니다. "현재 L1"에 대한 공식을 지정한 경우 현재 L2 및 L3에 대한 필드를 생략할 수 있습니다. 그러면 현재 L1에 대한 공식이 사용됩니다.)
power_w현재 유효 전력(와트)
offered월박스: 전류 제공량(mA)
import_wh소비 에너지(Wh)
export_wh주입된 에너지(Wh)
dt마지막 업데이트 이후 경과한 시간(초 단위)으로, 카운터 "표현식"에 대해서만 CM._dt를 참조하세요.
inputN장치의 입력 번호 N, 1 = 활성, 0 = 비활성, N은 1로 시작하는 입력의 번호입니다.
socSOC, 충전 수준(퍼센트)(카운터/메모리) - 장치에서 지원하는 경우
id장치 ID, 모드버스 ID
txn_duration현재 트랜잭션의 지속 시간(초)(월박스)
charging_dur현재 트랜잭션의 실제 충전 시간(초)(월박스)
txn_energy현재 트랜잭션의 충전된 에너지(Wh(월박스))
min_current최소 충전 전류(mA)(월박스)
max_current최대 충전 전류(mA)(월박스)
state상태: 1 대기 중, 2 연결됨, 3 충전 중, 4 환기 중 충전, 5 오류, 6 오프라인(월박스)
cphases충전 단계 수(0~3)
pphases예상 충전 단계 수(0~3)
lb_cur_l11단계의 전류 계산된 전류(mA(월박스)). 월박스 충전 규칙을 계산하는 동안에만, 그렇지 않으면 0입니다
lb_cur_l2현재 2단계의 현재 계산된 전류(mA(월박스))입니다. 월박스 충전 규칙을 계산하는 동안에만, 그렇지 않으면 0입니다
lb_cur_l33단계의 전류 계산된 전류(mA(월박스)). 월박스 충전 규칙을 계산하는 동안에만, 그렇지 않으면 0입니다
lb_cur현재 위상에 대해 계산된 전류(mA(월박스)). 월박스 충전 규칙을 계산하는 동안에만, 그렇지 않으면 0입니다. 충전 관리자는 모든 위상을 차례로 쿼리합니다.
surplus_pcur(예상) 위상당 PV 초과 전류(mA)
surplus_wanted1, PV 잉여 규칙이 이미 적용된 경우, 그렇지 않은 경우 0
budget현재 예산의 kWh 또는 분
budget_amount현재 예산의 최대 kWh 또는 분
budget_used현재 예산에서 사용한 kWh 또는 분
com_err1, COM 오류가 있는 경우, 그렇지 않으면 0
com_err2cOM 오류가 12초 이상 지속되는 경우 1, 그렇지 않은 경우 0
reactive_power무효 전력 사양(장치에서 지원하는 경우): 와트 단위, 양수 값입니다: 유도성, 음수 값: 용량성
switch_phases위상 전환 기능이 있는 월박스의 경우: 수동 위상 전환, 1 = 1상, 3 = 3상, -1 = 자동 위상 전환
departure단위 타임스탬프로서의 ISO 15118 출발 시간(이를 지원하는 월박스의 경우, 그렇지 않은 경우 0)
req_energyISO 15118 필요한 에너지(Wh)(이를 지원하는 월박스의 경우, 그렇지 않은 경우 0)
plugin_start유닉스 타임스탬프, 케이블 삽입 시간
plugin_energy케이블을 연결한 시점부터 이전에 충전된 에너지(Wh)

M1.current_l1미터기 M1의 전류, 1단계
E2.import_wh월박스 E2의 소비 전력 Wh
E3.power_wE3의 현재 충전 전력(와트)

"표현식" 유형의 계량기에 대해 공식을 사용하는 경우 장치 ID를 생략할 수도 있습니다. 그러면 필드 이름이 이 미터를 나타냅니다(예: 'power_w'는 이 미터의 전력(와트)입니다). 'dt'를 사용하면 예를 들어 "Expression" 유형의 미터에서 몇 가지 확장 기능을 구현할 수 있습니다:

  • '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.day1..31부터 일
date.weekday평일 SO=0, 월=1, 화=2, ... Sat=6
date.yearday0..366부터 1년 중 일수
date.hour0..23부터 시간
date.minute0..60부터 분
date.second0..60에서 두 번째
date.daysecond0...86399초부터 오늘 초
date.dayminute0...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: 현재 충전 중인 월박스 개수, 충전 중인 월박스가 없는 경우 1
최대_총_전류: 하우스 연결의 최대 전류(상당 mA)
최대_총_전류: 월박스의 최대 전류(위상당 mA)
_price: 현재 전기 가격
_price_level: 현재 전기 요금 수준, -2=매우 비싸다, -3=비싸다, -4=보통, -5=저렴하다, -6=매우 저렴합니다
_surplus: 현재 태양광 잉여 전력(와트)
_org_surplus: 충전 관리자가 자체 공식과 독립적으로 계산한 태양광 잉여량입니다
_storage_home_max_capacity: 스토리지, 홈의 총 용량(미터 구성에 지정된 경우 Wh 단위)
_storage_home_capacity: 미터 구성에 지정된 경우 저장소 홈의 현재 용량(Wh 단위)입니다
_storage_all_max_capacity: 스토리지의 총 용량, 모두(카운터 구성에 지정된 경우 Wh 단위)
_storage_all_capacity: 스토리지의 현재 용량, 모두(카운터 구성에 지정된 경우 Wh 단위)입니다
최대_총_전류_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 공식을 사용하여 충전 규칙을 설정할 수 있습니다.
M1은 아파트의 소비량을 측정하는 계량기입니다. CFos 충전 관리자의 부하 관리는 먼저 집 연결 전력과 관련하여 월박스에 최대 전류를 공급하려고 시도하지만, 이 전류에서 아파트 소비량을 뺀 16A로 제한합니다.

기능

최소 가격, 최대 가격을 사용하면 현재 시간부터 당일 또는 다음 날의 최대 초까지 가격을 검색하여 가장 저렴한 가격을 유로로 확인할 수 있습니다(예: min_price(25200)은 오전 7시까지 가장 저렴한 가격을 반환합니다). 예를 들어, 가장 유리한 시간에 충전하기 위해 오전 8시부터 시작한다는 조건(충전 시간을 1시간으로 가정)으로 CM._price <= min_price(25200) 조건으로 충전 규칙을 생성할 수 있습니다(예: 오전 8시부터 시작). 마찬가지로 가장 저렴한 가격의 시작 시간을 초 단위로 반환하는 min_price_secs(s) 및 max_price_secs(s) 함수가 있습니다. 그런 다음 이를 예를 들어 date.daysecond와 비교할 수 있습니다.