线下实训
HOME
线下实训
正文内容
plc编程语句while 在PLC编程中,循环语句FOR和WHILE怎么选?
发布时间 : 2025-04-07
作者 : 小编
访问数量 : 23
扫码分享至微信

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

迭代语句主要用于重复执行的程序,在 CoDeSys 中,常见的迭代语句有 FOR,REPEAT 及WHILE 语句。

FOR 循环

FOR 循环语句用于计算一个初始化序列,当某个条件为 TRUE 时,重复执行嵌套语句并计算一个迭代表达式序列,如果为 FALSE,则终止循环,具体格式如下。

FOR <变量> := <初始值> TO <目标值> {BY <步长>} DO

<语句内容>

END_FOR;

FOR 循环的执行顺序如下:

 计算<变量>是否在<初始值>与<目标值>的范围内;

 当<变量>小于<目标值>,执行<语句内容>;

 当<变量>大于<目标值>,则不会执行<语句内容>;

 当每次执行<语句内容>时,<变量>总是按照指定的步长增加其值。步长可以是任意的整数值。

如果不指定步长,则其缺省值是 1。当<变量>大于<目标值>时,退出循环。

示例: 使用 FOR 循环实现 2 的五次方计算。

假设 Var1 的初始值是 1,那么循环结束后,Var1的值的为 32。

WHILE 循环

WHILE 循环与 FOR 循环使用方法类似。二者的不同之处是,WHILE 循环的结束条件可以是任意的逻辑表达式。即可以指定一个条件,当满足该条件时,执行循环,具体格式如下。

WHILE <布尔表达式>

<语句内容> ;

END_WHILE;

WHILE 循环的执行顺序如下:

 计算<布尔表达式>的返回值。

 当<布尔表达式>的值为 TRUE 时,重复执行<语句内容>。

 当<布尔表达式>初始值为 FALSE,那么指令<语句内容>不会被执行,跳转至 WHILE 语句的结尾。

注意:

如果<布尔表达式>的值始终为 TRUE,那么将会产生死循环,应当避免死循环的产生。可以通过改变循环指令的条件来避免死循环的产生。例如:利用可增减的计数器避免死循环的产生。

示例: 只要计数器不为零,则始终执行循环体内的程序。

在一定的意义上,WHILE 循环比 FOR 循环的功能更加强大,这是因为在执行循环之前,

WHILE 循环不需要知道循环的次数。因此,如果清楚地知道了循环的次数,那么 FOR 循环更好,因为 FOR 循环可以避免产生死循环。

转发是最大的鼓励!谢谢您的支持!

小贴士

PLC专属资料: 含有从入门到高级所有PLC学习资料(三菱/西门子/欧姆龙) ,电气经典18本大全书,历年电气考试真题、电气必备实训仿真软件、电气自动化行业各类型技术手册!

免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!

如何获取更多 电气热门资料?

操作指引如下!

西门子1200PLC进阶篇—SCL编程(WHILE)语句

西门子1200PLC进阶篇——SCL编程(WHILE)语句

上一篇我们一起学习了SCL编程中EOR语句的应用,今天我们一起来学习一下SCL编程中WHILE语句。

“WHILE...DO...”指满足条件时重复执行程序循环,直至条件不满足时结束。完整的语句格式见下图

首先要设立一个条件,这个条件的数据类型需要是BOOL的一个表达式,每次执行循环前都要进行求值,判断这个表达式是否满足,如果表达式满足,就循环执行“DO”后面的所有语句,如果表达式不满足,就直接“END_WHILE”跳出这个“WHILE”循环,执行循环外的语句。

例程:如果“启动”状态为“1”,则“输出”状态为“1”。

有一个点要注意:“WHILE...DO...”和“IF...THEN...”并不一样,两个没有共同点,“WHILE...DO,,,”是循环指令,“IF...THEN...”是一个条件判断执行语句,并不是一样的指令。在所有的编程中都一样,只要语句正确,功能实现,就是好程序。

以上是西门子S7-1200PLC结构化编程中的FOR指令的应用,如有不对的地方,还请各位批评指正。

相关问答

break语句只能用于for循环语句中?

break语句不单单只能用于for循环语句中,它可以用在任何需要跳出当前循环的判断流程中。break语句的意思是,终止当前循环,跳出循环外执行循环后续指令,这个循...

if语句怎么跳出循环?

首先声明,if语句不是循环语句,是一个判断语句。他通常可以应用于循环语句中,这种情况一般发生在plc或者dcs的控制器运算中。因为这两者的控制器,都是周期性...

【英语翻译本文针对上述问题采用西门子S7-200系列PLC作为中...

[最佳回答]ThisarticleinviewoftheabovequestionsbySiemenss7-200PLCasthecentralcontroller,theSie...

plc步进指令怎么使得某个状态一直激活?

在PLC编程中,要使某个状态一直激活,可以使用一个循环指令来实现。首先,设置一个条件使得该状态被激活,然后在循环指令中使这个条件一直保持激活状态。例如,...

data和scl的区别?

Data和SCL代表着两个不同的概念。1.Data(数据):Data是指一组未经加工或处理的原始信息。它可以是数字、文本、图像、音频、视频等形式的信息,没有被组织、解...

求强人翻译英语,给200分.-珲61的回答-懂得

去网上下一个翻译器不就好了。。。1Summary1.1INTRODUCTIONWiththeconstantdevelopmentofChina'seconomy,ahighdegreeof...

西门子PLC与三菱PLC有什么区别?

虽然西门子牌子响亮,但是200系列的PLC早期是TI公司的产品,300这些早期也是惠朋(VIPA)代工的,所以两套编程系统以往是不通用的(现在不知道有没有统一起来了)...学...

求强人翻译英语,给200分.-136****0931的回答-懂得

WiththeconstantdevelopmentofChina'seconomy,ahighdegreeofinformation-basedsociety,thenewhigh-tech...

有没有电气自动化类的英语翻译,谢谢3000字左..._职称英语考...

IsthereanEnglishtranslationforelectricalautomation?Thankyou,approximately3000words.Elect...

{【人事】广州港集团同时任命董事长、总经理_李益波-航运在线

WhileTravisKalanick,Uber’schiefexecutive,hadtargetedChinaformajorexpansion,thecompanys...

 史立军  穆勒电气 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部