
Der Funktionsblock TIMESWITCH_ADD erstellt oder modifiziert ein Ereignis in einer Zeitschaltuhr.
Hinweis: Die Zeitschaltuhr muss im gleichen Element hinterlegt sein.
Tipp: Zum Modifizieren eines Ereignisses können alle Werte mittels Funktionsblock TIMESWITCH_GET ausgelesen werden.
Der Eingang erzeugt oder modifiziert ein Ereignis im Kalender, bei einer positiven Flanke. Ist der Eingang immer wahr, so wird das Ereignis, sobald dieses gelöscht wurde erneut erzeugt. Änderungen eines Ereignisses werden nicht erkannt.
Wichtig: Das Erstellen und gleichzeitiges Löschen sollte vermieden werden, da dies die SSD sehr beanspruchen kann.
Hier wird die Datenbank der Schaltuhr als Zeichenkette hinterlegt. Diese muss als Funktionsblock TIMESWITCH bereits existieren. Beachten Sie auch die Reihenfolge des Programms, damit dieser Funktionsblock korrekt initialisiert wird.
Definiert die ID als Zeichenkette des Ereignisses. Dies ermöglicht eine eindeutige Identifizierung und verhindert, dass andere Ereignisse einen Konflikt erzeugen. Die ID sollte nur aus Buchstaben und Zahlen bestehen. Die Gross- und Kleinschreibung wird dabei beachtet.
Hinweis: Die ID sollte für alle Kalender eindeutig definiert werden. Ein Ereignis kann vom Benutzer auf der Visualisierung in einen anderen Kalender kopiert werden.
Der Titel des Ereignisses als Zeichenkette. Dieser sollte keine Zeilenumbrüche enthalten. Wenn der Eingang ADD wahr ist, wird jede Änderung sofort in den Kalender geschrieben.
Der Startzeitpunkt des Ereignisses im Format DT# zurück. Wenn der Eingang ADD wahr ist, wird jede Änderung sofort in den Kalender geschrieben.
Tipp: Die Schaltzeiten können mit den Funktionsblöcken MKTIME, STR2DT und EASTER_DATE berechnet werden.
Der Endzeitpunkt des Ereignisses im Format DT# zurück. Wenn der Eingang ADD wahr ist, wird jede Änderung sofort in den Kalender geschrieben. Ist der Endzeitpunkt kleiner als DT_START, so wird DT_END als Startzeitpunkt definiert.
Wird der Eingang nicht definiert, so wird der gleiche Wert wie DT_START angenommen und es wird beim Ereignis ein Impuls erzeugt.
Der Eingang deaktiviert das Ereignis im Kalender. Wenn der Eingang ADD wahr ist, wird jede Änderung sofort in den Kalender geschrieben.
Am Eingang können die Wiederholungen als Zeichenkette definiert werden. Diese können mit den Hilfsfunktionen REPEAT_YEARLY, REPEAT_MONTHLY, REPEAT_WEEKLY, REPEAT_DAILY und REPEAT_HOURLY generiert oder wie beschrieben deklariert werden.
Die Zeichenkette kann durch ein Doppelpunkt getrennt wie folgt aufgebaut werden:
w:2:4:135
Die erste Ziffer (kleingeschrieben) definiert die Zeitspanne der Wiederholung:
| Kürzel | Zeitspanne |
|---|---|
| h | Stündlich |
| d | Täglich |
| w | Wöchentlich |
| m | Monatlich |
| y | Jährlich |
Die zweite Ziffer definiert das Intervall als Ganzzahl der Wiederholung. Der kleinste Wert ist 1.
Die dritte Ziffer definiert das Ende der Wiederholung. Hier können drei verschiedene Formate definiert werden:
Die vierte Ziffer definiert die Wochentage, an denen die Wiederholung stattfindet. Dieser Ziffer wird nur bei der Definierung von wöchentlichen oder monatlichen Wiederholungen verwendet.
Es wird geprüft, ob der aktuelle Wochentag in der Zahl vorhanden ist. Mehrere Tage können einfach hintereinander angegeben werden. Wie z.B. 135 für Montag, Mittwoch und Freitag. Wird kein Wert angegeben (0 oder eine leere Zeichenkette), so wird an keinem Tag wiederholt.
| Zahl | Wochentag |
|---|---|
| 1 | Montag |
| 2 | Dienstag |
| 3 | Mittwoch |
| 4 | Donnerstag |
| 5 | Freitag |
| 6 | Samstag |
| 7 | Sonntag |
Definiert an welchem Wochentag das Ereignis wiederholt werden soll. Unterstützt werden Zahlen von -1 bis 4. 0 oder keine Deklaration wiederholt jedem monatlich am selben Tag, unabhängig vom Wochentag. Der Wochentag wird vom ersten Datum übernommen.
| Wert | Beschreibung |
|---|---|
| -1 | Wiederholt am letzten Wochentag. |
| 0 | Wiederholt am selben Tag. (Standard) |
| 1 | Wiederholt am ersten Wochentag. |
| 2 | Wiederholt am zweiten Wochentag. |
| 3 | Wiederholt am dritten Wochentag. |
| 4 | Wiederholt am vierten Wochentag. |
Im Fehlerfall wird der Ausgang auf wahr gesetzt. Dies kann sein, wenn der Kalender nicht existiert oder die ID nicht oder ungültig definiert wurde.