מנהל הטעינה של 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
sqrt(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_vaהספק הנוכחי בוואט/VA (ניתן לספק כאן הספק לכאורה או הספק אמיתי)
power_wהספק פעיל נוכחי בוואטים
opower_vaWallbox: מוצעים כרגע ביצועים ב-VA הקשורים לכל 3 השלבים.
import_whאנרגיה קשורה ב- Wh
export_whאנרגיה מוזנת ב- Wh
dtהזמן מאז העדכון האחרון (בשניות)
inputNקלט מספר N של המכשיר, 1 = פעיל, 0 = לא פעיל
socSOC, רמת טעינה באחוזים (מונה/זיכרון)
idמזהה מכשיר, מזהה Modbus
txn_durationמשך העסקה הנוכחית בשניות (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)
budgetקוט"ש בתקציב הנוכחי
budget_amountבתקציב הנוכחי מקסימום קוט"ש
budget_usedקוט"ש בשימוש בתקציב הנוכחי
com_err1 אם יש שגיאת COM, אחרת 0
com_err21 אם יש שגיאת COM של יותר מ-12 שניות, אחרת 0

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

אם אתה משתמש בנוסחאות עבור מונה מסוג "ביטוי", תוכל להשמיט את מזהה המכשיר. אז שמות השדות מתייחסים למד הזה, למשל 'power_va' הוא אז הכוח של מד זה בוואט/VA. עם 'dt' תוכל ליישם כמה פונקציות נוספות, למשל בדלפק מסוג "ביטוי":

  • כנוסחה עבור 'import_wh': import_wh + M1.power_va * dt / 3600 מעדכן את האנרגיה הנמשכת על סמך ההספק במהלך זמן העדכון האחרון
  • כנוסחה עבור 'power_va': (power_va * (20 - dt) + M1.power_va * dt) / 20 מחליק את ההספק במהלך 20 השניות האחרונות.

משתנים גלובליים

date

date.yearהשנה הנוכחית
date.monthחודש מ-0..11
date.dayיום מ-1..31
date.weekdayיום בשבוע שני=0, ג'=1, ... ראשון=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 = שעון קיץ

PB (cFos Power brain only)

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: זרם מקסימלי עבור קופסאות קיר ב-mA (לפאזה)
_מחיר: מחיר חשמל נוכחי
_מחיר_רמת: רמת מחירי חשמל נוכחית, -2=יקר מאוד, -3=יקר, -4=רגיל, -5=זול, -6=זול מאוד _עודף: עודף שמש נוכחי בוואט _org_surplus: עודף שמש כפי שמנהל הטעינה היה מחשב אותו ללא תלות בנוסחאות שלו

Benutzung der globalen Objekte:
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

דוגמא ליישום

ברצונך להגביל בנוסף את זרם הטעינה ביחס למד צריכת דירה. לשם כך, תוכל להגדיר 16000 - M1.current
M1 הוא המונה שמודד את צריכת הדירה. ניהול העומס של cFos Charging Manager מנסה תחילה לספק ל-wallbox את הזרם המקסימלי ביחס לקיבולת חיבור הבית, אך לאחר מכן מגביל זאת ל -16A פחות צריכת הדירה.