马上注册,享受更多特权
您需要 登录 才可以下载或查看,没有帐号?立即注册
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执行一次,退出循环;
|