Вы можете использовать тип UNION, который по тому же адресу будет содержать байтовый массив (например, тот, который вы получаете из вашего UDP-соединения) и реальную переменную, в которую вы хотите преобразовать.
Когда вы меняете байтовый массив, реальный автоматически отражает его. Фактически, конверсия работает и наоборот.
TYPE U_Convert :
UNION
arrUDP_Data: ARRAY [0 .. 3] OF BYTE; // Array must start with LSB
rReal : REAL;
END_UNION
END_TYPE
В MAIN вы можете указать следующую переменную.
VAR
uConvert: U_Convert;
fValue : REAL;
END_VAR
А в теле MAIN обновите байтовый массив до запрошенных значений.
// Here we update the byte array
uConvert.arrUDP_Data[0] := 16#F4; // LSB
uConvert.arrUDP_Data[1] := 16#E0;
uConvert.arrUDP_Data[2] := 16#7A;
uConvert.arrUDP_Data[3] := 16#BE; // MSB
// Here we 'use' the converted value
fValue := uConvert.rReal;