TO_DT-Baustein

Kurz-Information

Name

TO_DT

→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 so nicht in IEC-Norm vorgesehen (siehe "Explizite Konvertierung laut IEC-Norm")

Grafische Schnittstelle

images/download/thumbnails/414781098/TO_DT-version-1-modificationdate-1534929739348-api-v2.png

Verfügbar ab

Version 1.65.0 (für logi.CAD 3)

Funktionalität

Der Baustein dient zur expliziten Konvertierung des an IN anliegenden Werts in einen Wert vom Datentyp DATE_AND_TIME (auch DT genannt).

Falls der anliegende Wert im gemeinsamen Wertbereich des Eingangsdatentyps und des Ergebniswerts DT liegt, so liefert der Baustein diesen Wert. Dabei wird der anliegende Wert auf Sekunden-Basis konvertiert, und zwar relativ zur Untergrenze DT#1970-01-01-00:00:00.000_000_000 von DATE_AND_TIME (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 DATE_AND_TIME vor:

LDATE_AND_TIME

Der Datentyp LDATE_AND_TIME wird 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:

DT


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 und den Ergebniswert.
Falls es sich um den Datentyp LINT, ULINT, REAL oder LREAL handelt und dafür ein Ergebniswert < DT#0001-01-01-00:00:00 oder > DT#9999-12-31-23:59:59 geliefert werden würde, wird der Ausgang ENO des Bausteins auf den Wert FALSE (oder eine Entsprechung) gesetzt und der jeweilige Minimalwert bzw. Maximalwert als Ergebniswert (siehe unter "Wertbereich für Konvertierungen") geliefert.

Beispiel für Verwendung im ST-Editor

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

FUNCTION_BLOCK ExampleToDt
VAR
result : DATE_AND_TIME;
END_VAR
result := TO_DT(IN := SINT#12);
Assert(result = DT#1970-01-01-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: Die Untergrenze für DATE bzw. DATE_AND_TIME ist für Literale gültig. Aufgrund von Berechnungen oder Konvertierungen kann logi.CAD 3 Werte bis zu DATE#0001-01-01 bzw. DT#0001-01-01-00:00:00.000_000_000 verarbeiten und darstellen.

Die folgende Tabelle zeigt jene Literale für IN , bei dem der Baustein den kleinsten möglichen bzw. den größten möglichen Ergebniswert liefert (bezogen auf den Datentyp für IN ), der auf allen Zielsystemen verarbeitbar ist. Abhängig von Ihrem Zielsystem ist es möglich, Literale zu verwenden, bei dem ein Ergebniswert > DT#9999-12-31-23:59:59 geliefert wird.


Datentyp
für IN

Untergrenze

Obergrenze

Literal für IN

Ergebniswert

Literal für IN

Ergebniswert

BOOL

0

DT#0001-01-01-00:00:00

1

DT#0001-01-01-00:00:01

BYTE

16#00

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

16#FF

DT#1970-01-01-00:04:15

DATE

D#1970-01-01

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

D#9999-12-31

DT#9999-12-31-00:00:00

DINT

-2_147_483_648

DT#1901-12-13-20:45:52

2_147_483_647

DT#2038-01-19-03:14:07

DT

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

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

DT#9999-12-31-23:59:59

DT#9999-12-31-23:59:59

DWORD

16#0000_0000

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

16#FFFF_FFFF

DT#2106-02-07-06:28:15

INT

-32_768

DT#1969-12-31-14:53:52

32_767

DT#1970-01-01-09:06:07

LINT

-62_135_769_600

DT#0001-01-01-00:00:00

253_402_300_799

DT#9999-12-31-23:59:59

LREAL

LREAL#-62_135_769_600.0

DT#0001-01-01-00:00:00

LREAL#253_402_300_799.0

DT#9999-12-31-23:59:59

LWORD

16#0000_0000_0000_0000

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

16#003A_FFF4_417F

DT#9999-12-31-23:59:59

REAL

REAL#-62_135_769_000.0

DT#0001-01-01-00:42:40 (1)

REAL#253_402_300_799.0

DT#9999-12-31-23:53:36 (1)

SINT

-128

DT#1969-12-31-23:57:52

127

DT#1970-01-01-00:02:07

TIME

T#-719_164d

DT#0001-01-01-00:00:00

T#2_932_896d23h59m59s

DT#9999-12-31-23:59:59

TOD

TOD#00:00:00

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

TOD#23:59:59.999_000_000

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

UDINT

0

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

4_294_967_295

DT#2106-02-07-06:28:15

UINT

0

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

65_535

DT#1970-01-01-18:12:15

ULINT

0

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

253_402_300_799

DT#9999-12-31-23:59:59

USINT

0

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

255

DT#1970-01-01-00:04:15

WORD

16#00

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

16#FFFF

DT#1970-01-01-18:12:15

(1) Dieser Ergebniswert gilt für die integrierte SPS unter Windows. Abhängig von Ihrem Zielsystem kann sich der Ergebniswert im TIME-Anteil aufgrund der REAL-Genauigkeit unterscheiden.