Казалось бы примитивная вещь - таймер. Все вроде бы разжевано...
Почему не работает тест ПЛК100 в таком виде:
Код:
Out1 := NOT Out1; (* visual circle of PLC *)
CASE Regim OF
0 : (*----------------- some inits ----------------- *)
Regim := 1;
1 : (*----------------- begin ON ----------------- *)
Tm0.IN := FALSE;
Tm1( IN := In0, PT := gTakt );
Out0 := ON; (* indicate meandr *)
Regim := 2;
2 : (*----------------- continue ON / begin OFF ----------------- *)
IF (Tm1.Q = TRUE) THEN
Tm0( IN := TRUE, PT := gTakt );
Out0 := OFF; (* indicate meandr *)
Regim := 3;
END_IF
3 : (*----------------- continue OFF ----------------- *)
IF (Tm0.Q = TRUE) THEN
Tm1.IN := FALSE;
Regim := 1;
END_IF
ELSE (*----------------- crazy ----------------- *)
Tm1.IN := FALSE;
Regim := 1;
END_CASE
Таймер Tm1 не запускается, его Tm.ET не меняется, соответственно из Regim = 2 никуда не уходим.
Почему?
gTakt = 100мсек. Цикл ПЛК - 2...9999 мсек
С уважением,
Herzog