收藏了 西门子SCL语言编程,常用指令介绍( 二 )


说明:使用"在计数循环中执行"指令,重复执行程序循环,直至运行变量不在指定的取值范围内 。
也可以嵌套程序循环 。在程序循环内,可以编写包含其它运行变量的其它程序循环 。
通过指令"复查循环条件"(Continue),可以终止当前正在运行的程序循环 。通过指令"立即退出循环"(Exit)终止整个循环的执行 。
注意:
有关运行次数和运行变量的信息:
程序运行时无法更改运行次数 。出于性能原因,应在块接口的"Temp"部分中声明运行变量 。在循环中,该运行变量无法更改 。
按如下方式声明此指令:
FOR <运行变量> := <起始值> TO <结束值> BY <增量> DO
<语句>;
END_FOR;
如果增量为1,可以简写为:
FOR <运行变量> := <起始值> TO <结束值> DO
<语句>;
END_FOR;

收藏了 西门子SCL语言编程,常用指令介绍

文章插图
图10 FOR语句
下表列出了该指令的参数:
收藏了 西门子SCL语言编程,常用指令介绍

文章插图
 
*TIA PORTAL V16开始支持无符号整数类型的变量
示例
收藏了 西门子SCL语言编程,常用指令介绍

文章插图
图11 FOR示例
Tag_Value 操作数乘以b_array 数组变量的元素 (2, 4, 6, 8) 。并将计算结果读入到a_array 数组变量的元素 (2, 4, 6, 8) 中 。
下表展示了给定 Tag_Value 与 b_array[i] 的值得到 a_array[i] 的结果:
收藏了 西门子SCL语言编程,常用指令介绍

文章插图
 
WHILE:满足条件时执行
说明:使用"满足条件时执行"指令可以重复执行程序循环,直至不满足执行条件为止 。该条件是结果为布尔值(True 或 False)的表达式 。可以将逻辑表达式或比较表达式作为条件 。
执行该指令时,将对指定的表达式进行运算 。如果表达式的值为 True,则表示满足该条件;如果其值为 False,则表示不满足该条件 。
也可以嵌套程序循环 。在程序循环内,可以编写包含其它运行变量的其它程序循环 。
通过指令"复查循环条件"(Continue),可以终止当前连续运行的程序循环 。通过指令"立即退出循环"(Exit)终止整个循环的执行 。
可按如下方式声明此指令:
WHILE <条件>
DO <语句>;
END_WHILE;
收藏了 西门子SCL语言编程,常用指令介绍

文章插图
图12 WHILE语句
参数
下表列出了该指令的参数:
收藏了 西门子SCL语言编程,常用指令介绍

文章插图
 
示例
收藏了 西门子SCL语言编程,常用指令介绍

文章插图
图13 WHILE示例
下表展示了循环初始和循环结束时变量值的变化
收藏了 西门子SCL语言编程,常用指令介绍

文章插图
 
REPEAT:不满足条件时执行
说明:使用"不满足条件时执行"指令可以重复执行程序循环,直至不满足执行条件为止 。该条件是结果为布尔值(True 或 False)的表达式 。可以将逻辑表达式或比较表达式作为条件 。
执行该指令时,将对指定的表达式进行运算 。如果表达式的值为 True,则表示满足该条件;如果其值为 False,则表示不满足该条件 。
即使满足终止条件,至少也会执行一次循环内的语句 。
也可以嵌套程序循环 。在程序循环内,可以编写包含其它运行变量的其它程序循环 。
通过指令"复查循环条件"(Continue),可以终止当前连续运行的程序循环 。通过指令"立即退出循环"(Exit)终止整个循环的执行 。
可按如下方式声明此指令:
REPEAT <语句>;
UNTIL <条件>
END_REPEAT;
收藏了 西门子SCL语言编程,常用指令介绍

文章插图
图14 REPEAT语句
参数
下表列出了该指令的参数:
收藏了 西门子SCL语言编程,常用指令介绍

文章插图
 
示例
收藏了 西门子SCL语言编程,常用指令介绍

文章插图
图15 REPEAT示例
下表展示了循环初始和循环结束时变量值的变化
收藏了 西门子SCL语言编程,常用指令介绍

文章插图
 
CONTINUE:复查循环条件


推荐阅读