Управление задвижкой дискретными сигналами "открыть"/"закрыть", обратная связь (положение затвора) - аналоговый сигнал?

В общем случае алгоритм такой:
Код:
IF ("открыть" == TRUE OR "закрыть" == TRUE) AND 
   (положениеЗатвора == положениеЗатвораВПредыдущемЦиклеПЛК) THEN
           запуститьТаймерСУставкой5секунд;
ELSE
           сброситьЭтотТаймер;

IF таймерДосчитал5сек THEN
           затворЗаклинило;
Для переменной "положениеЗатвора" наверно нужно ввести некую мертвую зону, т.к. аналоговый сигнал может "плавать" (незначительно изменяться) из измерения в измерение при покоящейся задвижке.

П.С. Для определения заклинивания затворов на них обычно устанавливают моментные выключатели (муфты ограничения крутящего момента).