西门子SCL语言之复查与退出循环介绍

发布时间: 2024-10-11 08:00:52
来源: 电子技术控
1.)是否存在死循环;
2.)CONTINUE:复查循环条件可使用“复查循环条件”指令,可以结束FOR,WHILE或REPEAT循环当前程序运行。
SCL示例
FOR i
:= 1 TO 15 BY 2 DO
IF (i < 5) THEN
CONTINUE;
END_IF;
"DB10".Test[i] := 1;
END_FOR;

干货★★★★★资料

图片

如果满足条件 i < 5,则不执行后续值分配 ("DB10".Test[i] := 1)。运行变量 (i) 以增量“2”递增,然后检查其当前值是否在设定的取值范围内。如果执行变量在取值范围内,则将再次计算 IF 的条件。
如果不满足条件 i < 5,则将执行后续值分配 ("DB10".Test[i] := 1) 并开始一个新循环。在这种情况下,执行变量也会以增量“2”进行递增并接受检查。
3.)EXIT:立即退出循环,可随时取消FOR,WHILE或REPEAT循环执行,而无需考虑是否满足条件。
SCL示例:
FOR i := 15 TO 1 BY -2 DO
IF (i < 5)
THEN EXIT;
END_IF;
"DB10".Test[i] := 1;
END_FOR;

如果满足条件 i < 5,则将取消循环执行。程序将从 END_FOR 后继续执行。
如果不满足条件 i < 5,则将执行后续值分配 ("DB10".Test[i] :=1) 并开始一个新循环。将运行变量 (i) 以 2 进行递减,并进行检查该变量的当前值是否在程序中设定的取值范围之内。如果执行变量 (i) 在取值范围内,则将再次计算 IF 的条件。
我们调用WHILE指令进行循环:

图片


接着我们添加一个循环外的程序看执行结果:

图片


从监控看,它只执行WHILE里的A数组5,而不执行A数组10。
继续添加EXIT 跳出指令,我们看监控效果:

图片


当添加EXIT 跳出指令后,它执行完成WHILE里面后跳到程序外执行A数组1,8,10。
图片
进入大家庭 圈  回复: 交流
我们这就简单的介绍了复查与退出循环在使用中注意的事项,感谢大家的观看!若有更好的建议或意见,欢迎批评指导!

文章来源于: 电子技术控 原文链接

本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。