REAL/LREAL_TO_<type>

Der IEC-Operator dient der Konvertierung vom Datentyp REAL und LREAL in einen anderen Datentyp.

Syntax:

REAL_TO_<Datentyp>

LREAL_TO_<Datentyp>

TwinCAT rundet den Real-Wert des Operanden nach oben oder unten auf einen ganzzahligen Wert und wandelt in den entsprechenden Datentyp um. Ausgenommen davon sind die Datentypen STRING, BOOL, REAL und LREAL.

REAL/LREAL_TO_<type> 1:

Wenn Sie ein eine Zahl vom Typ REAL oder LREAL zu SINT, USINT, INT, UINT, DINT, UDINT, LINT oder ULINT konvertieren und der Wert der REAL/LREAL-Zahl außerhalb des Wertebereichs des Integer liegt, erhalten Sie ein undefiniertes Ergebnis. Auch ein Ausnahmefehler ist dann möglich!

Beachten Sie bei der Konvertierung in den Datentyp STRING, dass die Gesamt-Kommastellen-Zahl auf 16 begrenzt ist. Enthält die (L)REAL-Zahl mehr Stellen, wird die sechzehnte Stelle gerundet und so im String dargestellt. Wenn der String für die Zahl zu kurz definiert ist, schneidet TwinCAT von rechts her ab.

REAL/LREAL_TO_<type> 2:

Bei der Typkonvertierung von größeren zu kleineren Datentypen können Informationen verloren gehen.

Beispiele:

ST-Code

Ergebnis

nVar1 := REAL_TO_INT(1.5);

2

nVar2 := REAL_TO_INT(1.4);

1

nVar1 := REAL_TO_INT(-1.5);

-2

nVar2 := REAL_TO_INT(-1.4);

-1

FUP-Code

Ergebnis

REAL/LREAL_TO_<type> 3:

2

Siehe auch: