公式映射¶
EnOS提供了一系列公式,用以将设备端的采集点经过一定运算加工之后,映射到预先定义的模型测点上。
功能特性¶
EnOS预置的公式列表如下。为了说明方便,在列表中,模型测点用y表示;采集点用 x(i) 表示,其中,i代表采集点被添加的顺序。模板中格式 指的是如果在模板配置中,通过导出编辑再导入模板的方式设置点映射时,必须在模板 mapping 栏填写的公式的规范名称。
公式名称 |
说明 |
模板中格式 |
|
NO_MAPPING |
不对此模型测点做映射 |
no_mapping |
|
EQUAL |
模型测点的值等于采集到的数据值,即y=x |
x |
|
SUM |
求和,将添加到本模型测点的采集点值加总求和,y=x(1)+x(2)+…+x(i) |
sum(X1,X2,…Xn) |
|
SUBTRACTION |
用于将添加到本映射点的采集点相减 |
subtraction(a,b) |
|
PRODUCT |
相乘,将添加到本模型测点的采集点相乘求积,可以配置一个可配系数y=a* x(1) * x(2) *…* x(i) * |
product(X1,X2,…Xn,系数a) |
|
CROSS_PRODUCT |
内积:用于计算被添加到本模型测点的各采集点的内积,并乘以一个可配系数a(即“操作数”参数),注意采集点被添加进来的顺序很重要。即y=a(x(1) * x(2)+x(3) * x(4)+…+x(i-1) * x(i) |
cross_product(X1,X2,…Xn,操作数a) |
|
RATIO |
相除:用于计算被添加到本模型测点的2个采集点的比率,注意采集点被添加进来的顺序很重要,即y=x(1)/x(2) |
ratio(被除数,除数) |
|
LOGICAL_OR |
对添加到本模型测点的DI采集点求逻辑或,y=(x(1)|x(2)|…|x(i)) |
logical_or(X1,X2,…Xn) |
|
LOGICAL_AND |
输入多个DI采集点进行逻辑与,如果采集点的值(取INT值)有一个为0的,就返回0,否则返回1 |
logical_and(X1,X2,…Xn) |
|
XOR |
输入多个DI采集点,进行异或操作,相同则返回1,不同则返回0 |
Xor(X1,X2,…Xn) |
|
RATIO_AGAINST_SUM |
对添加到本模型测点的三个采集点做如下运算:y=x(1)/(x(2)+x(3)) |
ratio_against_sum(a,b,c) |
|
BIT_N |
将一个AI类型的采集点的指定比特N取出,复制到一个模型测点上,包含一个参数N,表示取出的是AI点的第几个比特位。例如,N为0表示取出的AI点的第1位,N为15则表示取出的AI点的第16位 |
bit_n(X,操作数n) |
|
BITS_M_TO_N |
取连续多位赋值公式,可将一个AI点的多个连续的比特取出赋值到一个模型测点上,包含2个参数:操作数M,高比特位;和操作数N,低比特位,M>N。例如,M=7,N=0,则指取出采集点第8到1位赋值到新模型点上去 |
bits_m_to_n(X,操作数m,操作数n) |
|
IF_EQUAL |
包含3个操作数,记操作数1=a,操作数2=b,操作数3=c,则此公式的运算逻辑为:if x == a, then y== b, else y==c |
if_equal(X1,b,c) |
|
IF_RANGE |
输入测点值记为value,四个操作数记为A B C D,如果 value >=B 则 return D; 如果value>A && value< B return C ;如果都不满足,返回value |
if_range(X,a,b,c,d) |
|
MULTICHANNEL |
将多个采集点分别映射到一个数组类型模型点的各组元上。即y为数组:y={y[1], y[2], …, y[i]}, 且y[1]=x(1), y[2]=x(2), …, y[i]=x(i), i<=32 |
不支持通过模板导入导出 |
|
CONNECT_STATE |
设备的状态,必须通过采集获得 |
connect_state |
|
MULTIBIT |
y为int32数组,y={y[1],y[2]…,y[i]},其中y[1].bit0=x(1).bit0, y[1].bit1=x(2).bit0, …, y[1].bit31=x(32).bit0,y[2].bit0=x(33).bit0,y[2].bit1=x(34).bit0,…,y[2].bit31=x(64).bit0,…,y[i].bit0=x(32(i-1)+1).bit0,y[i].bit1=x(32(i-1)+2).bit0,…,y[i].bit31=x(32(i-1)+32).bit0,i<=32 |
不支持通过模板导入导出 |
|
MULTICHANNERL_SHORTTOINT |
多个SHORT类型AI采集点转为INT32类型的数组形式映射至模型点 |
不支持通过模板导入导出 |
|
ENUM_N |
根据模型中定义的枚举类型,进行变量映射 |
不支持通过模板导入导出 |
非array型模型测点适用公式¶
对于非array的模型属性,EnOS支持下列公式:
NO_MAPPING
INVALID
EQUAL
SUM
PRODUCT
CROSS_PRODUCT
RATIO
LOGICAL_OR
RATION_AGAINST_SUM
BIT_N
BITS_M_TO_N
IF_EQUAL
array型模型测点适用公式¶
NO_MAPPING
INVALID
EQUAL
MULTICHANNEL
MULTIBIT