公式映射

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