B наконец... свои 5 копеек.
VAR
SR_1:SR;
R_TRIG1:RTRIG;
end_var
R_TRIG1(CLK:=KNOPKA);
SR(SET1:= R_TRIG1.q AND NOT LAMPA,RESET:= R_TRIG1.q AND LAMPA,Q=>lampa);
B наконец... свои 5 копеек.
VAR
SR_1:SR;
R_TRIG1:RTRIG;
end_var
R_TRIG1(CLK:=KNOPKA);
SR(SET1:= R_TRIG1.q AND NOT LAMPA,RESET:= R_TRIG1.q AND LAMPA,Q=>lampa);
Последний раз редактировалось Малышев Олег; 26.08.2009 в 20:49.
Привет, просмотрел тему и стало интересно на сколько можно компактней написать эту прогу.
PROGRAM PLC_PRG
VAR
power: BOOL;
stop: BOOL;
tim1: TON;
reset: BOOL;
Favar: BOOL;
END_VAR
-----------------------------
IF avar THEN (*авария*)
IF reset THEN(*опрос кнопки reset*)
avar:=FALSE;
stop:=FALSE;
END_IF
ELSE
out:=(NOT stop AND out)OR power;
(*тригер кнопок пуск стоп*)
IF KQ THEN(*контакт реле*)
;
ELSE
tim1( IN :=out , PT := T#5s);(*счетчик аварии*)
Favar:=tim1.Q;
IF Favar THEN(*флаг аварии*)
stop := TRUE;
avar:=TRUE;
out:=FALSE;
END_IF
END_IF
END_IF;
подскажите, что-то никак не могу додуматься как реализовать такое:
при нажатии на кнопку, последовательно (с интервалом в 2 сек) включаются выхода.
выкладываю полную версию там есть визуализация там все должно быть понятно.Новая папка.rar
кнопка без фиксации. после нажатия должны включатся выхода к примеру: №1, затем через 2 сек №2, еще через 2 сек №3 и т.д.
например так.
ПЛК100 r.l.
спасибо. работает. правда сделал немного по другому.
Вот еще такой вопрос. Промучился весь вечер не могу понять, почему при первом прогоне таймеры работает как надо(выхода переключаются последовательно). А когда второй раз вызываю, то выхода переключаются без задержек.
Фрагмент кода:
IF flag_Step_On THEN
Ti1(IN:=TRUE,PT:=T#1s);
Ti2(IN:=TRUE,PT:=T#2s);
RELAY1:=Ti1.Q;
RELAY2:=Ti2.Q;
END_IF
(*Где Ti1,Ti2 - TON таймеры)