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.