老家伙學電工
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 327 個
工控威望: 466 點
下載積分: 1015 分
在線時間: 328(小時)
注冊時間: 2010-11-10
最后登錄: 2024-03-20
查看老家伙學電工的 主題 / 回貼
樓主  發(fā)表于: 2013-12-08 17:03
用三菱FX-2N的PLC。編程的時候用DDIV指令,運算負數(shù)。比如:DDIV   D10   D14   D18  
當D10中是負數(shù)的時候,在DDIV中D10顯示的是一個很大的值,D18中的值也是很大的值,
可以將它還原成負數(shù)嗎?還是DDIV不能用于負數(shù)的計算?
在線等,雖然是個很菜鳥的問題,但本人其實比菜鳥還菜,請指教。
老家伙學電工
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 327 個
工控威望: 466 點
下載積分: 1015 分
在線時間: 328(小時)
注冊時間: 2010-11-10
最后登錄: 2024-03-20
查看老家伙學電工的 主題 / 回貼
1樓  發(fā)表于: 2013-12-08 17:56
用DIV指令是可以運算負數(shù)的,只是覺得它有點小,只能到-32768,有點不夠用的樣子
老家伙學電工
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 327 個
工控威望: 466 點
下載積分: 1015 分
在線時間: 328(小時)
注冊時間: 2010-11-10
最后登錄: 2024-03-20
查看老家伙學電工的 主題 / 回貼
2樓  發(fā)表于: 2013-12-08 18:43
編程的時候用DDIV指令,運算負數(shù)。比如:DDIV   D10   D14   D18  
D10中的值原來是一個16位的負數(shù)。用DDIV指令就變得很大了。
我試過如果D10如果是一個剛開始就是32位的數(shù)值,就不會變,顯示的就是本身的負值。
問題是,我用十六位的計算結(jié)果,怎么轉(zhuǎn)換成32位的,并能夠用DDIV運算?
老家伙學電工
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 327 個
工控威望: 466 點
下載積分: 1015 分
在線時間: 328(小時)
注冊時間: 2010-11-10
最后登錄: 2024-03-20
查看老家伙學電工的 主題 / 回貼
3樓  發(fā)表于: 2013-12-09 12:47
感謝樓上的解答,昨晚實際上說了,是16位和32位的區(qū)別導致的。
我現(xiàn)在想問的是,怎么把一個16位的負數(shù)轉(zhuǎn)化為32位的負數(shù)?
好象很麻煩的,要先判斷第15位是否為1,再決定是否把32位的最高位置1。