Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
17
Добавлен:
12.02.2016
Размер:
2.28 Mб
Скачать

2.23 Блок таймера

Данный блок предназначен для реализации таймеров различных типов и имеет вход сброса. Таймер может выполнять функции формирования абсолютных или относительных временных интервалов с разрешением 0,1 с или 1 с. Цикл таймера до сброса с последующим возобновлением работы может составлять от 1 минуты до 1 года. Содержимое таймера (относительное или абсолютное время) может быть передано другому функциональному блоку стратегии.

Выходное значение блока таймера представляется в виде целого двойной точности в диапазоне от 0 до 4294967295. Данный блок является весьма удобным средством для реализации различных алгоритмов управления, выполнение которых основывается на интервалах времени.

Единицы, в которых выражается значение на выходе блока таймера, могут быть выбраны с помощью переключателя Разрешающая способность диалоговой панели настройки параметров блока. Таким образом, разрешающая способность таймера может составлять 1 тик (0,1 с) или 1 с. Получение более высокого разрешения в рамках операционной системы Windows представляется весьма трудной задачей.

Цикличность (периодичность) работы таймера может быть выбрана с помощью переключателя Цикл диалоговой панели настройки параметров блока. По истечении периода времени, выбранного с помощью указанного переключателя, содержимое таймера сбрасывается в ноль и работа таймера возобновляется. Например, если выбран цикл, равный 1 минуте, а разрешение 1 с, то содержимое таймера в каждом цикле будет увеличиваться от 0 до 59 с последующим возобновлением. Данная функция блока таймера в текущей версии пакета работает только при использовании разрешающей способности, равной 1 с.

Содержимое блока таймера может быть сброшено в 0 в процессе его работы путем подачи на вход блока дискретного сигнала с уровнем логической единицы. Для возобновления работы таймера следует подать на вход блока дискретный сигнал с уровнем логического нуля.

При использовании таймера, отсчитывающего абсолютное время (переключатель Тип таймера установлен в положение Прошедшее время), после запуска стратегии на исполнение алгоритм работы таймера объясняется следующим примером. Если разрешающая способность таймера составляет 1 с, а в качестве цикла таймера выбрана 1 минута, то при запуске стратегии на исполнение в 11:23:17 (по часам реального времени компьютера) работа таймера начнется со значения, равного 17, и будет продолжаться до 59 с последующим сбросом и дальнейшим возобновлением работы.

Нулевые начальные значения содержимого таймера при использовании указанного режима работы определяются следующим образом:

Цикл таймера Значение системного времени для нулевого начального содержимого таймера

Год 00:00:00, 1 января каждого года

Месяц 00:00:00, в первый день каждого месяца

Неделя 00:00:00, в воскресенье каждой недели

Сутки 00:00:00, в начале каждых суток

Час каждый час

Минута каждую минуту

Таким образом, имеется возможность вычисления текущего времени. Например, таймер с циклом Неделя и разрешением 1 с при запуске стратегии в 0:00 в понедельник будет иметь начальное содержимое, равное 86400, а в полдень (12:00) пятницы его содержимое увеличится до 518400. В результате появляется возможность автоматического отключения какой-либо единицы контролируемого оборудования в течение выходных.

Пример использования блока таймера приведен в стратегии TIMER.GNI, которая расположена в каталоге \GENIE\STRATEGY. Данная стратегия формирует три звуковых сигнала каждую нулевую, 2-ю и 4-ю секунды каждой минуты в течение первых 5-ти минут каждого часа с понедельника по пятницу каждой недели.

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

Выходная связь: Блок таймера имеет выход, по которому выводится абсолютное или относительное значение (целого типа двойной точности) времени в заданных единицах разрешения таймера.

Соседние файлы в папке Методичні матеріали