CONCAT_DT-Baustein
Kurz-Information
Funktionalität
Der Baustein liefert ein Datum mit Tageszeit (DATE_AND_TIME), das sich durch die Verknüpfung von Werten ergibt. Geben Sie die Werte an den entsprechenden Eingängen ein.
Spezialfälle (siehe unter " Beispiel für Verwendung im ST-Editor " ) :
Falls ein Wert außerhalb des unten angegebenen Bereichs für einen oder mehrere Eingänge eingegeben ist, erhöht oder verringert logi.CAD 3 den gelieferten DATE_AND_TIME-Wert entsprechend.
Falls kein Wert oder Wert 0 für den Monat eingegeben ist, wird der letzte Monat des Vorjahrs geliefert.
Falls kein Wert oder Wert 0 für den Tag eingegeben ist, wird der letzte Tag des Vormonats geliefert.
Eingänge, Ergebniswert
|
Bezeichner |
Beschreibung |
|
Eingänge: |
YEAR |
USINT, UINT, UDINT, ULINT, SINT, INT, DINT oder LINT |
Jahr |
MONTH |
USINT, UINT, UDINT, ULINT, SINT, INT, DINT oder LINT |
Monat (1-12) |
|
DAY |
USINT, UINT, UDINT, ULINT, SINT, INT, DINT oder LINT |
Tag (1-31) |
|
HOUR |
USINT, UINT, UDINT, ULINT, SINT, INT, DINT oder LINT |
Stunden (0-23) |
|
MINUTE |
USINT, UINT, UDINT, ULINT, SINT, INT, DINT oder LINT |
Minuten (0-59) |
|
SECOND |
USINT, UINT, UDINT, ULINT, SINT, INT, DINT oder LINT |
Sekunden (0-59) |
|
MILLISECOND |
USINT, UINT, UDINT, ULINT, SINT, INT, DINT oder LINT |
Millisekunden (0-999) |
|
Ergebniswert: |
– |
DATE_AND_TIME |
|
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:
"Bausteine für sichere Logik", ob dieser Baustein für das Entwickeln von sicherheitsrelevanten Anwendungen unterstützt wird.
"Kennzeichnung von sicherer Logik im FBS-Editor", welche Auswirkung die Verwendung des Bausteins als Baustein für sichere Logik hat.
Interne Fehlerdiagnose für Baustein
Der Baustein prüft den vermeintlichen Ergebniswert.
Falls der Ergebniswert < DT#1970-01-01-00:00:00.000
oder
> DT#2106-02-07-06:28:14.999
wäre, wird der Ausgang ENO des Bausteins auf den Wert FALSE (oder eine Entsprechung) zurückgesetzt.
Beispiel für Verwendung im ST-Editor
PROGRAM Test
VAR
result1, result2, result3, result4, result5, result6, result7, result8 : DATE_AND_TIME;
CheckENO2, CheckENO3, CheckENO5, CheckENO6, CheckENO7, CheckENO8 : BOOL;
END_VAR
result1 := CONCAT_DT(
2014
,
3
,
17
,
12
,
33
,
12
,
0
);
(* The variable
'result1'
evaluates to
'DT#2014-03-17-12:33:12'
. *)
result2 := CONCAT_DT(YEAR :=
2014
, MONTH :=
1
, DAY :=
35
, MILLISECOND :=
2987
, ENO => CheckENO2);
(* The variable
'result2'
evaluates to
'DT#2014-02-04-00:00:02.987'
. Reason: The values
for
'DAY'
and
'MILLISECOND'
increase the other values. *)
(* The variable
'CheckENO2'
evaluates to
'TRUE'
because the
return
value is within the valid range. *)
result3 := CONCAT_DT(YEAR :=
1968
, MONTH :=
1
, DAY :=
3000
, ENO => CheckENO3);
(* The variable
'result3'
evaluates to
'DT#1976-03-18-00:00:00'
. Reason: The value
for
'DAY'
increases the other values. *)
(* The variable
'CheckENO3'
evaluates to
'TRUE'
because the
return
value is within the valid range. *)
result4 := CONCAT_DT(
2015
,
1
,
1
,
0
,
0
,
0
, -
1
);
(* The variable
'result5'
evaluates to
'DT#2014-12-31-23:59:59.999'
. Reason: The value
for
MILLISECOND decreases the other values. *)
result5 := CONCAT_DT(YEAR :=
1971
, ENO => CheckENO5);
(* The variable
'result4'
evaluates to
'DT#1970-11-30-00:00:00'
. Reason: The missing value
for
MONTH decreases the value
for
'YEAR'
- and temporarily sets
'MONTH'
to
'12'
.
The missing value
for
DAY decreases the returned values
for
'MONTH'
to
'11'
and
for
'DAY'
to
'30'
. *)
(* The variable
'CheckENO5'
evaluates to
'TRUE'
because the
return
value is within the valid range. *)
result6 := CONCAT_DT(YEAR :=
1969
, MONTH :=
12
, DAY :=
17
, ENO => CheckENO6);
(* The variable
'CheckENO6'
evaluates to
'FALSE'
. Reason: The supposed
return
value is not within the valid range. *)
result7 := CONCAT_DT(YEAR :=
1971
, MONTH := -
13
, ENO => CheckENO7);
(* The variable
'CheckENO7'
evaluates to
'FALSE'
. Reason: The supposed
return
value is not within the valid range. *)
result8 := CONCAT_DT(YEAR :=
2120
, MONTH :=
12
, DAY :=
10
, ENO => CheckENO8);
(* The variable
'CheckENO8'
evaluates to
'FALSE'
. Reason: The supposed
return
value is not within the valid range. *)
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.