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

Функциональный блок TIMESWITCH_ADD создает или изменяет событие в таймере.

Примечание: Таймер должен быть сохранен в том же элементе.

Совет: Для изменения события все значения могут быть прочитаны с помощью функционального блока TIMESWITCH_GET.

Вход ADD

Вход создает или изменяет событие в календаре при положительном фронте. Если вход всегда истинный, то событие, как только оно будет удалено, снова создается. Изменения события не распознаются.

Важно: Создание и одновременное удаление следует избегать, так как это может сильно нагружать SSD.

Вход TIMESWITCH

Здесь база данных таймера сохраняется в виде строки. Она должна существовать как функциональный блок TIMESWITCH. Учитывайте также порядок программы, чтобы этот функциональный блок был правильно инициализирован.

Вход 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

В случае ошибки выход устанавливается на истинное значение. Это может произойти, если календарь не существует или идентификатор не определен или недействителен.