一区二区三区成人-一区二区三区www-一区二区三区 日韩-一区二区日韩欧美-一区二区日韩精品中文字幕-一区二区日韩

mall9002
級別: 略有小成
精華主題: 0
發帖數量: 137 個
工控威望: 248 點
下載積分: 921 分
在線時間: 182(小時)
注冊時間: 2017-11-30
最后登錄: 2025-01-03
查看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




mall9002
級別: 略有小成
精華主題: 0
發帖數量: 137 個
工控威望: 248 點
下載積分: 921 分
在線時間: 182(小時)
注冊時間: 2017-11-30
最后登錄: 2025-01-03
查看mall9002的 主題 / 回貼
1樓  發表于: 2019-05-08 12:16
FOR shuzhi3:=0  TO 10  BY 1  DO
          shuzhi4:=shuzhi4 +1 ;
END_FOR;

shuzhi3 = 11
shuzhi4 = 13420; shuzhi4 = 13420

手冊上的例子照抄都是不停止執行。

201    LD M8000
202    MOV K0 D536
207    P1076
209    LD> D536 K10
214    CJ P1077
217    LD M8000
218    ADD D535 K1 D535
225    ADD K1 D536 D536
232    LD M8000
233    CJ P1076
236    P1077
238    P1072
楓落云端
施主,腳抬一下
級別: 略有小成

精華主題: 0
發帖數量: 341 個
工控威望: 465 點
下載積分: 1547 分
在線時間: 414(小時)
注冊時間: 2017-10-10
最后登錄: 2024-11-29
查看楓落云端的 主題 / 回貼
2樓  發表于: 2019-05-08 14:00
FOR 是一直會執行循環;建議FOR外面加條件IF,等到需要執行FOR的時候執行一次。
至于 “Y21:=M8002; 不執行 ” ,應該是你分析的問題,實際上肯定是一直會執行Y21:=m8002;
M8002只是第一次開機掃描周期會ON,之后都為OFF
mall9002
級別: 略有小成
精華主題: 0
發帖數量: 137 個
工控威望: 248 點
下載積分: 921 分
在線時間: 182(小時)
注冊時間: 2017-11-30
最后登錄: 2025-01-03
查看mall9002的 主題 / 回貼
3樓  發表于: 2019-05-08 15:16
引用
引用第2樓楓落云端于2019-05-08 14:00發表的  :
FOR 是一直會執行循環;建議FOR外面加條件IF,等到需要執行FOR的時候執行一次。
至于 “Y21:=M8002; 不執行 ” ,應該是你分析的問題,實際上肯定是一直會執行Y21:=m8002;
M8002只是第一次開機掃描周期會ON,之后都為OFF


本來要寫 Y21:=M8012 ,手殘了。改了以后是都執行。
if加在for外面是可行的,剛又去翻了一下書,FOR的變量初始值在一次執行中是加到到達數,然后停止循環,再次執行到for時再從初始值開始加進入循環,所以看到執行語句是不停執行的。
感謝!
IF shuzhi1<10 THEN
     FOR  shuzhi1:=0  TO 10  BY 1  DO
     bianzhi:=bianzhi+1;
     DMOV(TRUE,k1234,shuzhi2);
     Y21:=M8012;
     END_FOR;
END_IF;
這個是可行的
[ 此帖被mall9002在2019-05-08 15:39重新編輯 ]
1102629597
級別: 探索解密
精華主題: 0
發帖數量: 15 個
工控威望: 105 點
下載積分: 448 分
在線時間: 13(小時)
注冊時間: 2016-07-14
最后登錄: 2023-02-13
查看1102629597的 主題 / 回貼
4樓  發表于: 2019-05-13 14:55
FOR  shuzhi1:=0  TO 10  BY 1  DO
    
     DMOV(TRUE,k1234,shuzhi2);
     Y21:=M8002;
     IF shuzhi1=10 THEN
         EXIT;
     END_IF;
     Z1:=Z1+1;
END_FOR;

主站蜘蛛池模板: 亚洲精品无码不卡 | 国产欧美日韩在线观看精品 | 星空无限传媒视频在线观看视频 | 波多野结衣快播 | 湿好紧太硬了我太爽了 | 大胸纲手被羞羞漫画网站 | 男人机机桶女人机机 | 小早川怜子在线播放精品 | 四虎影视在线永久免费观看 | 单身男女韩剧在线看 | 日本三级s级在线播放 | 亚洲国产成人资源在线桃色 | 91亚洲精品第一综合不卡播放 | 猛h辣h高h文湿重口 门房秦大爷在线阅读 | 丝袜护士强制脚足取精 | 国色天香社区在线视频播放 | a在线观看欧美在线观看 | 久久偷拍国2017 | 小小水蜜桃视频高清在线观看免费 | 太深了 太粗h1v1 | 小夫妻天天恶战 | 国产经典一区二区三区蜜芽 | 国产99久久九九精品免费 | 免费观看二十女人一摸是水 | 我的青梅竹马是消防员2季未增删免费 | 色老板在线免费观看 | 高中生放荡日记高h娜娜 | 日韩精品在线视频观看 | 91视频国产在线 | 欧美三级小说 | 精品国产人妻国语 | 成人国产精品视频频 | 腿交hd| 亚洲美洲国产日产 | 免费看www | kayden·kross hd在线 | 好姑娘在线完整版视频 | 亚洲国产综合久久久无码色伦 | 公交车上插入 | 久久全国免费观看视频 | 日本精a在线观看 |