Tài liệu

cFos Charging Manager - công thức

Trình quản lý sạc cFos cho phép đánh giá động các công thức. Chức năng này khả dụng cho bộ đếm của loại "Biểu thức" và cho các quy tắc tải của loại "Công thức".

Vì vậy, bạn có thể thiết lập đồng hồ tính toán giá trị từ các đồng hồ đo khác hoặc hộp treo tường và giữ chúng sẵn sàng và hiển thị chúng. Các quy tắc sạc cũng có thể tự động tính toán dòng sạc bằng công thức và cũng có thể truy cập đồng hồ và hộp treo tường (bao gồm cả đồng hồ thuộc loại "Biểu thức").

Các phép toán sau có thể thực hiện được với các công thức:

+ - * / %Cộng, trừ, nhân, chia, mô đun
& |theo bit AND và OR
^Tính công suất, ví dụ: 10 ^ 2 = 100
min(x,y)Tối thiểu x và y, có thể có nhiều hơn 2 đối số
max(x,y)Tối đa là x và y, có thể có nhiều hơn 2 đối số
abs(x)Số lượng tuyệt đối của x, ví dụ abs (-2) = 2
clamp(x,min,max)Giá trị x = min (nếu x < min), x = max (nếu x > max), ngược lại giữ x
round(x)Làm tròn x thành số nguyên. Ví dụ: Làm tròn đến 1 chữ số thập phân: round(10*x)/10.
sqrt(x)Căn bậc hai của x
exists(x)đúng nếu biến x tồn tại, nếu không thì sai

Các biểu thức logic sau cũng có thể:

== (bằng) != (không bằng), < (nhỏ hơn), <= (nhỏ hơn hoặc bằng), > (lớn hơn), >= (lớn hơn hoặc bằng) ! (không), || (hợp lý hoặc), && (hợp lý và) ? (Toán tử có điều kiện, x ? y : z, trả về y nếu x đúng, ngược lại z)

Điều này cho phép, ví dụ, tắt dòng điện tùy thuộc vào điều kiện: M1.current >= 6500 ? M1.current : 0 cung cấp dòng điện của M1 nếu nó lớn hơn 6,5A và 0 nếu ngược lại, sẽ tạm dừng sạc. Đối với các điều kiện như vậy, cũng có thể truy vấn đầu vào (xem bên dưới)

Có thể có các tên sau:

MxBộ đếm có ID thiết bị x, ví dụ: M1
ExEVSE với ID thiết bị x, ví dụ: E1

Cũng có thể truy cập các đồng hồ ảo như năng lượng mặt trời dư thừa, điện đã mua hoặc "Power avail. for EVSEs" (nguồn có sẵn cho hộp treo tường) bằng cách thiết lập đồng hồ và sau đó sử dụng ID thiết bị tương ứng trong công thức.

Sau đó, các giá trị riêng lẻ của các thiết bị có thể được truy cập bằng cách sử dụng một điểm. Chúng được gọi như sau:

current_l1Dòng pha 1 tính bằng mA
current_l2Dòng pha 2 tính bằng mA
current_l3Dòng pha 3 tính bằng mA
currentDòng điện của pha hiện tại tính bằng mA (với quy tắc sạc, Trình quản lý sạc lần lượt truy vấn tất cả các pha; với đồng hồ thuộc loại "Biểu thức", pha tương ứng mà công thức đề cập sẽ áp dụng. Nếu bạn đã chỉ định công thức cho " L1 hiện tại ", bạn có thể bỏ qua các trường cho luồng L2 và L3. Sau đó, công thức cho luồng L1 được sử dụng)
power_wCông suất hoạt động hiện tại tính bằng watt
offeredWallbox: Hiện tại có sẵn tính bằng mA
import_whNăng lượng liên quan tính bằng Wh
export_whNăng lượng nạp vào bằng Wh
dtThời gian đã trôi qua kể từ lần cập nhật cuối cùng (tính bằng giây), chỉ dành cho bộ đếm "Biểu thức", xem thêm CM._dt.
inputNSố đầu vào N của thiết bị, 1 = hoạt động, 0 = không hoạt động, N là số đầu vào, bắt đầu bằng 1.
socSOC, mức sạc tính bằng phần trăm (bộ đếm/bộ nhớ) - nếu được thiết bị hỗ trợ
idID thiết bị, ID Modbus
txn_durationThời lượng của giao dịch hiện tại tính bằng giây (hộp treo tường)
charging_durThời gian tải thực tế của giao dịch hiện tại tính bằng giây (Wallbox)
txn_energyNăng lượng được tính của giao dịch hiện tại trong Wh (hộp treo tường)
min_currentDòng sạc tối thiểu tính bằng mA (EVSE)
max_currentDòng sạc tối đa tính bằng mA (EVSE)
stateTình trạng: 1 chờ, 2 cắm, 3 sạc, 4 sạc thông gió, 5 lỗi, 6 offline (EVSE)
cphasesSố giai đoạn tải (0-3)
pphasesSố giai đoạn tải dự đoán (0-3)
lb_cur_l1Dòng điện tính toán hiện tại của pha 1 tính bằng mA (hộp treo tường). Chỉ khi tính quy tắc tính phí Wallbox, nếu không thì 0
lb_cur_l2Dòng tính toán hiện tại của pha 2 tính bằng mA (hộp treo tường). Chỉ khi tính quy tắc tính phí Wallbox, nếu không thì 0
lb_cur_l3Dòng tính toán hiện tại của pha 3 tính bằng mA (hộp treo tường). Chỉ khi tính quy tắc tính phí Wallbox, nếu không thì 0
lb_curDòng điện được tính toán hiện tại của pha hiện tại tính bằng mA (hộp treo tường). Chỉ trong quá trình tính toán các quy tắc tính phí của Wallbox, nếu không thì bằng 0. Trình quản lý sạc lần lượt truy vấn tất cả các giai đoạn.
surplus_pcurDòng điện PV vượt quá trên mỗi pha (dự đoán) tính bằng mA
surplus_wanted1 nếu quy tắc thặng dư PV đã được áp dụng, nếu không thì 0
budgetkWh hoặc số phút trong ngân sách hiện tại
budget_amountTrong ngân sách hiện tại tối đa kWh hoặc phút
budget_usedkWh hoặc số phút sử dụng trong ngân sách hiện tại
com_err1 nếu có lỗi COM, ngược lại 0
com_err21 nếu có lỗi COM dài hơn 12 giây, ngược lại 0
reactive_powerThông số công suất phản kháng tính bằng watt (nếu thiết bị hỗ trợ điều này), giá trị dương: cảm ứng, giá trị âm: điện dung
switch_phasesĐối với hộp treo tường có chức năng chuyển pha: Chuyển pha thủ công, 1 = 1 pha, 3 = 3 pha, -1 = chuyển pha tự động
departureThời gian khởi hành ISO 15118 dưới dạng dấu thời gian đơn vị (đối với hộp treo tường hỗ trợ điều này, nếu không thì 0)
req_energyISO 15118 Năng lượng cần thiết tính bằng Wh (đối với hộp treo tường hỗ trợ điều này, nếu không thì 0)
plugin_startDấu thời gian Unix, thời gian chèn cáp
plugin_energyNăng lượng được sạc tính đến thời điểm hiện tại tính bằng Wh kể từ thời điểm cắm cáp

thí dụ
M1.current_l1Dòng điện của công tơ M1, pha 1
E2.import_whWh đã sử dụng của EVSE E2
E3.power_wCông suất sạc hiện tại của E3 tính bằng watt

Nếu bạn sử dụng công thức cho bộ đếm thuộc loại "Biểu thức", bạn cũng có thể bỏ qua ID thiết bị. Sau đó, tên trường đề cập đến đồng hồ đo này, ví dụ: 'power_w' khi đó là công suất của đồng hồ đo này tính bằng watt. Khi sử dụng 'dt', bạn có thể triển khai một số chức năng bổ sung, ví dụ như trong bộ đếm loại "Biểu thức":

  • Là công thức cho 'import_wh': import_wh + M1.power_w * dt / 3600 cập nhật năng lượng đã mua dựa trên năng lượng trong thời gian cập nhật vừa qua
  • Là công thức cho 'power_w': (power_w * (20 - dt) + M1.power_w * dt) / 20 giúp giảm mức năng lượng trong 20 giây qua.

biến toàn cục

date

date.yearnăm nay
date.monththáng từ 0..11
date.dayngày từ 1..31
date.weekdayNgày trong tuần CN=0, Thứ Hai=1, Thứ Ba=2, ... Thứ Bảy=6
date.yeardayngày trong năm từ 0..366
date.hourgiờ từ 0..23
date.minutephút từ 0..60
date.secondthứ hai từ 0..60
date.daysecondThứ hai của ngày này từ 0..86399
date.dayminutePhút trong ngày này từ 0..1439
date.dst0 = giờ mùa đông, 1 = giờ mùa hè
date.timestampUnix timespamp, secs since 1.1.1970

PB (nur cFos Power Brain)

PB.input1S0 Input 1, 1 = hoạt động, 0 = không hoạt động
PB.input2S0 Input 2, 1 = hoạt động, 0 = không hoạt động

CM Biến quản lý sạc

Các biến này có thể được đặt bởi quản trị viên trong "Cấu hình". Ví dụ: nếu quản trị viên đặt biến 'var_x' thành 1,5, CM.var_x sẽ trả về giá trị 1,5.

Các biến xác định trước:
_num_chargeing: Số lượng wallbox hiện đang sạc
_num_chargeing1: Số hộp treo tường hiện đang sạc, 1 nếu không có hộp nào đang sạc
_max_total_current: Dòng tối đa của kết nối trong nhà tính bằng mA mỗi pha
_max_total_evse_current: Dòng tối đa cho hộp treo tường tính bằng mA trên mỗi pha
_price: Giá điện hiện tại
_price_level: Mức giá điện hiện tại, -2=rất đắt, -3=đắt, -4=bình thường, -5=rẻ, -6=rất rẻ
_surplus: Thặng dư năng lượng mặt trời hiện tại tính bằng watt
_org_surplus: Thặng dư năng lượng mặt trời vì Trình quản lý sạc sẽ tính toán nó một cách độc lập với các công thức của chính nó
_storage_home_max_capacity: Tổng dung lượng lưu trữ, Home, nếu được chỉ định trong cấu hình bộ đếm, tính bằng Wh
_storage_home_capacity: Dung lượng lưu trữ hiện tại, Home, nếu được chỉ định trong cấu hình bộ đếm, tính bằng Wh
_storage_all_max_capacity: Tổng dung lượng lưu trữ, Tất cả, nếu được chỉ định trong cấu hình bộ đếm, tính bằng Wh
_storage_all_capacity: Dung lượng lưu trữ hiện tại, Tất cả, nếu được chỉ định trong cấu hình bộ đếm, tính bằng Wh
_max_total_current_prc: Phần trăm tổng dòng sạc tối đa hiện có. Biến này cũng có thể được viết (thông qua định nghĩa đồng hồ và biến Trình quản lý sạc).
_dt: Thời gian kể từ lần cập nhật gần đây nhất (tính bằng giây).

Sử dụng các đối tượng toàn cầu:
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
Để ý:
Trong Bộ đếm tùy chỉnh, bạn cũng sẽ tìm thấy hướng dẫn về cách sử dụng công thức với các biến và đầu ra của Trình quản lý sạc toàn cầu.

GM Bộ đếm toàn cầu

GM.grid_demandTham chiếu lưới
GM.consumedsự tiêu thụ
GM.producedthế hệ
GM.consumed_evseTiêu thụ ô tô điện
GM.available_evseNguồn điện sẵn có
GM.surplusthặng dư PV
GM.storage_homeTrang chủ ký ức
GM.storage_allKý ức mọi thứ
GM.errorHiệu suất thông qua những sai lầm

Sử dụng bộ đếm toàn cầu
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.

Ví dụ ứng dụng

Bạn cũng muốn giới hạn thêm dòng sạc đối với đồng hồ đo mức tiêu thụ trong căn hộ. Để làm điều này, bạn có thể thiết lập 16000 - M1.current
M1 là đồng hồ đo lượng tiêu thụ của căn hộ. Quản lý tải của Trình quản lý sạc cFos trước tiên cố gắng cung cấp dòng điện tối đa cho hộp treo tường liên quan đến khả năng kết nối của ngôi nhà, nhưng sau đó giới hạn mức này ở mức 16A trừ đi mức tiêu thụ căn hộ.

Đặc trưng

Sử dụng min_price(s), max_price(s), bạn có thể xác định giá rẻ nhất từ nhà cung cấp năng lượng của mình bằng euro, theo đó giá được tìm kiếm từ thời điểm hiện tại đến giây tối đa trong ngày hoặc ngày hôm sau, ví dụ: min_price(25200) cung cấp. giá rẻ nhất cho đến 7 giờ sáng vào ban đêm. Ví dụ: bạn có thể tạo quy tắc tính phí với điều kiện CM._price <= min_price(25200) để tính phí vào thời điểm rẻ nhất, nhưng với điều kiện bạn muốn khởi hành từ 8 giờ sáng (giả sử thời gian sạc là 1 giờ). Tương tự, có hai hàm min_price_secs(s) và max_price_secs(s), trả về thời gian bắt đầu của mức giá rẻ nhất tính bằng giây trong ngày đã bắt đầu. Sau đó, bạn có thể so sánh điều này với date.daysecond chẳng hạn.