Ребят, доброе всем утра! Спасибо что откликнулись! Улыбнуло - спал в кабинете на полу на 4 плакатах ОХРАНЫ ТРУДА
Вид для печати
Ребят, доброе всем утра! Спасибо что откликнулись! Улыбнуло - спал в кабинете на полу на 4 плакатах ОХРАНЫ ТРУДА
Алиса конешно решила задачу, но много лишнего
-куча таймеров (уже говорили выше),
-зачем if если уже есть case? if это неявный шаг case, это и юзать
-лампы в шагах. Лампа это уже шаг по условию.
Есть куда расти
Если нет соревнования - типа в 4..5 строк, то лучше автоматно (case)
Вариант:
Код:function_block sw
var_input
i : bool;
end_var
var_output
Q1, Q2, Q3 : bool;
end_var
var
tmr : SYS.TON;
tmp : bool;
end_var
tmr(I:=i, T:=T#1s);
if i then
if not(Q1 or Q2 or Q3) then Q1 := true; end_if
if tmr.Q then
tmp := Q3; Q3 := Q2; Q2 := Q1; Q1 := tmp; tmr(I:=false);
end_if
else
Q1 := false; Q2 := false; Q3 := false;
end_if
end_function_block
Колеги доброе утро! Подскажите почему это так работает Вложение 87215 я как понимааю действие в вложеном втором условии не должно выполняться , а оно выполняеться:confused:
Вложение 87216 Эта авария генерируеться только в этих очках в рамках этого FB
in-goy1 у вас 1, у вас нет теперь никаких else