说明:
当优化了IF语句,S7-SCL代码变得更为紧凑,这样代码序列的处理就更快。但计算了相同的布尔类型数据。优化后事件仅分配给一个变量,但当对IF语句编程时需要加载另一个跳转和一个常量(TRUE或FALSE)。
下表解释了如何使用布尔表达式代替IF语句,如果在语句部分布尔变量查询只需要“True”或“False”,或“0”或“1”的信息。
No. | 步骤 |
1 | 示例1: 当一个模拟量值(REAL变量)超过限定(此处是100)时设置一个比特位。 函数“IF_Test”包含了查询限定值的IF语句。整个IF语句可用以下语句代替:IF_Test:= (100 < value)。
|
2 | 示例2: 查询在一个WORD变量中指定比特位X是否置位。 这里函数 BitX的IF语句由以下语句代替:BitX:= status = 16#0004。 |
注意事项:
紧凑的语句实际上处理地更快了,但是优化可能使它对读者不够清晰和难于理解。
历史:
FAQ1144899已经合并到当前FAQ,且作为独立的FAQ它已经被删除。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc339632.html