Beschreibung
Die Anweisung errechnet die Basiszeit zu der Lokalzeit, die am Eingang vorgegeben wurde.
Die am Eingang LT eingegebene Lokalzeit wird mithilfe der Daten, die in einem Datenbaustein (DB) hinterlegt wurden, in die Basiszeit umgerechnet und am Ausgang BT ausgegeben.
Der Datenbaustein (DB) enthält die Anzahl der 30 Minuten-Einheiten, durch die sich Basis- und Lokalzeit unterscheiden sowie die Differenz zwischen Sommer- und Winterzeit, ebenfalls in Einheiten von 30 Minuten. Wenn sich bei der Berechnung ein Datumsüberlauf ergibt, wird dies durch einen speziellen Rückgabewert gekennzeichnet.
Besonderheiten beim Wechsel zwischen Sommer- und Winterzeit:
-
Bei der Umschaltung von Winter- nach Sommerzeit wird die Lokalzeit um eine Stunde vorgestellt. Das bedeutet, dass die dazwischen liegende Stunde nicht durchlaufen wird.
Für einen Zeitpunkt LT innerhalb dieser Stunde wird von der "LT_BT" in Sommerzeit "gedacht". Dies wird mit dem Rückgabewert 4 bzw. 5 gemeldet.
-
Bei der Umschaltung von Sommer- nach Winterzeit wird die Lokalzeit um eine Stunde zurückgestellt. Das bedeutet, dass diese eine Stunde zweimal durchlaufen wird ("doppelte Stunde"). (Für ME(S)Z gilt dafür die Bezeichnung 2A und 2B).
Für einen Zeitpunkt LT innerhalb dieser Stunde ist also eine eindeutige Abbildung auf eine Basiszeit nicht möglich.
"LT_BT" erhält als Eingangsparameter eine LT und muss vor der Umrechnung in BT entscheiden, ob der Wert im Sommer oder im Winter liegt. Für den Fall, dass die LT innerhalb der doppelten Stunde liegt, wird die LT als Winterzeit interpretiert. Dies wird mit dem Rückgabewert 2 bzw. 3 gemeldet.
Die Anweisung "LT_BT" kann in OBs jeder Prioritätsklasse aufgerufen werden.
Parameter
Die folgende Tabelle zeigt die Parameter der Anweisung "LT_BT":
|
Parameter |
Deklaration |
Datentyp |
Beschreibung |
|---|---|---|---|
|
LT |
Input |
DATE_AND_TIME |
Lokalzeit |
|
WS_DAT |
Input |
BLOCK_DB |
Information zur Zeitzone sowie zur Sommer-/Winterzeit ‑Umschaltung (Regel-DB); Verwenden Sie am Parameter WS_DAT einen Zeiger auf einen Datenbaustein vom Typ "WS_RULES". |
|
RET_VAL |
Return |
INT |
Fehlercode |
|
BT |
Output |
DATE_AND_TIME |
Basiszeit |
Weitere Informationen zu den gültigen Datentypen finden Sie unter "Übersicht über die gültigen Datentypen".
|
Hinweis Parameter vom Datentyp BLOCK_DB können nur an FB-Aufrufe weitergereicht werden, nicht aber an FC-Aufrufe. |
Parameter RET_VAL und BT
Die folgende Tabelle zeigt die Ausgabewerte von "LT_BT":
|
RET_VAL |
BT |
Beschreibung |
|---|---|---|
|
0 |
Basiszeit |
Anweisung fehlerfrei gelaufen |
|
1 |
Basiszeit |
Kein Fehler, aber Datumssprung |
|
2 |
Basiszeit |
Die LT am Eingang liegt innerhalb der "doppelten" Stunde. |
|
3 |
Basiszeit |
Wie 2, zusätzlich Datumssprung |
|
4 |
Basiszeit |
Die LT am Eingang liegt innerhalb der "verbotenen" Stunde. |
|
5 |
Basiszeit |
Wie 4, zusätzlich Datumssprung |
|
8082 |
DT#90-01-01-0:0:0 |
Ungültige Daten im Regel-Datenbaustein |