مستندات

cFos Charging Manager - فرمول ها

مدیر شارژ 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
ExEVSE با شناسه دستگاه x ، به عنوان مثال E1

همچنین می توان با تنظیم کنتور و سپس استفاده از شناسه دستگاه مربوطه در فرمول، به مترهای مجازی مانند مازاد خورشیدی، برق خریداری شده یا "Power avail. for EVSEs" (قدرت موجود برای wallboxes) دسترسی داشت.

سپس می توان با استفاده از یک نقطه به مقادیر فردی دستگاه ها دسترسی پیدا کرد. اینها به شرح زیر نامیده می شوند:

current_l1جریان فاز 1 در میلی آمپر
current_l2جریان فاز 2 در میلی آمپر
current_l3جریان فاز 3 در میلی آمپر
currentجریان فاز فعلی در mA (با قوانین شارژ ، مدیر شارژ همه مراحل را یکی پس از دیگری پرس و جو می کند ؛ با مترهای نوع "بیان" ، فاز مربوطه که فرمول به آن اشاره می کند. اگر فرمول " L1 فعلی "، می توانید زمینه های جریان L2 و L3 را حذف کنید. سپس فرمول جریان L1 استفاده می شود)
power_wتوان اکتیو فعلی بر حسب وات
offeredWallbox: جریان فعلی در mA موجود است
import_whانرژی مرتبط در Wh
export_whانرژی تغذیه شده در Wh
dtمدت زمانی که از آخرین به‌روزرسانی گذشته است (بر حسب ثانیه)، فقط برای شمارنده «Expression»، CM._dt را نیز ببینید.
inputNعدد ورودی N دستگاه، 1 = فعال، 0 = غیر فعال، N عدد ورودی است که با 1 شروع می شود.
socSOC، سطح شارژ بر حسب درصد (شمارگر/حافظه) - در صورت پشتیبانی توسط دستگاه
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_wanted1 اگر یک قانون مازاد PV قبلاً اعمال شده باشد، در غیر این صورت 0
budgetکیلووات ساعت یا دقیقه در بودجه جاری
budget_amountدر بودجه فعلی حداکثر کیلووات ساعت یا دقیقه
budget_usedکیلووات ساعت یا دقیقه در بودجه جاری استفاده می شود
com_errدر صورت وجود خطای COM 1 و در غیر این صورت 0
com_err21 اگر خطای COM بیش از 12 ثانیه وجود داشته باشد، در غیر این صورت 0
reactive_powerمشخصات توان راکتیو بر حسب وات (در صورت پشتیبانی دستگاه)، مقادیر مثبت: القایی، مقادیر منفی: خازنی
switch_phasesبرای وال باکس با سوئیچ فاز: تعویض فاز دستی، 1 = 1 فاز، 3 = 3 فاز، -1 = سوئیچینگ فاز اتوماتیک
departureزمان خروج ISO 15118 به‌عنوان مهر زمانی واحد (برای دیوار‌باکس‌هایی که از این پشتیبانی می‌کنند، در غیر این صورت 0)
req_energyISO 15118 انرژی مورد نیاز بر حسب وات ساعت (برای وال باکس هایی که از این پشتیبانی می کنند، در غیر این صورت 0)
plugin_startمهر زمانی یونیکس، زمان درج کابل
plugin_energyانرژی از زمانی که کابل به برق وصل شد، بر حسب وات ساعت شارژ شده است

مثال
M1.current_l1جریان متر M1 ، فاز 1
E2.import_whWh از EVSE E2 استفاده می شود
E3.power_wقدرت شارژ فعلی E3 بر حسب وات

اگر از فرمول های یک شمارنده از نوع "Expression" استفاده می کنید، می توانید شناسه دستگاه را نیز حذف کنید. سپس نام فیلدها به این متر اشاره دارد، به عنوان مثال «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.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.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 عدد
_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.surplusPV مازاد
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 مقایسه کنید.