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:
Mx | Bộ đếm có ID thiết bị x, ví dụ: M1 |
Ex | EVSE 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_l1 | Dòng pha 1 tính bằng mA |
current_l2 | Dòng pha 2 tính bằng mA |
current_l3 | Dòng pha 3 tính bằng mA |
current | Dò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_w | Công suất hoạt động hiện tại tính bằng watt |
offered | Wallbox: Hiện tại có sẵn tính bằng mA |
import_wh | Năng lượng liên quan tính bằng Wh |
export_wh | Năng lượng nạp vào bằng Wh |
dt | Thờ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. |
inputN | Số đầ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. |
soc | SOC, mức sạc tính bằng phần trăm (bộ đếm/bộ nhớ) - nếu được thiết bị hỗ trợ |
id | ID thiết bị, ID Modbus |
txn_duration | Thời lượng của giao dịch hiện tại tính bằng giây (hộp treo tường) |
charging_dur | Thời gian tải thực tế của giao dịch hiện tại tính bằng giây (Wallbox) |
txn_energy | Năng lượng được tính của giao dịch hiện tại trong Wh (hộp treo tường) |
min_current | Dòng sạc tối thiểu tính bằng mA (EVSE) |
max_current | Dòng sạc tối đa tính bằng mA (EVSE) |
state | Tình trạng: 1 chờ, 2 cắm, 3 sạc, 4 sạc thông gió, 5 lỗi, 6 offline (EVSE) |
cphases | Số giai đoạn tải (0-3) |
pphases | Số giai đoạn tải dự đoán (0-3) |
lb_cur_l1 | Dò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_l2 | Dò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_l3 | Dò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_cur | Dò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_pcur | Dòng điện PV vượt quá trên mỗi pha (dự đoán) tính bằng mA |
surplus_wanted | 1 nếu quy tắc thặng dư PV đã được áp dụng, nếu không thì 0 |
budget | kWh hoặc số phút trong ngân sách hiện tại |
budget_amount | Trong ngân sách hiện tại tối đa kWh hoặc phút |
budget_used | kWh hoặc số phút sử dụng trong ngân sách hiện tại |
com_err | 1 nếu có lỗi COM, ngược lại 0 |
com_err2 | 1 nếu có lỗi COM dài hơn 12 giây, ngược lại 0 |
reactive_power | Thô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 |
departure | Thờ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_energy | ISO 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_start | Dấu thời gian Unix, thời gian chèn cáp |
plugin_energy | Nă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 |
M1.current_l1 | Dòng điện của công tơ M1, pha 1 |
E2.import_wh | Wh đã sử dụng của EVSE E2 |
E3.power_w | Cô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":
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(power_w * (20 - dt) + M1.power_w * dt) / 20
giúp giảm mức năng lượng trong 20 giây qua.date
date.year | năm nay |
date.month | tháng từ 0..11 |
date.day | ngày từ 1..31 |
date.weekday | Ngày trong tuần CN=0, Thứ Hai=1, Thứ Ba=2, ... Thứ Bảy=6 |
date.yearday | ngày trong năm từ 0..366 |
date.hour | giờ từ 0..23 |
date.minute | phút từ 0..60 |
date.second | thứ hai từ 0..60 |
date.daysecond | Thứ hai của ngày này từ 0..86399 |
date.dayminute | Phút trong ngày này từ 0..1439 |
date.dst | 0 = giờ mùa đông, 1 = giờ mùa hè |
date.timestamp | Unix timespamp, secs since 1.1.1970 |
PB (nur cFos Power Brain)
PB.input1 | S0 Input 1, 1 = hoạt động, 0 = không hoạt động |
PB.input2 | S0 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_demand | Tham chiếu lưới |
GM.consumed | sự tiêu thụ |
GM.produced | thế hệ |
GM.consumed_evse | Tiêu thụ ô tô điện |
GM.available_evse | Nguồn điện sẵn có |
GM.surplus | thặng dư PV |
GM.storage_home | Trang chủ ký ức |
GM.storage_all | Ký ức mọi thứ |
GM.error | Hiệ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.
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ộ.
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.