怎么感觉FOR循环下,到达表达式成立后后面的,加,转移指令还会执行? 逻辑指令能够停止?这是怎么回事?
FOR shuzhi1:=0 TO 10 BY 1 DO
Z1:=Z1+1;
DMOV(TRUE,k1234,shuzhi2);
Y21:=M8002;
IF shuzhi1=10 THEN
EXIT;
END_IF;
END_FOR;
shuzhi2 为全局变量 软元件 D1354Z1
shizhi1 全局变量 D1350
shuzhi1到达10后,Z1:=Z1+1; DMOV(TRUE,k1234,shuzhi2); 还会执行; Y21:=M8002; 不执行 。
而且编译结果看起来也是跳过这些语句的,实在不明白了。使用REPEAT的不存在这样的问题。
129 LDD> D1350 K10
138 CJ P1074
141 LD M8000
142 ADD Z1 K1 Z1
149 LD M8000
150 DMOV K1234 D1354Z1
159 LD M8002
160 OUT Y021
161 LDD<> D1350 K10
170 CJ P1075
173 LD M8000
174 CJ P1074
177 P1075
179 LD M8000
180 DADD K1 D1350 D1350
193 LD M8000
194 CJ P1073
197 P1074
199 LD M8012
200 OUT Y020