مدیر شارژ cFos امکان ارزیابی پویا فرمول ها را می دهد. این قابلیت برای شمارنده از نوع "Expression" و برای بارگذاری قوانین از نوع "Formula" در دسترس است.
بنابراین می توانید مترهایی را تنظیم کنید که مقادیر دیگر مترها یا جعبه های دیواری را محاسبه کرده و آنها را آماده نگه داشته و نمایش دهید. قوانین شارژ همچنین می تواند جریان شارژ را با استفاده از فرمول ها و همچنین دسترسی به مترها و جعبه های دیواری (از جمله مترهای نوع "بیان") به صورت پویا محاسبه کند.
عملیات زیر با فرمول ها امکان پذیر است:
+ - * / % | جمع، تفریق، ضرب، تقسیم، مدول |
& | | به صورت بیتی 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 = min (اگر x < min)، x = max (اگر x > max)، در غیر این صورت x را نگه دارید |
round(x) | x را به عدد صحیح گرد کنید. مثال: تا 1 رقم اعشار گرد کنید: دور (10*x)/10. |
sqrt(x) | ریشه مربع x |
exists(x) | اگر متغیر x وجود داشته باشد true، در غیر این صورت false |
عبارات منطقی زیر نیز ممکن است:==
(برابر) !=
(مساوی نیست) ، <
(کمتر از) ، <=
(کمتر یا مساوی) ، >
(بزرگتر از) ، >=
(بزرگتر یا مساوی) !
(نه) ، ||
(منطقی یا) ، &&
(منطقی و) ?
(عملگر شرطی ، x ? y : z
، اگر x درست باشد y را برمی گرداند ، در غیر این صورت z)
این اجازه می دهد، برای مثال، بسته به شرایط، جریان را خاموش کنید: M1.current >= 6500 ? M1.current : 0
جریان M1 را اگر بیشتر از 6.5 آمپر باشد و در غیر این صورت 0 را تامین می کند که باعث توقف شارژ می شود. برای چنین شرایطی، امکان استعلام ورودی ها نیز وجود دارد (به زیر مراجعه کنید)
اسامی زیر امکان پذیر است:
Mx | شمارنده با شناسه دستگاه x ، به عنوان مثال M1 |
Ex | EVSE با شناسه دستگاه x ، به عنوان مثال E1 |
همچنین می توان با تنظیم کنتور و سپس استفاده از شناسه دستگاه مربوطه در فرمول، به مترهای مجازی مانند مازاد خورشیدی، برق خریداری شده یا "Power avail. for EVSEs" (قدرت موجود برای wallboxes) دسترسی داشت.
سپس می توان با استفاده از یک نقطه به مقادیر فردی دستگاه ها دسترسی پیدا کرد. اینها به شرح زیر نامیده می شوند:
current_l1 | جریان فاز 1 در میلی آمپر |
current_l2 | جریان فاز 2 در میلی آمپر |
current_l3 | جریان فاز 3 در میلی آمپر |
current | جریان فاز فعلی در mA (با قوانین شارژ ، مدیر شارژ همه مراحل را یکی پس از دیگری پرس و جو می کند ؛ با مترهای نوع "بیان" ، فاز مربوطه که فرمول به آن اشاره می کند. اگر فرمول " L1 فعلی "، می توانید زمینه های جریان L2 و L3 را حذف کنید. سپس فرمول جریان L1 استفاده می شود) |
power_w | توان اکتیو فعلی بر حسب وات |
offered | Wallbox: جریان فعلی در mA موجود است |
import_wh | انرژی مرتبط در Wh |
export_wh | انرژی تغذیه شده در Wh |
dt | مدت زمانی که از آخرین بهروزرسانی گذشته است (بر حسب ثانیه)، فقط برای شمارنده «Expression»، CM._dt را نیز ببینید. |
inputN | عدد ورودی N دستگاه، 1 = فعال، 0 = غیر فعال، N عدد ورودی است که با 1 شروع می شود. |
soc | SOC، سطح شارژ بر حسب درصد (شمارگر/حافظه) - در صورت پشتیبانی توسط دستگاه |
id | شناسه دستگاه، شناسه مدباس |
txn_duration | مدت تراکنش فعلی بر حسب ثانیه (وال باکس) |
charging_dur | زمان بارگیری واقعی تراکنش فعلی بر حسب ثانیه (Wallbox) |
txn_energy | انرژی شارژ شده تراکنش جاری به وات ساعت (وال باکس) |
min_current | حداقل جریان شارژ در میلی آمپر (EVSE) |
max_current | حداکثر جریان شارژ در میلی آمپر (EVSE) |
state | وضعیت: 1 مورد در انتظار، 2 مورد وصل، 3 مورد شارژ، 4 مورد شارژ با تهویه، 5 خطا، 6 مورد آفلاین (EVSE) |
cphases | تعداد فازهای بارگذاری (0-3) |
pphases | تعداد فازهای بارگذاری پیش بینی شده (0-3) |
lb_cur_l1 | جریان محاسبه شده جریان فاز 1 بر حسب میلی آمپر (وال باکس). فقط هنگام محاسبه قوانین شارژ Wallbox، در غیر این صورت 0 |
lb_cur_l2 | جریان محاسبه شده جریان فاز 2 بر حسب میلی آمپر (وال باکس). فقط هنگام محاسبه قوانین شارژ Wallbox، در غیر این صورت 0 |
lb_cur_l3 | جریان محاسبه شده جریان فاز 3 بر حسب میلی آمپر (وال باکس). فقط هنگام محاسبه قوانین شارژ Wallbox، در غیر این صورت 0 |
lb_cur | جریان فعلی فاز فعلی در mA (وال باکس) محاسبه شده است. فقط در هنگام محاسبه قوانین شارژ Wallbox، در غیر این صورت 0. مدیر شارژ تمام مراحل را یکی پس از دیگری استعلام می کند. |
surplus_pcur | جریان اضافی PV در هر فاز (پیش بینی شده) بر حسب میلی آمپر |
surplus_wanted | 1 اگر یک قانون مازاد PV قبلاً اعمال شده باشد، در غیر این صورت 0 |
budget | کیلووات ساعت یا دقیقه در بودجه جاری |
budget_amount | در بودجه فعلی حداکثر کیلووات ساعت یا دقیقه |
budget_used | کیلووات ساعت یا دقیقه در بودجه جاری استفاده می شود |
com_err | در صورت وجود خطای COM 1 و در غیر این صورت 0 |
com_err2 | 1 اگر خطای COM بیش از 12 ثانیه وجود داشته باشد، در غیر این صورت 0 |
reactive_power | مشخصات توان راکتیو بر حسب وات (در صورت پشتیبانی دستگاه)، مقادیر مثبت: القایی، مقادیر منفی: خازنی |
switch_phases | برای وال باکس با سوئیچ فاز: تعویض فاز دستی، 1 = 1 فاز، 3 = 3 فاز، -1 = سوئیچینگ فاز اتوماتیک |
departure | زمان خروج ISO 15118 بهعنوان مهر زمانی واحد (برای دیوارباکسهایی که از این پشتیبانی میکنند، در غیر این صورت 0) |
req_energy | ISO 15118 انرژی مورد نیاز بر حسب وات ساعت (برای وال باکس هایی که از این پشتیبانی می کنند، در غیر این صورت 0) |
plugin_start | مهر زمانی یونیکس، زمان درج کابل |
plugin_energy | انرژی از زمانی که کابل به برق وصل شد، بر حسب وات ساعت شارژ شده است |
M1.current_l1 | جریان متر M1 ، فاز 1 |
E2.import_wh | Wh از EVSE E2 استفاده می شود |
E3.power_w | قدرت شارژ فعلی E3 بر حسب وات |
اگر از فرمول های یک شمارنده از نوع "Expression" استفاده می کنید، می توانید شناسه دستگاه را نیز حذف کنید. سپس نام فیلدها به این متر اشاره دارد، به عنوان مثال «power_w» پس از آن قدرت این متر بر حسب وات است. با استفاده از 'dt' می توانید چند تابع اضافی را پیاده سازی کنید، به عنوان مثال در شمارنده ای از نوع "Expression":
import_wh + M1.power_w * dt / 3600
انرژی خریداری شده را بر اساس توان در زمان بهروزرسانی گذشته بهروزرسانی میکند.(power_w * (20 - dt) + M1.power_w * dt) / 20
قدرت را در 20 ثانیه گذشته صاف می کند.date
date.year | سال جاری |
date.month | ماه از 0..11 |
date.day | روز از 1..31 |
date.weekday | روز هفته خورشید=0، دوشنبه=1، سه شنبه=2، ... شنبه=6 |
date.yearday | روز سال از 0..366 |
date.hour | ساعت از 0..23 |
date.minute | دقیقه از 0..60 |
date.second | دوم از 0..60 |
date.daysecond | دوم این روز از 0..86399 |
date.dayminute | دقیقه این روز از 0..1439 |
date.dst | 0 = زمان زمستان، 1 = زمان تابستان |
date.timestamp | Unix timespamp, secs since 1.1.1970 |
PB (nur cFos Power Brain)
PB.input1 | S0 Input 1, 1 = فعال، 0 = غیر فعال |
PB.input2 | S0 Input 2, 1 = فعال، 0 = غیر فعال |
CM متغیرهای مدیر شارژ
این متغیرها را می توان توسط ادمین در قسمت "پیکربندی" تنظیم کرد. برای مثال، اگر ادمین متغیر 'var_x' را روی 1.5 تنظیم کند، CM.var_x مقدار 1.5 را برمیگرداند.
متغیرهای از پیش تعریف شده:
_num_charging: تعداد وال باکس های در حال شارژ در حال حاضر
_num_charging1: تعداد والباکسهایی که در حال حاضر شارژ میشوند، اگر هیچکدام شارژ نمیشود، 1 عدد
_max_total_current: حداکثر جریان اتصال خانه بر حسب میلی آمپر در هر فاز
_max_total_evse_current: حداکثر جریان برای وال باکس ها بر حسب میلی آمپر در هر فاز
_price: قیمت فعلی برق
_price_level: سطح قیمت فعلی برق، -2=خیلی گران، -3=گران، -4=عادی، -5=ارزان، -6=خیلی ارزان
_surplus: مازاد فعلی خورشیدی بر حسب وات
_org_surplus: مازاد خورشیدی همانطور که مدیر شارژ آن را مستقل از فرمول های خود محاسبه می کرد
_storage_home_max_capacity: کل ظرفیت ذخیره سازی، Home، در صورت مشخص شدن در پیکربندی شمارنده، بر حسب وات ساعت
_storage_home_capacity: ظرفیت ذخیره سازی فعلی، Home، اگر در پیکربندی شمارنده مشخص شده باشد، به Wh
_storage_all_max_capacity: ظرفیت کل ذخیره سازی، همه، اگر در پیکربندی شمارنده مشخص شده باشد، بر حسب وات ساعت
_storage_all_capacity: ظرفیت ذخیره سازی فعلی، همه، اگر در پیکربندی شمارنده مشخص شده باشد، بر حسب وات ساعت
_max_total_current_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 | PV مازاد |
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 ابتدا سعی میکند حداکثر جریان را با توجه به ظرفیت اتصال خانه به جعبه دیواری ارائه دهد، اما سپس آن را به 16 آمپر منهای مصرف آپارتمان محدود میکند.
با استفاده از min_price(s)، max_price(s) می توانید ارزان ترین قیمت را از ارائه دهنده انرژی خود به یورو تعیین کنید، به موجب آن قیمت ها از زمان فعلی تا حداکثر ثانیه در روز یا روز بعد جستجو می شوند، به عنوان مثال min_price(25200). ارزانترین قیمت تا ساعت 7:00 شب. برای مثال، میتوانید یک قانون شارژ با شرط CM._price <= min_price(25200) ایجاد کنید تا در ارزانترین زمان شارژ شود، اما با این شرط که میخواهید از ساعت 8:00 صبح (با فرض 1 ساعت زمان شارژ) حرکت کنید.). به طور مشابه، دو تابع min_price_secs (s) و max_price_secs(s) وجود دارد که زمان شروع ارزانترین قیمت را در چند ثانیه از روز شروع شده برمیگرداند. سپس میتوانید این را با date.daysecond مقایسه کنید.