有個學(xué)員問我,他在用s7-300讀取變頻器的參數(shù)p1082時(1082=16#43a),plc 發(fā)送的4個字為16#143a 0000 0000 0000,變頻器返回的為16#243a 0000 4248 0000。變量的浮點(diǎn)數(shù)值為16#42480000,對應(yīng)的浮點(diǎn)數(shù)到底是多少?
在監(jiān)視用的變量表中,將十六進(jìn)制雙字16#42480000的顯示格式改為floating_point(浮點(diǎn)數(shù)),就可以看到對應(yīng)的浮點(diǎn)數(shù)為50.0。
浮點(diǎn)數(shù)又稱為實(shí)數(shù)(real),用32位二進(jìn)制數(shù)表示。浮點(diǎn)數(shù)表示為1.m 乘以2的e次方。其中尾數(shù)1.m和指數(shù)e均為二進(jìn)制數(shù),e可能是正數(shù),也可能是負(fù)數(shù)。 ansi/ieee 754-1985標(biāo)準(zhǔn)格式的32位實(shí)數(shù)的格式為1.m乘以2的e次方,式中指數(shù)e = e +127為8位正整數(shù)。
尾數(shù)的小數(shù)部分m為第0~22位,第23~30位為指數(shù)e,最高為符號位。
在西門子的軟件中,一般并不使用二進(jìn)制格式或十六進(jìn)制格式的浮點(diǎn)數(shù),而是用十進(jìn)制小數(shù)來輸入或顯示浮點(diǎn)數(shù),例如在step 7中,50為16位整數(shù),而50.0為浮點(diǎn)數(shù)。