有個(gè)學(xué)員問我,他在用S7-300讀取變頻器的參數(shù)P1082時(shí)(1082=16#43A),PLC 發(fā)送的4個(gè)字為16#143A 0000 0000 0000,變頻器返回的為16#243A 0000 4248 0000。變量的浮點(diǎn)數(shù)值為16#42480000,對(duì)應(yīng)的浮點(diǎn)數(shù)到底是多少?
在監(jiān)視用的變量表中,將十六進(jìn)制雙字16#42480000的顯示格式改為FLOATING_POINT(浮點(diǎn)數(shù)),就可以看到對(duì)應(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,最高為符號(hào)位。
在西門子的軟件中,一般并不使用二進(jìn)制格式或十六進(jìn)制格式的浮點(diǎn)數(shù),而是用十進(jìn)制小數(shù)來輸入或顯示浮點(diǎn)數(shù),例如在STEP 7中,50為16位整數(shù),而50.0為浮點(diǎn)數(shù)。