S_LTINT: Uhrzeitalarm Lokalzeit (S7-300, S7-400) - STEP 7

Erweiterte Anweisungen (S7-300, S7-400)

ft:publication_title
Erweiterte Anweisungen (S7-300, S7-400)
Product
STEP 7
Version
V20
Publication date
11/2024
Language
de-DE
S_LTINT: Uhrzeitalarm Lokalzeit

Beschreibung

Die Anweisung stellt den gewünschten Uhrzeitalarm zum vorgegebenen Zeitpunkt. Dieser Zeitpunkt wird in Lokalzeit angegeben.

Die am Eingang LT eingegebene Lokalzeit wird mithilfe der Regel, die in einem Datenbaustein (DB) hinterlegt ist, in die Basiszeit umgerechnet.

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. Mit der errechneten Basiszeit wird der angegebene Uhrzeit-Alarm-OB parametriert und aktiviert. 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 "S_LTINT" in Sommerzeit gerechnet. Dies wird mit dem Rückgabewert (RET_VAL) 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. "S_LTINT" 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 (RET_VAL) 2 bzw. 3 gemeldet.

Die Anweisung "S_LTINT" kann in OBs jeder Prioritätsklasse aufgerufen werden.

Parameter

Die folgende Tabelle zeigt die Parameter der Anweisung "S_LTINT":

Parameter

Deklaration

Datentyp

Beschreibung

OB_NR

Input

INT

Nummer des zu startenden OB (zul. 10 – 17)

SDT

Input

DATE_AND_TIME

Startdatum und Uhrzeit in Lokalzeit

Siehe auch: "SET_TINT"

PERIOD

Input

WORD

Periode vom Ausgangspunkt SDT an:

  • W#16#0000 = Einmal

  • W#16#0201 = Minütlich

  • W#16#0401 = Stündlich

  • W#16#1001 = Täglich

  • W#16#1201 = Wöchentlich

  • W#16#1401 = Monatlich

  • W#16#1801 = Jährlich

  • W#16#2001 = Monatsende

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

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

RET_VAL

Beschreibung

0

Anweisung fehlerfrei gelaufen

1

Kein Fehler, aber Datumssprung

2

Die LT am Eingang war innerhalb der "doppelten" Stunde.

3

Wie 2, zusätzlich Datumssprung

4

Die LT am Eingang liegt innerhalb der "verbotenen" Stunde.

5

Wie 4, zusätzlich Datumssprung

8082

Ungültige Daten im Regel-Datenbaustein

8090

Fehlerhafter Parameter OB_NR

8091

Fehlerhafter Parameter SDT

8092

Fehlerhafter Parameter PERIOD

80A1

Der eingestellte Startzeitpunkt liegt in der Vergangenheit.

80A2

OB ist nicht geladen

80A3

OB kann nicht gestartet werden