wp19950801
級別: 正式會員
|
圖片:
圖片:
圖片:
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)該跳出來嗎?? 疑惑。 |
---|---|
|
heiheiwodeai
級別: 略有小成
|
圖片:
使用FOR的條件語句計數(shù)必須有終止條件,否則就無限循環(huán)了,可以用exit跳出去 |
---|---|
|
qq240559043
干就完了
級別: 略有小成
|
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。 |
---|---|
|
liaohianbin
成功=目標(biāo)+堅持
級別: 略有小成
|
循環(huán)前每次將D400和D500零不就完了嗎,不然每次掃描都會加一 |
---|---|
|
nightblueblu
道阻且長,窮且益堅。
級別: 論壇先鋒
|
循環(huán)完畢加個判斷,復(fù)位M0 |
|
---|---|---|
|
朱光顯
學(xué)無止境,繼續(xù)加油
級別: 探索解密
|
For開始Exit結(jié)束,有一次就是Exit那一行被不小心刪除了,PlC直接報錯,還有就是除數(shù)為0 PLC也會報錯。哈哈,親身經(jīng)歷 |
---|---|
|
投湖自盡的魚
級別: 略有小成
|
你的IF條件M0應(yīng)該用上升沿的出發(fā)LDP,這樣只循環(huán)100次就會結(jié)束 |
---|---|
|
周鍋鍋
級別: 探索解密
|
首先你要在for循環(huán)外面寫 D400 := 0; D500 := 0; 用之前要先初始化,因為for在一個周期內(nèi)就能循環(huán)完,下個周期不初始化,它就會不停的變化 |
---|---|
|