OSCAT Forum
oscat.lib => oscat.lib fuer TwinCAT/CoDeSys => Thema gestartet 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
-
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
-
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.
-
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]
-
ok macht sinn die funktionen nehme ich in der nächsten release auf.