TO_TOD-Baustein

Kurz-Information

Name

TO_TOD

→POE-Typ

→Funktion

Kategorie

IEC-Baustein, ConvertEnh, Baustein mit interner Fehlerdiagnose

Konform zur →IEC-Norm

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/414781153/TO_TOD-version-1-modificationdate-1534929960618-api-v2.png

Verfügbar ab

Version 1.90.0 (für logi.CAD 3)

Funktionalität

Der Baustein dient zur expliziten Konvertierung des an IN anliegenden Werts in einen Wert vom Datentyp TOD (= TIME_OF_DAY).

Falls der anliegende Wert im gemeinsamen Wertbereich des Eingangsdatentyps und des Ergebniswerts TOD liegt, so liefert der Baustein diesen Wert. Dabei wird der anliegende Wert auf Sekunden-Basis konvertiert, und zwar relativ zur Untergrenze TOD#00:00:00 von TOD (siehe unter " Beispiel für Verwendung im ST-Editor" und "Wertbereich für Konvertierungen" für Unter- und Obergrenzen pro Datentyp).

Explizite Konvertierung laut IEC-Norm

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

LDATE_AND_TIME, DATE_AND_TIME, LTIME_OF_DAY

Der Datentyp LDATE_AND_TIME und LTIME_OF_DAY werden derzeit von logi.CAD 3 nicht unterstützt.

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, DATE_AND_TIME, DATE oder TIME_OF_DAY

zu konvertierender Wert

Ergebniswert:

TOD


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 vor der Ausführung den Datentyp des an IN anliegenden Werts bzw. den Ergebniswert. Der Ausgang ENO des Bausteins wird auf den Wert FALSE (oder eine Entsprechung) gesetzt, falls es sich um den Datentyp DATE_AND_TIME mit einem Datumsanteil außerhalb des gültigen Wertbereichs handelt (analog zum TO_DATE-Baustein).

Beispiel für Verwendung im ST-Editor

Die berechneten Werte werden mit Hilfe des Assert-Bausteins ausgewertet.

FUNCTION_BLOCK ExampleToTOD
VAR
result : TOD;
END_VAR
result := TO_TOD(IN := SINT#12);
Assert(result = TOD#00:00:12);
END_FUNCTION_BLOCK

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.

Wertbereich für Konvertierungen

Der Wertbereich für die Konvertierungen wird durch Untergrenze und Obergrenze der Datentypen bestimmt. Diese Untergrenze und Obergrenze pro Datentyp sind unter "Unterstützte Datentypen (in ST)" angeführt.
Beachten Sie: Eingangswerte außerhalb des angeführten Wertbereichs werden laut der Tabelle als Sekunden interpretiert und ergeben einen Ergebniswert < TOD#00:00:00 oder ≥ TOD#24:00:00.


Datentyp
für IN

Untergrenze

Obergrenze

Literal für IN

Ergebniswert

Literal für IN

Ergebniswert

BOOL

0

TOD#00:00:00

1

TOD#00:00:01

BYTE

16#00

TOD#00:00:00

16#FF

TOD#00:04:15

DATE

beliebiger Wert

TOD#00:00:00

beliebiger Wert

TOD#00:00:00

DINT

0

TOD#00:00:00

86_399

TOD#23:59:59

DT

DT#1970-01-01-00:00:00

TOD#00:00:00

DT#1970-01-01-23:59:59.999

TOD#23:59:59.999

DWORD

16#0000_0000

TOD#00:00:00

16#0001_517F

TOD#23:59:59

INT

0

TOD#00:00:00

32_767

TOD#09:06:07

LINT

0

TOD#00:00:00

86_399

TOD#23:59:59

LREAL

LREAL#0.0

TOD#00:00:00

LREAL#86_399.999

TOD#23:59:59.999

LWORD

16#0000_0000_0000_0000

TOD#00:00:00

16#0000_0000_0001_517F

TOD#23:59:59

REAL

REAL#0.0

TOD#00:00:00

REAL#86_399.999

TOD#23:59:59.999

SINT

0

TOD#00:00:00

127

TOD#00:02:07

TIME

T#0s

TOD#00:00:00

T#23h59m59.999s

TOD#23:59:59.999

TOD

TOD#00:00:00

TOD#00:00:00

TOD#23:59:59.999_000_000

TOD#23:59:59.999

UDINT

0

TOD#00:00:00

86_399

TOD#23:59:59

UINT

0

TOD#00:00:00

65_535

TOD#18:12:15

ULINT

0

TOD#00:00:00

86_399

TOD#23:59:59

USINT

0

TOD#00:00:00

255

TOD#00:04:15

WORD

16#00

TOD#00:00:00

16#FFFF

TOD#18:12:15