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_charging | Số lượng hộp tường hiện đang sạc |
_num_charging1 | Số lượng hộp 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 điện tối đa của kết nối nhà ở tính bằng mA trên mỗi pha |
_max_total_evse_current | Dòng điện tối đa cho hộp 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, được tính toán bởi Người quản lý tính phí độc lập với các công thức riêng của mình |
_storage_home_max_capacity | Tổng dung lượng lưu trữ, Trang chủ, nếu được chỉ định trong cấu hình đồng hồ đo, tính bằng Wh |
_storage_home_capacity | Công suất lưu trữ hiện tại, Trang chủ, nếu được chỉ định trong cấu hình đồng hồ đo, 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 đồng hồ đo, tính bằng Wh |
_storage_all_capacity | Công suất lưu trữ hiện tại, Tất cả, nếu được chỉ định trong cấu hình đồng hồ đo, tính bằng Wh |
_storage_home_soc | SoC hiện tại/bộ lưu trữ pin có vai trò là "ngôi nhà". Nếu dung lượng đã được chỉ định cho ít nhất một thiết bị lưu trữ, Trình quản lý sạc sẽ sử dụng dung lượng này để tính toán, nếu không, biến này sẽ cung cấp SoC hiện tại của thiết bị lưu trữ đầu tiên được tìm thấy có vai trò "house". |
_storage_all_soc | SoC hiện tại/bộ lưu trữ pin có vai trò "Nhà + Ô tô". Nếu dung lượng đã được chỉ định cho ít nhất một thiết bị lưu trữ, Trình quản lý sạc sẽ sử dụng dung lượng này để tính toán, nếu không, biến này sẽ cung cấp SoC hiện tại của thiết bị lưu trữ đầu tiên được tìm thấy có vai trò "Nhà+Ô tô". |
_max_total_current_prc | Tỷ lệ phần trăm tổng dòng điện sạc tối đa khả dụng. Biến này cũng có thể được viết (thông qua định nghĩa bộ đếm và biến Charging Manager) |
_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). |
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.