REAL_TO/LREAL_TO-Konvertierungen

Allgemeine Informationen

Allgemeine Hinweise, die bei der Typkonvertierung zu berücksichtigen sind, finden Sie im Kapitel zu den Funktionen der Typkonvertierung.

Definition

IEC-Operator für Konvertierungen vom Variablentyp REAL oder LREAL in einen anderen Typ.

Es wird nach oben oder unten auf einen ganzzahligen Wert gerundet und in den entsprechenden Variablentypen konvertiert.

Ausgenommen davon sind die nachstehenden Variablentypen:

  • STRING

  • BOOL

  • REAL

  • LREAL

HINWEIS: Die Rundungslogik, die angewendet wird, ist vom Zielsystem oder der FPU (Floating Point Unit / Gleitkommaeinheit) des Zielsystems abhängig. Der Wert -1.5 kann somit in verschiedenen Steuerungen unterschiedlich konvertiert werden.

Konvertierungsergebnisse

Wenn ein REAL oder LREAL in SINT, USINT, INT, UINT, DINT, UDINT, LINT oder ULINT konvertiert wird und der Wert außerhalb des Wertebereichs des Integers liegt, erhält man ein undefiniertes Ergebnis, das zu einer Steuerungsausnahme führen kann.

HINWEIS: Bestätigen Sie die Wertebereichüberschreitungen von Ihrer Applikation und vergewissern Sie sich, dass sich die Werte der Datentypen REAL oder LREAL innerhalb der Grenzen des Zielinteger befinden, bevor Sie die Konvertierung durchführen.

Beachten Sie bei der Konvertierung in den Typ STRING, dass die Gesamtkommastellenzahl auf 6 begrenzt ist. Enthält die (L)REAL-Zahl mehr Stellen, dann wird die 6. Stelle gerundet. Wenn der STRING für die Zahl zu kurz definiert ist, wird von rechts her entsprechend abgeschnitten.

Beispiel in ST

Beispiele in ST mit Konvertierungsergebnissen:

Beispiel

Resultat

i := REAL_TO_INT(1.5);

2

j := REAL_TO_INT(1.4);

1

i := REAL_TO_INT(-1.5);

–2

j := REAL_TO_INT(-1.4);

–1

Beispiel in AWL/IL

LD                2.75
REAL_TO_INT
ST                i

Beispiel in FBD