- Home
- Funktionen/Funktionsbausteine - Referenz
- IEC 61131-3 Funktionen und Funktionsbausteine
- Funktionen zur Typumwandlung (Konvertierung)
- TO_USINT
TO_USINT
Typ | Funktion | ||||||||||||||||||||||||||||||||||
Beschreibung | Die überladene Funktion TO_USINT konvertiert den am Eingang anliegenden Wert in einen Ausgangswert vom Datentyp USINT (siehe Beschreibung des Eingangs für die unterstützten Datentypen). | ||||||||||||||||||||||||||||||||||
Parameter | Eingang
![]()
![]()
|
||||||||||||||||||||||||||||||||||
Konvertierungsregeln | ![]() Die Konvertierung erfolgt durch bitweises Kopieren des Eingangswerts in den Ausgangswert, d.h. es erfolgt eine binäre Übertragung vom Eingangsdatentyp in den Ausgangsdatentyp. Ist der Eingangsdatentyp größer als der USINT-Ausgang (> 8 Bit), werden nur die Bits 0 bis 7 des Eingangswertes in den Ausgangswert kopiert. ![]() Für die Datentypkonvertierung gilt folgendes:
Beispiel:
![]() Die Typkonvertierung erfolgt in zwei Schritten. Zuerst wird die Gleitkommazahl auf die nächst größere ganze Zahl gemäß den Standard-Rundungsregeln gerundet (Bsp.: 2,5 wird auf 3 aufgerundet und -2,5 auf -3). Im zweiten Schritt wird der gerundete Eingangswert in die niederwertigsten Bits des Ausgangswerts geschrieben.
![]()
|
||||||||||||||||||||||||||||||||||
Fehlerverhalten | ![]() Die folgende Tabelle zeigt die Fehler, die bei der Ausführung der Funktion auftreten können, und den von der Funktion im entsprechenden Fehlerfall zurückgegebenen Wert.
Tritt einer der aufgeführten String-Fehler auf, wird ein String-Fehler im Online-Protokoll des MELDUNGEN-Fensters ausgegeben.
Hinweis zu großen Real-Werten Beispiel: 3.6000000E+7 => 3.600000E+7 => SINT: 0 3.6000001E+7 => 3.600000E+7 => SINT: 0 3.6000002E+7 => 3.600000E+7 => SINT: 0 3.6000003E+7 => 3.600004E+7 => SINT: 4 3.6000004E+7 => 3.600004E+7 => SINT: 4 ... Die Werte 3.600001E+7, 3.600002E+7 und 3.600003E+7 können nicht als REAL-Werte dargestellt werden und werden deshalb auf den nächstmöglichen REAL-Wert gesetzt. Das führt zu Lücken. Je größer die Zahl ist, desto größer wird die Lücke, solange bis immer 0 als Ergebnis angezeigt wird. |
||||||||||||||||||||||||||||||||||
Beispiele | ![]() out := TO_USINT(16#7F); (* liefert 127 *) out := TO_USINT(16#FFFF); (* liefert 255 *) out := TO_USINT(16#AFFFFFF0); (* liefert 240 *) out := TO_USINT(INT#127); (* liefert 127 *) out := TO_USINT(INT#32767); (* liefert 255 *) out := TO_USINT(INT#-32768); (* liefert 0 *) out := TO_USINT(SINT#-128); (* liefert 128 *) out := TO_USINT(REAL#2.55E+002); (* liefert 255 *) out := TO_USINT(REAL#2.56E+002); (* liefert 0 *) out := TO_USINT('123'); (* liefert 123 *) |
||||||||||||||||||||||||||||||||||
Zusätzliche Informationen | ![]() Die POE wird nur dann ausgeführt, wenn TRUE am Eingang EN anliegt. Wenn EN = FALSE ist, wird die POE nicht ausgeführt und ENO auf FALSE gesetzt (FU/FB inaktiv). Wenn bei der Ausführung der Funktion einer der unter "Fehlerverhalten" aufgeführten Fehler auftritt, wird ENO auf FALSE gesetzt.
|