电工学习网

 找回密码
 立即注册
查看: 2560|回复: 0
打印 上一主题 下一主题

PLC编程循环语句FOR和WHILE怎么选?

[复制链接]
跳转到指定楼层
楼主
发表于 2021-3-11 07:38:58 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
迭代语句主要用于重复执行的程序,在 CoDeSys 中,常见的迭代语句有 FOR,REPEAT 及WHILE 语句。
FOR 循环
FOR 循环语句用于计算一个初始化序列,当某个条件为 TRUE 时,重复执行嵌套语句并计算一个迭代表达式序列,如果为 FALSE,则终止循环,具体格式如下。
FOR <变量> := <初始值> TO <目标值> {BY <步长>} DO
<语句内容>
END_FOR;
FOR 循环的执行顺序如下:
 计算<变量>是否在<初始值>与<目标值>的范围内;
 当<变量>小于<目标值>,执行<语句内容>;
 当<变量>大于<目标值>,则不会执行<语句内容>;
 当每次执行<语句内容>时,<变量>总是按照指定的步长增加其值。步长可以是任意的整数值。
如果不指定步长,则其缺省值是 1。当<变量>大于<目标值>时,退出循环。
示例:使用 FOR 循环实现 2 的五次方计算。
PLC编程循环语句FOR和WHILE怎么选?
假设 Var1 的初始值是 1,那么循环结束后,Var1的值的为 32。
WHILE 循环
WHILE 循环与 FOR 循环使用方法类似。二者的不同之处是,WHILE 循环的结束条件可以是任意的逻辑表达式。即可以指定一个条件,当满足该条件时,执行循环,具体格式如下。
WHILE <布尔表达式>
<语句内容> ;
END_WHILE;
WHILE 循环的执行顺序如下:
 计算<布尔表达式>的返回值。
 当<布尔表达式>的值为 TRUE 时,重复执行<语句内容>。
 当<布尔表达式>初始值为 FALSE,那么指令<语句内容>不会被执行,跳转至 WHILE 语句的结尾。
PLC编程循环语句FOR和WHILE怎么选?
注意:
如果<布尔表达式>的值始终为 TRUE,那么将会产生死循环,应当避免死循环的产生。可以通过改变循环指令的条件来避免死循环的产生。例如:利用可增减的计数器避免死循环的产生。
示例:只要计数器不为零,则始终执行循环体内的程序。
PLC编程循环语句FOR和WHILE怎么选?
在一定的意义上,WHILE 循环比 FOR 循环的功能更加强大,这是因为在执行循环之前,
WHILE 循环不需要知道循环的次数。因此,如果清楚地知道了循环的次数,那么 FOR 循环更好,因为 FOR 循环可以避免产生死循环。

回复

使用道具 举报

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

本版积分规则

电工学习网 ( )

GMT+8, 2024-4-27 19:37

Powered by © 2011-2022 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

快速回复 返回顶部 返回列表