
Сообщение от
Cs-Cs
Мой вопрос не по таймерам. Просьба перечитать внимательнее.
Я прочитал и понял - на входах таймеров используются переменные, объявленные как выходы. Я тоже их часто использую для промежуточных вычислений.
В "урезанном" виде у меня такой пример работает - по скрину же не видно, как изменяются остальные переменные. А может проблемы из-за использовании в этом месте пользовательских функций.
Если есть ФБ, работающий неправильно, не проще было его выложить?
Код:
function_block functionblock1 //имя функционального блока.
var_input //объявление входных переменных
in1 : bool;
end_var
var_output //объявление выходных переменных
Q1 : bool;
Q2 : bool;
end_var
var //объявление локальных переменных
TOF1 : SYS.TOF;
TOF2 : SYS.TOF;
end_var
TOF1(I:=(Q1 AND Q2), T:=t#5s);
Q1 := (TOF1.Q AND NOT Q2) or in1;
TOF2(I:=Q1, T:=t#10s);
Q2 := TOF2.Q;
end_function_block