Нет, в данном моём случае, не для наработки.
Задача - установка, работающая циклично за 3-5 шагов. Кроме этих шагов есть ещё пара-тройка (инициализация, останов при отключении запроса).
Энергонезависимости в исходном ТЗ не было, более того - уточнял этот вопрос до начала работ.
Поэтому собрал обычный конечный автомат на CASE (в ST) с единым таймером для всех шагов.
После восстановления питание возобновление работы с прерванного шага сделать просто. А время - чуть сложнее, т.к. один таймер конечного автомата обслуживает и вспомогательные шаги и рабочий цикл. Т.е. при пуске в работу нужно восстанавливать и прошедшее в прерванном шаге время.
А уже вляпался в ST и всю энергонезависимость реализую через костыли и кодом собственного таймера TON.
Постараюсь отговорить заказчика от запоминания времени - шаги цикла короткие и их повторение с начала вреда не принесёт. Нет желания городить лишние сущности, да и в остальных аспектах - работа полностью завершена и проверена.
Наверное, сегодня в теме "Обсуждение макросов" поделюсь макросами моделирования объектов управления для отладки самодельных регуляторов - как аналоговых, так и 3-позиционных. Идею "подрезал" у "Семёна". Там использую таймер для отсчёта цикла пересчёта - как раз отсчёт "малыми порциями".





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