OSCAT Forum

oscat.lib => oscat.lib fuer TwinCAT/CoDeSys => Thema gestartet von: Mr. Spok am 16. April 2008, 07:43:01

Titel: IEEE754-Format
Beitrag von: Mr. Spok am 16. April 2008, 07:43:01
Hallo liebe Oscat-User,

suche eine Funktion die mir eine IEEE754-Zahl 32bit in eine Real-Zahl umwandelt (und umgekehrt) gibt es die schon in der Bilbliothek?

mfG Jan
Titel: Re: IEEE754-Format
Beitrag von: Mr. Spok am 16. April 2008, 10:07:27
Hallo,

habe das Umwandlungsproblem schnell lösen können

hier die Funktionen:
IEEE32 in REAL

FUNCTION IEEE32_TO_REAL : REAL
VAR_INPUT
IN:DWORD;
END_VAR
VAR
PTREAL:POINTER TO REAL;
END_VAR

PTREAL:=ADR(IN);
IEEE32_TO_REAL:=PTREAL^;
END_FUNCTION


REAL in IEEE32

FUNCTION REAL_TO_IEEE32 : DWORD
VAR_INPUT
IN:REAL;
END_VAR
VAR
PTDWORD:POINTER TO DWORD;
END_VAR

PTDWORD:=ADR(IN);
REAL_TO_IEEE32:=PTDWORD^;

END_FUNCTION

getestet auf einer EC4P von Moeller. Die Funktionen können gerne in die Bibliothek aufgenommen werden.

mfG Jan
Titel: Re: IEEE754-Format
Beitrag von: hugo am 17. April 2008, 07:01:21
ich verstehe den sinn noch nicht ganz, wann kommt es vor das man einen real nicht als real sondern als dword vorliegen hat.
wozu wird es gebraucht.
Titel: Re: IEEE754-Format
Beitrag von: Mr. Spok am 17. April 2008, 09:43:07
Hallo Hugo,

ich bekomme die Daten von einem Frequenzumrichter (SDO-Parameter) über CAN-BUS als 4 einzele Bytes, die schiebe ich dann entsprechend in ein DWORD,
Der Inhalt des DWORD soll eine REAL-Zahl darstellen.

mfG Jan

[gelöscht durch Administrator]
Titel: Re: IEEE754-Format
Beitrag von: hugo am 18. April 2008, 04:05:51
ok macht sinn die funktionen nehme ich in der nächsten release auf.