yzc3699
級別: 正式會員
![]() |
描述:監(jiān)視截圖
圖片: ![]() 三菱程序監(jiān)視,這是一個通訊程序中的數(shù)據(jù)運算處理步,請看D20中的數(shù)據(jù),為何從正數(shù)變成了負數(shù),從該條指令后,絕對無關于D20的32位的運算,若把MUL D20 D14 D22改成DMUL D20 D14 D22則D22中的數(shù)據(jù)為正值并且按運算正常思路,結果都是對的,哪位工控朋友如果有過這樣的經(jīng)驗,請賜教,QQ:76609809.謝謝! |
---|---|
|
yzc3699
級別: 正式會員
![]() |
補充一下,這個問題是偶爾發(fā)生的,不是每次運算結果都是這樣的,絕大多數(shù)運算結果都是對的!! |
---|---|
|
蕭風
當你不能改變你身處的環(huán)境時,可以重新選擇環(huán)境
級別: 略有小成
![]() |
MUI D13 H100 的運算結果大于16位寄存器(32767)D20的空間,ADD D20的數(shù)字就會變負數(shù),請樓主多看16位和32位數(shù)據(jù)運算的說明 ![]() |
|
---|---|---|
本帖最近評分記錄:
|
yuaiwu
wemhoener
級別: 網(wǎng)絡英雄
![]() ![]() |
上面一行是兩個一個字(16)數(shù)相乘,結果會占用兩個字(32),所以顯示的是32位數(shù)值 下面顯示的只顯示48384前15位值,16位是符號位,用計算器驗證了下,也是對的 |
---|---|
|
gcbplc
QQ3130569178 PLC編程、登錄口令修改刪除、調試
級別: 工控俠客
![]() |
學習了 |
|
---|---|---|
|
550374389
!!!
級別: 論壇先鋒
![]() ![]() |
樓上,關鍵是MUL后面顯示的結果是D20跟D21兩個寄存器的共同結果,是32位的。后面的ADD中的D20顯示的只是D20一個寄存器的結果,時16位的,看看ADD SUB,MUL和DIV這幾條指令的用法你就明了!!! |
---|---|
|