Forward/backward motion on the path

The prepared NC commands (function blocks) for forward/backward motion on the path are saved and then executed by the interpolator in the required sequence.

Backward motion is activated online by the PLC using the “backward motion” control unit. By default, possible synchronisations of existing M/H functions are suppressed during this type of backward motion and treated like the synchronisation type MOS:

By analogy, the “simulate motion” control unit suppresses the synchronisation of M/H functions in forward motion. This is then referred to as a “simulate motion”.

In addition, the program command #OPTIONAL EXECUTION ON/OFF can flag NC program sequences that are completely skipped when “simulate motion” or “backward motion” are active.

The following interfaces are available:

Forward/backward motion on the path 1:
Interfaces for forward/backward motion on the path

Internal sequence

The figure below illustrates the internal diagram of forward/backward motion on the path. All decoded NC blocks are stored temporarily in a buffer and transferred to the interpolator. With backward motion the already decoded NC commands are inverted and executed in the reverse order.

The NC program itself is not decoded in the reverse order for backward motion!

After decoding the NC program, all conditions, branches and loops in the NC program are resolved into an linear sequence. In the backward motion memory only this linear resolved NC program can be travelled in forward or backward directions. Therefore, any external influence during decoding (e.g. the actual value of an external variable for a loop break-off condition) is not taken into account a second time for backward motion.

Real-time influences such as feedhold, override and single block mode are treated as normal since their effect is considered by the interpolator at all times.

Forward/backward motion on the path 2:
Saving backward motion commands and transferring them to interpolator on demand

Backward motion memory

The size of the backward motion memory can be defined in the start-up list with P-STUP-00033 (fb_storage_size). When the controller is started up, the NC checks whether the required minimum size is available.

Example

The recommended memory size for the CNC configuration is ~1 Mbyte. Required setting in the start-up list as HEX value:

fb_storage_size[0] 0x200000

Empirical definition: Increase (or decrease) the memory size until the required path can be travelled backward without an error message.

The actually required memory depends on the scope of the CNC functions used (e.g. Contouring and special functions to generate additional blocks) and the number of blocks required for backward motion.
Rule of thumb: 1 NC line ≈ 1-5 Kbytes

Memory use for backward motion

The save function for function blocks in the backward motion memory can only be selected/deselected if no NC program is executed and no backward motion is active.

If at program end the memory is deselected and then reselected, the memory is cleared. This ensures that no subsequent backward motion can move back further than this point.

Behaviour at NC reset

In addition, the backward motion memory is cleared at every NC reset.