lander
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 109 個
工控威望: 148 點(diǎn)
下載積分: 762 分
在線時間: 39(小時)
注冊時間: 2021-02-20
最后登錄: 2024-11-11
查看lander的 主題 / 回貼
樓主  發(fā)表于: 2023-03-11 08:43
我請教一個問題,我這邊需要把INT (有符號的整數(shù) -32768----32767)轉(zhuǎn)換成WORD(0-65535),編一個子程序也可以,如何操作?
圓又圓
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 23 個
工控威望: 102 點(diǎn)
下載積分: 1220 分
在線時間: 25(小時)
注冊時間: 2022-05-06
最后登錄: 2024-09-06
查看圓又圓的 主題 / 回貼
1樓  發(fā)表于: 2023-03-11 09:01
可以試試轉(zhuǎn)成ascii,再轉(zhuǎn)成十六進(jìn)制
lander
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 109 個
工控威望: 148 點(diǎn)
下載積分: 762 分
在線時間: 39(小時)
注冊時間: 2021-02-20
最后登錄: 2024-11-11
查看lander的 主題 / 回貼
2樓  發(fā)表于: 2023-03-11 10:28
引用
引用第1樓圓又圓于2023-03-11 09:01發(fā)表的  :
可以試試轉(zhuǎn)成ascii,再轉(zhuǎn)成十六進(jìn)制

請具體指導(dǎo)一下,謝謝。
lander
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 109 個
工控威望: 148 點(diǎn)
下載積分: 762 分
在線時間: 39(小時)
注冊時間: 2021-02-20
最后登錄: 2024-11-11
查看lander的 主題 / 回貼
3樓  發(fā)表于: 2023-03-11 10:47
我其實是在做一個modbus RTU 通訊,寫入只能是一個16位的數(shù),我輸入是實數(shù),然后我轉(zhuǎn)換成整數(shù),當(dāng)我輸入超過32767是,它就變負(fù)了,(-32768---+32767),然后這個負(fù)數(shù)寫進(jìn)去,設(shè)備就不認(rèn)識了,所以我想問問如何才能寫進(jìn)去變成0-65535,而不是-32768-+32767  ,普通的整數(shù)VW  好像不能大于32767,大了就變負(fù)數(shù)。
hstec2002
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 489 個
工控威望: 1892 點(diǎn)
下載積分: 8465 分
在線時間: 680(小時)
注冊時間: 2021-05-05
最后登錄: 2024-12-20
查看hstec2002的 主題 / 回貼
4樓  發(fā)表于: 2023-03-11 10:56
大門進(jìn)不去就跳窗門吧,或者把與什么通訊的協(xié)議上傳看看。
QQ: 2845452345
lander
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 109 個
工控威望: 148 點(diǎn)
下載積分: 762 分
在線時間: 39(小時)
注冊時間: 2021-02-20
最后登錄: 2024-11-11
查看lander的 主題 / 回貼
5樓  發(fā)表于: 2023-03-11 11:06
這是通訊協(xié)議,我需要讀和寫
lander
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 109 個
工控威望: 148 點(diǎn)
下載積分: 762 分
在線時間: 39(小時)
注冊時間: 2021-02-20
最后登錄: 2024-11-11
查看lander的 主題 / 回貼
6樓  發(fā)表于: 2023-03-11 11:10
引用
引用第5樓lander于2023-03-11 11:06發(fā)表的  :
這是通訊協(xié)議,我需要讀和寫
附件: CS系列產(chǎn)品研華MODBUS協(xié)議1.1.pdf (235 K) 下載次數(shù):48
網(wǎng)站提示: 請不要用迅雷下載附件,容易出錯
圓又圓
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 23 個
工控威望: 102 點(diǎn)
下載積分: 1220 分
在線時間: 25(小時)
注冊時間: 2022-05-06
最后登錄: 2024-09-06
查看圓又圓的 主題 / 回貼
7樓  發(fā)表于: 2023-03-11 11:12
引用
引用第3樓lander于2023-03-11 10:47發(fā)表的  :
我其實是在做一個modbus RTU 通訊,寫入只能是一個16位的數(shù),我輸入是實數(shù),然后我轉(zhuǎn)換成整數(shù),當(dāng)我輸入超過32767是,它就變負(fù)了,(-32768---+32767),然后這個負(fù)數(shù)寫進(jìn)去,設(shè)備就不認(rèn)識了,所以我想問問如何才能寫進(jìn)去變成0-65535,而不是-32768-+32767  ,普通的整數(shù)VW  好像不能大于32767,大了就變負(fù)數(shù)。


看看200smart的轉(zhuǎn)換指令就可以了。可以直接將你的實數(shù)轉(zhuǎn)成ascii,再轉(zhuǎn)成十六進(jìn)制
hstec2002
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 489 個
工控威望: 1892 點(diǎn)
下載積分: 8465 分
在線時間: 680(小時)
注冊時間: 2021-05-05
最后登錄: 2024-12-20
查看hstec2002的 主題 / 回貼
8樓  發(fā)表于: 2023-03-11 11:23
直接十六進(jìn)制讀寫不香?
QQ: 2845452345
lander
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 109 個
工控威望: 148 點(diǎn)
下載積分: 762 分
在線時間: 39(小時)
注冊時間: 2021-02-20
最后登錄: 2024-11-11
查看lander的 主題 / 回貼
9樓  發(fā)表于: 2023-03-11 11:28
引用
引用第8樓hstec2002于2023-03-11 11:23發(fā)表的  :
直接十六進(jìn)制讀寫不香?

因為我要在觸摸屏上設(shè)置10進(jìn)制數(shù),比如200ML,我不能直接設(shè)置一個16進(jìn)制,那樣他們看不懂
lander
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 109 個
工控威望: 148 點(diǎn)
下載積分: 762 分
在線時間: 39(小時)
注冊時間: 2021-02-20
最后登錄: 2024-11-11
查看lander的 主題 / 回貼
10樓  發(fā)表于: 2023-03-13 21:52
還是沒搞出來,困惑了。
bdmogui
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 173 個
工控威望: 297 點(diǎn)
下載積分: 1151 分
在線時間: 601(小時)
注冊時間: 2013-10-12
最后登錄: 2024-12-20
查看bdmogui的 主題 / 回貼
11樓  發(fā)表于: 2023-03-14 08:36
可能不太明白你要表達(dá)的意思,VW既可以是INT也可是WORD,可以試試符號變量,不要用絕對地址