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

小编 81 0

在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编程(FOR)语句

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

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

FOR是在计数循环中执行指令,完整的语句格式见下图

首先定义一个运行变量,这个变量可以是SINT(占8位)/INT(占16位)/DINT(占32位)/LINT(占64位),定义完之后放在FOR后面。

可能会有看不懂“SINT/INT/DINT/LINT”,这边的“INT”是整型,SINT就是有符号的8位短整型,占8个位,值区间为﹣128~~+127,如果是USINT,那就是无符号的8位短整型,值区间为0~255;INT就是有符号的16位整型,值区间为﹣32768~~+32767,如果是UINT,那就是无符号的16位短整型,值区间为0~65535;DINT就是有符号的32位整型,值区间为﹣2147483647~~+2147483646;如果是UDINT,那就是无符号的32位整型,值区间为0~429467295;LINT就是有符号的64位整型,值区间为﹣9223372036854775808~~+9223372036854775807;如果是ULINT,那就是无符号的64位整型,值区间为0~18446744073709551615。

“TO”两边就是变量的两个点,可以理解为多少到多少之间。在这个“多少”的区间里面。执行“DO”后面的语句。

例程:如果说变量在0到20之间,输出状态为“1”。

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

相关问答

三菱plcST语法基本语句?

关于这个问题,ST语言是三菱PLC(可编程逻辑控制器)中的一种编程语言,用于编写逻辑控制程序。以下是ST语言的基本语句:1.赋值语句:变量:=表达式;例如...

plcif语句用法?

PLC(可编程逻辑控制器)的IF语句用于根据某个条件来执行不同的操作或决策。以下是PLCIF语句的用法:1.单一条件的IF语句:IF[条件]THEN[操作],表示如果...

plc指令讲解?

PLC的指令语句表程序和微机汇编语言程序非常的相似,我们也是以汇编语言的指令和指令系统方式来进行介绍。所谓指令是指对PLC的一种操作命令,告诉PLC怎么做,做...

PLC中语句表有用吗?为什么我觉得用不上?(初学者)?

我只用过西门子大型的语句表,很方便,很多功能用语句表写很方便,也而且很多指令梯形图,流程框图也没有我只用过西门子大型的语句表,很方便,很多功能用语句表写...

plc里a是什么语句?

检测BR位状态。一般用于FB或者FC中。检测BR位状态。一般用于FB或者FC中。

帮忙:有谁知道“波峰焊的PLC控制程序”是用哪种语言编写的?

这个就要看,波峰焊用的是什么PLC了。。。我们公司的波峰焊。大都是用的欧姆龙的。也有施耐德的。。PLC没有什么语言不语言的。。。不像单片机有汇编...

【PLC语句命令字WXORP,MULP,WANDP,DIVP,WOR分别表示什么意思...

[最佳回答]WXORP逻辑字异或,MULP二进乘法,WANDP逻辑字与,DIVP二进制除法,WOR逻辑字或,以上指令脉冲行.

plc中M是什么指令?

PLC中的M指令是“状态指令”,用于检测指定位置上的内存单元是否有特定条件发生。M指令可以作为一个数据检测和逻辑控制语句,这意味着它可以改变PLC的运行流程,...

写到PLC控制器的程序加注释对程序运行有影响?-盖德问答-化工...

好的程序应该加注释的.基本没有影响,因为这是个无执行的语句.

...ldaPLCcontrolsystemmodelisproposedforthefirsttime._作业帮

[回答]本句为定语从句,因为that在从句中做主语;而同位语从句中的that不做成分.作为定语从句看,应当把using改为uses,因为using是非谓语动词,不能充当从句...