AstraRegul
Релиз 2025.08.15.00
×

5.2.3.5.5.1. Алгоритм

 
Алгоритм позволяет выполнять циклический запуск заданного количества этапов (шагов).
Работает совместно с алгоритмом STEP2.
 
Если есть команда от оператора HMI на запуск ФГУ, программа переходит в состояние ACTIVE. Далее программа циклически начинает проверять состояние текущего шага:
- Если текущий шаг завершился провалом, то программа переходит в состояние FAIL.
- Если текущий шаг завершился по таймауту, то программа переходит в состояние TIMEOUT.
- Если состояние текущего шага OK или текущий шаг исключен из выполнения, программа переходит на следующий шаг.
Когда успешно будет выполнен последний шаг (CNT = STAGE_CNT), программа перейдет в состояние ОК.
Если есть команда "Прервать" от оператора HMI, программа переходит в состояние NOACTIVE.
Если есть команда "Сброс" от оператора HMI, программа переходит в состояние NOACTIVE, при этом номер текущего этапа сбрасывается в ноль.
     STATE := ENUM_FGU_STATE.NOACTIVE;
     STAGE := 0;
 
Если программа завершилась успехом, то переводим ее в состояние NOACTIVE.
 
Флаг "Шаговая программа выполняется" формируется, если состояние программы ACTIVE.
IS_ACTIVE := STATE = ENUM_FGU_STATE.ACTIVE;
 

Блок-схема работы