程序控制指令中的‘循环指令’

循环指令有什么特点?

循环指令,为解决重复执行相同功能的程序段提供了极大的方便,并且优化了程序结构。

接下来,举个例子来看一下循环指令怎么应用……

梯形图:

程序控制指令中的‘循环指令’

程序释义:

当I1.0接通时,外层循环1执行50次;

在执行外层循环1的过程中,每当I1.1接通时,内层循环2执行5次。

使用注意事项:

在循环指令中FOR和NEXT指令必须成对使用,FOR和NEXT可以如上图所示那样嵌套,但是嵌套最多为8层,而且各个嵌套之间不可有交叉现象,循环指令执行完毕后在下一次启用时指令将自动复位各参数,如果在循环块中对INDX计数值进行复值将会影响循环体执行的次数,如果循环指令的初值大于终值时,循环体不被执行。

很多人可能会问,那循环指令每个输入的端口代表什么意思呢?

下面我们来详细分析一下循环指令:

程序控制指令中的‘循环指令’

循环指令有两条:循环开始指令和循环结束指令,其梯形图和语句表如上图所示。

FOR和NEXT为标识符,

EN为循环允许信号输入端(数据类型为BOOL型)

ENO为功能框允许输出端(数据类型为BOOL型)

INDX为当前值输入端(数据类型为INT型)

INIT为循环初值输入端(数据类型为INT型)

FINAL为保留循环终值输入端(数据类型为INT型)。

INDX的寻址范围为vW、IW、QW、MW、SW、SMW、LW、T、C、AC、*VD、*LD和*AC。INIT、FINAL的寻址范围为VW、IW、QW、MW、SW、SMW、T、C、AC、LW、AIW、常数、*VD、*LD和*AC。

在循环指令中,循环开始指令(FOR)用来标记循环体的开始,循环结束指令(NEXT)用来标记循环体的结束,FOR和NEXT之间的程序段称为循环体。当程序运行到循环指令时,如果循环允许信号EN端为1时,PLC就会自动的把循环初值输入端INIT的值复制给当前计数输入端INDX,用INDX计数值与循环终值输入端FINAL的值进行比较,如果不大于终值,就执行循环体,每执行一次循环体,INDX计数值增1,并且将其结果同循环终值作比较,如果大于终值,则终止循环。

程序控制指令中的‘循环指令’


分享到:


相關文章: