
Функциональный блок TIMESWITCH_ADD создает или изменяет событие в таймере.
Примечание: Таймер должен быть сохранен в том же элементе.
Совет: Для изменения события все значения могут быть прочитаны с помощью функционального блока TIMESWITCH_GET.
Вход создает или изменяет событие в календаре при положительном фронте. Если вход всегда истинный, то событие, как только оно будет удалено, снова создается. Изменения события не распознаются.
Важно: Создание и одновременное удаление следует избегать, так как это может сильно нагружать SSD.
Здесь база данных таймера сохраняется в виде строки. Она должна существовать как функциональный блок TIMESWITCH. Учитывайте также порядок программы, чтобы этот функциональный блок был правильно инициализирован.
Определяет идентификатор события в виде строки. Это позволяет уникальную идентификацию и предотвращает конфликты с другими событиями. Идентификатор должен состоять только из букв и цифр. Регистр учитывается.
Примечание: Идентификатор должен быть определен уникально для всех календарей. Событие может быть скопировано пользователем на визуализации в другой календарь.
Название события в виде строки. Оно не должно содержать переносов строк. Если вход ADD истинный, то любое изменение сразу записывается в календарь.
Время начала события в формате DT#. Если вход ADD истинный, то любое изменение сразу записывается в календарь.
Совет: Время переключения можно рассчитать с помощью функциональных блоков MKTIME, STR2DT и EASTER_DATE.
Время окончания события в формате DT#. Если вход ADD истинный, то любое изменение сразу записывается в календарь. Если время окончания меньше DT_START, то DT_END определяется как время начала.
Если вход не определен, то принимается такое же значение, как и DT_START, и создается импульс события.
Вход деактивирует событие в календаре. Если вход ADD истинный, то любое изменение сразу записывается в календарь.
На входе могут быть определены повторения в виде строки. Они могут быть сгенерированы с помощью вспомогательных функций REPEAT_YEARLY, REPEAT_MONTHLY, REPEAT_WEEKLY, REPEAT_DAILY и REPEAT_HOURLY или объявлены, как описано.
Строка может быть разделена двоеточием следующим образом:
w:2:4:135
Первая цифра (строчная) определяет временной интервал повторения:
| Сокращение | Временной интервал |
|---|---|
| h | Ежечасно |
| d | Ежедневно |
| w | Еженедельно |
| m | Ежемесячно |
| y | Ежегодно |
Вторая цифра определяет интервал повторения как целое число. Минимальное значение 1.
Третья цифра определяет конец повторения. Здесь могут быть определены три различных формата:
Четвертая цифра определяет дни недели, в которые происходит повторение. Эта цифра используется только при определении еженедельных или ежемесячных повторений.
Проверяется, содержится ли текущий день недели в числе. Несколько дней могут быть указаны подряд. Например, 135 для понедельника, среды и пятницы. Если значение не указано (0 или пустая строка), то повторение не происходит ни в один день.
| Число | День недели |
|---|---|
| 1 | Понедельник |
| 2 | Вторник |
| 3 | Среда |
| 4 | Четверг |
| 5 | Пятница |
| 6 | Суббота |
| 7 | Воскресенье |
Определяет, в какой день недели должно происходить повторение события. Поддерживаются числа от -1 до 4. 0 или отсутствие объявления повторяет каждый месяц в тот же день, независимо от дня недели. День недели берется из первой даты.
| Значение | Описание |
|---|---|
| -1 | Повторяется в последний день недели. |
| 0 | Повторяется в тот же день. (По умолчанию) |
| 1 | Повторяется в первый день недели. |
| 2 | Повторяется во второй день недели. |
| 3 | Повторяется в третий день недели. |
| 4 | Повторяется в четвертый день недели. |
В случае ошибки выход устанавливается на истинное значение. Это может произойти, если календарь не существует или идентификатор не определен или недействителен.