Описанное "вал ШД вращается, но очень медленно. Т.е. частота вращения не соответствует заданию" больше похоже на проблему самого блока.
Вроде, такое уже исправлялось как-то.
"Лишние" вызовы SteppersConfig_Pru1MemoryTransfer, на мой взгляд, портить ничего не должны. Их же легко убрать и проверить, влияют ли они на что-нибудь. В обозначенной выше программе они не нужны.
В онлайне все правильно показывает.
В том то и дело, что SteppersConfig_Pru1MemoryTransfer.STEPPER_PRU1_ste pper_state в ФБ не анализируется.
Останов Steper делается по срабатыванию датчика.
Сейчас выложу.
Интересно, что если из прерывающей программе убрать
SteppersConfig_Pru1MemoryTransfer();
то все работает как надо.