ドキュメント

cFosチャージングマネージャー - 計算式

cFos Charging Manager では、数式を動的に評価することができます。この機能は、タイプ "Expression" のメーターと、タイプ "Formula" の充電ルールで利用できます。

そのため、他のメーターやEVSEから値を計算するメーターを設定し、それらを準備して表示することができます。また、充電ルールでは、数式を使用して充電電流を動的に計算したり、メーターやEVSE(「式」タイプのメーターを含む)にアクセスすることも可能です。

数式を使った以下の操作が可能です。

+ - * / %加算、減算、乗算、除算、微分積分
& |ビット毎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のまま
round(x)xを整数に丸める。例:小数点以下1桁に丸める:round(10*x)/10.
sqrt(x)xの平方根
exists(x)変数xが存在する場合は真、そうでない場合は偽

さらに、以下の論理表現が可能である。

==(等),!=(不等),<(小),<=(小-等),>(大),>=(大-等),!(非),||(論理 OR),&&(論理 And),?(条件演算子。例:x ? y : z、x が真のときは y、それ以外はz を返す。)

これにより、例えば、条件によって電流を切り替えたりすることができる。M1.current >= 6500 ?M1.current : 0はM1の電流が6.5A以上であれば返し、そうでなければ0を返し、充電を一時停止させる。このような条件では、入力に問い合わせることも可能である(下記参照)。

以下のような名称が考えられる。

MxユニットIDがxのメーター、例:M1
Ex機器IDがxのEVSE、例:E1

また、メーターを設定し、数式で対応するデバイスIDを使用することで、太陽光の余剰電力、グリッドドロー、"Power avail. for EVSEs"(ウォールボックスで使用できる電力)などの仮想メーターにアクセスすることが可能です。

そして、ポイントによってユニットの個々の値にアクセスすることができます。これらは以下のように呼び出されます。

current_l1第1相の電流(mA
current_l2第2相の電流(mA
current_l3第3相の電流(mA
current電流フェーズの電流 (mA) (充電ルールでは、充電マネージャはすべてのフェーズを順番にクエリします。タイプ「式」のメータでは、式が参照するそれぞれのフェーズが適用されます)。電流 L1」に対して数式を指定した場合、電流 L2 と L3 のフィールドを省略することができます。その場合、電流 L1 の数式が使用されます。)
power_w現在の有効電力(ワット
offeredウォールボックス電流(mA
import_whエネルギー消費量(単位:Wh
export_wh注入エネルギー(単位:Wh
dt過去の最終更新からの経過時間(秒)
inputN本機の入力番号N、1=アクティブ、0=インアクティブ
socSOC、充電量(%)(メーター/ストレージ
idデバイスID、Modbus ID
txn_duration現在のトランザクションの継続時間(秒)(EVSE
charging_dur現在の取引の実際の充電時間(秒)(ウォールボックス
txn_energy今回の取引における充電電力量(単位:Wh)(EVSE
min_current最小充電電流(mA)(EVSE)
max_current最大充電電流(mA)(EVSE)
stateステータス1待機中、2接続中、3充電中、4換気しながら充電中、5エラー、6オフライン(EVSE)
cphases充電フェーズ数(0~3)
pphases充電予測フェーズ数(0~3)
surplus_pcurPV過電流/(予測)フェーズ(mA
surplus_wantedPVサープラス・ルールがすでに適用されている場合は1、そうでない場合は0
budget現在の予算におけるkWhまたは分数
budget_amount現在の予算における最大kWhまたは分数
budget_used現在の予算で使用されたkWhまたは分数
com_errCOM エラーがある場合は 1、それ以外は 0
com_err2COMエラーが12秒以上存在する場合は1、それ以外は0
reactive_powerワット単位の無効電力仕様(デバイスでサポートされている場合)、正の値:正の値:誘導性、負の値:容量性

M1.current_l1メーターM1、相1の電流
E2.import_whEVSE E2の消費電力量
E3.power_wE3の現在の充電電力(ワット

式」タイプのメーターの計算式を使用する場合、デバイス ID を省略することもできる。その場合、フィールド名はこのメーターを参照し、例えば'power_w'はこのメーターの電力(ワット)である。dt'を使用することで、例えば "Expression "タイプのメーターで、いくつかの拡張関数を実現することができる:

  • import_wh'の計算式としてimport_wh + M1.power_w * dt / 3600は、過去の更新時間中の電力に基づき、供給エネルギーを更新する。
  • power_w'の計算式として:(power_w * (20 - dt) + M1.power_w * dt) / 20は、過去20秒間の電力を平滑化する。

グローバル変数

date

date.year当年度
date.month0~11の月
date.day1...31からの日数
date.weekday平日 月=0, 火=1, ...日=6
date.yearday0から366までの年間日数
date.hour時間 0〜23
date.minute分(0~60
date.second0〜60秒
date.daysecond今日の2番目 0から86399まで
date.dayminuteこの日の分数(0~1439)。
date.dst0=冬時間、1=夏時間

PB (nur cFos Power Brain)

PB.input1S0 Input 1, 1 = アクティブ、0 = 非アクティブ
PB.input2S0 Input 2, 1 = アクティブ、0 = 非アクティブ

CM チャージング・マネージャーの変数

これらの変数は、管理者が「設定」で設定することができる。例えば、管理者が変数'var_x'を1.5に設定すると、CM.var_xは値1.5を返します。

定義済みの変数です。
_num_charging:現在充電中のウォールボックスの数
_num_charging1: 現在充電中のウォールボックスの数、充電中のものがない場合は1。
max_total_current:ハウスコネクションの最大電流(mA)/相
_max_total_evse_current:ウォールボックスの各相の最大電流(mA単位
価格:現在の電気料金
_price_level: 現在の電気料金の水準、-2=非常に高い、-3=高い、-4=普通、-5=安い、-6=非常に安い
surplus:現在の太陽電池の余剰電力(ワット)。
org_surplus:課金管理者が独自の計算式で算出したであろう太陽電池の余剰分。
__storage_home_max_capacity:メーターの設定で指定されている場合、ストレージ、ホームの合計容量(単位:Wh
__storage_home_capacity:メーターの設定で指定されている場合、ストレージ、ホームの現在の容量(単位:Wh
__storage_all_max_capacity:カウンタ構成で指定されている場合、ストレージの全容量。
__storage_all_capacity:ストレージの現在の容量。

グローバルオブジェクトの使用:
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
備考:
また、「カスタムカウンター」では、チャージングマネージャーのグローバル変数と出力を使った計算式の使い方も紹介されています。

GM グローバル・カウンター

GM.grid_demandメイン・リファレンス
GM.consumed消費
GM.produced世代
GM.consumed_evse消費 電子自動車
GM.available_evse利用可能な電力
GM.surplusPVサープラス
GM.storage_homeメモリー・ホーム
GM.storage_allメモリー・エブリシング
GM.errorエラーによるパフォーマンス

グローバル・カウンターの使用
Jeder Zähler hat die Felder power_w, current, current_l1, current_l2, current_l3, import_wh und export_wh,
z.B. GM.prod_pwr.current_l1 oder GM.cons_pwr.power_w
. Bei 'current' wird der Strom der gerade betrachteten Phase ausgewertet. Ströme werden in mA geliefert, Leistung in W, Energie in Wh.

アプリケーション例

フラットの消費電力計に関して、充電電流を追加で制限したい。そのためには、16000 - M1.currentの式で充電ルールを設定することができます。
M1はフラットの消費量を計測するメーターです。cFos Charging Managerの負荷管理は、まず住宅接続電力に対する最大電流をEVSEに供給しようとするが、これを16Aからフラットの消費電力を引いた値に制限している。