# Monitored block ahead operation

## Effectiveness of block ahead limiting

As far as possible, use of block ahead limiting must not influence the programmed contouring motion in its course and its dynamics. The following priorities apply here:

Priority 1: Block supply and path dynamics

The top priority is to maintain interpolator block supply since this is the basic condition to achieve a stable sequence of the path motion. The programmed path velocity or maintaining path dynamics should not deviate too far from the possible optimal feed rate caused by block ahead limiting

Priority 2: block ahead limiting

Only when the above criteria are met can block ahead limiting attempt to keep to the programmed feed rate value.

## Monitored block ahead operation

To ensure this staggered consideration, block ahead operation can take place in a monitored mode.

If the interpolator determines that

- block supply is no longer sufficient due an active block ahead limit and threatens motion stop,
- or the programmed path velocity can no longer be maintained within the dynamic limits,

this is also signalled to the decoder in addition to the current block count.

Then, the decoder immediately cancels any active block ahead limit to be able to supply the channel with blocks again, even if the block ahead limit is still exceeded.

Thus, the block ahead limit is considered or kept to only if the interpolator's block supply is sufficient and the programmed path dynamics can be kept to.

Due to these priorities, block supply can never be interrupted and consequently the NC channel path motion can never be stopped.

## Mode selection

Monitoring mode is always active by default with time-related block ahead limiting.

With block-related block ahead limiting, the monitoring mode can be additionally activated by the channel parameter P-CHAN-00270 to ensure downward compatibility:

dec_max_ahead_protected NONE | ACTIVE

## Monitoring limits

Although monitoring mode ensures stable execution, the user should nevertheless make sure not to set block ahead limit values which are too low.

It values are too low, there is otherwise a risk that the block supply by the decoder is interrupted too often and is thus requested again by the interpolator. Due to the buffering effect of the NC channel, this may lead to "pulsing" of the block supply and to a high fluctuation in path velocity (see program example in section “Block number limiting via NC command”).