蜜桃免费av-一级中文片-久久青青草原av免费观看-香蕉在线观看视频-少妇丰满极品嫩模白嫩-成人妇女免费播放久久久-久久国产精品_国产精品-少妇69xx-国产网站免费在线观看-sese婷婷-最近中文字幕在线中文视频-欧美色xxx-亚洲a∨国产av综合av-免费观看日批视频-午夜福利免费0948视频-亚洲一二三视频-可以免费观看的av毛片下载-日韩综合精品-国产精品福利久久久-亚洲精品综合一区二区

mall9002
級別: 略有小成
精華主題: 0
發帖數量: 136 個
工控威望: 249 點
下載積分: 923 分
在線時間: 183(小時)
注冊時間: 2017-11-30
最后登錄: 2025-11-04
查看mall9002的 主題 / 回貼
樓主  發表于: 2019-05-08 11:57
怎么感覺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




楓落云端
施主,腳抬一下
級別: 略有小成

精華主題: 0
發帖數量: 336 個
工控威望: 465 點
下載積分: 1549 分
在線時間: 416(小時)
注冊時間: 2017-10-10
最后登錄: 2025-12-02
查看楓落云端的 主題 / 回貼
1樓  發表于: 2019-05-08 14:00
FOR 是一直會執行循環;建議FOR外面加條件IF,等到需要執行FOR的時候執行一次。
至于 “Y21:=M8002; 不執行 ” ,應該是你分析的問題,實際上肯定是一直會執行Y21:=m8002;
M8002只是第一次開機掃描周期會ON,之后都為OFF