0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PLC编程中循环语句FOR和WHILE如何选择

autozhineng 来源:PLC与自控设备 2023-01-30 17:45 次阅读

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

FOR 循环

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

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

<语句内容>

END_FOR;

FOR 循环的执行顺序如下:

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

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

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

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

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

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

45092f2a-980d-11ed-bfe3-dac502259ad0.jpg

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

WHILE 循环

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

WHILE <布尔表达式>

<语句内容> ;

END_WHILE;

WHILE 循环的执行顺序如下:

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

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

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

451a8af4-980d-11ed-bfe3-dac502259ad0.jpg

注意:

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

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

4528cae2-980d-11ed-bfe3-dac502259ad0.jpg

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

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • for
    for
    +关注

    关注

    0

    文章

    44

    浏览量

    15811
  • CoDeSys
    +关注

    关注

    10

    文章

    39

    浏览量

    18650

原文标题:PLC编程中循环语句FOR和WHILE该怎么选呢?

文章出处:【微信号:PLC与自控设备,微信公众号:PLC与自控设备】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    深入理解C语言:循环语句的应用与优化技巧

    在程序设计,我们常常需要重复执行某一段代码。为了提高效率和简化代码,循环语句应运而生。C语言作为一门经典的编程语言,提供了多种循环控制结构
    的头像 发表于 12-07 01:11 109次阅读
    深入理解C语言:<b class='flag-5'>循环</b><b class='flag-5'>语句</b>的应用与优化技巧

    西门子plc200编程实例详解

    S7-200系列包括多种不同型号的CPU模块和扩展模块,可以根据具体的应用需求进行选择和配置。其主要特点包括:高性能的CPU、丰富的指令集、强大的网络通信功能以及易于使用的编程软件等。 在编程方面,西门子
    的头像 发表于 10-22 14:38 631次阅读

    plc编程语言编程相关技巧有哪些

    Function Chart, SFC)等。这些编程语言各有特点,适用于不同的应用场景。 梯形图(LD) : 梯形图是最常用的PLC编程语言,它类似于电气控制线路的继电器逻辑电路。
    的头像 发表于 10-21 16:56 321次阅读

    PLC编程方式及编程语言

    在工业自动化领域,PLC(Programmable Logic Controller,可编程逻辑控制器)因其强大的控制功能和灵活的编程方式而得到了广泛应用。PLC
    的头像 发表于 06-27 14:08 709次阅读

    PLC常用编程语言有哪些

    在工业自动化领域,PLC(Programmable Logic Controller,可编程逻辑控制器)作为一种核心控制设备,其编程语言的选择对于控制系统的设计、开发和维护具有重要影响
    的头像 发表于 06-14 16:58 1418次阅读

    聊聊MCU死循环,用for(;;)还是while(1)?

    首先,问大家一个问题:你们写单片机程序【死循环】时,喜欢用for(;;)还是while(1)?快来为你喜欢用的【死循环】打call,评论区等你哦~一位工程师发现,国外工程师在给demo在做死
    的头像 发表于 04-29 08:10 1340次阅读
    聊聊MCU死<b class='flag-5'>循环</b>,用for(;;)还是<b class='flag-5'>while</b>(1)?

    stm32g030优化等级高于optimize for debug时,main函数里的while()循环出现if()内语句不能正常执行的原因?

    芯片使用G030,优化等级高于optimize for debug时,就会出现 main函数里的while()循环出现if()内语句不能正常执行的问题
    发表于 03-26 06:24

    什么是PLC循环移位指令 PLC循环移位的特点

    PLC循环移位指令包括循环左移指令和循环右移指令。在循环移位过程,移出的位并不会丢失,而是会放
    的头像 发表于 03-07 16:57 2117次阅读
    什么是<b class='flag-5'>PLC</b><b class='flag-5'>循环</b>移位指令 <b class='flag-5'>PLC</b><b class='flag-5'>循环</b>移位的特点

    verilogrepeat必须用begin和end吗

    在Verilog,repeat语句不需要使用begin和end块。repeat语句是一种循环控制语句,允许重复执行一个代码块指定的次数。它
    的头像 发表于 02-23 10:14 1189次阅读

    assign语句和always语句的用法

    的用法和功能。 一、Assign语句 Assign语句的定义和语法 Assign语句用于在HDL连续赋值,它允许在设计为信号或变量分配一
    的头像 发表于 02-22 16:24 2532次阅读

    arduinowhile循环怎么跳出

    执行某段代码的情况。然而,如何在合适的时机跳出 while 循环是一个需要注意的问题。本文将详细介绍 Arduino while 循环
    的头像 发表于 02-14 16:22 2562次阅读

    plc编程语言与c语言的联系 c语言和PLC有什么区别

    语言,主要用于开发各种应用程序。尽管PLC编程语言和C语言有一些相似之处,但它们之间也存在一些明显的区别。 首先,PLC编程语言和C语言都是基于结构化
    的头像 发表于 02-05 14:21 4096次阅读

    PLC编程循环指令一个出口

    比如虽然现在PORTAL 可以调试使用断点,可以单步调试,但这个时候OB1循环也被迫中断了,程序的基本控制功能也都停止了。所以PLC工程师通常是不做这种单步调试的。
    的头像 发表于 01-11 15:34 465次阅读

    单片机if是什么语句

    单片机的if语句是一种条件语句,用于根据不同的条件执行不同的代码块。在程序执行过程,条件语句用来决定是否执行特定的代码段。在单片机
    的头像 发表于 01-05 14:04 1760次阅读

    单片机for语句的运用

    单片机的for语句是一种常见的循环控制结构,用于重复执行一段代码块,可以简化程序的编写和减少代码量。本文将详细介绍单片机for语句的运用
    的头像 发表于 01-05 14:02 2403次阅读