דוקומנטציה

מנהל הטעינה של cFos - נוסחאות

מנהל הטעינה cFos מאפשר הערכה דינאמית של נוסחאות. פונקציונליות זו זמינה לדלפק מסוג "ביטוי" ולכללי טעינה מסוג "נוסחה".

כך שתוכל להגדיר מטרים המחשבים ערכים ממדים או מארזי קיר אחרים ולשמור אותם מוכנים ולהציג אותם. חוקי הטעינה יכולים גם לחשב באופן דינמי את זרם הטעינה באמצעות נוסחאות וגם גישה למדרי ותיבות קיר (כולל מטרים מסוג "ביטוי").

הפעולות הבאות אפשריות עם הנוסחאות:

+ - * / %חיבור, חיסור, כפל, חילוק, מודולוס
& |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 למספר שלם. דוגמה: עיגול למקום עשרוני אחד: עגול (10*x)/10.
sqrt(x)שורש ריבועי של x
exists(x)true אם המשתנה x קיים, אחרת false

הביטויים ההגיוניים הבאים אפשריים גם:

== (שווה ל) != (לא שווה), < (פחות מ), <= (פחות או שווה ל), > (גדול מ), >= (גדול מ או שווה ל) ! (לא), || (הגיוני או), && (הגיוני ו-) ? (אופרטור מותנה, x ? y : z, מחזיר y אם x נכון, אחרת z)

זה מאפשר, למשל, כיבוי הזרם בהתאם לתנאים: M1.current >= 6500 ? M1.current : 0 מספק את הזרם של M1 אם הוא גדול מ-6.5A ו-0 אחרת, מה שמפסיק את הטעינה. עבור תנאים כאלה, אפשר גם לבצע שאילתות קלט (ראה להלן)

השמות הבאים אפשריים:

Mxמונה עם מזהה התקן x, למשל M1
ExEVSE עם מזהה התקן x, למשל E1

כמו כן, ניתן לגשת למונים וירטואליים כגון עודפי שמש, חשמל קנוי או "הספק עבור EVSEs" (הספק זמין עבור wallboxes) על ידי הגדרת המונה ולאחר מכן שימוש במזהה המכשיר המתאים בנוסחה.

לאחר מכן ניתן לגשת לערכים בודדים של המכשירים באמצעות נקודה. אלה נקראים כך:

current_l1זרם שלב 1 ב- mA
current_l2זרם שלב 2 ב- mA
current_l3זרם שלב 3 ב- mA
currentזרם השלב הנוכחי ב- mA (עם כללי הטעינה, מנהל הטעינה שואל את כל השלבים בזה אחר זה; עם מטרים מסוג "ביטוי", השלב המתאים אליו הנוסחה מתייחסת. אם ציינת נוסחה עבור " הנוכחי L1 ", תוכל להשמיט את השדות עבור זרם L2 ו- L3. לאחר מכן נעשה שימוש בנוסחה של זרם L1)
power_wהספק פעיל נוכחי בוואטים
offeredWallbox: זרם זמין כרגע ב-mA
import_whאנרגיה קשורה ב- Wh
export_whאנרגיה מוזנת ב- Wh
dtהזמן שחלף מאז העדכון האחרון (בשניות), רק למונה "ביטוי", ראה גם CM._dt.
inputNמספר קלט N של המכשיר, 1 = פעיל, 0 = לא פעיל, N הוא מספר הקלט, החל מ-1.
socSOC, רמת טעינה באחוזים (מונה/זיכרון) - אם נתמך על ידי המכשיר
idמזהה מכשיר, מזהה Modbus
txn_durationמשך העסקה הנוכחית בשניות (wallbox)
charging_durזמן טעינה בפועל של העסקה הנוכחית בשניות (Wallbox)
txn_energyאנרגיה טעונה של העסקה הנוכחית ב-Wh (wallbox)
min_currentזרם טעינה מינימלי ב-mA (EVSE)
max_currentזרם טעינה מרבי ב-mA (EVSE)
stateסטטוס: המתנה אחת, 2 מחוברות לחשמל, 3 טעינות, 4 טעינות עם אוורור, 5 שגיאות, 6 לא מקוונות (EVSE)
cphasesמספר שלבי הטעינה (0-3)
pphasesמספר שלבי הטעינה החזויים (0-3)
lb_cur_l1זרם מחושב זרם של שלב 1 ב-mA (wallbox). רק בזמן חישוב כללי הטעינה של Wallbox, אחרת 0
lb_cur_l2זרם מחושב זרם של שלב 2 ב-mA (wallbox). רק בזמן חישוב כללי הטעינה של Wallbox, אחרת 0
lb_cur_l3זרם מחושב זרם של שלב 3 ב-mA (wallbox). רק בזמן חישוב כללי הטעינה של Wallbox, אחרת 0
lb_curזרם מחושב כרגע של השלב הנוכחי ב-mA (wallbox). רק במהלך חישוב כללי הטעינה של Wallbox, אחרת 0. מנהל הטעינה שואל את כל השלבים בזה אחר זה.
surplus_pcurזרם עודף PV לכל שלב (חזוי) ב-mA
surplus_wanted1 אם כבר הוחל כלל עודף PV, אחרת 0
budgetקוט"ש או דקות בתקציב הנוכחי
budget_amountבתקציב הנוכחי מקסימום קוט"ש או דקות
budget_usedקוט"ש או דקות בשימוש בתקציב הנוכחי
com_err1 אם יש שגיאת COM, אחרת 0
com_err21 אם יש שגיאת COM של יותר מ-12 שניות, אחרת 0
reactive_powerמפרט הספק תגובתי בוואטים (אם המכשיר תומך בכך), ערכים חיוביים: אינדוקטיבי, ערכים שליליים: קיבולי
switch_phasesעבור wallboxes עם מיתוג פאזה: מיתוג פאזה ידני, 1 = 1-פאזי, 3 = 3-פאזי, -1 = מיתוג פאזה אוטומטי
departureזמן יציאה ISO 15118 כחותמת זמן ליחידה (עבור קופסאות קיר התומכות בכך, אחרת 0)
req_energyISO 15118 אנרגיה נדרשת ב-Wh (עבור קופסאות קיר שתומכות בכך, אחרת 0)
plugin_startחותמת זמן של יוניקס, זמן הכנסת הכבל
plugin_energyאנרגיה שנטענה עד כה ב-Wh מרגע חיבור הכבל

דוגמא
M1.current_l1זרם של מטר M1, שלב 1
E2.import_whWh בשימוש ב- EVSE E2
E3.power_wכוח טעינה נוכחי של E3 בוואט

אם אתה משתמש בנוסחאות עבור מונה מסוג "ביטוי", אתה יכול גם להשמיט את מזהה המכשיר. אז שמות השדות מתייחסים למד זה, למשל, '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מספר קופסאות ה-wallbox בטעינה
_num_charging1מספר קופסאות ה-wallbox בטעינה כעת, 1 אם אף אחת לא נטענת
_max_total_currentזרם מקסימלי של חיבור הבית ב-mA לפאזה
_max_total_evse_currentזרם מקסימלי עבור wallboxes בmA לפאזה
_priceמחיר החשמל הנוכחי
_price_levelרמת מחירי החשמל הנוכחית, -2=יקר מאוד, -3=יקר, -4=רגיל, -5=זול, -6=זול מאוד
_surplusעודף שמש נוכחי בוואט
_org_surplusעודף סולארי, כפי שחושב על ידי מנהל הטעינה ללא תלות בנוסחאות שלו
_storage_home_max_capacityקיבולת האחסון הכוללת, בית, אם צוין בתצורת המונה, ב-Wh
_storage_home_capacityהקיבולת הנוכחית של האחסון, Home, אם צוין בתצורת המונה, בWh
_storage_all_max_capacityהקיבולת הכוללת של האחסון, הכל, אם צוין בתצורת המונה, ב-Wh
_storage_all_capacityהקיבולת הנוכחית של האחסון, הכל, אם צוין בתצורת המונה, בWh
_storage_home_socSoC נוכחי/אחסון הסוללה עם תפקיד "בית". אם הקיבולת צוינה עבור התקן אחסון אחד לפחות, מנהל הטעינה משתמש בזה לחישוב, אחרת משתנה זה מספק את ה-SoC הנוכחי של התקן האחסון הראשון שנמצא עם התפקיד "בית".
_storage_all_socSoC נוכחי/אחסון הסוללה עם תפקיד "בית+רכב". אם הקיבולת צוינה עבור התקן אחסון אחד לפחות, מנהל הטעינה משתמש בזה לחישוב, אחרת משתנה זה מספק את ה-SoC הנוכחי של התקן האחסון הראשון שנמצא עם התפקיד "בית+רכב".
_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
הודעה:
תחת מונים מותאמים אישית תמצא גם הוראות כיצד להשתמש בנוסחאות עם משתנים ותפוקות גלובליות של Charging Manager.

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 Charging Manager מנסה תחילה לספק ל-wallbox את הזרם המקסימלי ביחס לקיבולת חיבור הבית, אך לאחר מכן מגביל זאת ל -16A פחות צריכת הדירה.

מאפיינים

באמצעות min_price(s), max_price(s) אתה יכול לקבוע את המחיר הזול ביותר מספק האנרגיה שלך באירו, לפיו המחירים מתבצעים מהשעה הנוכחית ועד שניות המקסימליות של היום או למחרת, למשל המחיר הזול ביותר עד 7:00 בבוקר בלילה. לדוגמה, אתה יכול ליצור כלל טעינה עם התנאי CM._price <= min_price(25200) לטעינה בזמן הזול ביותר, אך עם התנאי שברצונך לצאת לדרך מ-8:00 בבוקר (בהנחה של שעה אחת של זמן טעינה). באופן דומה, ישנן שתי הפונקציות min_price_secs(s) ו-max_price_secs(s), אשר מחזירות את שעת ההתחלה של המחיר הזול ביותר בשניות של היום שהתחיל. לאחר מכן תוכל להשוות זאת עם date.daysecond, למשל.