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, modulus
& |bitwise AND dan OR
^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
clamp(x,min,max)Nilai x = min (jika x < min), x = max (jika x > max), jika tidak, pertahankan x
sqrt(x)Membulatkan x ke bilangan bulat. Contoh: Pembulatan ke 1 tempat desimal: bulatkan (10*x)/10.
sqrt(x)Akar kuadrat dari x
exists(x)benar jika variabel x ada, jika tidak salah

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

Anda juga dapat mengakses meter virtual, seperti surplus surya, penarikan jaringan, atau "Power avail. for EVSEs" (daya yang tersedia untuk kotak dinding), 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)
power_wDaya aktif saat ini dalam watt
opower_vaWallbox: Daya saat ini yang ditawarkan dalam VA terkait dengan semua 3 fase.
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)
idId Perangkat, ID Modbus
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)
cphasesJumlah fase pengisian daya (0-3)
pphasesJumlah fase pengisian daya yang diprediksi (0-3)
budgetKWh pada anggaran saat ini
budget_amountPada anggaran kWh maksimum saat ini
budget_usedKWh yang digunakan pada anggaran saat ini
com_err1, jika ada kesalahan COM, jika tidak 0
com_err21, jika kesalahan COM terjadi lebih dari 12 detik, jika tidak 0

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:
jumlah_pengisian: Jumlah kotak dinding yang sedang diisi daya
_num_charging1: Jumlah kotak dinding yang sedang diisi, 1 jika tidak ada yang sedang diisi
_max_total_arus: Arus maksimum sambungan rumah dalam mA per fase
_max_total_evse_current: Arus maksimum untuk kotak dinding dalam mA (per fase)
_harga: Harga listrik saat ini
tingkat_harga_listrik: Tingkat harga listrik saat ini, -2=sangat mahal, -3=mahal, -4=normal, -5=murah, -6=sangat murah _surplus: Surplus tenaga surya saat ini dalam watt _org_surplus: Surplus tenaga surya karena Manajer Pengisian Daya akan menghitungnya secara independen dengan rumusnya sendiri

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.