Может лучше использовать BLINK?
Код:PrevDI5 : BOOL;
TMR : BLINK;
IF NOT PrevDI5 AND DI5 THEN // При каждом нажатии
KNOPKA1 := NOT KNOPKA1; // Переключаем кнопку (кнопка с фиксацией)
END_IF
PrevDI5 := DI5;
TMR(ENABLE := KNOPKA1, TIMELOW := T#1s, TIMEHIGH := T#1s); // Сигнал снимаем с TMR.QUT