lander
級別: 探索解密
![]() |
我請教一個問題,我這邊需要把INT (有符號的整數(shù) -32768----32767)轉(zhuǎn)換成WORD(0-65535),編一個子程序也可以,如何操作? |
---|---|
|
lander
級別: 探索解密
![]() |
請具體指導(dǎo)一下,謝謝。 |
---|---|
|
lander
級別: 探索解密
![]() |
我其實是在做一個modbus RTU 通訊,寫入只能是一個16位的數(shù),我輸入是實數(shù),然后我轉(zhuǎn)換成整數(shù),當我輸入超過32767是,它就變負了,(-32768---+32767),然后這個負數(shù)寫進去,設(shè)備就不認識了,所以我想問問如何才能寫進去變成0-65535,而不是-32768-+32767 ,普通的整數(shù)VW 好像不能大于32767,大了就變負數(shù)。 |
---|---|
|
lander
級別: 探索解密
![]() |
|
---|---|
|
lander
級別: 探索解密
![]() |
因為我要在觸摸屏上設(shè)置10進制數(shù),比如200ML,我不能直接設(shè)置一個16進制,那樣他們看不懂 |
---|---|
|
lander
級別: 探索解密
![]() |
我剛剛?cè)ビ媚愕姆椒,用符號變量?00SMART 默認就是有符號的,還是不行。 |
---|---|
|
lander
級別: 探索解密
![]() |
即使你手動輸入16進制的數(shù),是可以寫進去了,但是讀出瞬時流量是一個大于32767的數(shù)的時候,也不能參與運算,不能轉(zhuǎn)換成浮點,因為大于32767就報錯了,其實錯誤就是在于觸摸屏寫入一個大于32767的浮點數(shù),就無法進行公式換算,一旦轉(zhuǎn)換成整數(shù),就報錯。不知道還有沒有好的辦法,已經(jīng)問了很多人了。 |
---|---|
|
lander
級別: 探索解密
![]() |
感謝兄臺給的方案,已經(jīng)搞定,再次感謝。 |
---|---|
|