Функціональний блок TIMESWITCH_ADD

Функціональний блок TIMESWITCH_ADD створює або модифікує подію в таймері.

Примітка: Таймер повинен бути збережений у тому ж елементі.

Підказка: Для модифікації події всі значення можна прочитати за допомогою функціонального блоку TIMESWITCH_GET.

Вхід ADD

Вхід створює або модифікує подію в календарі при позитивному фронті. Якщо вхід завжди істинний, то подія, коли вона була видалена, знову створюється. Зміни події не виявляються.

Важно: Створення та одночасне видалення слід уникати, оскільки це може сильно навантажити SSD.

Вхід TIMESWITCH

Тут база даних таймера зберігається як рядок. Вона повинна існувати як функціональний блок TIMESWITCH. Зверніть увагу також на порядок програми, щоб цей функціональний блок правильно ініціалізувався.

Вхід ID

Визначає ID події як рядок. Це дозволяє унікальну ідентифікацію та запобігає конфліктам з іншими подіями. ID повинна складатися лише з літер і цифр. Регістр відрізняється.

Примітка: ID повинна бути унікально визначена для всіх календарів. Подію користувач може скопіювати на візуалізації в інший календар.

Вхід TITLE

Назва події як рядок. Вона не повинна містити переносів рядків. Якщо вхід ADD істинний, то кожна зміна відразу записується в календар.

Вхід DT_START

Початковий момент події у форматі DT#. Якщо вхід ADD істинний, то кожна зміна відразу записується в календар.

Підказка: Часи перемикання можна обчислити за допомогою функціональних блоків MKTIME, STR2DT та EASTER_DATE.

Вхід DT_END

Кінцевий момент події у форматі DT#. Якщо вхід ADD істинний, то кожна зміна відразу записується в календар. Якщо кінцевий момент менший за DT_START, то DT_END визначається як початковий момент.

Якщо вхід не визначений, то приймається такий самий значення, як і DT_START, і подія генерує імпульс.

Вхід DIS

Вхід деактивує подію в календарі. Якщо вхід ADD істинний, то кожна зміна відразу записується в календар.

Вхід REPEAT

На вході можна визначити повторення як рядок. Вони можуть бути згенеровані або оголошені за допомогою допоміжних функцій REPEAT_YEARLY, REPEAT_MONTHLY, REPEAT_WEEKLY, REPEAT_DAILY та REPEAT_HOURLY.

Рядок може бути побудований, розділений двокрапкою, як наступно:

w:2:4:135

Перша цифра (малими літерами) визначає інтервал повторення:

Скорочення Інтервал
h Щогодини
d Щодня
w Щотижня
m Щомісяця
y Щороку

Друга цифра визначає інтервал як ціле число повторення. Найменше значення - 1.

Третя цифра визначає кінець повторення. Тут можна визначити три різні формати:

  • Немає значення: Повторення безкінечне.
  • Як просте ціле число: Повторення закінчується після визначеної кількості повторень.
  • Як дата YYYY-MM-DD: Повторення завершується до дати.

Четверта цифра визначає дні тижня, коли відбувається повторення. Ця цифра використовується лише при визначенні щотижневих або щомісячних повторень.

Щотижневі повторення

Перевіряється, чи присутній поточний день тижня в числі. Декілька днів можна просто вказати один за одним. Наприклад, 135 для понеділка, середи та п'ятниці. Якщо не вказано значення (0 або порожній рядок), то повторення не відбувається.

Число День тижня
1 Понеділок
2 Вівторок
3 Середа
4 Четвер
5 П'ятниця
6 Субота
7 Неділя
Щомісячні повторення

Визначає, на який день тижня подія повинна повторюватися. Підтримуються числа від -1 до 4. 0 або жодне оголошення повторює щомісяця в той самий день, незалежно від дня тижня. День тижня береться з першої дати.

Значення Опис
-1 Повторюється в останній день тижня.
0 Повторюється в той самий день. (За замовчуванням)
1 Повторюється в перший день тижня.
2 Повторюється в другий день тижня.
3 Повторюється в третій день тижня.
4 Повторюється в четвертий день тижня.

Вихід ERR

У разі помилки вихід встановлюється на істинне. Це може статися, якщо календар не існує або ID не визначено або недійсно.