
Сообщение от
МихаилГл
Я всегда думал что до окончания подпрограммы триггер работает... Может в лоджике и не так...
Надо проверить, поставить до и после условие сравнения и суммирование переменной и по ней определиться.
Функциональный блок работает только в момент его вызова. Все остальное время мы пользуемся результатом его работы.
Например
Код:
var_input //объявление входных переменных
E : bool;
end_var
var_output //объявление выходных переменных
Q : bool;
end_var
var //объявление локальных переменных
RTrig : SYS.RTRIG;
end_var
RTrig.I := E;
if not RTrig.Q then RТrig(); end_if
Q := RTrig.Q;
Здесь триггер взведется по фронту Е и останется таким навсегда (ну, или пока мы его где-нибудь в другом месте опять не вызовем)