yijun8
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 26 個
工控威望: 123 點
下載積分: 6468 分
在線時間: 27(小時)
注冊時間: 2010-11-06
最后登錄: 2019-03-03
查看yijun8的 主題 / 回貼
樓主  發(fā)表于: 2014-07-16 10:02
MX Compent  v4.04 32位浮點數(shù)據(jù)的讀與寫?有誰會?
yijun8
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 26 個
工控威望: 123 點
下載積分: 6468 分
在線時間: 27(小時)
注冊時間: 2010-11-06
最后登錄: 2019-03-03
查看yijun8的 主題 / 回貼
1樓  發(fā)表于: 2014-07-21 07:21
沒有知道?用C#讀QPLC中的浮點數(shù)據(jù)?
john42tw
級別: 網(wǎng)絡(luò)英雄
精華主題: 0
發(fā)帖數(shù)量: 1276 個
工控威望: 6107 點
下載積分: 52058 分
在線時間: 1120(小時)
注冊時間: 2012-04-24
最后登錄: 2024-09-30
查看john42tw的 主題 / 回貼
2樓  發(fā)表于: 2014-07-21 11:59
PLC中實數(shù)(浮點數(shù))為2個D所組成 。
實數(shù)範圍:0,±2-127 ~ ±2129    (±1.175E-38~±3.402E+38)

例 :某浮點數(shù) 2進位
= 0100  0010  1010  0010  0000  0000  0000  0000  

若是以float precision 格式的話
其中,bit 31 為符號位元 (sign bit),「0」代表正號,「1」代表負號。

bit 23 到 bit 30 為指數(shù)欄位 (exponent field),總共 8 個位元。這個欄位使用「excess-127碼」來儲存以 2 為底的指數(shù),也就是說,先將真正的指數(shù)再加上 127 之後,才會存入此欄位中。

例如,若指數(shù)為 0,則將 0+127 = 127。

bit 0 到 bit 22 為尾數(shù)欄位 (mantissa field; 亦稱為 significand field; 有效數(shù)欄位、或 fraction field; 小數(shù)欄位),總共 23 個位元。資料存入這個欄位之前,需經(jīng)過正規(guī)化的運算。

因此反推~
0100 0010 1010 0010 0000 0000 0000 0000  符號 0  => 為正數(shù)

0100 0010 1 010 0010 0000 0000 0000 0000  指數(shù) 10000101 = 133 133-127=6

0100 0010 1010 0010 0000 0000 0000 0000   尾數(shù)欄位  010 0010 0000 0000 0000 0000
                     為固定補1=> 1010 0010 0000 0000 0000 0000


=> 1* 26+0* 25+1* 24+0* 23+ 0* 22+0* 21+1* 20+0* 2-1+0* 2-2+….….. +0* 2-25  (6~ -25共32位)
=1*64+0*32+1*16+0*8+0*4+0*2+1*1+0*(1/2)+0*(1/4)+0*(1/8)……………..
= 64  + 0  +  16 + 0  + 0 + 0  + 1 +  0   +  0    +  0 …………….
= 81
[ 此帖被john42tw在2014-07-21 13:03重新編輯 ]
yijun8
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 26 個
工控威望: 123 點
下載積分: 6468 分
在線時間: 27(小時)
注冊時間: 2010-11-06
最后登錄: 2019-03-03
查看yijun8的 主題 / 回貼
3樓  發(fā)表于: 2014-07-21 22:28
首先感謝,試試再說