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

紅云123
級別: 略有小成
精華主題: 0
發帖數量: 284 個
工控威望: 355 點
下載積分: 2838 分
在線時間: 140(小時)
注冊時間: 2020-09-22
最后登錄: 2024-12-26
查看紅云123的 主題 / 回貼
樓主  發表于: 2022-09-14 14:56
F5UJ進行modbusTCP通訊時當讀取的數據是正數時,設置的讀取數據長度和接收的數據長度一致,數據也沒有錯誤。

當讀取到的數據是負數時,收到的數據長度在某個位置是設置的2倍,因為負數的位置不確定所以收到的數據也無從下手去處理。
也就是負數時收到的數據地址和服務器的數據地址對應不上了。
當進行modbusTCP通訊時負數怎么處理?
真誠求助
沖出槍林彈雨
沖出槍林彈雨
級別: 家園常客
精華主題: 0
發帖數量: 145 個
工控威望: 625 點
下載積分: 356 分
在線時間: 87(小時)
注冊時間: 2020-09-05
最后登錄: 2024-12-26
查看沖出槍林彈雨的 主題 / 回貼
1樓  發表于: 2022-09-15 08:34
通訊時都是客戶端讀取服務端的寄存器,數據類型不同,占用寄存器數量不同(16位,32位,64位,字符串看長度);建議將數據轉成16進制進行查看,看看是不是讀取的數據高低位被調換,也可以先用tcp模擬軟件進行測試。
技術交流vx: Electric973
紅云123
級別: 略有小成
精華主題: 0
發帖數量: 284 個
工控威望: 355 點
下載積分: 2838 分
在線時間: 140(小時)
注冊時間: 2020-09-22
最后登錄: 2024-12-26
查看紅云123的 主題 / 回貼
2樓  發表于: 2022-09-15 09:30
圖片:
圖片:
用的測試工具測試的
沖出槍林彈雨
沖出槍林彈雨
級別: 家園常客
精華主題: 0
發帖數量: 145 個
工控威望: 625 點
下載積分: 356 分
在線時間: 87(小時)
注冊時間: 2020-09-05
最后登錄: 2024-12-26
查看沖出槍林彈雨的 主題 / 回貼
3樓  發表于: 2022-09-15 10:05
引用
引用第2樓紅云123于2022-09-15 09:30發表的  :
用的測試工具測試的

讀取寄存器個數改為4,PLC監視數據使用16進制查看
技術交流vx: Electric973
沖出槍林彈雨
沖出槍林彈雨
級別: 家園常客
精華主題: 0
發帖數量: 145 個
工控威望: 625 點
下載積分: 356 分
在線時間: 87(小時)
注冊時間: 2020-09-05
最后登錄: 2024-12-26
查看沖出槍林彈雨的 主題 / 回貼
4樓  發表于: 2022-09-15 10:16
好吧,說下這個正數和負數
值為5它在計算機中表示為:
00000000 00000000 00000000 00000101
5轉換成二制是101,不過int類型的數占用4字節(32位),前面填了一堆0
-5在計算機中,負數以原碼的補碼形式表達。
原碼:
一個正數,按照絕對值大小轉換成的二進制數就是正數的原碼
一個負數,按照絕對值大小轉換成的二進制數,然后最高位補1,就是負數的原碼
比如
00000000 00000000 00000000 00000101 是5的原碼。
10000000 00000000 00000000 00000101 是-5的原碼。
補碼
正數的補碼與原碼相同
負數的補碼為對該數的原碼除符號位外各位取反,然后在最后一位加1
比如:
10000000 00000000 00000000 00000101 的反碼
是:11111111 11111111 11111111 11111010
那么,補碼為:
11111111 11111111 11111111 11111010 + 1 = 11111111 11111111 11111111 11111011
-5 在計算機中表達為:11111111 11111111 11111111 11111011
轉換為十六進制:0xFFFFFFFB
樓主留言:
道理倒是明白,關鍵是收到數據后怎么處理。收到的數據有正數也有負數時,怎么才知道自己收到的是負數,負數在哪個寄存器里。
技術交流vx: Electric973
紅云123
級別: 略有小成
精華主題: 0
發帖數量: 284 個
工控威望: 355 點
下載積分: 2838 分
在線時間: 140(小時)
注冊時間: 2020-09-22
最后登錄: 2024-12-26
查看紅云123的 主題 / 回貼
5樓  發表于: 2022-09-15 10:30
圖片:
和是否使用16進制無關。為什么讀取1個保持寄存器,收到的數據卻占兩個寄存器。
沖出槍林彈雨
沖出槍林彈雨
級別: 家園常客
精華主題: 0
發帖數量: 145 個
工控威望: 625 點
下載積分: 356 分
在線時間: 87(小時)
注冊時間: 2020-09-05
最后登錄: 2024-12-26
查看沖出槍林彈雨的 主題 / 回貼
6樓  發表于: 2022-09-15 12:54
圖片:
圖片:
看了你圖中發送內容,你用的工具多發了兩個字節內容
技術交流vx: Electric973
紅云123
級別: 略有小成
精華主題: 0
發帖數量: 284 個
工控威望: 355 點
下載積分: 2838 分
在線時間: 140(小時)
注冊時間: 2020-09-22
最后登錄: 2024-12-26
查看紅云123的 主題 / 回貼
7樓  發表于: 2022-09-15 13:11
有可能是測試工具的問題
投湖自盡的魚
級別: 略有小成
精華主題: 0
發帖數量: 308 個
工控威望: 361 點
下載積分: 1293 分
在線時間: 305(小時)
注冊時間: 2020-10-23
最后登錄: 2024-12-26
查看投湖自盡的魚的 主題 / 回貼
8樓  發表于: 2022-09-16 08:41
換個調試軟件直接自己寫負數的報文,看看是不是還會多出來字節
投湖自盡的魚
級別: 略有小成
精華主題: 0
發帖數量: 308 個
工控威望: 361 點
下載積分: 1293 分
在線時間: 305(小時)
注冊時間: 2020-10-23
最后登錄: 2024-12-26
查看投湖自盡的魚的 主題 / 回貼
9樓  發表于: 2022-09-16 08:43
你用這個軟件試試,也是這個網站里面的
樓主留言:
真誠感謝!
附件: TCP和MODBUS-TCP通訊調試軟件V1.2_Wince_Winxp_通用版.zip (138 K) 下載次數:133
網站提示: 請不要用迅雷下載附件,容易出錯