TO_BOOL-Baustein

Kurz-Information

Name

TO_BOOL

→POE-Typ

→Funktion

Kategorie

IEC-Baustein, Convert, Baustein mit interner Fehlerdiagnose

Konform zur →IEC-Norm

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/error.svg derzeit eingeschränkt ; siehe "Funktionalität"

und

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/add.svg mehr als in IEC-Norm vorgesehen möglich; siehe "Explizite Konvertierung laut IEC-Norm"

Grafische Schnittstelle

images/download/thumbnails/414781078/TO_BOOL-version-1-modificationdate-1534929670818-api-v2.png

Verfügbar ab

  • Version 1.0.0 (für logi.CAD 3) – Anfangsvariante

  • Version 1.90.0 (für logi.CAD 3) – Erweiterung: TIME_OF_DAY für IN

  • Version 3.2.0 (für Bibliothek Standard) – Erweiterung: STRING und CHAR für IN , interne Fehlerdiagnose

  • Version 3.3.0 (für Bibliothek Standard) – Erweiterung: interne Fehlerdiagnose geändert (ENO=FALSE, falls der anliegender Wert mit gültigen Zeichen beginnt, aber dahinter ungültige Zeichen folgen)

Funktionalität

Der Baustein dient zur expliziten Konvertierung des an IN anliegenden Werts in einen Wert vom Datentyp BOOL.

Falls der anliegende Wert im gemeinsamen Wertbereich des Eingangsdatentyps und des Ergebniswerts BOOL liegt, so liefert der Baustein diesen Wert.

Abweichung von IEC-Norm

Die IEC-Norm definiert, dass die Konvertierung für die Datentypen, die laut der IEC-Norm vorgesehen sind, als Binär-Transfer erfolgt. Dieser Baustein weicht jedoch von der IEC-Norm ab. Beim anliegenden Wert 0 liefert dieser Baustein FALSE (oder eine Entsprechung), bei allen anderen Werten liefert er TRUE (oder eine Entsprechung).

Beachten Sie zusätzlich:

  • Bei der Umwandlung von Datentypen auf den TIME-Datentyp und umgekehrt wird immer auf Sekunden-Basis konvertiert.

  • Falls der Wert 0, 1, TRUE oder FALSE vom Datentyp STRING am Eingang anliegt (wobei TRUE und FALSE mit unterschiedlicher Gro ß- /Kleinschreibung unterstützt wird, z.B. 'TRue', STRING#'FalSE'), wird der Wert entsprechend konvertiert (also: TRUE, FALSE). Der Ausgang ENO wird hier auf den Wert TRUE gesetzt.
    Bei anderen Werten (z.B. STRING#'2', 'BOOL#TRUE' oder ' TRUE') liefert der Baustein den Wert FALSE. Hier wird d er Ausgang ENO auf den Wert FALSE gesetzt. Sonderfall: Falls der anliegende Wert mit 0, 1, TRUE oder FALSE beginnt (unabhängig davon, welche Groß-/Kleinschreibung verwendet wird) und dahinter andere Zeichen folgen (z.B. '05', 'True_1' , 'falseFlag' ), liefert der Baustein den Anfangswerts, wie er unterstützt wird (also: 0, TRUE , FALSE ) und d er Ausgang ENO wird auf den Wert FALSE gesetzt.

  • Falls der Wert 0 oder 1 vom Datentyp CHAR am Eingang anliegt (z.B. '0', CHAR#'1'), wird der Wert entsprechend konvertiert (also: 0, 1). Der Ausgang ENO wird hier auf den Wert TRUE gesetzt.
    Bei anderen Werten (z.B. '9', CHAR#'A') liefert der Baustein den Wert FALSE. Hier wird der Ausgang ENO auf den Wert FALSE gesetzt.

Explizite Konvertierung laut IEC-Norm

Die IEC-Norm sieht eine explizite Konvertierung der folgenden Datentypen auf BOOL vor:

BYTE, WORD, DWORD, LWORD

Die IEC-Norm (Edition 3.0) sieht eine binäre Übertragung aller Eingangsdatentypen vor . Abweichend davon wird der entsprechende Wert bei den folgenden Eingangsdatentypen aber laut IEC-Norm (Edition 2.0) konvertiert.

BYTE, WORD, DWORD, LWORD

Details zum logi.CAD 3 -Verhalten des Bausteins finden Sie im Abschnitt "Funktionalität".

Eingänge, Ergebniswert


Bezeichner

→Datentyp

Beschreibung

Eingänge:

IN

REAL, LREAL, USINT, UINT, UDINT, ULINT, SINT, INT, DINT, LINT, TIME, BOOL, BYTE, WORD, DWORD, LWORD, STRING, CHAR oder TIME_OF_DAY

zu konvertierender Wert

Ergebniswert:

BOOL


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.

Informieren Sie sich unter:

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 Wert FALSE.)

Beispiel für Verwendung im ST-Editor

PROGRAM Test
VAR
result : BOOL;
END_VAR
result := TO_BOOL(IN := DINT#1); (* The variable 'result' evaluates to value '1' of BOOL. *)
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.