
De functieblok TIMESWITCH_ADD maakt of wijzigt een gebeurtenis in een tijdschakelaar.
Opmerking: De tijdschakelaar moet in hetzelfde element worden opgeslagen.
Tip: Om een gebeurtenis te wijzigen, kunnen alle waarden met behulp van de functieblok TIMESWITCH_GET worden uitgelezen.
De ingang maakt of wijzigt een gebeurtenis in de kalender bij een positieve flank. Als de ingang altijd waar is, wordt het gebeurtenis, zodra dit is verwijderd opnieuw gemaakt. Wijzigingen van een gebeurtenis worden niet herkend.
Belangrijk: Het maken en tegelijkertijd verwijderen moet worden vermeden, omdat dit de SSD zeer belast kan zijn.
Hier wordt de database van de schakelaar als tekenreeks opgeslagen. Deze moet al bestaan als functieblok TIMESWITCH. Let ook op de volgorde van het programma, zodat deze functieblok correct wordt geïnitialiseerd.
Definieert de ID als tekenreeks van de gebeurtenis. Dit mogelijk een unieke identificatie en voorkomt dat andere gebeurtenissen een conflict veroorzaken. De ID zou alleen uit letters en cijfers moeten bestaan. Hoofdletters en kleine letters worden hierbij in acht genomen.
Opmerking: De ID moet voor alle kalenders uniek gedefinieerd zijn. Een gebeurtenis kan door de gebruiker op de visualisatie naar een andere kalender worden gekopieerd.
De titel van het gebeurtenis als tekenreeks. Deze zou geen regelafbrekingen moeten bevatten. Als de ingang ADD waar is, wordt elke wijziging direct in de kalender geschreven.
Het startmoment van het gebeurtenis in het formaat DT# terug. Als de ingang ADD waar is, wordt elke wijziging direct in de kalender geschreven.
Tip: De schakeltijden kunnen met de functieblokken MKTIME, STR2DT en EASTER_DATE worden berekend.
Het eindmoment van het gebeurtenis in het formaat DT# terug. Als de ingang ADD waar is, wordt elke wijziging direct in de kalender geschreven. Is het eindmoment kleiner dan DT_START, dan wordt DT_END als startmoment gedefinieerd.
Wordt de ingang niet gedefinieerd, dan wordt dezelfde waarde als DT_START aangenomen en wordt bij het gebeurtenis een impuls gegenereerd.
De ingang deactiveert het gebeurtenis in de kalender. Als de ingang ADD waar is, wordt elke wijziging direct in de kalender geschreven.
Aan de ingang kunnen de herhalingen als tekenreeks worden gedefinieerd. Deze kunnen met de hulpfuncties REPEAT_YEARLY, REPEAT_MONTHLY, REPEAT_WEEKLY, REPEAT_DAILY en REPEAT_HOURLY worden gegenereerd of zoals beschreven worden gedeklareerd.
De tekenreeks kan door een dubbelpunt gescheiden als volgt worden opgebouwd:
w:2:4:135
Het eerste cijfer (klein geschreven) definieert de tijdsinterval van de herhaling:
| Korte vorm | Tijdsinterval |
|---|---|
| h | Uurlijks |
| d | Dagelijks |
| w | Wekelijks |
| m | Maandelijks |
| y | Jaarlijks |
Het tweede cijfer definieert het interval als geheel getal van de herhaling. De kleinste waarde is 1.
Het derde cijfer definieert het einde van de herhaling. Hier kunnen drie verschillende formaten worden gedefinieerd:
Het vierde cijfer definieert de weekdagen waarop de herhaling plaatsvindt. Dit cijfer wordt alleen bij het definiëren van wekelijkse of maandelijkse herhalingen gebruikt.
Er wordt gecontroleerd of de huidige weekdag in het getal aanwezig is. Meerdere dagen kunnen eenvoudig achter elkaar worden aangegeven. Bijvoorbeeld 135 voor maandag, woensdag en vrijdag. Wordt geen waarde opgegeven (0 of een lege tekenreeks), dan wordt op geen dag herhaald.
| Getal | Weekdag |
|---|---|
| 1 | Maandag |
| 2 | Dinsdag |
| 3 | Woensdag |
| 4 | Donderdag |
| 5 | Vrijdag |
| 6 | Zaterdag |
| 7 | Zondag |
Definieert op welke weekdag het gebeurtenis moet worden herhaald. Er worden getallen van -1 tot 4 ondersteund. 0 of geen declaratie herhaalt elke maand op dezelfde dag, onafhankelijk van de weekdag. De weekdag wordt overgenomen vanaf de eerste datum.
| Waarde | Beschrijving |
|---|---|
| -1 | Herhaalt op de laatste weekdag. |
| 0 | Herhaalt op dezelfde dag. (Standaard) |
| 1 | Herhaalt op de eerste weekdag. |
| 2 | Herhaalt op de tweede weekdag. |
| 3 | Herhaalt op de derde weekdag. |
| 4 | Herhaalt op de vierde weekdag. |
In het geval van een fout wordt de uitgang op waar gezet. Dit kan zijn als de kalender niet bestaat of de ID niet of ongeldig is gedefinieerd.