gaokunjian
級別: 略有小成
|
最近拿到一國外的傳感器模塊,采用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ò)英雄
|
單精度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ò)英雄
|
把數(shù)據(jù)存在 (D1) D0 [FLT D0 D10] (D11)D10就是浮點數(shù) 10.5 人機(jī)上將D10設(shè)定為浮點數(shù) |
---|---|
本帖最近評分記錄: |
gaokunjian
級別: 略有小成
|
FX3G,沒有FLT指令,暈啊 |
---|---|
|
john42tw
級別: 網(wǎng)絡(luò)英雄
|
把數(shù)據(jù)存在 (D1) D0 人機(jī)上將D0設(shè)定為浮點數(shù) 試看看 |
---|---|
|
gaokunjian
級別: 略有小成
|
試了,不行呢,這可難倒我啦 ,有哪位大神有好方法啊 跪拜 |
---|---|
|
yamqq
雅馬哈,愛普生,電裝機(jī)器人。
級別: 網(wǎng)絡(luò)英雄
|
這種方法慢慢算 |
|
---|---|---|
|
catywu
級別: 家園?
|
昨天碰到相同的問題,今天早上搞定了,下載浮點數(shù)十六進(jìn)制轉(zhuǎn)換器v1.0看看數(shù)據(jù)顯示形式就明白了。很簡單的。 [ 此帖被catywu在2022-06-02 08:40重新編輯 ] |
---|---|
|
18857713026
賺點辛苦錢不容易啊 誒~~~~ 努力賺錢
級別: 略有小成
|
我之前用SMART做過 做成功能塊 換算直接調(diào)用 不支持功能塊的PLC 我想想就頭大 |
---|---|
|
catywu
級別: 家園常客
|
人機(jī)直接讀取傳感器模塊地址,人機(jī)上將傳感器模塊地址設(shè)為浮點數(shù)。我用MCGS觸摸屏讀取成功。 |
---|---|
|