TO_REAL-Baustein
Kurz-Information
Name | TO_REAL |
---|---|
→POE-Typ | →Funktion |
Kategorie | IEC-Baustein, Convert, Baustein mit interner Fehlerdiagnose |
Konform zur →IEC-Norm |
|
Grafische Schnittstelle | |
Verfügbar ab |
|
Funktionalität
Der Baustein dient zur expliziten Konvertierung des an IN
anliegenden Werts in einen Wert vom Datentyp REAL
.
Falls der anliegende Wert im gemeinsamen Wertbereich des Eingangsdatentyps und des Ergebniswerts REAL
liegt, so liefert der Baustein diesen Wert.
Beachten Sie:
- Falls ein Wert vom Datentyp
STRING
am Eingang anliegt, der einem gültiger Real-Literal entspricht (siehe die folgende Tabelle für Beispiele), wird der Wert entsprechend konvertiert. Der AusgangENO
wird hier auf den WertTRUE
gesetzt.
Bei anderen Werten liefert der Baustein den Wert0.0
. Hier wird der AusgangENO
auf den WertFALSE
gesetzt. Sonderfall: Falls der anliegende Wert mit einem gültigen Real-Literal beginnt und dahinter andere Zeichen folgen (z.B. '3.14159_26'
,STRING#'1.5 E10'
,'-INFxxx'
), liefert der Baustein den Anfangswerts, wie er unterstützt wird (also:3.14159
,1.5
,-INF
) und der AusgangENO
wird auf den WertFALSE
gesetzt.Beschreibung Beispiele für Werte vom Datentyp STRING, die einem gültigen Real-Literal entsprechen Real-Literal '0', '0.0', '0.4560', '3.1415926', '-123456789',
STRING#'0', STRING#'0.0', STRING#'0.4560', STRING#'3.1415926', STRING#'-123456789'Real-Literal mit Exponenten '-1.34E-12', '-1.34e-12',
'1.0E+6', '1.0e+6, 1E+6',
'1.234E6', '1.234e6',
STRING#'-1.34E-12', STRING#'-1.34e-12', STRING#
'1.0E+6', STRING#'1.0e+6, STRING#1E+6', STRING#
'1.234E6', STRING#'1.234e6',
' 987e-3', ' +2.5E30',
STRING#' 987e-3', STRING#' +2.5E30'keine Zahl ("Not a Number") oder unendlich ("Infinity") 'Nan', 'INF', '-INF'
Real-Literale mit der Typangabe
REAL
bzw.LREAL
sind keine gültigen Real-Literale.
Beispiel für Werte vom DatentypSTRING
, die einem ungültigen Real-Literal entsprechen:'REAL#0.0'
bzw.'LREAL#0.0'
- Falls ein Wert vom Datentyp
CHAR
am Eingang anliegt, der einem gültiger Real-Literal entspricht (z.B.'0'
,CHAR#'9'
), wird der Wert entsprechend konvertiert (also:0.0
,9.0
). Der AusgangENO
wird hier auf den WertTRUE
gesetzt.
Bei anderen Werten (z.B.'+'
,CHAR#A
) liefert der Baustein den Wert0.0
. Hier wird der AusgangENO
auf den WertFALSE
gesetzt.
Explizite Konvertierung laut IEC-Norm
Die IEC-Norm sieht eine explizite Konvertierung der folgenden Datentypen auf REAL
vor:
LREAL
, LINT
, DINT
, INT
, SINT
, ULINT
, UDINT
, UINT
, USINT
, DWORD
Die IEC-Norm (Edition 3.0) sieht eine binäre Übertragung der nachfolgenden Eingangsdatentypen vor. Abweichend davon wird der entsprechende Wert aber laut IEC-Norm (Edition 2.0) konvertiert.
DWORD
Beispiel 1: Der DWORD
-Wert 16#43BE4000
wird in den REAL
-Wert 1.136542E+9
konvertiert. Die Konvertierung laut Edition 3.0 würde aber den REAL
-Wert 380.5
ergeben.
Beispiel 2: Der DWORD
-Wert 123
wird in den REAL
-Wert 123.0
konvertiert. Die Konvertierung laut Edition 3.0 würde aber den REAL
-Wert 172.3597E-45
ergeben.
Eingänge, Ergebniswert
Bezeichner | →Datentyp | Beschreibung | |
---|---|---|---|
Eingänge: | IN |
| zu konvertierender Wert |
Ergebniswert: | – | REAL |
Der Eingang EN
und der Ausgang ENO
sind für den →Aufruf des Bausteins verfügbar. Siehe "Ausführungssteuerung: EN, ENO" für Informationen zum Eingang EN
und zum Ausgang ENO
.
Interne Fehlerdiagnose für Baustein
Der Baustein prüft den Wert, der am Eingang anliegt. In den folgenden Fällen wird der Ausgang ENO
des Bausteins auf den Wert FALSE
(oder eine Entsprechung) zurückgesetzt:
- Ein
STRING
-Wert enthält ein nicht-erlaubtes Zeichen oder beginnt damit. (Der Wert, den der Baustein liefert, ist von der Postion der nicht-erlaubten Zeichen abhängig. Siehe die Beschreibung unter "Funktionalität" oben.) - Der
CHAR
-Wert ist ein nicht-erlaubtes Zeichen. (In diesem Fall liefert der Baustein außerdem den Wert0.0
.)
Beispiel für Verwendung im ST-Editor
PROGRAM Test VAR result : REAL; END_VAR result := TO_REAL(IN := SINT#12); (* The variable 'result' evaluates to value '12.0' of REAL. *) END_PROGRAM
Bei der Erstellung Ihrer Anwendung im ST-Editor erstellen Sie den Aufruf eines Bausteins, indem Sie den laut Syntax erforderlichen Text eintippen oder die Inhaltshilfe verwenden.