说明:使用"复查循环条件"指令,可以结束 FOR、WHILE 或 REPEAT 循环的当前程序运行 。
执行该指令后,将再次计算继续执行程序循环的条件 。该指令将影响其所在的程序循环 。
文章插图
图16 CONTINUE用在FOR循环
文章插图
图17 CONTINUE用在WHILE循环
文章插图
图18 CONTINUE用在REPEAT循环
示例
文章插图
图19 CONTINUE示例
下表展示了计算结果:
文章插图
如果满足条件 i < 5,则不执行后续值分配 ("DB10".Test[i] := 1) 。运行变量 (i) 以增量"1"递增,然后检查其当前值是否在设定的循环取值范围内 。如果执行变量在循环取值范围内,则将再次计算 IF 的条件 。
如果不满足条件 i < 5,则将执行后续值分配 ("DB10".Test[i] := 1) 并开始一个新循环 。在这种情况下,执行变量也会以增量"1"进行递增并接受检查 。
EXIT:立即退出循环说明:使用"立即退出循环"指令,可以随时取消 FOR、WHILE 或 REPEAT 循环的执行,而无需考虑是否满足条件,并在循环结束(END_FOR、END_WHILE 或 END_REPEAT)后继续执行程序 。
该指令将影响其所在的程序循环 。
文章插图
图20 EXIT语句
示例
文章插图
图21 EXIT示例
下表展示了计算结果:
文章插图
如果满足条件 i > 5,则将取消循环执行 。程序将从 END_FOR 后继续执行 。
如果不满足条件 i <= 5,则将执行后续值分配 ("DB10".Test[i] :=1) 并开始一个新循环 。将运行变量 (i) 以 1 进行递增,并进行检查该变量的当前值是否在程序中设定的循环取值范围之内 。如果执行变量 (i) 在循环取值范围内,则将再次计算 IF 的条件 。
GOTO:跳转说明:使用"跳转"指令,可以从标注为跳转标签的指定点开始继续执行程序 。
跳转标签和"跳转"指令必须在同一个块中 。在一个块中,跳转标签的名称只能指定一次 。每个跳转标签可以是多个跳转指令的目标 。不允许从"外部"跳转到程序循环内,但允许从循环内跳转到"外部" 。
注意:
LAD/FBD语言内的SCL段,不能使用GOTO指令 。
跳转标签遵循以下语法规则:
- 字母(a 至 z,A 至 Z)
- 字母和数字组合;请必须字母为开始
GOTO <跳转标签>;
...
<跳转标签>: <语句>
示例
文章插图
图22 GOTO示例
下表展示了每个操作数数值对目标变量的变化影响:
文章插图
根据"Tag_Value"操作数的值,程序将从对应的跳转标签标识点开始继续执行 。例如,如果"Tag_Value"操作数的值为 2,则程序将从跳转标签"MyLABEL2"开始继续执行 。在这种情况下,将跳过"MyLABEL1"跳转标签所标识的程序行 。
RETURN:退出块说明:使用"退出块"指令,可以终止当前处理块中的程序执行,并在调用块中继续执行 。
如果该指令出现在块结尾处,则可以跳过 。
文章插图
图23 RETURN语句
示例
文章插图
图24 RETURN示例
如果"Tag_Error"操作数的信号状态不为 0,则将终止当前处理块中的程序执行 。
【收藏了 西门子SCL语言编程,常用指令介绍】
推荐阅读
- 中国北斗与中国5G你了解多少?全面解析这到底有多牛
- 苹果华为“带火”了这个激光器
- iOS 14支持谷歌VP9编码:能在iPhone上看4K YouTube视频了
- iphone可以“滚动”截屏了
- iPhone手机这样设置,来电话时就会显示对方照片,太实用了
- “重启手机”和“关机再开机”没区别?很多人可能都错了,望周知
- 周公解梦梦见儿子掉粪坑里 梦见儿子掉粪坑里了是什么意思
- 微信可以发“绿包”了,比红包更厉害
- 梦见老公头发白了是怎么回事 梦见丈夫头发变白
- 梦见自己快要死了又没死 梦到人要死了又没死