gaokunjian
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 190 個
工控威望: 337 點
下載積分: 1072 分
在線時間: 354(小時)
注冊時間: 2011-06-27
最后登錄: 2024-10-08
查看gaokunjian的 主題 / 回貼
樓主  發(fā)表于: 2013-11-29 08:25
最近拿到一國外的傳感器模塊,采用RS485通信,通信協(xié)議里說輸出的數(shù)據(jù)是32位單精度IEEE-754浮點數(shù),想通過PLC把它轉(zhuǎn)換為十進(jìn)制的數(shù),用在人機(jī)上做顯示,請問該怎么去轉(zhuǎn)換?如輸出的數(shù)據(jù)為0x41280000,則十進(jìn)制表示為10.50?
請高手解答!
john42tw
級別: 網(wǎng)絡(luò)英雄
精華主題: 0
發(fā)帖數(shù)量: 1278 個
工控威望: 6109 點
下載積分: 52272 分
在線時間: 1123(小時)
注冊時間: 2012-04-24
最后登錄: 2024-12-19
查看john42tw的 主題 / 回貼
1樓  發(fā)表于: 2013-11-29 09:29
單精度IEEE-754浮點數(shù) 詳細(xì)解說上網(wǎng)查詢

    4        1         2         8         0         0          0        0
=0100   0001   0010   1000    0000   0000   0000   0000


bit 31       正負(fù)號     "0"  => +

bit23~30  指數(shù)       "100 0001 0" =>130    130-127=3  =>3次方

bit 0 ~22  尾數(shù)(要加1)=>"1010   1000    0000   0000   0000   0000"
                                   =1*2^3+0*2^2+1*2^1+0*2^0+1*2^-1.............
                                   =8        +0       +    2    +  0    + 0.5
                                   =10.5

  
john42tw
級別: 網(wǎng)絡(luò)英雄
精華主題: 0
發(fā)帖數(shù)量: 1278 個
工控威望: 6109 點
下載積分: 52272 分
在線時間: 1123(小時)
注冊時間: 2012-04-24
最后登錄: 2024-12-19
查看john42tw的 主題 / 回貼
2樓  發(fā)表于: 2013-11-29 10:20
把數(shù)據(jù)存在 (D1) D0
[FLT D0 D10]
(D11)D10就是浮點數(shù) 10.5
人機(jī)上將D10設(shè)定為浮點數(shù)
本帖最近評分記錄:
  • 下載積分:+1(catywu) 熱心助人!
    john42tw
    級別: 網(wǎng)絡(luò)英雄
    精華主題: 0
    發(fā)帖數(shù)量: 1278 個
    工控威望: 6109 點
    下載積分: 52272 分
    在線時間: 1123(小時)
    注冊時間: 2012-04-24
    最后登錄: 2024-12-19
    查看john42tw的 主題 / 回貼
    3樓  發(fā)表于: 2013-11-29 13:17
    引用
    引用第4樓gaokunjian于2013-11-29 10:47發(fā)表的  :

    FX3G,沒有FLT指令,暈啊

    把數(shù)據(jù)存在 (D1) D0
    人機(jī)上將D0設(shè)定為浮點數(shù)
    試看看