Для системы, работающей в реальном масштабе времени, актуальным является понятие таймер. Следует отметить, что в объекте имеется блок Таймер с периодом срабатывания от 1 миллисекунды. Сигналы этого таймера доступны только в пределах данного объекта. Кроме этого в RTWin предусмотрены системные таймеры доступные для любого объекта или панели управления и показываемые на схеме СКУ. Далее речь пойдет именно о таком виде таймеров. RTWin обеспечивает возможность создания неограниченного количества таких таймеров. Особенностью этих таймеров является то, что минимальный период срабатывания равен одной минуте. Таймеры доступны для любого модуля СКУ через вход специального типа. Таких специальных типов два: TIMER_type и DATE_type.
Тип TIMER_type имеет следующие поля:
tsec | время в секундах с 1 января 1970 года |
timer_type | тип таймера: ежедневный, ежемесячный |
timer_number | уникальный номер таймера |
Тип DATE_type имеет следующие поля:
tm_sec | секунды текущей минуты |
tm_min | минуты текущего часа |
tm_hour | часы текущих суток |
tm_mday | день текущего месяца |
tm_mon | месяц года |
tm_year | год с начала века |
tm_wday | день с начала недели |
tm_yday | день с начала года |
Каждый таймер имеет уникальное имя. Все ссылки на конкретный таймер задаются посредством его имени. Это дает возможность легко изменять конфигурацию таймера, не обращая внимания на то, сколько ссылок на него имеется. Все таймеры в RTWin по периоду срабатывания делятся на:
Для таймера с периодом меньше суток можно указать время первого срабатывания. Это время задается в абсолютном (календарной датой) или относительном виде (как временной интервал с момента запуска проекта). Кроме того, для таких таймеров можно установить флаг выравнивания на границу минуты или часа.