Мной так и предусмотрено. Вопрос в том - эту переменную необходимо проверять в каждом переходе межу шагами.
Нашла в руководстве пользователя CoDeSys в описании языка флаги SFC:

SFCInit: Переменная типа BOOL. Когда переменная получает значение ИСТИНА, программа переходит на шаг Init и все SFC флаги сбрасываются. Шаг Init становится активным, но не выполняется, пока переменная имеет значение ИСТИНА. Как только SFCInit примет значение ЛОЖЬ, выполнение программы продолжится.

SFCReset: Переменная типа BOOL. Работает подобно SFCInit. Но приостановка выполнения происходит после шага инициализации Init. Поэтомуфлаг SFCReset можно сбросить в самом шаге Init.
Внимание: начиная с версии компилятора 2.3.7.0, флаг SFCReset сбрасывает также логические действия, ассоциированные с МЭК шагами, чего не было ранее.

Сейчас попробую проверить как они работают.