Por lo que entiendo tenes tu evento OnPacket donde recibis los datos, ahi copias el contenido a un buffer interno o lo procesas directamente (preferible lo primero)
Código Delphi
[-]
procedure CargarDatos(Data : PByte)
var
....
begin
if (Data[0] <> 85) then Exit;
if (Data[1] <> 18) then Exit;
if (Data[2] <> 1) then Exit;
FVelViento = WordToFloat(Data[3] * 16 + Data[4]);
....
end;
esto es una idea de lo que tenes que hacer.
falta definir tambien tu funcion
WordToFloat que es la que te transforma tu formato de dato.
Espero que te ayudea empezar