sihu国产精品永久免费_日韩午夜在线视频_久久99中文字幕伊人_古代男男嗯…啊h总攻

zzgzlp
級別: 略有小成
精華主題: 0
發帖數量: 106 個
工控威望: 256 點
下載積分: 1709 分
在線時間: 96(小時)
注冊時間: 2012-12-10
最后登錄: 2024-11-17
查看zzgzlp的 主題 / 回貼
樓主  發表于: 2020-01-31 18:12
圖片:
圖片:
各位朋友,我購了一個儀表,說明書舉例說明,讀取的數據是43960000是浮點數對應的十進制數值是300。因為需要浮點數運算,我在三菱FX3U監控數據時發現,       發現300的浮點數是300.000。怎么會不一樣呢?!
附件: WPJDL Modbus RTU通訊協議 E02D2.doc (163 K) 下載次數:39
網站提示: 請不要用迅雷下載附件,容易出錯
john42tw
級別: 網絡英雄
精華主題: 0
發帖數量: 1278 個
工控威望: 6109 點
下載積分: 52522 分
在線時間: 1124(小時)
注冊時間: 2012-04-24
最后登錄: 2024-12-30
查看john42tw的 主題 / 回貼
1樓  發表于: 2020-02-04 08:07
引用
引用第2樓zzgzlp于2020-01-31 20:19發表的  :
你好,大神。你的意思是300.00這個是十進制的浮點數,43960000是它的16進制形式,對吧。那三菱軟件哪個指令把43960000轉換成300.00呢


沒有這個指令。需自己轉換。

給你範例


實數的解析:

PLC中實數(浮點數)為2個D所組成 。
實數範圍:0,±2-127 ~ ±2129    (±1.175E-38~±3.402E+38)

例 :某浮點數 2進位
= 0100  0010  1010  0010  0000  0000  0000  0000    (十六進制  42A20000)

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

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

例如,若指數為 0,則將 0+127 = 127。

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

因此反推~
0100 0010 1010 0010 0000 0000 0000 0000  符號 0  => 為正數 (1位元)

0100 0010 1010 0010 0000 0000 0000 0000  指數 10000101 = 133 133-127=6 (8位元)

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

啟始值 26   6 為指數,依次遞減。
=> 1* 26+0* 25+1* 24+0* 23+ 0* 22+0* 21+1* 20+0* 2-1+0* 2-2+….….. +0* 2-17  (6~ -17共24位元)
  =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
本帖最近評分記錄:
  • 下載積分:+5(勤工儉學) 好貼好貼!