上海地友自动化设备有限公司
S7-200CN , S7-200 , Smart200
西门子接触器3RA62500DP30一级代理

西门子器3RA62500DP30一级代理西门子器3RA62500DP30一级代理 

特定的程序段,由累加器1确定重复执行的次数,即以累加器1的低字为循环计数器。LOOP指令执行时,将累加器1字中的值减1,如果不为0,则返回到循环指令LOOP的标号处,继续循环过程,否则执行LOOP指令后面的指令。循环体是指循环标号和LOOP指令间的程序段。

    由于循环次数不能是负数,因此程序应保证循环计数器中的数为正整数(数值范围:0~32767)或字型数据(数值范围:W#16#0000~ W#16#FFFF)。存储区为I、Q、M、D、L。LOOP语句的流程如图所示。

LOOP语句的流程图

    图   LOOP语句的流程图

    利用循环指令可以完成有规律的重复计算过程。

    编程示例(求阶乘“8!”的程序)如下:

    L L#1    说明:将长整数常数(32位)装入累加器1

    T MD20    将累加器1的内容传送到MD20(初始化)

    L 8    将循环次装入累加器1的低字中

NEXT:T MW10    循环开始,将累加器1低字的内容(循环变量值)送给循环计数器MW10

    L MD20    取部分积

    *D    MD20×MW10

    T MD20    存部分积,循环结束后MD20=8×7 ×6×5 ×4×3 ×2 ×1=40320

    L MW10    取当前循环变量值→累加器1

    LOOP NEXT    如果累加器1低字中的内容不为0,则转到NEXT继续循环执行并对

    累加器1的低字减1循环结束,执行其他指令

    ……


展开全文