Typ | Funktion |
Beschreibung | Die überladene Funktion TO_REAL konvertiert den am Eingang anliegenden Wert in einen Ausgangswert des Datentyps REAL (siehe Beschreibung des Eingangs für die unterstützten Datentypen). |
Parameter | Eingang
IN
Datentyp: | Die Funktion unterstützt folgende Datentypen:
- BOOL, DWORD
- Integer: SINT, INT, DINT, LINT, USINT, UINT, UDINT, ULINT
- Gleitkommazahlen: LREAL
- STRING, WSTRING
|
Ausgang
OUT
|
Konvertierungsregeln | ANY_BIT-Konvertierung
Die Datentypkonvertierung des Quelldatentyps DWORD wird als binärer Transfer ausgeführt (bitweises Kopieren aus dem Quelldatentyp in den Ausgangswert vom Datentyp REAL). Bei der BOOL_TO_REAL-Konvertierung liefert die Funktion für den Eingangswert FALSE den Wert 0.0 und für den Eingangswert TRUE den Wert 1.0 zurück.
ANY_INT-Konvertierung
Der numerische Eingangswert wird gemäß IEC 60559 in das REAL-Format konvertiert. In der Norm ist das Basis-Gleitkomma-Zahlenformat definiert. Mantisse und Exponent werden automatisch gesetzt.
LREAL-Konvertierung
Bei der Konvertierung von LREAL-Datentypen in REAL-Werte ist das Verhalten im Fall eines Überlaufs/Unterlaufs Target-abhängig.
DWORD-Konvertierung
Die Konvertierung von DWORD nach REAL entspricht dem aktuellen Stand der IEC 61131-3 (3. Ausgabe). Der Gleitkommawert wird gemäß der Norm IEEE 754 gespeichert.
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. |
Hinweis: Wenn sowohl der Wertebereich als auch die Genauigkeit des Eingangsdatentyps auf den Wertebereich und die Genauigkeit des Ausgangsdatentyps übertragen (gemappt) werden können, so kann ohne Verwendung dieser Funktion eine implizite Typkonvertierung durchgeführt werden. Bei der Funktion TO_REAL trifft dies auf Eingangswerte vom Datentyp INT, SINT, UINT und USINT zu. |
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. Der Wert, den die Funktion im Fehlerfall zurückgibt, hängt vom Eingangswert ab (wenn z.B. der Eingangswert vom Datentyp LREAL größer als REAL_MAX ist, gibt die Funktion PositiveInfinity (Inf+) zurück).
Fehlerfall | Ausgabewert |
LREAL-Wert > REAL_MAX | Inf+ |
LREAL-Wert < REAL_MAX | Inf- |
LREAL: NaN | NaN |
LREAL: Inf+ | Inf+ |
LREAL: Inf- | Inf- |
|
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.
|