Добрый вечер! Конечный автомат сделать можно. На входе создаете переменную, например, PrevState. И с помощью "линии задержки" передаете выходное значение Q (UDInt - код шага в автомате) на вход. Таким образом при вызове функция узнает на каком шаге автомата она остановилась в прошлом цикле. Внутри делаете CASE по PrevState и все. Получился такой себе FB с хранением предыдущего состояния "снаружи". Все таймеры внешние. Если шаг =10, то таймер 1 запустить. Таймер через время задержки Т выдает TRUE на вход функции. Управление исполнительными механизмами - по номеру состояний. скрин 1.JPGскрин 2.JPG





Ответить с цитированием
