如何用布尔型变量优化IF语句来缩短循环时间?

说明:
当优化了IF语句,S7-SCL代码变得更为紧凑,这样代码序列的处理就更快。但计算了相同的布尔类型数据。优化后事件仅分配给一个变量,但当对IF语句编程时需要加载另一个跳转和一个常量(TRUE或FALSE)。

下表解释了如何使用布尔表达式代替IF语句,如果在语句部分布尔变量查询只需要“True”或“False”,或“0”或“1”的信息。

No. 步骤
1 示例1:
当一个模拟量值(REAL变量)超过限定(此处是100)时设置一个比特位。
函数“IF_Test”包含了查询限定值的IF语句。整个IF语句可用以下语句代替:IF_Test:= (100 < value)

如何用布尔型变量优化IF语句来缩短循环时间?
图 01

2示例2:
查询在一个WORD变量中指定比特位X是否置位。
这里函数 BitX的IF语句由以下语句代替:BitX:= status = 16#0004。

如何用布尔型变量优化IF语句来缩短循环时间?
图 02

注意事项:
紧凑的语句实际上处理地更快了,但是优化可能使它对读者不够清晰和难于理解。

历史:
FAQ1144899已经合并到当前FAQ,且作为独立的FAQ它已经被删除。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc339632.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论