cFos Şarj Yöneticisi - Formüller

cFos Ücretlendirme Yöneticisi formüllerin dinamik olarak değerlendirilmesini sağlar. Bu işlevsellik, "İfade" tipindeki bir sayaç ve "Formül" tipindeki ücretlendirme kuralları için kullanılabilir.

Bu nedenle, diğer sayaçlardan veya EVSE'lerden değerleri hesaplayan ve bunları hazır tutan ve görüntüleyen sayaçlar kurabilirsiniz. Şarj kuralları ayrıca şarj akımını dinamik olarak hesaplamak için formüller kullanabilir ve ayrıca sayaçlara ve EVSE'lere ("İfade" türündeki sayaçlar dahil) erişebilir.

Formüller ile aşağıdaki işlemler mümkündür:

+ - * /Toplama, çıkarma, çarpma, bölme
^Güç hesaplaması, örneğin 10^2 = 100
min(x,y)Minimum x ve y, 2'den fazla argüman mümkün
max(x,y)Maksimum x ve y, 2'den fazla argüman mümkündür
abs(x)X'in mutlak değeri, örneğin abs(-2) = 2
sqrt(x)X'in karekökü

Ayrıca, aşağıdaki mantıksal ifadeler de mümkündür:

== (eşit), != (eşit olmayan), < (daha az), <= (daha az-eşit), > (daha büyük), >= (daha büyük-eşit), ! (değil), || (mantıksal Or), && (mantıksal And), ? (koşul operatörü, örneğin x ? y : z, x doğruysa y, aksi takdirde z döndürür)

Bu, örneğin akımın koşullara bağlı olarak kapatılmasını sağlar: M1.current >= 6500 ? M1.current : 0, M1'in akımı 6,5A'den büyükse akımı döndürür, aksi takdirde 0 döndürür ve bu da şarjı duraklatır. Bu tür koşullar için girişleri sorgulamak da mümkündür (aşağıya bakın)

Aşağıdaki isimler mümkündür:

MxBirim kimliği x olan sayaç, örneğin M1
ExCihaz kimliği x olan EVSE, örneğin E1

Ayrıca, sayacı ayarlayarak ve ardından formülde ilgili cihaz kimliğini kullanarak güneş enerjisi fazlası, şebeke çekişi veya "EVSE'ler için mevcut güç" gibi sanal sayaçlara erişmek de mümkündür.

Daha sonra nokta aracılığıyla birimlerin tek tek değerlerine erişebilirsiniz. Bunlar aşağıdaki gibi çağrılır:

current_l1Faz 1'in mA cinsinden akımı
current_l2Faz 2'nin mA cinsinden akımı
current_l3Faz 3'ün mA cinsinden akımı
currentGeçerli fazın mA cinsinden akımı (şarj kuralları için Şarj Yöneticisi tüm fazları birbiri ardına sorgular; "İfade" tipindeki sayaçlar için formülün atıfta bulunduğu ilgili faz geçerlidir. "Akım L1" için bir formül belirlediyseniz, Akım L2 ve L3 alanlarını atlayabilirsiniz. O zaman L1 akımı için formül kullanılır)
power_vaWatt/VA cinsinden akım gücü (sayaç tipine bağlı olarak, görünür güç veya aktif güç burada verilebilir)
power_wWatt cinsinden mevcut aktif güç
opower_vaWallbox: Tüm 3 faza ilişkin VA cinsinden sunulan mevcut güç.
import_whWh cinsinden çekilen enerji
export_whWh cinsinden enjekte edilen enerji
dtSon geçmiş güncellemeden bu yana geçen süre (saniye cinsinden)
inputNÜnitenin giriş numarası N, 1 = aktif, 0 = inaktif
socSOC, yüzde cinsinden şarj seviyesi (sayaç/depolama)
txn_durationGeçerli işlemin saniye cinsinden süresi (EVSE)
txn_energyGeçerli işlemin Wh cinsinden şarj edilmiş enerjisi (EVSE)
min_currentMA cinsinden minimum şarj akımı (EVSE)
max_currentMA cinsinden maksimum şarj akımı (EVSE)
stateDurum: 1 bekliyor, 2 takılı, 3 şarj oluyor, 4 havalandırma ile şarj oluyor, 5 hata, 6 çevrimdışı (EVSE)

Örnek
M1.current_l1M1 sayacının akımı, faz 1
E2.import_whEVSE E2'nin tüketilen Wh değeri
E3.power_vaE3'ten gelen mevcut şarj gücü

"İfade" türünde bir sayaç için formülleri kullanırsanız, cihaz kimliğini de atlayabilirsiniz. Daha sonra alan adları bu ölçüm cihazına atıfta bulunur, örneğin 'power_va' bu ölçüm cihazının Watt/VA cinsinden gücüdür. Birkaç genişletilmiş fonksiyonu gerçekleştirmek için 'dt' kullanabilirsiniz, örneğin "Expression" tipindeki bir sayaçta:

  • 'import_wh' için bir formül olarak: import_wh + M1.power_va * dt / 3600, geçmiş güncelleme süresindeki güce dayalı olarak kaynaklı enerjiyi günceller
  • 'power_va' için bir formül olarak: (power_va * (20 - dt) + M1.power_va * dt) / 20 son 20 saniyedeki gücü düzeltir.

Küresel değişkenler

date

date.yearCari yıl
date.month0..11 arası ay
date.day1..31'den itibaren gün
date.weekdayHafta içi Mo=0, Sal=1, ... Güneş=6
date.yeardayYıl içinde 0..366 arası gün
date.hour0..23 arası saat
date.minute0..60 arası dakika
date.second0..60 arası saniye
date.daysecondBu günün saniyesi 0..86399
date.dayminuteBu günün 0..1439 arası dakikası
date.dst0 = kış saati, 1 = yaz saati

PB (cFos Power brain only)

PB.input1S0 Input 1, 1 = aktif, 0 = inaktif
PB.input2S0 Input 2, 1 = aktif, 0 = inaktif

CM Şarj Yöneticisi değişkenleri

Bu değişkenler yönetici tarafından "Yapılandırma" altında ayarlanabilir. Örneğin, yönetici 'var_x' değişkenini 1,5 olarak ayarlarsa, CM.var_x 1,5 değerini döndürür.

Önceden tanımlanmış değişkenler:
_num_charging: Şu anda şarj olan duvar kutusu sayısı
_num_charging1: Şu anda şarj olan duvar kutularının sayısı, hiçbiri şarj olmuyorsa 1
_max_total_power: Ev bağlantısının W cinsinden maksimum gücü
_max_total_evse_power: EVSE'ler için W cinsinden maksimum güç

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

Uygulama örneği

Bir dairenin tüketim ölçerine göre şarj akımını ek olarak sınırlamak istiyorsunuz. Bunu yapmak için 16000 - M1.current formülüyle bir şarj kuralı oluşturabilirsiniz.
M1, dairenin tüketimini ölçen sayaçtır. cFos Şarj Yöneticisinin yük yönetimi ilk olarak EVSE'ye ev bağlantı gücüne göre maksimum akımı sağlamaya çalışır, ancak daha sonra bunu dairenin tüketimi eksi 16A ile sınırlar.