跳到主要内容

计算公式应用

英文名也称为公式(Formula)。

当您不想直接使用PLC发送的原始值,而是需要进行单位转换 / 零点校正 / 缩放调整时使用此功能。

常见示例:

  • 压力传感器发送整数 1638,但实际单位是 163.8 kPa 时 → ${VALUE}*0.1
  • 摄氏度 → 华氏度转换 → ${VALUE}*1.8+32
  • mV → V 转换 → ${VALUE}/1000

在何处输入​

在标签注册/修改表单的**[计算公式]**栏中输入公式。注册后,转换后的值将在下一个采集周期显示在屏幕上。

  • 留空则直接使用原始值。
  • 输入一次后,之后每次采集都会自动应用。

基本用法​

${VALUE} 表示刚从PLC读取的原始值。

想要实现的功能计算公式输入 → 输出
直接使用(留空)100 → 100
放大10倍${VALUE}*105 → 50
缩小为1/10(整数→小数)${VALUE}*0.11638 → 163.8
除以1000(mV → V)${VALUE}/10003300 → 3.3
加法(摄氏度 → 开尔文)${VALUE}+273.1525 → 298.15
减法(零点校正)${VALUE}-1001024 → 924
华氏度转换${VALUE}*1.8+3225 → 77.0
平方${VALUE}*${VALUE} 或 ${VALUE}^25 → 25
平方根sqrt(${VALUE})144 → 12.0
每分钟转数 → Hz${VALUE}/601800 → 30.0

引用其他标签的值​

可以以 ${태그ID} 的形式获取其他标签的最后值。这在将零点值作为单独标签管理,或者单独放置校正系数的模式中很方便。

想要实现的功能计算公式
将其他标签作为零点减去${VALUE}-${TAG_ZERO}
两个标签求和${VALUE}+${TAG_OFFSET}
校正(gain × x + offset)${VALUE}*${TAG_GAIN}+${TAG_OFFSET}

其中 TAG_ZERO、TAG_OFFSET、TAG_GAIN 是其他标签的标签ID。这些标签必须先注册好。

如果引用的标签不存在

如果写成了 ${TAG_ZERO},但该标签从未被采集过,则计算会失败(该标签状态中会显示类似“计算公式变量值不存在”的错误)。网关运行一次后会自动恢复正常,请稍等片刻。


可用函数​

除了算术运算,还可以使用常用的数学函数。

类型表示方法示例
四则运算+、-、*、/${VALUE}+1
幂运算^${VALUE}^2(= 平方)
括号(、)(${VALUE}+10)*2
平方根sqrt(...)sqrt(${VALUE})
立方根cbrt(...)cbrt(${VALUE})
自然对数ln(...)ln(${VALUE})
常用对数(底10)log(...)log(${VALUE})
正弦/余弦/正切(弧度)sin、cos、tansin(${VALUE})
反三角函数asin、acos、atanatan(${VALUE})
双曲函数sinh、cosh、tanhtanh(${VALUE})
常数pi、e${VALUE}*pi/180(角度 → 弧度)

若要将角度(度)输入转换为弧度,请乘以 *pi/180。例如:sin(${VALUE}*pi/180)。


适用的数据类型​

计算公式仅适用于数值型(Float、Double、Integer、Long)标签。

  • String、Boolean 标签会忽略计算公式并直接使用原始值。
  • 如果校正后的结果超出整数范围,请将数据类型改为 Float 或 Double。

容易出错的地方​

错误模式问题原因正确模式
VALUE * 0.1缺少 ${...} 符号${VALUE}*0.1
${VALUE}*0,1使用了逗号(韩文键盘误输入)${VALUE}*0.1(使用小数点)
if(${VALUE}>0, ...)不支持条件语句如果需要有条件逻辑,请在单独系统中处理
${VALUE} & 0xFF不支持位运算改为可通过算术实现的形式

常见问题​

问:如何确认计算公式已应用?​

标签的[当前值]列中显示的值是转换后的值。若要查看原始值,请将同一地址的标签以无计算公式的方式单独注册,然后进行比较。

问:我想同时发送两种单位转换结果(例如摄氏度和华氏度)​

创建两个指向同一PLC地址的标签,一个保持原样,另一个输入类似 ${VALUE}*1.8+32 的转换公式即可。

问:结果输出为 NaN / Infinity​

  • 除以零的情况 → Infinity
  • 负数的平方根 → NaN

PLC原始值的范围可能与预期不符。请先在没有计算公式的情况下确认原始值。

问:需要更复杂的处理(条件分支 / 多变量 / 外部数据)​

仅靠计算公式难以实现。建议将PlantPulse平台的后处理阶段或单独的数据处理工具(如Node-RED)结合使用。请参考应用程序管理页面中的Node-RED部分。

如需完整的函数/变量参考,请参阅高级 — Formula参考页面。