各位专家好
我是一个才来的菜鸟,正在学习STEP7,以下实例程序中,MW100 从哪里看出 减去1了呢?
以前学习宏程序的时候,有MW100=MW100-1 ,可是在这个程序里面,看不出减去1呢?
是不是 LOOP循环,就代表了要给 累加器中的当前值减去1呢?
/M存储器连续区域操作
L 0 //初始化MW100和MD4。
T MW 100
T MD 4
OPN DB 1 //打开DB1。
L 100 //循环操作的次数,100次。
NEXT: T MW 100 //将循环100次装载到MW100中,固定格式。
L MW 2 //进行比较的数值存储于MW2。
L DBW [MD 4] //与DB块中存储的值进行比较,开始地址为DBW0。
==I //如果数值相等跳到m1。
JCm1
L MD 4 //将地址指针加2(每个相邻的字地址相差2)。
L P#2.0
+D
T MD 4
L MW 100 //次数减1,跳回next,如果MW100等于0,跳
LOOP NEXT //出循环操作LOOP指令,LOOP指令固定格式。
m1: FP M 10.0 //如果数值相当,记录MD4指针的数据,将转换为数组
JCN m2 //的位置((地址值/P#2.0)+1)值存储于MD8中。
L MD 4
L P#2.0
/D
+ L#1
T MD 8
m2: NOP 0