ПЛК нигде не остаётся на следующий цикл. Он каждый новый цикл
(точно не помню, но примерно равный 1 мс) просто проходит
PLC_PRG от начала до конца и всё. Что там написано, он выполняет.
Если надо, чтобы какую-либо часть кода или процедуру он не
выполнял в конкретном цикле, надо на входе в эту процедуру
поставить условие, чтобы он туда не заходил, ну, или прописать её
выполнение в таймере по времени. В ПЛК невозможно задать останов выполнения главного цикла где-либо на время большее чем 1 мс (ну или сколько там, с учётом служебного времени на опрос входов, обмен по интерфейсам, выставление выходов и т.д.), так как это будет уже авария. При этом ПЛК "подумает", что программа зависла и сработает "собачий таймер", сбрасывающий цикл. Между циклами обмен данными идёт только через переменные.