cFos计费管理器--公式

cFos 计费管理器允许对公式进行动态评估。这一功能适用于 "表达式 "类型的仪表和 "公式 "类型的收费规则。

因此,你可以设置计算其他电表或EVSE的值的电表,并保持它们的准备和显示。充电规则也可以使用公式来动态计算充电电流,也可以访问电表和EVSE(包括 "表达式 "类型的电表)。

用公式可以进行以下操作。

+ - * / %加法、减法、乘法、除法、模数
& |位数和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=最小(如果x<最小),x=最大(如果x>最大),否则保留x
sqrt(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,则返回M1的电流,否则为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_va电流功率,单位是瓦特/安培(根据电表类型,这里可以提供视在功率或有功功率)。
power_w当前有功功率,单位为瓦特
opower_va墙盒。提供给所有3个阶段的电流功率,单位为VA。
import_wh汲取的能量(Wh
export_wh注入的能量(Wh)。
dt自上次更新以来所经过的时间(以秒为单位)。
inputN单位的输入编号N,1=激活,0=不激活
socSOC,充电水平(百分比)(仪表/存储)。
id设备标识,Modbus标识
txn_duration当前交易的持续时间(秒)(EVSE)。
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)。
budget当前预算中的千瓦时
budget_amount在目前的预算中,最大千瓦时
budget_used当前预算中使用的千瓦时
com_err1,如果有一个COM错误,否则为0
com_err21,如果一个COM错误存在超过12秒,否则为0

例子
M1.current_l1电表M1的电流,第1相
E2.import_whEVSE E2的消耗量
E3.power_va当前来自E3的充电功率

如果你对一个 "表达式 "类型的仪表使用公式,你也可以省略设备ID。然后字段名指的是这个仪表,例如'power_va'是这个仪表的功率,单位是瓦特/安培。你可以使用'dt'来实现一些扩展功能,例如在一个 "表达式 "类型的仪表中。

  • 作为'import_wh'的公式import_wh + M1.power_va * dt / 3600根据过去更新时间内的功率,更新来源的能量。
  • 作为'power_va'的公式(power_va * (20 - dt) + M1.power_va * dt)/ 20平滑了过去20秒的功率。

全球变量

date

date.year本年度
date.month月份从0...11
date.day日子从1...31
date.weekday工作日 Mo=0, Tue=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.dst0=冬季时间,1=夏季时间

PB (cFos Power brain only)

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: 房屋连接的最大电流,每相毫安。
_max_total_evse_current: 墙盒的最大电流,单位为mA(每相)。
价格:目前的电价
_price_level: 当前电价水平,-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.电流设置一个充电规则。
M1是测量单元消费的仪表。cFos充电管理器的负载管理首先试图为EVSE提供与房屋连接功率有关的最大电流,但随后将其限制在16A减去单位的消耗。