Цитата Сообщение от 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