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:
- Configuration of memory size
- Configuration of M function synchronisations in forward/backward mode
- Additional NC program commands
- Control units for “backward motion”, “simulate motion” and Save ON on the HLI
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.
Notice
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.
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.
- If this is not the case, a warning is output and the memory size is set to the required minimum value.
- If the size is set to 0, the “forward/backward motion on the path” function is not available.
- The maximum size is only limited by the resources of the automation device (e.g. IPC).
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.
Notice
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.