wp19950801
級別: 正式會員
精華主題: 0
發(fā)帖數(shù)量: 36 個
工控威望: 75 點
下載積分: 637 分
在線時間: 10(小時)
注冊時間: 2019-06-10
最后登錄: 2023-11-24
查看wp19950801的 主題 / 回貼
樓主  發(fā)表于: 2021-01-20 21:07
圖片:
圖片:
圖片:
IF M0 THEN
FOR num:=0 to 99 by1 D0
INC(SM400,D400);
IF num=6 then
INC (SM400,D500);
END_FOR;
END_IF;
d200:=num+d200;
END_IF;
這段程序for循環(huán)100次后,為什D400,D500還在不斷的刷新。for循環(huán)次數(shù)到不應(yīng)該跳出來嗎??
疑惑。
wp19950801
級別: 正式會員
精華主題: 0
發(fā)帖數(shù)量: 36 個
工控威望: 75 點
下載積分: 637 分
在線時間: 10(小時)
注冊時間: 2019-06-10
最后登錄: 2023-11-24
查看wp19950801的 主題 / 回貼
1樓  發(fā)表于: 2021-01-20 22:01
有人了解嗎
heiheiwodeai
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 253 個
工控威望: 375 點
下載積分: 990 分
在線時間: 337(小時)
注冊時間: 2013-03-26
最后登錄: 2024-12-25
查看heiheiwodeai的 主題 / 回貼
2樓  發(fā)表于: 2021-01-20 23:27
圖片:
使用FOR的條件語句計數(shù)必須有終止條件,否則就無限循環(huán)了,可以用exit跳出去
qq240559043
干就完了
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 191 個
工控威望: 332 點
下載積分: 4111 分
在線時間: 144(小時)
注冊時間: 2012-06-06
最后登錄: 2024-12-19
查看qq240559043的 主題 / 回貼
3樓  發(fā)表于: 2021-01-21 08:16
IF M0 THEN
FOR num:=0 TO 99 BY 1 DO
INC(SM400,D400);
  IF num=6 THEN
      INC(SM400,D500);
  END_IF;
END_FOR;
D200:=num+D200;
END_IF;
IF D400=100 THEN
    M0:= FALSE;
END_IF;
FOR循環(huán)開始時都會初始化循環(huán)變量,你這樣寫PLC每個掃描周期都會增加100。
xiapeng01
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 61 個
工控威望: 189 點
下載積分: 1197 分
在線時間: 80(小時)
注冊時間: 2012-12-31
最后登錄: 2024-12-18
查看xiapeng01的 主題 / 回貼
4樓  發(fā)表于: 2021-01-21 13:07
只要M0為on,每個掃描周期都會循環(huán)100遍
liaohianbin
成功=目標+堅持
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 194 個
工控威望: 296 點
下載積分: 2472 分
在線時間: 130(小時)
注冊時間: 2014-08-29
最后登錄: 2024-12-19
查看liaohianbin的 主題 / 回貼
5樓  發(fā)表于: 2021-01-21 13:30
循環(huán)前每次將D400和D500零不就完了嗎,不然每次掃描都會加一
nightblueblu
道阻且長,窮且益堅。
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 1025 個
工控威望: 1848 點
下載積分: 258 分
在線時間: 1129(小時)
注冊時間: 2017-02-09
最后登錄: 2024-12-25
查看nightblueblu的 主題 / 回貼
6樓  發(fā)表于: 2021-01-21 14:49
循環(huán)完畢加個判斷,復(fù)位M0
Your happiness is everything.
朱光顯
學(xué)無止境,繼續(xù)加油
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 75 個
工控威望: 149 點
下載積分: 4138 分
在線時間: 47(小時)
注冊時間: 2020-07-08
最后登錄: 2024-12-24
查看朱光顯的 主題 / 回貼
7樓  發(fā)表于: 2021-01-26 20:42
For開始Exit結(jié)束,有一次就是Exit那一行被不小心刪除了,PlC直接報錯,還有就是除數(shù)為0 PLC也會報錯。哈哈,親身經(jīng)歷
投湖自盡的魚
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 308 個
工控威望: 361 點
下載積分: 1293 分
在線時間: 305(小時)
注冊時間: 2020-10-23
最后登錄: 2024-12-25
查看投湖自盡的魚的 主題 / 回貼
8樓  發(fā)表于: 2021-01-27 08:50
你的IF條件M0應(yīng)該用上升沿的出發(fā)LDP,這樣只循環(huán)100次就會結(jié)束
周鍋鍋
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 160 個
工控威望: 189 點
下載積分: 2353 分
在線時間: 113(小時)
注冊時間: 2020-08-01
最后登錄: 2024-11-01
查看周鍋鍋的 主題 / 回貼
9樓  發(fā)表于: 2021-02-05 13:55
首先你要在for循環(huán)外面寫
D400 := 0;
D500 := 0;
用之前要先初始化,因為for在一個周期內(nèi)就能循環(huán)完,下個周期不初始化,它就會不停的變化
zhou1211
級別: 略有小成
精華主題: 1 篇
發(fā)帖數(shù)量: 205 個
工控威望: 362 點
下載積分: 1172 分
在線時間: 66(小時)
注冊時間: 2013-11-04
最后登錄: 2024-09-18
查看zhou1211的 主題 / 回貼
10樓  發(fā)表于: 2021-02-06 11:24
引用
引用樓主wp19950801于2021-01-20 21:07發(fā)表的 三菱ST中For循環(huán)的疑惑,求解!! :
IF M0 THEN
FOR num:=0 to 99 by1 D0
INC(SM400,D400);
IF num=6 then
INC (SM400,D500);
.......

rtgM0(CLK:= M0);
IF rtgM0.Q then
  
    中間接你的for循環(huán),你那m0一通就是N個周期了,會一直加

end_if;