cFos Charging Manager - Rumus

Manajer Pengisian cFos memungkinkan evaluasi dinamis dari formula. Fungsionalitas ini tersedia untuk meteran tipe "Expression" dan untuk aturan pengisian tipe "Formula".

Oleh karena itu, Anda dapat mengatur meter yang menghitung nilai dari meter atau EVSE lain dan membuatnya siap dan menampilkannya. Aturan pengisian daya juga dapat menggunakan rumus untuk menghitung arus pengisian daya secara dinamis dan juga mengakses meter dan EVSE (termasuk meter dari jenis "Expression").

Operasi-operasi berikut ini dimungkinkan dengan rumus-rumus:

+ - * /Penjumlahan, pengurangan, perkalian, pembagian
^Perhitungan daya, misalnya 10^2 = 100
min(x,y)Minimum x dan y, lebih dari 2 argumen yang memungkinkan
max(x,y)Maksimum x dan y, lebih dari 2 argumen yang memungkinkan
abs(x)Nilai absolut dari x, misalnya abs(-2) = 2
sqrt(x)Akar kuadrat dari x

Lebih jauh lagi, ekspresi logika berikut ini dimungkinkan:

== (sama), != (tidak sama), < (kurang), <= (kurang-sama), > (lebih besar), >= (lebih besar-sama), ! (tidak), || (logika Or), && (logika And), ? (operator kondisional, misalnya x ? y : z, mengembalikan y jika x benar, jika tidak z)

Hal ini memungkinkan, misalnya, arus dimatikan tergantung pada kondisi: M1.current >= 6500 ? M1.current : 0 mengembalikan arus M1 jika lebih besar dari 6,5A dan 0 jika tidak, yang menghentikan pengisian daya. Untuk kondisi seperti itu, juga memungkinkan untuk menanyakan input (lihat di bawah)

Nama-nama berikut ini dimungkinkan:

MxMeteran dengan ID unit x, misalnya M1
ExEVSE dengan ID perangkat x, misalnya E1

Juga dimungkinkan untuk mengakses meteran virtual, seperti surplus surya, penarikan jaringan atau "Power avail. for EVSEs", dengan mengatur meteran dan kemudian menggunakan ID perangkat yang sesuai dalam rumus.

Anda kemudian bisa mengakses nilai individual dari unit-unit melalui titik. Ini disebut sebagai berikut:

current_l1Arus fase 1 dalam mA
current_l2Arus fase 2 dalam mA
current_l3Arus fase 3 dalam mA
currentArus fase saat ini dalam mA (untuk aturan pengisian daya, Manajer Pengisian Daya menanyakan semua fase satu demi satu; untuk meter tipe "Expression", masing-masing fase yang dirujuk oleh rumus berlaku. Jika Anda telah menentukan formula untuk "Arus L1", Anda dapat menghilangkan bidang untuk Arus L2 dan L3. Kemudian rumus untuk L1 saat ini digunakan)
power_vaDaya saat ini dalam Watt/VA (tergantung pada jenis meteran, daya semu atau daya aktif dapat diberikan di sini)
import_whEnergi yang ditarik dalam Wh
export_whEnergi yang disuntikkan dalam Wh
dtWaktu yang telah berlalu sejak pembaruan terakhir yang lalu (dalam detik)
inputNNomor input N dari unit, 1 = aktif, 0 = tidak aktif
socSOC, tingkat pengisian daya dalam persen (meteran/penyimpanan)
txn_durationDurasi transaksi saat ini dalam detik (EVSE)
txn_energyEnergi yang dibebankan dari transaksi saat ini dalam Wh (EVSE)
min_currentArus pengisian minimum dalam mA (EVSE)
max_currentArus pengisian maksimum dalam mA (EVSE)
stateStatus: 1 menunggu, 2 terpasang, 3 pengisian daya, 4 pengisian daya dengan ventilasi, 5 kesalahan, 6 offline (EVSE)

Contoh
M1.current_l1Arus meter M1, fase 1
E2.import_whWh yang dikonsumsi dari EVSE E2
E3.power_vaDaya pengisian daya saat ini dari E3

Jika Anda menggunakan formula untuk meteran tipe "Expression", Anda juga bisa menghilangkan ID perangkat. Kemudian nama bidang merujuk ke meteran ini, misalnya 'power_va' adalah daya meteran ini dalam Watt/VA. Anda dapat menggunakan 'dt' untuk merealisasikan beberapa fungsi tambahan, misalnya dalam meteran tipe "Expression":

  • Sebagai formula untuk 'import_wh': import_wh + M1.power_va * dt / 3600 memperbarui energi yang bersumber berdasarkan daya selama waktu pembaruan yang lalu
  • Sebagai rumus untuk 'power_va': (power_va * (20 - dt) + M1.power_va * dt) / 20 menghaluskan daya selama 20 detik terakhir.

Variabel global

date

date.yearTahun sekarang
date.monthBulan dari 0..11
date.dayHari dari 1..31
date.weekdayHari kerja Mo=0, Tue=1, ... Sun=6
date.yeardayHari dalam setahun dari 0..366
date.hourJam dari 0..23
date.minuteMenit dari 0..60
date.secondKedua dari 0..60
date.daysecondKedua hari ini dari 0..86399
date.dayminuteMenit hari ini dari 0..1439
date.dst0 = waktu musim dingin, 1 = waktu musim panas

PB (cFos Power brain only)

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

CM Variabel Manajer Pengisian Daya

Variabel-variabel ini dapat diatur oleh admin di bawah "Configuration". Misalnya, jika admin menetapkan variabel 'var_x' ke 1.5, CM.var_x mengembalikan nilai 1.5.

Variabel yang sudah ditentukan sebelumnya:
_num_charging: Jumlah EVSE yang sedang mengisi daya
_num_charging1: Jumlah EVSE yang sedang mengisi daya, 1 jika tidak ada yang mengisi daya
_max_total_power: Daya maksimum koneksi rumah dalam W
_max_total_evse_power: Daya maksimum untuk EVSE dalam W

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

Contoh aplikasi

Anda juga ingin membatasi arus pengisian daya sehubungan dengan meteran konsumsi flat. Untuk melakukan ini, Anda dapat menyiapkan aturan pengisian daya dengan rumus 16000 - M1.current.
M1 adalah meteran yang mengukur konsumsi flat. Manajemen beban dari cFos Charging Manager pertama-tama mencoba menyediakan EVSE dengan arus maksimum dalam kaitannya dengan daya sambungan rumah, tetapi kemudian membatasi ini hingga 16A dikurangi konsumsi flat.