Нарушать работу цикла ПЛК нежелательно. Дело порой доходило до того, что в отсутствие языка SFC в средах разработки некоторых ПЛК, программисты для организации последовательностей программных командоаппаратов делали следующее:
обявлялась переменная типа WORD или DWORD. Например с именем STEP_CONTROL.
А отдельные ее битовые поля использовались в качестве битов разрешения того или иного шага технологической последовательности:
STEP_CONTROL.0
STEP_CONTROL.1
STEP_CONTROL.2
...
При старте ПЛК переменная STEP_CONTROL инициализировалась значением "1". Т.е. программа приводилась в состояние "нулевого шага".
Так же, организовывалась переменная STEP_ON, которая переводилась из состояния "0" в состояние "1" тогда, когда срабатывал тот или иной критерий завершения шага последовательности.
При этом, занчение обрабатывалось функцией триггера "по фронту", что приводило в вызову функции "сдвиг влево" для переменной STEP_CONTROL, в результате чего технологическая последовательность перемещалась на следующий шаг.
Единичка, сдвигаемая в переменной STEP_CONTROL именовалась на внутреннем жаргоне в ряде производственных коллективов "пузырьком", а сам процесс написания отладки таких программ - "гонять пузырь".
С повышением культуры поставщиков инструментального ПО и приведением средств разрабоки к требованием МЭК такая необходимость отпала, поскольку стало возможным использовать средства языка описания технологических последовательностей SFC.
Однако, в ряде случаев, использование сдвиговых регистров для организации командоаппаратов все еще остается актуальным.
Такая "кулибинщина", а не желание во что бы то ни стало "повесить" цикл ПЛК, действительно оправдана и к ней приходили многие разработчики прикладного ПО для ПЛК независимо друг от друга.
Написал об этом, чтобы проиллюстрировать общий подход к использованию модели ПЛК вне зависимости от прикладных задач.
"Тормозя" работу контроллера на единственной операции, вы тем самым лишаетесь возможности выполнять какие-то другие действия. Например, реализацию алгоритмов противоаварийных защит и интерфейса оператора.