Если в 1-ом условии таймер TimerOff1 еще не сработал, и всё ушло в середину, то таймер как запомнил время старта (и состояние работы), так оно там и осталось. А при возврате в 1-е условие (если Auto1Cmd не упал), таймер смотрит прошедшее время с момента старта в прошлом (а может и позапрошлом (а может поза-поза ..(..))) входе в 1-ое условие.
Вынос из IF типа
Аналогично и с другимиКод:TimerOff1(I := (Current > Hight_level) and Auto1Cmd, T := T_Off); TimerOn1(I := (Current < Low_level) and NOT Auto1Cmd, T := T_On); Auto1Cmd := not TimerOff1.Q and (Auto1Cmd or TimerOn1.Q);




Ответить с цитированием
