
Сообщение от
FPavel
Обычно, код должен быть сравнительно независимым от внешних факторов.
Поэтому при использовании CASE настоятельно рекомендуется использовать ветку ELSE, в которой обрабатываются нештатные ситуации с выходом переменной из ряда перечислений.
Поэтому, вместо фокусов с инициализацией я бы просто добавил на входе ФБ (или функции) на ST блок проверки корректности входных данных.
Если посмотреть примеры из библиотек OSCAT и CoDeSys - в самом начале строки проверки.
Кроме того, на входе в ФБ можно добавить вход EN, разрешающий работу алгоритма. Вход понадобится для приостановки алгоритма на период инициализации оборудования при включении питания - секунд на 5-10 - это значительно больше, чем один цикл.