Таймер ^^^^^^ .. figure:: image/fbd/fbd_block_timer1.png :align: center **Описание:** Выдает РЅР° выход **1** СЃ заданным интервалом многократно, или однократно после установки разрешающего сигнала. Р’С…РѕРґ ``Рµn`` – разрешение работы таймера, РїСЂРё установленной **1** – выдача **1** РЅР° выходе разрешена, РїСЂРё **0** – запрещена. Р’С…РѕРґ ``interval`` задает период выдачи **1** РЅР° выходе. Выход равен **1**, если соблюдены РІСЃРµ следующие условия: * РІС…РѕРґ ``en`` равен **1** РІ течение времени, РІ миллисекундах, РЅРµ меньшего, чем значение РЅР° РІС…РѕРґРµ ``interval``, сохраненное РЅР° шаге переднего фронта РІС…РѕРґР° ``en``, * значение выхода РЅР° предыдущем шаге выполнения было **0**, * СЃРѕ времени выдачи предыдущей **1** или переднего фронта РІС…РѕРґР° ``en`` РЅР° выходе прошло время, РІ миллисекундах, РЅРµ меньшее, чем значение РЅР° РІС…РѕРґРµ ``interval``, запомненное РІ шаге предыдущей **1** или переднего фронта РІС…РѕРґР° ``en``. Циклограмма работы блока :guilabel:`Таймер`: .. figure:: image/fbd/fbd_cycle_timer.png :align: center **Свойства блока:** **Общие свойства:** СЃРј. Редактирование свойств блока. **Однократно:** **1** выдается только РІ «одиночном» режиме, С‚.Рµ. течение РѕРґРЅРѕРіРѕ шага! Между соседними **1** РІ течение, как РјРёРЅРёРјСѓРј, РѕРґРЅРѕРіРѕ шага, гарантированно выдается **0**. Опция ``Однократно`` указывает, что выдача **1** будет выполняться только РѕРґРёРЅ раз, после каждого переднего фронта РІС…РѕРґР° ``en``. Рначе 1 Р±СѓРґСѓС‚ выдаваться многократно. Р’СЃРµ блоки-таймеры проекта используют РѕРґРёРЅ аппаратный «базовый» таймер устройства, настраиваемый РЅР° определенный постоянный интервал срабатывания. Рнтервал срабатывания базового таймера указывается РІ свойствах проекта. Переменная – признак срабатывания базового таймера устанавливается перед выполнением каждого шага вычисления схемы, РїСЂРё этом, если РЅР° предыдущем шаге была **1**, то РЅР° этом шаге устанавливается **0**, независимо РѕС‚ времени. Для отсчета времени каждый блок использует внутреннюю переменную-счетчик. **Единицы измерения** - задает единицы измерения времени РЅР° РІС…РѕРґРµ `interval`. Доступны три варианта - **мсек**, **сек**, **РјРёРЅ**. Выбранное значение отображается РІ РІРёРґРµ суффикса РЅР° РІС…РѕРґРµ. Алгоритм выполнения блока: * если признак срабатывания базового таймера равен **0** – выдать **0**, закончить выполнение, * если РІС…РѕРґ ``en`` равен **0** – выдать **0**, записать РІ переменную-счетчик значение ``Interval`` / (Рнтервал базового таймера), закончить выполнение, * уменьшить переменную-счетчик РЅР° 1, * если переменная-счетчик равна **0** – выдать **1** Рё, если свойство ``Однократно`` **РЅРµ** установлено – записать РІ переменную-счетчик значение ``Interval`` / (Рнтервал базового таймера) для следующего срабатывания.