А как правильно сделать в таком случае.
добавляется еще одна строка NEWVAR = OLDVAR +1; в первое условие:
TIMEdoz: TON;
d: TIME;
IF Knopka= TRUE THEN
NEWVAR = OLDVAR +1;
OUT := TRUE;
TIMEdoz(IN:=TRUE,PT:=t#100s);
END_IF
IF Datchik = TRUE THEN
TIMEdoz();
d:= TIMEdoz.ET;
OUT := FALSE;
TIMEdoz.IN := FALSE;
END_IF
NEWVAR, OLDVAR:REAL - это переменные, получаемые при опросе модулей ввода. И пока в модуле не обновится NEWVAR нельзя запускать процесс OUT. То есть нужна задержка между вычислением NEWVAR и запуском OUT 1 секунда, например.




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