SET_SW_S: Sommer-/Winterzeit setzen mit Uhrzeitstatus (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
SET_SW_S: Sommer-/Winterzeit setzen mit Uhrzeitstatus

Beschreibung

Die Anweisung unterstützt die Sommer-/Winterzeit-Umschaltung in CPUs, die über den Uhrzeitstatus verfügen. Zu diesem Zweck verstellt die Anweisung "SET_SW_S" den Uhrzeitstatus entsprechend dem aktuellen Zeitpunkt und den Umschaltregeln im Regel-DB.

"SET_SW_S" wird im OB1 und in einem Uhrzeitalarm-OB 1x mit derselben Instanz aufgerufen. Im Uhrzeitalarm-OB werden die Parameter der Anweisung "SET_SW_S" nicht beschaltet. Am Eingang WS_DAT wird der Datenbaustein (DB) angegeben, der die Regel für Beginn und Ende der Sommerzeit enthält.

Das folgende Bild zeigt das Zeitdiagramm, auf dem die Funktion von "SET_SW_S" basiert:

Es sind vier Umschaltzeitpunkte (SA, S, WA, W) definiert. Deren genaue Lage leitet sich aus den Regeln im Regel-DB ab. Die Ankündigungs-Stunden liegen 1 Stunde vor den Umschaltzeitpunkten und signalisieren das bevorstehende Umschalten.

Bei steigender Flanke am Eingang REQ wird die Sommer-/Winterzeit-Umschaltung initialisiert und aktiviert. Sie bleibt so lange gültig, wie REQ = 1 ist.

Zur Zeitumschaltung parametriert und aktiviert "SET_SW_S" den angegebenen Uhrzeitalarm-OB mit dem nächstgelegenen Umschaltzeitpunkt im Modus "einmalig". Danach übernimmt dieser Uhrzeitalarm-OB die Kontrolle. Wenn er fällig wird, verändert er die Uhrzeit und den Uhrzeitstatus der CPU entsprechend dem aktuellen Aufrufzeitpunkt und parametriert/aktiviert sich selbst wieder mit dem jeweils nächsten anstehenden Umschaltzeitpunkt.

Beispiel: Liegt die aktuelle Zeit im Bereich (3), wird der Uhrzeitalarm-OB mit der Startzeit WA ("Winterzeit-Ankündigung") parametriert.

Bei fallender Flanke an REQ wird die Sommer-/Winterzeit-Umschaltung deaktiviert.

Parameter

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

Parameter

Deklaration

Datentyp

Beschreibung

REQ

Input

BOOL

Steuerung der Umschaltung

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".

OB_NR

Input

INT

Nummer des zu verwendenden Uhrzeitalarms

STATUS

Output

INT

Fehlercode

ISSUMMER

Output

BOOL

Es ist Sommer

ANN_1

Output

BOOL

Ankündigung der Umschaltung

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 STATUS

STATUS

Bedeutung

0

Kein Fehler

8xyy

Allgemeine Fehlercodes von "RDSYSST"

8082

Ungültige Daten in WS_DAT

8083

Die Monatsnummer für die Umschaltung auf Winterzeit ist größer als die Monatsnummer für die Umschaltung auf Sommerzeit, und die Ankündigungsstunde Winter liegt vor dem Sommer, oder

die Monatsnummer für die Umschaltung auf Winterzeit ist kleiner als die Monatsnummer für die Umschaltung auf Sommerzeit, und die Ankündigungsstunde Sommer liegt vor dem Winter.

8090

Unzulässige OB_NR. (Nur Uhrzeitalarme zulässig: OB10 – OB17, je nach CPU)

8091

Uhrzeitstatus ungültig ('status_valid' im Uhrzeitstatus stand auf FALSE)

80A2

Unzulässige OB_NR: der OB ist in der CPU nicht geladen

80A3

Der OB kann nicht gestartet werden. (siehe "QRY_TINT")

Anwendungsbereich

"SET_SW_S" kann in CPUs verwendet werden, die über den Uhrzeitstatus verfügen.

Aufrufende OBs

"SET_SW_S" muss mit derselben Instanz in folgenden Organisationsbausteinen (OBs) aufgerufen werden:

  • OB1 (zyklisches Programm):

    "SET_SW_S" wertet den REQ-Eingang aus. Bei steigender Flanke an REQ stellt er abhängig vom aktuellen Zeitpunkt den Startzeitpunkt des angegebenen Uhrzeitalarms auf die nächstliegende der möglichen 4 Umschaltzeiten ein und aktiviert den Uhrzeitalarm mit der Kennung 'einmalig'. Der Uhrzeitalarm wird also ausgelöst, wenn dieser Zeitpunkt erreicht wird.

  • OB1x (Uhrzeitalarm):

    Der OB1x wurde aktiv, weil ein Umschaltzeitpunkt erreicht wurde. "SET_SW_S" stellt die Uhrzeit und den Uhrzeitstatus der CPU entsprechend der aktuellen Zeit, parametriert sich auf den nächsten Umschaltzeitpunkt und aktiviert diesen. Im Abschnitt (5) stellt er sich auf die Sommerzeitankündigung des Folgejahrs.

"SET_SW_S" darf nicht mehrfach instanziert werden.

Mit folgenden Anweisungen können Sie den Uhrzeitalarm abfragen, parametrieren, aktivieren und löschen: "QRY_TINT", "SET_TINT", "ACT_TINT", "CAN_TINT"

Hinweis

Ein Verstellen der CPU-Uhrzeit, z. B. per PG, bei aktivem "SET_SW_S" (REQ = 1) ist nur dann ohne besondere Zusatzmaßnahmen erlaubt, wenn die Zeit nicht über einen der Umschaltzeitpunkte hinweg verstellt wird.

Wird beim Stellen der Uhr einer der Umschaltzeitpunkte übersprungen, müssen Sie die Sommer-/Winterzeit-Umschaltung vor dem Verstellen mit REQ = 0 deaktivieren und nach dem Verstellen durch REQ = 1 neu starten.

Beim Stellen der CPU-Uhr und des Uhrzeitstatus müssen Sie darauf achten, dass Sie die Sommerzeit-Kennung oder die Ankündigungs-Stunden-Kennung setzen, abhängig davon, ob Sie Sommer- oder Winterzeit einstellen.