Таймер¶

Описание: Выдает на выход 1 с заданным интервалом многократно, или однократно после установки разрешающего сигнала. Вход еn
– разрешение работы таймера, при установленной 1 – выдача 1 на выходе разрешена, при 0 – запрещена. Вход interval
задает период выдачи 1 на выходе.
Выход равен 1, если соблюдены все следующие условия:
- вход
en
равен 1 в течение времени, в миллисекундах, не меньшего, чем значение на входеinterval
, сохраненное на шаге переднего фронта входаen
, - значение выхода на предыдущем шаге выполнения было 0,
- со времени выдачи предыдущей 1 или переднего фронта входа
en
на выходе прошло время, в миллисекундах, не меньшее, чем значение на входеinterval
, запомненное в шаге предыдущей 1 или переднего фронта входаen
.
Циклограмма работы блока Таймер:

Свойства блока:
Общие свойства: см. Редактирование свойств блока.
Однократно:
1 выдается только в «одиночном» режиме, т.е. течение одного шага! Между соседними 1 в течение, как минимум, одного шага, гарантированно выдается 0. Опция Однократно
указывает, что выдача 1 будет выполняться только один раз, после каждого переднего фронта входа en
. Иначе 1 будут выдаваться многократно. Все блоки-таймеры проекта используют один аппаратный «базовый» таймер устройства, настраиваемый на определенный постоянный интервал срабатывания. Интервал срабатывания базового таймера указывается в свойствах проекта. Переменная – признак срабатывания базового таймера устанавливается перед выполнением каждого шага вычисления схемы, при этом, если на предыдущем шаге была 1, то на этом шаге устанавливается 0, независимо от времени. Для отсчета времени каждый блок использует внутреннюю переменную-счетчик.
Единицы измерения - задает единицы измерения времени на входе interval. Доступны три варианта - мсек, сек, мин. Выбранное значение отображается в виде суффикса на входе.
Алгоритм выполнения блока:
- если признак срабатывания базового таймера равен 0 – выдать 0, закончить выполнение,
- если вход
en
равен 0 – выдать 0, записать в переменную-счетчик значениеInterval
/ (Интервал базового таймера), закончить выполнение, - уменьшить переменную-счетчик на 1,
- если переменная-счетчик равна 0 – выдать 1 и, если свойство
Однократно
не установлено – записать в переменную-счетчик значениеInterval
/ (Интервал базового таймера) для следующего срабатывания.