csq663347
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 65 個
工控威望: 205 點
下載積分: 1775 分
在線時間: 162(小時)
注冊時間: 2014-04-14
最后登錄: 2024-09-15
查看csq663347的 主題 / 回貼
樓主  發(fā)表于: 2022-05-17 20:38
各位老大!ADPRW指令 ADPRW  H1  H4  H2  H2   D1000  M100 這條指令把數(shù)據(jù)讀回來放在了D1000 和D1001里面了,我要如何轉(zhuǎn)換成32位浮點數(shù)?

                      D1000=4028    (16進制)  D1001=C16E   (16進制)      
[ 此帖被csq663347在2022-05-17 20:52重新編輯 ]
gxtmdb82164
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 749 個
工控威望: 1127 點
下載積分: 357 分
在線時間: 589(小時)
注冊時間: 2019-09-22
最后登錄: 2024-11-12
查看gxtmdb82164的 主題 / 回貼
1樓  發(fā)表于: 2022-05-18 09:37
要看你讀的源頭是什么格式的,你這個數(shù)據(jù)隨便找個在線的浮點數(shù)轉(zhuǎn)換器驗證了一下已經(jīng)是合法的浮點數(shù),如果格式符合你的邀請那么直接用就行了.

你這個數(shù)據(jù)簡單驗證了一下是-14.9,如果數(shù)值是對的,那么后面就可以直接用PLC的浮點運算指令去操作了,實際上你在PLC里面監(jiān)控的時候也可以切換一下顯示格式以浮點格式顯示,這樣可以直接看到讀進來的數(shù)值.

modbus浮點數(shù)傳輸需要注意的只有一個大小端問題,就是ABCD還是CDAB,或者有變態(tài)的是BADC或者DCBA這種的,但是要驗證也是很簡單的,一共就那么幾種組合.