
Сообщение от
alexval2006
вот наверно так
Код:
PROGRAM PRG_3
VAR
Stop1 : TP:= ( PT := T#1s);
Start1 : TP:= ( PT := T#1s);
Stop2 : TP:= ( PT := T#1s);
Start2 : TP:= ( PT := T#1s);
Stop3 : TP:= ( PT := T#1s);
Start3 : TP:= ( PT := T#1s);
Stop4 : TP:= ( PT := T#1s);
Start4 : TP:= ( PT := T#1s);
fan: WORD;
Do1: BOOL;
Do2: BOOL;
Do3: BOOL;
Do4: BOOL;
Do5: BOOL;
Do6: BOOL;
setmech : ARRAY[1..4] OF BYTE := 2#0011, 2#0101, 2#0110, 2#0111;
mech : ARRAY[1..4] OF BOOL;
trig1_start: r_trig;
trig1_stop: f_trig;
trig2_start: r_trig;
trig2_stop: f_trig;
trig3_start: r_trig;
trig3_stop: f_trig;
END_VAR
fan:=0;
FOR i :=1 TO 4 DO
fan:=SEL( mech[i], fan, fan OR setmech[i] );
END_FOR
trig1_start(clk := fan.0);
trig1_stop(clk := fan.0);
trig1_start(clk := fan.1);
trig1_stop(clk := fan.1);
trig1_start(clk := fan.2);
trig1_stop(clk := fan.2);
Start1(IN := trig1_start.q, Q => Do1);
Stop1(IN := trig1_stop.q, Q => Do2 );
Start2(IN := trig2_start.q, Q => Do3);
Stop2(IN := trig2_stop.q, Q => Do4);
Start3(IN := trig3_start.q, Q => Do5);
Stop3(IN := trig3_stop.q, Q => Do6);
запуск вентилей секундным импульсом с нечетных выходов, остановка с четных
это если у вас надо подключиться параллельно коробочке включения вентиля с 2мя кнопками "вкл и выкл"