Überlastete Konvertierungen

Allgemeine Informationen

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

HINWEIS: Bei Konvertierungen von größeren in kleinere Datentypen können Informationen verlorengehen.

Überlastete Konvertierungen werden nicht in der Norm {(notrans) IEC 61131-3} beschrieben. Um Konformität mit der Norm zu gewährleisten, verwenden Sie die Operatoren der Syntax <type> _TO_ <another type>, wie in diesem Kapitel beschrieben.

Die Regeln für typisierte Konvertierungen gelten ebenfalls für überlastete Konvertierungen.

Definition

Bei überlasteten Konvertierungen konvertiert der Operator Werte in andere Datentypen, wobei explizit nur ein Zieldatentyp und kein Quelldatentyp (Datentyp der Operanden) angegeben wird.

Syntax

<variable name> := <TO operator> ( <operand> );
<operand> = <variable name> | <literal>

Beispiele in ST

VAR
    iNumber_1 : INT;
    rNumber_2 : REAL := 123.456;
    iNumber_2 : INT;
    xIsTrue : BOOL;
    sOutputText : STRING;
    sText : STRING := 'Hello World!';
    wsText: WSTRING;
    dateEvent : DATE := D#2019-9-3;
    uiEvent : UINT;
    uxiData : __UXINT;
END_VAR

Beispiele in ST mit Konvertierungsergebnissen:

Beispiel

Ergebnis

iNumber_1 := TO_INT(4.22);

4

iNumber_2 := TO_INT(rNumber_2);

123

xIsTrue := TO_BOOL(1); 

TRUE

sOutputText := TO_STRING(342);

'342'

wsText := TO_WSTRING(sText);

"Hello World!"

uiEvent := TO_UINT(dateEvent);

44288

uxiData := TO___UXINT(iNumber_2);

123