怎么感覺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