Не надо делать на SFC главную программу PLC_PRG. Это типовая ошибка. Ее стоит написать на ST или LD, а уже в ней организовать вызов 2 десятка SFC подпрограмм и их сброс по авариям. Еще красивее распараллеливаться задачами. Блок SFC можно объявлять Retain и он при рестарте продолжит там, откуда слетел.
SFC язык шикарный, если научиться правильно применять. Например, у компании Бош все их прикладные программы самых разнообразных машин в CoDeSys написаны строго на связке ST-SFC. Иное запрещено. Это самые красивые, читабельные и сопровождабельные программы из того, что вообще доводилось видеть.





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