Execution Order of Movement Function Blocks

When buffered movements or blending movements are commanded, the function block instance that commands the subsequent movement must not be executed earlier than the function block instance that commanded the previous movement.

If this order is violated, then the new error SMC_MOVING_WITHOUT_ACTIVE_MOVEMENT is reported and the axis switches to the state Errorstop.

Example

movement1();
movement2();

Correct execution order

  1. Execution of movement1()

  2. Execution of movement2() as soon as movement1() is active

Invalid execution order

  1. Execution of movement2()

  2. Execution of movement1() as soon as movement2() is active

  • This results in the SMC_MOVING_WITHOUT_ACTIVE_MOVEMENT error.