Среда разработки Unimod PRO 2 (версия 2.3.40)
 Руководство по программированию
×

TOF - задержка выключения


Назначение.
Функциональный блок TOF содержит внутренний таймер и применяется для создания временной задержки между моментом изменения управляющего дискретного сигнала по заднему фронту (из логической единицы в логический ноль, TRUE → FALSE) и передачей этого сигнала.
 
Состав структурной переменной.
Переменная со структурным типом TOF будет добавлена в локальный словарь автоматически при добавлении блока TOF в редактор.
Описание алгоритма.
На вход PT передается целое число (тип данных INTEGER) - период времени в миллисекундах, по истечении которого дискретный сигнал FALSE со входа IN будет передан на выход Q.
Запуск таймера осуществляется при изменений входного дискретного сигнала IN по заднему фронту (TRUE → FALSE). При этом на выход ET выводится текущее время таймера, отсчитываемое с момента запуска, а выход Q=TRUE. По истечении указанного на входе PT периода времени (ET=PT), отсчет времени останавливается, и дискретный сигнал FALSE со входа IN передается на выход Q (Q=FALSE).
Для сброса таймера входной дискретный сигнал IN необходимо изменить по переднему фронту (FALSE → TRUE). При этом отсчет времени прекращается, выходы ET=0 и Q=TRUE.
На следующем изображении в виде временной диаграммы представлен принцип работы блока, где 1 - задержка между поступлением управляющего сигнала FALSE и его передачей на выход, 2 - сброс таймера после завершения отсчета, 3 - сброс таймера до завершения отсчета, поэтому управляющий сигнал FALSE не был передан на выход.
 
Пример синтаксиса на языке ST.
//вызов функционального блока
Block.TOF(IN, PT);
//возвращается сигнал Q=False, если после изменения параметра IN с true на false
//истек период времени PT
Q := Block.Q;
//чтение текущего времени таймера          
ET := Block.ET;