要开始了解V2适配器脚本的概述,请访问本知识库文章.
表达式是IO适配器脚本中几个不同部分支持的一种值类型。表达式允许使用其他的数学或逻辑公式来计算值标识符.标识符变量或数据源在适配器脚本中定义。
- 变量来自于变量部分适配器的脚本.变量是应用于其他变量或数据源的操作的命名列表。有关更多信息,请参见:IO配置—变量.
- 数据源在特定于特定集成类型的其他部分中定义。数据来源的一些例子有:
- 针用于Labjack U3/T4/T7集成
- 寄存器和线圈Modbus-TCP集成
- 标签用于以太网/IP和OPC-UA集成
- 声明的钥匙用于MTConnect和MTConnect适配器集成
- 在变量定义中使用的一些表达式还支持特殊的“这“标识符。的这标识符表示变量操作列表中前一步的结果。
下面是一些示例表达式,其中突出显示了变量或数据源:
- 把温度从C转换到F
(州中* 9 / 5) + 32
- 检查是否有一个正在运行
spindle-1或spindle-2
- 检查一个引脚是否在一个特定的范围内
AIN0> 1.2和AIN0< 3.4
- 检查执行键是否被设置为“STOPPED”
执行= =“停止”
- 使计数器在数到10后复位
这> = 10
更新触发器
在表达式中,变量和数据源的处理方式相同。当表达式中引用的任何变量或数据源更新时,将立即重新计算整个表达式。这将导致在使用表达式的地方发生级联更新。
例如,如果在变量定义的中间使用了一个表达式,那么表达式更新将导致使用它接收到的最后一个数据重新执行整个变量的操作列表。如果这导致变量的值发生变化,那么引用该变量的任何其他表达式也将重新计算。避免通过表达式创建循环更新循环。
表达式也可以出现在数据项和条件定义,负责将数据输出到MachineMetrics云。如果表达式更新更改了数据项或条件的值,则更新将立即发送出去。
运营商和功能
表达式支持以下操作符:
- 算术:
+,-,*,/,%(模量),^(力量)
- 布尔:
和,或,不
- 位:
&,|,~,^ |,<<,>>,>>>
- 关系:
>,<,>=,< =,==,! =
- 条件表达式:
(声明)?(是的):(没有)
表达式支持用括号对语句进行分组。括号可以嵌套任意深度,对于更复杂的逻辑或强制操作顺序非常有用。
例子:
(州中* 9 / 5) + 32
AIN0> 1.2和AIN0< 3.4
hv-relay-on?hv-analog: (lv-analog* 10)
算术函数
表达式支持许多标准算术函数:
abs (x)
:计算一个数的绝对值装天花板(x)
:整值到下一个整数地板(x)
:将一个值舍入到下一个整数日志(x,基地)
:计算值的对数轮(x, n)
:四舍五入到最近的整数或小数点后n位sqrt (x)
:计算一个值的平方根
例子:
楼(AIN0)
轮(abs (主轴转速))
统计功能
表达式支持几种统计函数。这些函数可以使用任意数量的参数,包括变量、数据源或常量。
马克斯(a, b,…)
:计算传递值的最大值意思是(a, b,…)
:计算传递值的平均值中位数(a, b,…)
:计算传递值的中值分钟(a, b,…)
:计算传递值的最小值模式(a, b,…)
:计算通过的值的模式刺激(a, b,…)
:计算传递值的乘积性病(a, b,…)
:计算通过值的标准差总和(a, b,…)
:计算传递值的和方差(a, b,…)
:计算传递值的方差
例子:
max (spindle-1,spindle-2,spindle-3) > 6000
字符串函数
表达式支持一些用于处理字符串值的函数。
startsWith (x,术语)
:检查字符串x是否以传递的项开始。是区分大小写的匹配。endsWith (x,术语)
:检查字符串x是否以传递的项结束。是区分大小写的匹配。包含(x,术语)
:检查字符串x是否在任何地方包含传递的项。是区分大小写的匹配。
例子:
startsWith (味精,“前女友”)
endsWith (味精,“前女友”)
包含(味精, '错误')
三角函数
表达式支持几个三角函数。
这些“可信赖医疗组织”(x)
:计算一个值的反余弦值acot (x)
:计算一个值的反余切正式启动(x)
:计算一个值的倒数余割asec (x)
:计算一个值的逆割线正如(x)
:计算一个值的反正弦值(x)每股
:计算一个值的逆切线cos (x)
:计算一个值的余弦值床(x)
:计算一个值的余切csc (x)
:计算一个值的余割美国证券交易委员会(x)
:计算一个值的正割sin (x)
:计算一个值的正弦值谭(x)
:计算一个值的正切
效用函数
这些杂项函数支持表达式中的其他有用功能。
标志(x,指数)
:从位标志值中读取一个位为真或假。索引是基于0的。- #下面几行是等价的
标志(register703)
(register70& (1 < <指数)) ! = 0
评论
0评论
请登录留下评论。