Так должно быть.
Ты забыл о том, что функциональный блок - это тоже программа, и она должна ВСЕГДА выполняться.
Например, вызов какого-нибудь таймера типа IF (lalala) THEN ton1(IN := true) не приведёт к тому, что таймер потом будет считать. Чтобы таймер считал - надо чтобы он всегда вызывался.
Поэтому это условие тебе надо внести в твой FB и обрабатывать там.
А почему в вашем примере таймер не будет вызываться при трушном lalala? Условный переход ведь выполняется.
А почему в вашем примере таймер не будет вызываться при трушном lalala? Условный переход ведь выполняется.
Пока условие TRUE - будет вызываться. А как только условие станет FALSE - всё. Таймер зависнет в том состоянии, в котором был последний вызов. И, пока его не вызовешь, он ничего не досчитает никогда.
Пока условие TRUE - будет вызываться. А как только условие станет FALSE - всё. Таймер зависнет в том состоянии, в котором был последний вызов. И, пока его не вызовешь, он ничего не досчитает никогда.
Согласен, но в моём случае ничего не происходит, на DI1 всегда подаётся 24В перемычкой с питания, а не "импульсно".