Очень красивый код. Я сталкивался в Delphi с ситуацией, когда «длинные условия» типа
Цитата Сообщение от Yegor Посмотреть сообщение
Вот из одного нашего проекта код:RegenTimer(IN := RegenEnabled AND NOT RegenTimer.Q AND NOT RegenFilling AND NOT lvl1);
неправильно интерпретировались компилятором. Искренне спасибо всем за помощь.
Цитата Сообщение от Yegor Посмотреть сообщение
Зачем t1(IN := FALSE)? Он уже остановлен к этому моменту. Приходите на пересдачу.У вас общий стратегический просчёт. Всё вывернуто наизнанку. Под ПЛК так не пишут.
Это чтобы не ошибиться. Как правило, нет же готовой блок-схемы алгоритма. Это нормально и нужно, чтобы отчет времени обязательно начался заново, вне зависимости от ошибок в программе.