Не знаю как там в GMWIN.
В Кодесис без использования указателей вычисление в соответствии с этим описанием
Захват-2.png
Код:
PROGRAM PLC_PRG
VAR
ARY_WORD: ARRAY [0..1] OF WORD:=16#4401,16#42E0; (*Данные в виде массива*)
epo: INT; (*Порядок*)
mant: DINT; (*Мантисса*)
factor: REAL; (*Знак*)
ARY_WORD_TO_FLOAT: REAL; (*Результат*)
END_VAR
IF ARY_WORD[0]>32768 THEN
factor:=factor:=-1.0;
ELSE
factor:=factor:=1.0;
END_IF
epo:=SHR((16#7F80 AND ARY_WORD[0]),7) - 127; (*Для вычисления показателя степени из восьмиразрядного поля порядка вычитается смещение порядка равное 127*)
mant:=WORD_TO_DINT(16#7F AND ARY_WORD[0])*65536 + WORD_TO_DINT(ARY_WORD[1]); (*Собираем мантиссу из частей*)
mant:=mant+16#800000; (*Для вычисления мантиссы к единице добавляется дробная часть мантиссы из 23-х разрядного поля дробной части мантиссы*)
ARY_WORD_TO_FLOAT:=factor*DINT_TO_REAL(mant)/EXPT(2,23-epo); (*Число равно произведению мантиссы со знаком на двойку в степени порядка*)
Можно оформить в виде функции.
Пример с Вашими данными
Захват-10.png