Introduction
The possibility to move forward or backward on path is made available by saving the prepared commands (channel blocks) and just passing the channel blocks in the requested order to be executed by the interpolator.
Following modes are possible, which can be selected through the PLC-interface:
- Normal execution:
Moving forward with M-function synchronization. - Simulated Forward on path:
Simulated moving forward with possible suppression of M-function synchronization, if specified in channel parameter list. - Backward on path:
Moving backward with possible suppression of M-function synchronization, if specified in channel parameter list.
Following interfaces are present:
- Configuration of storage size
- Configuration of M-function synchronization in forward/backward mode
- Additional NC-program command
- Control units for backward, simulated (forward) and storage of on HLI
Internal sequence
Subsequent picture illustrates the internal implementation of moving forward/backward on path. All decoded NC-blocks are saved in a buffer and passed to the interpolator. If moved backward the already prepared commands are inverted and executed in opposite order.
The NC-program itself is not decoded in reverse direction! |
After decoding of program all branches, conditions and loops are broken down to an linear sequence.
Within the backward storage this linear program can be moved in forward or backward direction. Therefore, any external influence during decoding, e.g. the actual value of an external variable for break of loop condition within the NC-program, is not considered a second time while moving backwards.
Real time influences like feed hold, override and single block operate as normal, because their effect is considered by the interpolator at each time.
Example: Backward storage size
The size of the supplied backward storage can be given by P-STUP-00033 (fb_storage_size) in the startup parameter list [STUP]. The NC checks during startup if the minimum necessary size is given. If this is not the case, a warning is issued and the memory size is set to the required minimum value. If the size is set to 0, the forward/ backward functionality is totally turned off.
The maximum size is just limit by the resources of the automation device (e.g. IPC) itself.
For the configuration of the CNC the minimum size for the backward storage is about 210 KByte. Necessary setting of the storage size in the startup list:
fb_storage_size[0] 0x200000
For the backward moving a storage size > 1 MByte should be configurated. As a general rule calculate: 1 NC-block≈1KByte |
Synchronization of M-functions
By default, all M-functions are executed without synchronization in backward/ forward on path mode. If synchronization is wanted, during parametrization of the synchronization type of the M-function an additional bit can be set. If this bit is set, in backward direction M-function will be synchronized always by MVS_SVS [CHAN]. In forward direction their original synchronization mode like in normal execution will be kept.
Following synchronization types for the M-functions during forward/ backward on path are necessary.
BWD_SYNCH 0x400000
FWD_SYNCH 0x800000
They must be set in addition to the other available synchronization types for M-functions in the channel parameter list (P-CHAN-00041).
Example
M2, M101 and M102 are synchronized in backward direction:
m_synch[2] 0x00400002
m_synch[101] 0x00400002
m_synch[102] 0x00400004
M103 and M104 are synchronized in simulated forward direction:
m_synch[103] 0x00800002
m_synch[104] 0x00800004
M105 is synchronized in simulated forward and backward direction:
m_synch[105] 0x00C00002