变量公式


一. 采集公式

采集公式功能是为了将网关采集到的变量值,通过自定义公式处理成想要在平台上展示与使用的值。比如固定值补偿、变量值成倍扩大或缩小、将4-20mA或0-5V测量值工程转换等。
经过公式运算后,平台上只显示和起效此变量处理后的值,如:此变量在设备监控中列表和组态中展示的值、历史报表中的值、报警值等都是公式处理后的值。

二. 写入公式

写入公式功能是采集公式功能的逆过程,它可以把在平台上输入框中输入的值,通过自定义公式处理成想要写入设备中的值。网关会把处理后的值,写入到设备中。

三. 公式输入格式

公式遵循的原理是整个公式输入框中的内容为f(X),最终输出的值为y=f(X)(注意:X为大写英文字母,公式输入时不需要写“y=”)。
采集公式中,X为网关采集到的原始值,公式处理后输出的值是在平台上展示的值。
写入公式中,X为在平台写入框中写入的值,公式处理后输出的值会直接写入到设备中。
在输入公式的过程中请保持所有输入均为英文半角字符输入,不能出现汉字符号与文字。
采集公式示例:(0.5*X-40)/16    输入公式示例:(16*X+40)*2。

四. 支持的运算符

如果网关为高性能的EG20、EG21系列网关,则变量公式支持如下的运算符:

4.1基本算数运算符

加、减、乘、除运算符
示例:X + 5
取余运算符 %
功能:计算两个数值相除后的余数,且保留整数
示例:X % 3

4.2支持大部分的Math函数

1. 绝对值函数 Math.abs(X)
示例:Math.abs(X - 50)
2. 四舍五入函数 Math.round(X)
功能:对数值进行四舍五入取整
示例:Math.round(X)
 如果采集值 X = 12.3,则计算结果为 12
如果采集值 X = 12.7,则计算结果为 13
3. 向上取整函数 Math.ceil(X)
功能:对数值进行向上取整
示例:Math.ceil(X)
 如果采集值 X = 12.1,则计算结果为 13
如果采集值 X = 12.9,则计算结果为 13
4. 向下取整函数 Math.floor(X)
示例:Math.floor(X)
如果采集值 X = 12.1,则计算结果为 12
// 如果采集值 X = 12.9,则计算结果为 12
5. 幂运算函数 Math.pow(X, n)
示例:Math.pow(X, 2)
如果采集值 X = 5,则计算结果为 25
6. 平方根函数 Math.sqrt(X)
示例:Math.sqrt(X)

4.3三元条件运算符

功能:根据条件判断返回不同的值
基本语法:“条件 ? 值1 : 值2”, 意思是如果条件为真,返回值1,如果条件为假,返回值2
示例1:X > 50 ? 1 : 0
如果采集值 X = 60,则计算结果为 1
如果采集值 X = 40,则计算结果为 0

4.4公式填写注意事项

变量表示:公式中的变量必须使用大写字母 X
字符格式:所有符号必须使用英文半角字符
运算优先级:遵循数学运算优先级(括号 > 乘除 > 加减)
数据类型:确保运算中的数据类型的兼容性
通过合理组合这些运算符和函数,可以实现各种复杂的数据处理需求,满足工业现场的数据采集和转换要求。

注意:低算力网关运算符支持有限制

如果网关为EG10、BS10系列低算力网关,则仅支持 “加、减、乘、除”四种算数运算符,其余暂不支持

五. 采集公式运算常见的应用场景

5.1 对数据进行固定值补偿;

如采集到的温度值为25℃,而实际温度值为26℃,此时我们就可以使用公式进行补偿,在采集公式中填入“X+1”即可。

5.2 对4-20mA等模拟量测量值进行工程转换 

举列说明:4-20mA模拟量测量模块,对应平台测量公式计算如下。
测量显示值=(20mA对应测量值-4mA对应测量值)*(X-4mA对应数字量)/(20mA对应数字量-4mA对应数字量)+4mA对应值测量值
如: 温度 4-20MA 测量0-100℃ ,即 0℃对应数字量4000 ,100℃对应数字量20000。
那么:温度显示值=(100-0)*(X-4000)/(20000-4000)+0=100*(X-4000)/16000
最终公式:(X-4000)/160
则,将“(X-4000)/160”输入到公式输入框中,如下图,这样平台实时数据展示时显示的值即为转化后的温度值。
当从站采集到的数据为12000(代表12mA)时,显示数据 50℃
帮助中心 帮助中心
1 天前
9752

扫描下方二维码手机阅读文章

22 0