滄海一聲笑
級別: 探索解密
|
把程序下載到PLC運行,運算結果不對,然后將PLC內存清除之后再下載運行就可以了,請問這是什么原因造成的。 |
---|---|
|
崇慶陽光
不懈努力,一切皆有可能...
級別: VIP會員
|
可能16位和32位寄存器有混淆 |
|
---|---|---|
|
znz43
工控職業已成回憶 只因愛好常回家園 樂此不疲
級別: 工控俠客
|
編程未注意細節,程序有有BUG。如用MOV送16Bit到D100中,而后用32位的運算指令,但D101又未先清零,結果D100的32位數據就不是原先送入的16位數字,運算結果肯定錯誤。 把內存清零后,D100只要送16位正數,因D101已為零,32位的值也和16位的值一樣,結果當然正確。 要避免此類錯誤,編程時要注意在MOV 16位數據到D時,如后面是32位指令,必須再 MOV K0 到 (D+1)處。或者用16位轉換32位指令先轉換成32位指令。 |
|
---|---|---|
|