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

Назначение.
Функциональный блок TON содержит внутренний таймер и применяется для создания временной задержки между моментом изменения управляющего дискретного сигнала по переднему фронту (из логического нуля в логическую единицу, FALSE → TRUE) и передачей этого сигнала.
Состав структурной переменной.
Переменная со структурным типом TON будет добавлена в локальный словарь автоматически при добавлении блока TON в редактор.

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

Пример синтаксиса на языке ST.
//вызов функционального блока
Block.TON(IN, PT);
//возвращается значение Q=True, если после изменения параметра IN с false на true
//истек период времени PT
Q := Block.Q;
//чтение текущего времени таймера
ET := Block.ET;
|
