前面也已经学习了好些指令了,现在还剩下程序控制指令和表指令没有学习,那么今天就学习一下程序控制指令。程序控制指令有FOR-NEXT循环指令、跳转指令JMP和LBL、顺序控制指令SCR、SCRT和SCRE、子程序返回指令RET、程序结束指令END、转到STOP模式的STOP指令、看门狗复位指令WDR和诊断LED指令DIAG_LED。
我们先看一下FOR-NEXT循环指令,FOR指令必须指定当前循环计数INDX、起始值INIT和结束值FINAL,NEXT指令标记FOR循环的结束。我们要注意的是每条FOR指令都必须对应一条NEXT指令,而循环执行的程序就在FOR-NEXT指令之间的,而且循环是可以嵌套的,它最多可以嵌套8层。
除此之外,我们要注意FOR指令一般用沿触发,每次触发,INDX会赋以INIT的值。假如INIT为1,FINAL为10,那么每执行一次循环体内的程序,INDX值递增加1,直到大于FINAL值,退出循环。
下面再学习一下跳转指令,跳转指令JMP可以使程序从一个地方跳到另外一个地方去执行,LBL指令标记的就是跳转的目的地。对于跳转指令我们要注意的是可以在主程序、子程序或中断例行程序中使用跳转指令,但是不能从主程序跳到子程序或中断程序中去的,跳转必须是跳转到相同的代码段中的。
西门子PLC的JMP和LBL指令用法:
循环指令和跳转指令在我们编程过程中,有时是会要用到的,所以我们要掌握一下的。那么今天就先学习这两个指令,先消化好再来学习程序控制指令剩下的其他指令。