潔白的月光
級別: 探索解密
![]() |
剛剛又試驗(yàn)了下,用while語句就沒這個(gè)毛病。 mov(m8002,k0,d20); mov(m8002,k0,d21); while word_to_int(d20)<100 do d20:=d20+1; d21:=d20+d21; end_while; 測試結(jié)果正確。 |
---|---|
|
f1652577
滄海一聲笑!
級別: 探索解密
![]() |
@7樓,第一次循環(huán)結(jié)束,D20=100了,第二個(gè)掃描周期,F(xiàn)OR循環(huán)都不會(huì)執(zhí)行,應(yīng)該不會(huì)出現(xiàn)你說的那種情況啊! |
---|---|
|
戇獅
廣州三能:自動(dòng)化設(shè)備制造 自動(dòng)化培訓(xùn)
級別: 略有小成
![]() |
FOR D20 :=K0 TO K99 BY K1 DO這條程序有將D20附值=0的功能。將=去掉看看,應(yīng)該不一樣 |
|
---|---|---|
|
楓落云端
施主,腳抬一下
級別: 略有小成
![]() ![]() |
FOR D20 :=K0 TO K99 BY K1 DO 本身就是一個(gè)掃描周期開始后,D20會(huì)被賦值為0,所以每個(gè)掃描周期都會(huì)執(zhí)行 |
---|---|
|
v13scl
級別: 探索解密
![]() |
三菱結(jié)構(gòu)化編程視頻st qq391962180 結(jié)構(gòu)化編程如果你用MOV的話,就算外行了,實(shí)話!不要見怪 |
---|---|
|
kylew
kylew
級別: 略有小成
![]() |
MOV (SM402 ,K0,D20); MOV (SM402 ,K0,D21); IF SM402 THEN FOR D20 :=K0 TO K99 BY K1 DO D20:= D20+K1; D21:= D21+D20; END_FOR; END_IF; 1+2+3+.....................+100 這個(gè)計(jì)算結(jié)果為什么是2500,不是應(yīng)該是5050嗎? 我PLC模擬計(jì)算的結(jié)果是2500 |
---|---|
|
咗臉ヅ微笑ぺ
非吾所愿,奈何已離去……
級別: 工控俠客
![]() |
FOR循環(huán)本身會(huì)把D20加一,循環(huán)內(nèi)容又有D20加一,所以實(shí)際上算的是1+3+……+99 |
|
---|---|---|
|
kylew
kylew
級別: 略有小成
![]() |
明白了! ![]() |
---|---|
|