В цикле ПЛК делается проверка:

IF SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_st epper_state = STOP_STEPPER_RUN_STATE THEN
SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_st epper_enable := FALSE; END_IF


У меня цикл ПЛК = 1 мс. Крайнее значение временного интервала - 16,7 мс. Возможно, промежуток, в котором должна кончаться генерация пачки импульсов, надо задавать 14 - 15 мс. Тогда цикл ПЛК гарантированно не будет вносить погрешность.