S7 300/400循环指令

2017-06-05 69 0

    如果需要重复执行若干次同样的任务,可以使用循环指令。循环指令LOOP<jump label>用累加器的低字作循环计数器,每次执行LOOP指令时累加器低字的值减1,若减1后累加器的低字非0,将跳转到< jumplabel>指定的标号处,在跳步目标处又恢复线性程序扫描。跳步目标号应是唯一的,跳步只能在同一个逻辑块内进行。

    【例子】在I0.0的上升沿,用循环指令和间接寻址求从MW10开始存放的5个字的累加和,累加的结果用MD20保存。

   A    I    0.0

   FP    M    0.0

   JNB    m001    //不是I0.0的上升沿则跳转

   L    L#0    //32位整数0装入累加器1

   T    MD    20   //累加和清零

   L    P#10.0

   T    MD    2    //起始地址送地址指针

   L    5    //循环次数装入累加器1的低字

BACK: T    MW    0    //暂存循环计数值

   L    MW [MD 2]    //取数据

   ITD    //转换为双整数

   L    MD  20    //取累加值

   +D    //累加

   T    MD  20    //保存累加值

   L    MD  2    //取地址指针值

   L    L#16

   +D        //地址值增加两个字节,指针指到下一个字

   T    MD  2    //保存地址指针值

   L    MW  0    //循环计数器值装累加器

   LOOP  BACK    //若循环计数器值的内容减1后非0,跳转到标号BACK

m001.   NOP    0

    本例使用存储器间接寻址,地址指针的低3位用来表示字节中的位地址,因此地址指针实际上是以位为单位的整数。每次累加完成后,为了使地址指针指向下一个字,地址指针的值应加161个字由16位组成)。如果是对字节进行操作,每次循环地址指针应加8。如果是对双字进行操作,每次循环地址指针应加32

    上面程序中的指令“L L#16”可改为“L P#2.0”,表示地址指针将增加两个字节。

相关文章

利用控制电路的逻辑关系节省输出点
三菱FX系列PLC的FX2N-4AD的使用及程序实例
三菱公司PLC联网的网络结构原理
PLC编程的基本规则
PLC指示灯控制接线原理及梯形图编程
累加器AC

发布评论