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 STRING in einen anderen Typ.
Syntax
STRING_TO_<Datentyp>
Spezifizieren von Werten
Spezifizieren Sie den Operand vom Typ STRING gemäß der Norm IEC61131-3. Der Wert muss einer gültigen Konstanten (Literal) des Zieltyps entsprechen.
Konvertierbare Zeichenfolgenden können Folgendes enthalten:
-
Zahl mit Typpräfix (Beispiel: '16#FFFFFFFF'
)
-
Zahl mit Gruppierungszeichen (Beispiel: '2#1111_1111'
)
HINWEIS: Verwenden Sie das Unterstreichungszeichen, da das internationale Gruppierungszeichen für Gewicht und Maß (schmales Leerzeichen) nicht zulässig ist.
-
Gleitkommazahl, ebenfalls in exponentieller Darstellung (Beispiel: '9.876'
oder '1.2E-34'
)
HINWEIS: Gleitkommazahlen können nicht konvertiert werden. Das Komma wird als nachfolgendes Zeichen gehandhabt und deshalb abgeschnitten.
-
Uhrzeit, Tageszeit und Datumsangabe mit Präfix und Größe (Beispiel: 'T#2h'
, 'DT#2019-9-9-12:30:30.9'
)
-
Unendliche Werte (Beispiel: '1.7E+400'
)
-
Zusätzliche Zeichen nach einer Zahl (Beispiel: '2m'
oder '3.14'
) werden abgeschnitten. Zusätzliche Zeichen vor einer Nummer sind nicht zulässig.
-
Leerzeichen davor (Beispiel: ' 3.14'
)
Der Operand muss einen gültigen Wert des Zieldatentyps repräsentieren.
HINWEIS: Wenn der Datentyp des Operanden nicht dem Zieltyp entspricht oder wenn der Wert den Bereich des Zieldatentyps überschreitet, dann ist das Ergebnis vom Prozessortyp abhängig und demzufolge undefiniert.
Dadurch kann es passieren, dass bei der Typkonvertierung von größeren auf kleinere Typen Information verloren geht.
VORSICHT
|
|
DATENVERLUST
Bei der Konvertierung nicht übereinstimmender Datentypen oder wenn der zu konvertierende Wert größer ist als der Zieldatentyp, müssen Sie sicherstellen, dass das Ergebnis in Ihrer Anwendung validiert wird.
Die Nichtbeachtung dieser Anweisungen kann Verletzungen oder Sachschäden zur Folge haben.
|
Beispiel in AWL/IL
Beispiel
|
Ergebnis der Konvertierung
|
LD 'TRUE'
STRING_TO_BOOL
ST b
|
TRUE
|
Beispiele in ST
Beispiel
|
Ergebnis der Konvertierung
|
b := STRING_TO_BOOL('TRUE');
|
TRUE
|
w := STRING_TO_WORD('abc34');
|
0
|
w := STRING_TO_WORD('34abc');
|
34
|
t := STRING_TO_TIME('T#127ms');
|
T#127ms
|
r := STRING_TO_REAL('1.234');
|
1.234
|
bv := STRING_TO_BYTE('500');
|
244
|
Beispiel in FBD
Beispiel
|
Ergebnis der Konvertierung
|
|
TRUE
|