mall9002
級別: 略有小成
精華主題: 0 發(fā)帖數(shù)量: 137 個 工控威望: 248 點 下載積分: 921 分 在線時間: 182(小時) 注冊時間: 2017-11-30 最后登錄: 2025-01-03 查看mall9002的 主題 / 回貼 |
怎么感覺FOR循環(huán)下,到達表達式成立后后面的,加,轉(zhuǎn)移指令還會執(zhí)行? 邏輯指令能夠停止?這是怎么回事? 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); 還會執(zhí)行; Y21:=M8002; 不執(zhí)行 。 而且編譯結(jié)果看起來也是跳過這些語句的,實在不明白了。使用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 發(fā)帖數(shù)量: 137 個 工控威望: 248 點 下載積分: 921 分 在線時間: 182(小時) 注冊時間: 2017-11-30 最后登錄: 2025-01-03 查看mall9002的 主題 / 回貼 |
FOR shuzhi3:=0 TO 10 BY 1 DO shuzhi4:=shuzhi4 +1 ; END_FOR; shuzhi3 = 11 shuzhi4 = 13420; shuzhi4 = 13420 手冊上的例子照抄都是不停止執(zhí)行。 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 發(fā)帖數(shù)量: 341 個 工控威望: 465 點 下載積分: 1547 分 在線時間: 414(小時) 注冊時間: 2017-10-10 最后登錄: 2025-01-10 查看楓落云端的 主題 / 回貼 |
FOR 是一直會執(zhí)行循環(huán);建議FOR外面加條件IF,等到需要執(zhí)行FOR的時候執(zhí)行一次。 至于 “Y21:=M8002; 不執(zhí)行 ” ,應(yīng)該是你分析的問題,實際上肯定是一直會執(zhí)行Y21:=m8002; M8002只是第一次開機掃描周期會ON,之后都為OFF |
---|---|
|
mall9002
級別: 略有小成
精華主題: 0 發(fā)帖數(shù)量: 137 個 工控威望: 248 點 下載積分: 921 分 在線時間: 182(小時) 注冊時間: 2017-11-30 最后登錄: 2025-01-03 查看mall9002的 主題 / 回貼 |
本來要寫 Y21:=M8012 ,手殘了。改了以后是都執(zhí)行。 if加在for外面是可行的,剛又去翻了一下書,F(xiàn)OR的變量初始值在一次執(zhí)行中是加到到達數(shù),然后停止循環(huán),再次執(zhí)行到for時再從初始值開始加進入循環(huán),所以看到執(zhí)行語句是不停執(zhí)行的。 感謝! 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 發(fā)帖數(shù)量: 15 個 工控威望: 105 點 下載積分: 448 分 在線時間: 13(小時) 注冊時間: 2016-07-14 最后登錄: 2023-02-13 查看1102629597的 主題 / 回貼 |
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; |
---|---|
|
主辦單位:上海明控機電科技有限公司
本站所有內(nèi)容均為網(wǎng)友自行發(fā)布,不代表網(wǎng)站立場,如有爭議請與管理員聯(lián)系
工控人家園是公益論壇,不銷售任何資料軟件,不銷售會員和積分
刪貼、投訴電話:13816792706
遵守法律,文明發(fā)言 滬ICP備10210768號-2 滬公網(wǎng)安備31010802001143號