sihu国产精品永久免费_日韩午夜在线视频_久久99中文字幕伊人_古代男男嗯…啊h总攻

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

請具體指導一下,謝謝。
lander
級別: 探索解密
精華主題: 0
發帖數量: 109 個
工控威望: 148 點
下載積分: 762 分
在線時間: 39(小時)
注冊時間: 2021-02-20
最后登錄: 2024-11-11
查看lander的 主題 / 回貼
2樓  發表于: 2023-03-11 10:47
我其實是在做一個modbus RTU 通訊,寫入只能是一個16位的數,我輸入是實數,然后我轉換成整數,當我輸入超過32767是,它就變負了,(-32768---+32767),然后這個負數寫進去,設備就不認識了,所以我想問問如何才能寫進去變成0-65535,而不是-32768-+32767  ,普通的整數VW  好像不能大于32767,大了就變負數。
lander
級別: 探索解密
精華主題: 0
發帖數量: 109 個
工控威望: 148 點
下載積分: 762 分
在線時間: 39(小時)
注冊時間: 2021-02-20
最后登錄: 2024-11-11
查看lander的 主題 / 回貼
3樓  發表于: 2023-03-11 11:06
這是通訊協議,我需要讀和寫
lander
級別: 探索解密
精華主題: 0
發帖數量: 109 個
工控威望: 148 點
下載積分: 762 分
在線時間: 39(小時)
注冊時間: 2021-02-20
最后登錄: 2024-11-11
查看lander的 主題 / 回貼
4樓  發表于: 2023-03-11 11:10
引用
引用第5樓lander于2023-03-11 11:06發表的  :
這是通訊協議,我需要讀和寫
附件: CS系列產品研華MODBUS協議1.1.pdf (235 K) 下載次數:48
網站提示: 請不要用迅雷下載附件,容易出錯
lander
級別: 探索解密
精華主題: 0
發帖數量: 109 個
工控威望: 148 點
下載積分: 762 分
在線時間: 39(小時)
注冊時間: 2021-02-20
最后登錄: 2024-11-11
查看lander的 主題 / 回貼
5樓  發表于: 2023-03-11 11:28
引用
引用第8樓hstec2002于2023-03-11 11:23發表的  :
直接十六進制讀寫不香?

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

我剛剛去用你的方法,用符號變量,200SMART 默認就是有符號的,還是不行。
lander
級別: 探索解密
精華主題: 0
發帖數量: 109 個
工控威望: 148 點
下載積分: 762 分
在線時間: 39(小時)
注冊時間: 2021-02-20
最后登錄: 2024-11-11
查看lander的 主題 / 回貼
8樓  發表于: 2023-03-14 15:38
即使你手動輸入16進制的數,是可以寫進去了,但是讀出瞬時流量是一個大于32767的數的時候,也不能參與運算,不能轉換成浮點,因為大于32767就報錯了,其實錯誤就是在于觸摸屏寫入一個大于32767的浮點數,就無法進行公式換算,一旦轉換成整數,就報錯。不知道還有沒有好的辦法,已經問了很多人了。
lander
級別: 探索解密
精華主題: 0
發帖數量: 109 個
工控威望: 148 點
下載積分: 762 分
在線時間: 39(小時)
注冊時間: 2021-02-20
最后登錄: 2024-11-11
查看lander的 主題 / 回貼
9樓  發表于: 2023-03-16 10:13
引用
引用第15樓hstec2002于2023-03-16 08:55發表的  :
看是否你想要的。

感謝兄臺給的方案,已經搞定,再次感謝。
lander
級別: 探索解密
精華主題: 0
發帖數量: 109 個
工控威望: 148 點
下載積分: 762 分
在線時間: 39(小時)
注冊時間: 2021-02-20
最后登錄: 2024-11-11
查看lander的 主題 / 回貼
10樓  發表于: 2023-03-18 08:11
引用
引用第17樓zyt888于2023-03-17 14:52發表的  :
你符號定義成Word數據類型就可以,如果想在程序中進行計算,就要轉成DINT后再使用
或者直接使用DINT數據,多少范圍都滿足你用,然后用mov指令把高字轉到通訊寄存器里

感謝指點,謝謝。