滄海一聲笑
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 86 個
工控威望: 196 點
下載積分: 1844 分
在線時間: 75(小時)
注冊時間: 2011-03-28
最后登錄: 2021-12-16
查看滄海一聲笑的 主題 / 回貼
樓主  發(fā)表于: 2012-03-19 18:34
把程序下載到PLC運行,運算結(jié)果不對,然后將PLC內(nèi)存清除之后再下載運行就可以了,請問這是什么原因造成的。
znz43
工控職業(yè)已成回憶 只因愛好;丶覉@ 樂此不疲
級別: 工控俠客

精華主題: 0
發(fā)帖數(shù)量: 1057 個
工控威望: 4900 點
下載積分: 7351 分
在線時間: 2561(小時)
注冊時間: 2010-06-24
最后登錄: 2024-12-16
查看znz43的 主題 / 回貼
1樓  發(fā)表于: 2012-03-20 11:43
編程未注意細節(jié),程序有有BUG。如用MOV送16Bit到D100中,而后用32位的運算指令,但D101又未先清零,結(jié)果D100的32位數(shù)據(jù)就不是原先送入的16位數(shù)字,運算結(jié)果肯定錯誤。
把內(nèi)存清零后,D100只要送16位正數(shù),因D101已為零,32位的值也和16位的值一樣,結(jié)果當然正確。
要避免此類錯誤,編程時要注意在MOV 16位數(shù)據(jù)到D時,如后面是32位指令,必須再 MOV  K0 到 (D+1)處。或者用16位轉(zhuǎn)換32位指令先轉(zhuǎn)換成32位指令。
出門打工難,打工學藝難,學藝拜師難,找到好師傅更難。
贈人玫瑰,手留余香。舍得舍得,有舍才有得。