
Funktionsblokken TIMESWITCH_ADD opretter eller ændrer en begivenhed i en tidsrelæ.
Bemærk: Tidsrelæet skal være gemt i samme element.
Tip: For at ændre en begivenhed kan alle værdier læses ved hjælp af funktionsblokken TIMESWITCH_GET.
Indgangen opretter eller ændrer en begivenhed i kalenderen, ved en positiv flanke. Er indgangen altid sand, så oprettes begivenheden, når denne er slettet igen. Ændringer af en begivenhed registreres ikke.
Vigtigt: Oprettelse og samtidig sletning bør undgås, da dette kan belaste SSD'en meget.
Her gemmes tidsrelæets database som en streng. Denne skal allerede eksistere som funktionsblokken TIMESWITCH. Bemærk også programmets rækkefølge, så denne funktionsblok initialiseres korrekt.
Definerer ID'en som en streng for begivenheden. Dette gør det muligt at identificere den entydigt og forhindrer, at andre begivenheder skaber konflikt. ID'en bør kun bestå af bogstaver og tal. Store og små bogstaver tages i betragtning.
Bemærk: ID'en skal defineres entydigt for alle kalendere. En begivenhed kan kopieres af brugeren på visualiseringen til en anden kalender.
Titel på begivenheden som en streng. Denne bør ikke indeholde linjeskift. Hvis indgangen ADD er sand, skrives hver ændring med det samme i kalenderen.
Starttidspunktet for begivenheden i formatet DT#. Hvis indgangen ADD er sand, skrives hver ændring med det samme i kalenderen.
Tip: Skiftetiderne kan beregnes med funktionsblokkene MKTIME, STR2DT og EASTER_DATE.
Sluttidspunktet for begivenheden i formatet DT#. Hvis indgangen ADD er sand, skrives hver ændring med det samme i kalenderen. Er sluttidspunktet mindre end DT_START, defineres DT_END som starttidspunkt.
Hvis indgangen ikke er defineret, antages den samme værdi som DT_START, og der oprettes en impuls ved begivenheden.
Indgangen deaktiverer begivenheden i kalenderen. Hvis indgangen ADD er sand, skrives hver ændring med det samme i kalenderen.
På indgangen kan gentagelserne defineres som en streng. Disse kan genereres eller deklareres som beskrevet ved hjælp af hjælpefunktionerne REPEAT_YEARLY, REPEAT_MONTHLY, REPEAT_WEEKLY, REPEAT_DAILY og REPEAT_HOURLY.
Strengen kan adskilles af et kolon som følger:
w:2:4:135
Det første tal (småt) definerer tidsintervallet for gentagelsen:
| Forkortelse | Tidsinterval |
|---|---|
| h | Hver time |
| d | Hver dag |
| w | Hver uge |
| m | Hver måned |
| y | Hvert år |
Det andet tal definerer intervallet som heltal for gentagelsen. Den mindste værdi er 1.
Det tredje tal definerer slutningen på gentagelsen. Her kan tre forskellige formater defineres:
Det fjerde tal definerer ugedagene, hvor gentagelsen finder sted. Dette tal bruges kun ved definition af ugentlige eller månedlige gentagelser.
Der kontrolleres, om den aktuelle ugedag er til stede i tallet. Flere dage kan angives efter hinanden. Fx 135 for mandag, onsdag og fredag. Hvis ingen værdi er angivet (0 eller en tom streng), gentages der ikke på nogen dag.
| Tal | Ugedag |
|---|---|
| 1 | Mandag |
| 2 | Tirsdag |
| 3 | Onsdag |
| 4 | Torsdag |
| 5 | Fredag |
| 6 | Lørdag |
| 7 | Søndag |
Definerer, på hvilken ugedag begivenheden skal gentages. Der understøttes tal fra -1 til 4. 0 eller ingen deklaration gentager hver måned på samme dag, uafhængigt af ugedagen. Ugedagen overføres fra det første dato.
| Værdi | Beskrivelse |
|---|---|
| -1 | Gentages på den sidste ugedag. |
| 0 | Gentages på samme dag. (Standard) |
| 1 | Gentages på den første ugedag. |
| 2 | Gentages på den anden ugedag. |
| 3 | Gentages på den tredje ugedag. |
| 4 | Gentages på den fjerde ugedag. |
I tilfælde af fejl sættes udgangen til sand. Dette kan ske, hvis kalenderen ikke eksisterer eller ID'en ikke er defineret eller ugyldig.