Только для "Хочу померить время между началом и концом процесса" фиксировать конец процесса нужно с помощью детектора фронта R_TRIG, а так у Вас значение d появляются только на время одного цикла и в остольное время d=0
TIMEdoz: TON;
d: TIME;
R_TR1: R_TRIG;
IF Knopka THEN
OUT := TRUE;
TIMEdoz(IN:=TRUE,PT:=t#100s,ET=>d);
END_IF
TIMEdoz();
R_TR1(CLK:=Datchik);
IF R_TR1.Q THEN
OUT := FALSE;
TIMEdoz.IN := FALSE;
END_IF




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