Цитата Сообщение от capzap Посмотреть сообщение
тогда два момента
почему в одном кейсе не проверять и WORKING и DONE и зачем тогда CASE вобще нужно
Этот вопрос точно относится к обсуждаемому?

Я спрошу: вы поняли *в какой код* я предлагаю компилировать "код на паузах"?
У вас исходно было возражение: код с паузами "зациклится, подвесит ПЛК, приведёт к перезагрузке". Это возражение осталось?

По-моему, я весьма подробно описал почему код не зависнет. Нет?

Наличие или отсутствие CASE это экономия на спичках. На что влияет есть тут CASE или нет?


Цитата Сообщение от capzap Посмотреть сообщение
во вторых еще раз спрошу если DONE не наступит ни когда что будет с циклом while ?
Есть 2 варианта:
1) Если оно будет равно ASYNC_WORKING, то state застрянет в 0 и ФБ будет возвращать управление
2) Если res окажется ни WORKING ни DONE (а хренью какой-нибудь), то, разумеется, цикл зависнет (вызовет перезагрузку ПЛК).

Но это как это относится к сути предлагаемого мною подхода?