Description
Motivation and function
After an NC program is started, the individual NC blocks are continuously read
- by an interpreter module, called the decoder,
- converted into an internal representation and
- output to the NC channel for further processing.
In the NC channel, the data is then read in by further modules (tool radius compensation, path preparation, etc.), edited and passed through up to the interpolator.
Current processing of commands in the interpolator corresponds to the actual state of the machine, whereas the decoded commands correspond to the future state of the machine.
During program decoding, parameters (e.g. external variables) are read and depending on this, they run through different program sequences.
Decoder block ahead is not limited. As a result, the time may be very long between program influencing during decoding and program execution. For the user a parameter change that influences program decoding is only noticeable after a considerable delay in execution.
To keep this program influencing as close as possible in time to program execution, the decoder block ahead must be kept as short as possible, i.e. the user notices program influences within a relatively short period of time.
Limiting block ahead decoding
Therefore, due to the cascaded processing of NC blocks, program decoding is always ahead of actual execution/interpolation.
The number of NC blocks by which the decoder leads is not constant and is only limited indirectly by the number of available memory locations. As a result, the decoder block ahead is dependent on:
- the type of processed NC blocks themselves (short/long motion blocks, parameter calculation, technology functions, switching commands, etc.)
- the functions active in the NC channel (TRC, HSC, spline interpolation, etc.) and their buffer sizes.
- system settings (cycle time, task distribution).
In the case of certain program sequences, the user would like to specify the maximum number of blocks that decoding may be ahead of the interpolator level, for example.
To achieve this, the decoder block ahead can be defined by:
- specifying a number of NC blocks or motion blocks or
- a time-based specification (motion time).