曾姚王
紙上得來終覺淺,絕知此事要躬行!
級別: 略有小成
|
今天用臺達的一個DVP-08SN 485RTU讀一個儀表的數據,始終是1,后來用串口讀出,發現數據類型只有選擇FLOAT INVERSE才正確,請問,浮點反轉這個數據是怎么回事。讀出42F6CCCDH怎么浮點數是123.4 [ 此帖被曾姚王在2024-10-17 17:03重新編輯 ] |
---|---|
|
暴躁小白兔
級別: 探索解密
|
圖片:
什么儀表,秀出來長長見識 ------------------------------------ 在工業通信和數據采集領域,"Float Inverse"(浮點反轉)這個術語通常用于描述一種特定的數據格式,特別是在Modbus協議中。在這種格式下,浮點數的字節序(byte order)是相反的,也就是說,浮點數的高位字節(most significant byte, MSB)存儲在較低的地址,而低位字節(least significant byte, LSB)存儲在較高的地址。這種存儲方式與標準的大端(big-endian)或小端(little-endian)字節序相反。 在某些情況下,儀表或設備可能使用浮點反轉格式來存儲或傳輸浮點數。例如,根據西門子官方支持論壇的討論 ,當從Modbus儀表讀取浮點數時,如果發現讀取的值與預期不符,可能需要考慮字節序的問題。在這種情況下,可能需要在讀取數據后對字節序進行調整,以獲得正確的浮點數值。 處理浮點反轉數據的一般步驟可能包括: 讀取包含浮點數的兩個連續的Modbus寄存器(通常為16位,或2個字節)。 交換這兩個寄存器的字節序,使得原本的高位字節變為低位字節,反之亦然。 將調整后的字節重新組合成一個浮點數,以獲得正確的數值。 需要注意的是,處理浮點反轉數據時,應確保了解設備的文檔和規范,以正確理解數據格式和所需的字節序調整。在某些情況下,可能需要使用特定的軟件工具或編程技巧來實現這一過程。 樓主留言:謝謝,我再看看怎么轉,臺達都十幾年沒用了。 [ 此帖被暴躁小白兔在2024-10-18 14:13重新編輯 ] |
---|---|
|
hgz284631157
工控小君
級別: 略有小成
|
123.4 是42F6CCCD H (H表示16進制) 對應的十進制是 1123470541 |
---|---|
|
高邁德io模塊
佛山高邁德科技專業研發生產Profinet轉modbus模塊
級別: 探索解密
|
浮點數?16進制的? |
|
---|---|---|
|