Написал такой код:
Код:
PROGRAM TEMP_CONTROL
VAR
T1,T2: TON;
T1_start, T2_start: BOOL;
END_VAR
T2(IN:=T2_start, PT:=T#10s);
T2_start := FALSE;
IF NOT T2.Q THEN
Engine1 := 1;
Vibrator := TRUE;
T1_start := TRUE;
END_IF;
T1(IN:=T1_start, PT:=T#3m);
IF T1.Q AND T1_start THEN
Engine1 := 0;
Vibrator := FALSE;
T1_start := FALSE;
T2_start := TRUE;
END_IF;
Всё работает, только почему-то, когда запустился таймер T1 и переменой T1_start установлено значение FALSE, код под условием IF T1.Q AND T1_start выполняется заново в следующем цикле, в связи с чем не могу в другом месте запустить двигатель. Почему так?