7. Функции таймеров
7 - 4 Automating with STEP 7 in STL and SCL
Автоматизация посредством STEP 7
с использованием STL и SCL
Вы можете непосредственно задать параметр "длительность работы"
("duration") в машинном слове. Наименьшее возможное значение для
"временной базы " ("time base") обеспечивает более точное исчисление
промежут ков времени с помощ ь ю таймера. Например, если необходимо
задать для таймера отрезок времени, равный 1 с, то можно при этом
использовать одно из тре х значений для "временной базы" ("time base") и,
соответственно, для каждого из этих значений Вы получите свое значение
длительности работы функции таймера (фактическ и, значение функции
таймера):
"Временная база" ("time base") = 1 с; "Длительность работы" ("duration") = 2001
hex
"Временная база" ("time base") = 100 мс; "Длительность работы" ("duration") = 1010
hex
"Временная база" ("time base") = 10 мс; "Длительность работы" ("duration") = 0100
hex
Последний из трех вариантов является предпоч тительным для данного
случая.
При запуске таймера CPU использует заданн ое значение времен и ("time
value") как период времени, в течение которого таймер находится в активном
состоянии ("timer running"). Операционная система обновляет таймеры через
фиксированные интервалы времени независимо от процесса ск анирования
программы пользователя. То есть, CPU производит ступенчатое уменьшение
значения функции таймера в со ответствии с заданным значением для
"временной базы" ("time base").
Когда значение функции таймера достигает уровня "0", это означает, что
отсчит ываемое таймером время истекло. При этом CPU изменяет состояние
(статус) тай мера (состояние сигнала в "0" или "1", в зависимости от
выбранного типа таймера), при этом функция таймера перестает быть
активной до следующего запуска таймера.
Если для функции таймера было задано значение времени ("time value"),
равное нулю (0), то таймер остается активн ым, пока при обработке фун кции
таймера CPU не обнаружит, что время заданное для таймера "истекло".
Таймеры обновля ются асинхронно по отношению к процессу сканирования
программы пользователя. Следовательно, возможно, что состояние таймера
в начале цикла сканирования отличается от его состояния в конце цикла.
Если Вы используете функцию таймера только в одном месте программы и
придерживаетесь нижеследующих ре комендаций, то не возник нет ошибо к из-
за асинхронного обновления таймера в программе.
7.1.3 Сброс таймера (Resetting a timer)
Следующая инструкция
R T n вызывает сброс таймера.
Таймер сбрасывается, при результате логической операции RLO, равном "1",
при появлении вышеуказанной инструкции. Пока RLO равен "1", проверки
таймера на состояние "1" возвращают результат проверки "0"; проверки
таймера на состояние "0" возвращают результат проверки "1".