מנהל הטעינה 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 |
Ex | EVSE עם מזהה התקן 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_va | Wallbox: מוצעים כרגע ביצועים ב-VA הקשורים לכל 3 השלבים. |
import_wh | אנרגיה קשורה ב- Wh |
export_wh | אנרגיה מוזנת ב- Wh |
dt | הזמן מאז העדכון האחרון (בשניות) |
inputN | קלט מספר N של המכשיר, 1 = פעיל, 0 = לא פעיל |
soc | SOC, רמת טעינה באחוזים (מונה/זיכרון) |
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_err | 1 אם יש שגיאת COM, אחרת 0 |
com_err2 | 1 אם יש שגיאת COM של יותר מ-12 שניות, אחרת 0 |
M1.current_l1 | זרם של מטר M1, שלב 1 |
E2.import_wh | Wh בשימוש ב- EVSE E2 |
E3.power_va | כוח הטעינה הנוכחי של E3 |
אם אתה משתמש בנוסחאות עבור מונה מסוג "ביטוי", תוכל להשמיט את מזהה המכשיר. אז שמות השדות מתייחסים למד הזה, למשל 'power_va' הוא אז הכוח של מד זה בוואט/VA. עם 'dt' תוכל ליישם כמה פונקציות נוספות, למשל בדלפק מסוג "ביטוי":
import_wh + M1.power_va * dt / 3600
מעדכן את האנרגיה הנמשכת על סמך ההספק במהלך זמן העדכון האחרון(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.dst | 0 = שעון חורף, 1 = שעון קיץ |
PB (cFos Power brain only)
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: מספר קופסאות ה-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 פחות צריכת הדירה.