f1652577
滄海一聲笑!
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 16 個(gè)
工控威望: 116 點(diǎn)
下載積分: 3369 分
在線時(shí)間: 26(小時(shí))
注冊(cè)時(shí)間: 2016-04-15
最后登錄: 2023-08-18
查看f1652577的 主題 / 回貼
樓主  發(fā)表于: 2017-11-15 16:46
圖片:
MOV (SM402 ,K0,D20);
MOV (SM402 ,K0,D21);
FOR D20 :=K0 TO K99    BY K1 DO
    D20:= D20+K1;
    D21:= D21+D20;
END_FOR;

模擬時(shí)為什么D21中的數(shù)值一直在變?
conchnit
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 131 個(gè)
工控威望: 456 點(diǎn)
下載積分: 6117 分
在線時(shí)間: 69(小時(shí))
注冊(cè)時(shí)間: 2013-03-17
最后登錄: 2024-12-18
查看conchnit的 主題 / 回貼
1樓  發(fā)表于: 2017-11-16 14:15
引用
引用第9樓楓落云端于2017-11-16 09:53發(fā)表的  :
以上是M0 為ON時(shí)執(zhí)行一次循環(huán),如果只是想PLC開機(jī)自動(dòng)算一次,那就變成
MOV (SM402 ,K0,D20);
MOV (SM402 ,K0,D21);
IF SM402 THEN
    FOR D20 :=K0 TO K99    BY K1 DO
.......



三菱ST里,32位數(shù)據(jù)傳送 你是如何寫的?
踏實(shí)走好每一步. 承接自動(dòng)化項(xiàng)目.
conchnit
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 131 個(gè)
工控威望: 456 點(diǎn)
下載積分: 6117 分
在線時(shí)間: 69(小時(shí))
注冊(cè)時(shí)間: 2013-03-17
最后登錄: 2024-12-18
查看conchnit的 主題 / 回貼
2樓  發(fā)表于: 2017-11-16 14:20
引用
引用第7樓楓落云端于2017-11-16 09:46發(fā)表的  :
前兩句只是PLC運(yùn)行第一個(gè)掃描周期起作用,每一個(gè)FOR循環(huán),D20都會(huì)從0自加到99。D21=(1+2+...+99)*N個(gè)掃描周期,由于直接使用D21寄存器,默認(rèn)為16位的有符號(hào)整數(shù),最大只能到+32767,再加就會(huì)溢出到符號(hào)位,所以變成負(fù)數(shù),之后自加又變成正數(shù),繼續(xù)加又溢出變負(fù)數(shù),一直不斷地循環(huán)

分析非常透徹 到位,是個(gè)高手
踏實(shí)走好每一步. 承接自動(dòng)化項(xiàng)目.