查看: 10630|回复: 22
收起左侧

[教程经验] ST编程结构语句-循环语句

邀请回答

马上注册,享受更多特权

您需要 登录 才可以下载或查看,没有帐号?立即注册   

x
本帖最后由 fengchuiguo 于 2020-2-10 13:09 编辑


本节微课将为大家讲解ST编程结构语句中循环语句,主要包括:
1.介绍FOR语句用法;
2.介绍WHILE语句用法;
3.介绍REPEAT语句用;

1. FOR语句
1.1FOR语句语法

关键字FOR,通过 FOR 循环,可以编写重复处理逻辑。

语法:

注:当Step size为正数时,在执行 Instructions 之前首先要检查,如果 INIT_VALUE 大于  END_VALUE,instructions 不会被执行;

当Step size 为负数时,在执行 Instructions 之前首先要检查,如果 INIT_VALUE 小于 END_VALUE,instructions不会被执行;
FOR语句执行逻辑如下:

需要注意的是:
(1)FOR语句应用于循环次数已知循环场景;
(2)FOR循环次数过大可能导致设备CPU占有率高;

1.2 FOR语句应用

打开InoProShop后台,编写FOR实例

计数器变量从1到5,重复执行五次var3:=var3+2;假设var3初值为1,循环执行结束,var3值应该为11;
程序仿真运行,我们发现变量var3一直在做自加,这是哪里出了问题呢?
原来是程序运行中,FOR循环一直在执行,一个任务周期内执行一次FOR循环,按照实例,一个任务周期中执行五次var3:=var3+2;所以我们看到的var3一直在自加;

2. WHILE语句
1.1WHILE语句语法

关键字WHILE,WHILE 和 FOR 一样,可以处理循环逻辑,但和 FOR 循环不同是WHILE循环条件为任意布尔表达式 ,循环次数不确定。

语法:

WHILE语句执行逻辑如下:

需要注意的是,若Boolean_expression  永远不会为 FALSE, 则Instructions 重复执行不停,这叫做死循环,编程时一定确保不要出现死循环!

2.2 WHILE语句应用

打开InoProShop后台,编写WHILE实例

假设var5初值为1,var4初值为10,程序运行,执行WHILE循环后,VAR5值为16。
即程序运行,第一个任务周期WHILE循环内instruction执行5次,退出循环,之后每个任务周期WHILE循环执行条件不满足;

3. REPEAT语句
3.1REPEAT语句语法

关键字REPEAT,REPEAT 循环条件是在循环指令执行后才检查的,即不管循环条件取值如何,循环至少执行一次;

语法:

REPEAT语句执行逻辑如下:

同样,若Boolean_expression 永远不会为 TRUE, Instructions 重复执行不停,出现死循环,编程时一定确保不要出现死循环!

3.2 REPEAT语句应用

打开InoProShop后台,编写REPEAT实例

假设var6初值为2,一个任务周期REPEAT循环执行后,var6值为11
即程序运行,第一个任务周期REPEAT循环内instruction执行三次,退出循环,之后每个任务周期REPEAT循环内instruction执行一次,退出循环;


点评

好久之前的帖子都被翻出来了,现在没人发帖了?  发表于 2023-6-17 09:08
简单易懂,不错  发表于 2022-4-20 16:24




上一篇:中型PLC软件入门教程-快速入门篇(1)
下一篇:CNC

已有 1 人打赏作者

明辉 赏了楼主1水滴
回复 邀请回答送花

使用道具 举报

12345 2020-2-20 21:16:04 | 显示全部楼层
    弄懂这些可以简化程序量,赞
回复 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册   

本版积分规则

有技术问题,就上汇川技术社区

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

全国服务热线:8:30-17:30

4000-300124

苏州地址:江苏省苏州市吴中区越溪友翔路16号

深圳地址:深圳市龙华新区观澜街道高新技术产业园汇川技术总部大厦

Copyright © 2003-2100 汇川技术 Powered by Discuz! X3.4 ( 苏ICP备12002088号 )
快速回复 返回列表 返回顶部