西门子博途软件SCL指令之程序控制指令详解(下)
西门子博途软件SCL指令的程序控制指令有很多个,如下图,本次详细介绍这些SCL语言指令的用法:
9.在计数循环中执行
说明:
使用“在计数循环中执行”指令,重复执行程序循环,直至运行变量不在指定的取值范围内。
也可以嵌套程序循环。在程序循环内,可以编写包含其它运行变量的其它程序循环。
参数
下表列出了该指令的参数:
参数 | 数据类型 | 存储区 | 说明 |
循环计数 | SINT、INT、DINT、USINT、UINT、UDINT | I、Q、M、D、L | 执行循环时会计算其值的操作数。执行变量的数据类型将确定其它参数的数据类型。 |
循环起始值 | SINT, INT, DINT、USINT、UINT、UDINT | I、Q、M、D、L | 表达式,在执行变量执行循环时,将分配表达式的值。 |
循环结束值 | SINT, INT, DINT、USINT、UINT、UDINT | I、Q、M、D、L | 表达式,在运行程序后一次循环时会定义表达式的值。在每个循环后都会检查运行变量的值: 未达到结束值: 达到结束值: 超出结束值: 执行该指令期间,不允许更改结束值。 |
循环内容 | - | 只有运行变量的值在取值范围内,每次循环都就会执行的指令。取值范围由起始值和结束值定义。 |
10.在按步宽计算循环中执行
这条指令与9中介绍的一样,区别在于,9中循环增量默认为1,可以省略不写,循环增量即是步宽,每次循环增加的步。
11.满足条件时运行
说明
使用“满足条件时执行”指令可以重复执行程序循环,直至不满足执行条件为止。该条件是结果为布尔值(TRUE 或 FALSE)的表达式。可以将逻辑表达式或比较表达式作为条件。
执行该指令时,将对指定的表达式进行运算。如果表达式的值为 TRUE,则表示满足该条件;如果其值为 FALSE,则表示不满足该条件。
也可以嵌套程序循环。在程序循环内,可以编写包含其它运行变量的其它程序循环。
12.不满足条件时运行
说明
使用“不满足条件时执行”指令可以重复执行程序循环,直至不满足执行条件为止。该条件是结果为布尔值(TRUE 或 FALSE)的表达式。可以将逻辑表达式或比较表达式作为条件。
即使满足终止条件,此指令也只执行一次。
也可以嵌套程序循环。在程序循环内,可以编写包含其它运行变量的其它程序循环。
13.核对循环条件
说明
使用“复查循环条件”指令,可以结束 FOR、WHILE 或 REPEAT 循环的当前程序运行。
执行该指令后,将再次计算继续执行程序循环的条件。该指令将影响其所在的程序循环。
14.立即退出循环
说明
使用“立即退出循环”指令,可以随时取消 FOR、WHILE 或 REPEAT 循环的执行,而无需考虑是否满足条件。在循环结束(END_FOR、END_WHILE 或 END_REPEAT)后继续执行程序。