西门子PLC 程序循环结构可以描述需重复执行一定次数的程序片断,即循环体。循环程序设计用的指令有两条:FOR和NEXT。
(1)循环开始
FOR为循环开始指令,见图6-258。用来标记循环体的开始,在梯形图中有3个数据输入端:INDX(当前循环计数)、INTT(循环初值)和FINAL(循环终值)。
图6-258 循环指令
(2)循环结束
NEXT为循环结束指令,用来标记循环体的结束,并且将栈顶置1。该指令无操作数。FOR和NEXT之间的程序部分为循环体,两条指令必须成对使用。例如,设定循环初值INTT为1,终值FINAL为20,使能输入有效时,执行循环体,同时INDX从1开始计数,执行一次循环体,INDX当前计数值加1,直到20次,当前计数值也增到20,此时系统终止循环。
在循环执行的过程中,可以修改循环终值,也可在循环体内部用指令修改终值。使能输入有效时,循环一直执行,直到循环结束。
FOR和NEXT循环体内部可以再含有FOR、NEXT循环体,称为循环嵌套,嵌套层最多为8层。每次使能输入重新有效,指令自动将各参数复位。
指令格式:FOR INDX, INTT, FINAL(循环开始指令),NEXT(循环结束指令)。
例:程序循环举例,见图6-259。
图6-259 程序循环