| 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  IN 
Ausgang
 
| Datentyp: | Die Funktion unterstützt folgende Datentypen: 
BOOL, BYTE, WORD, DWORD, LWORDInteger: SINT, INT, DINT, LINT, UINT, UDINT, ULINTGleitkommazahlen: REAL, LREALSTRING, WSTRING |   OUT | 
| Konvertierungsregeln |  ANY_BIT-Konvertierung 
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.  ANY_INT-Konvertierung 
Für die Datentypkonvertierung gilt folgendes: 
Der Quelldatentyp wird auf den größten Datentyp derselben Kategorie von Datentypen erweitert. Beispiel: ein USINT-Wert wird in einen ULINT-Wert konvertiert oder ein SINT-Wert in einen LINT-Wert). Der Quellwert bleibt dabei erhalten.Das Ergebnis wird auf den größten Datentyp der Kategorie von generischen Datentypen konvertiert, zu der der Zieldatentyp gehört. Beispiel: ein LINT-Wert wird bei einer ANY_UNSIGNED-Konvertierung in einen ULINT-Wert konvertiert.Das Ergebnis wird zum Zieldatentyp konvertiert.Eingangsgröße <= Ausgangsgröße: Ist der Eingangsdatentyp kleiner oder gleich groß wie der Zieldatentyp ist, werden alle Bits in den Ausgangswert kopiert. Bei einem Eingangswert vom Typ ANY_UNSIGNED (Ganzzahl ohne Vorzeichen), werden die "nicht verwendeten" Bits im Zieldatentyp auf 0 gesetzt. Bei einem Eingangswert vom Typ ANY_SIGNED (Ganzzahl mit Vorzeichen) wird das höchstwertige Bit (MSB) nicht weiter als Vorzeichenbit interpretiert.Eingangsgröße > Ausgangsgröße: Wenn der Wert der Quellvariable nicht in den Zieldatentyp passt, werden nur die Bits des Eingangswerts in den Zieldatentyp kopiert, die in den Zieldatentyp passen. Beispiel: bei einer TO_UDINT-Konvertierung werden nur die Bits 0 bis 31 des Eingangswerts in die Zielvariable kopiert und bei einer TO_USINT-Konvertierung nur die Bits 0 bis 7. Beispiel:out := TO_USINT(INT#-5);
 
Der INT-Wert INT# -5 wird in den LINT-Wert LINT# -5 konvertiert.Der LINT-Wert LINT#-5 wird in den ULINT-Wert ULINT#18446744073709551611 konvertiert.Der ULINT-Wert ULINT#18446744073709551611 wird in den USINT-Wert USINT#251 konvertiert.  ANY_REAL-Konvertierung 
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. 
 
| Hinweis Aufgrund des Signifikanzverlustes von REAL-Werten sollten nur REAL-Werte kleiner als LINT_MAX angelegt werden.
 |   ANY_STRING-Konvertierung 
Der String-Wert muss ein gültiges numerisches Literal des Ausgangsdatentyps sein. Andernfalls liefert die Funktion den Wert 0 zurück und der Laufzeitfehler 'Formatstringfehler' wird ausgegeben (siehe Hinweis unten).Zusätzliche Zeichen, Leerzeichen ausgenommen, vor und nach dem numerischen Literal sind nicht erlaubt. Die Funktion liefert den Wert 0 zurück und gibt den Laufzeitfehler 'Formatstringfehler' aus, wenn der String-Wert nicht erlaubte Zeichen enthält.Alle führenden und nachfolgenden Leerzeichen im Eingangsstring werden ignoriert.Als Leerzeichen betrachtete ASCII-Codes:
| Zeichen | Wert |  
| Horizontal-Tabulator | 9 (09h) |  
| Zeilenvorschub | 10 (0Ah) |  
| Vertikal-Tabulator | 11 (0Bh) |  
| Seitenvorschub | 12 (0Ch) |  
| Zeilenumbruch | 13 (0Dh) |  
| Leerzeichen | 32 (20h) | Wenn der Eingangswert den Wertebereich des Ausgangsdatentyps überschreitet, liefert die Funktion den Überlaufwert und der Laufzeitfehler 'Formatstringfehler' wird ausgegeben (siehe Hinweis unten).Binäre, oktale, hexadezimale und dezimale Ganzzahlen sind erlaubt. Beispiel:INT#2#0101 (binäre Darstellung des Werts 5)INT#8#606 (oktale Darstellung des Werts 390)INT#10#100 (dezimale Darstellung des Werts 100)INT#16#00FA (hexadezimale Darstellung des Werts 250) 
 
| Hinweis Steuerungstopp bei String-Fehler: Sie können einstellen, ob die Steuerung bei einem String-Fehler automatisch gestoppt werden soll. Dies gibt Ihnen im Fehlerfall die Möglichkeit, den Fehler in Ihrem Projekt zu lokalisieren. Um bei einem String-Fehler die Steuerung automatisch zu stoppen, aktivieren Sie das Symbol
  in der Symbolleiste des Cockpits. |  | 
| Fehlerverhalten |  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. 
 
| Fehlerfall | Ausgabewert RFC/NFC/AXC F 3152
 | Ausgabewert AXC F 2152
 |  
| Überlaufwert | Überlaufwert | Überlaufwert |  
| REAL/LREAL-Wert >= LINT_MAX | 0 | 0 
 |  
| REAL/LREAL-Wert <= LINT_MIN | 0 | 0 |  
| REAL/LREAL-Wert > ULINT_MAX | 0 | LIMIT (Maximalwert) |  
| REAL/LREAL-Wert < -ULINT_MAX | 0 | 1 |  
| REAL/LREAL: NaN | 0 | 0 |  
| REAL/LREAL: Inf+ | 0 | LIMIT (Maximalwert) |  
| REAL/LREAL: Inf- | 0 | 1 |  
| Nicht-literaler String (Ganzzahl, Binärliteral, Oktett, Hex, Dez) | 0 | 0 |  
| String-Überlauf (Ganzzahl, Binäroktett, Hex, Dez) | Überlaufwert | Überlaufwert |  | 
| Beispiele |  Beispiele in ST 
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 |  EN/ENO-Verhalten 
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. 
 |