Time-related block ahead limiting

Definition of limiting

In the case of time-related block ahead limiting, the maximum permissible decoding lead is defined by specifying a time in seconds, i.e. The limit defines by how many seconds the decoding of program execution (interpolation) may be ahead.

In this case, only the motion time of motion blocks (such as G00, G01, G02, G03) is considered as well as the dwell time (G04, #TIME). Other time-consuming NC functions such as M functions, etc. are not considered.

The decoder block ahead limiting function is based on the ideal programmed command velocity and the current block length. This results in particular in deviations in functions which influence contours and dynamics, such as:

In order to estimate the motion time for block ahead limiting realistically, the interpolation supplies a mean feed velocity (average velocity) of the next motion blocks to be executed.

The average velocity includes curvature-dependent dynamic limits and real-time influences such as override and feedhold. The calculated motion time is then based on the minimum average velocity and the feed valid in the block at the time of decoding (F word, rapid traverse)-

The following conditions apply to calculation of the motion time:

Restrictions:

Selecting and deselecting time-related block ahead limiting is executed analogous to block-related block ahead limiting either

Status display

When decoding reaches the block ahead limit, the decoder waiting state is indicated by the following status bit. The status bit is cancelled when decoding is continued.

0x00200000     TIME_AHEAD_LOCK_ACTIVE

The display datum can be indicated in the diagnostic data.

Internal sequence

Calculating the relevant motion times takes place completely in the decoder.

As a result, the decoder estimates a minimum execution time = path length/velocity for each (motion) block.

The decoder stores the block count and the time required in a table for each motion block that is output. Together with the block count indicated by the interpolator, the time lead relative to the motion block last processed is then determined via the table.

If this delta is greater than the defined permissible limit, the decoder interrupts its execution and waits before continuing decoding until the interpolator again falls below the defined limit, i.e. has in fact "caught up" again.

Effectiveness

Block ahead limiting is only active when the interpolator block supply (Monitored operating mode, section “Time-related block ahead limiting”) is ensured.

Programming Example

Time-related block ahead limiting

Time-related block ahead limiting by definition in the NC program
%MAIN
N190 #HSC[ MODE 1 CONTERROR 0.01]
N270 G54 G90
N280 V.G.MAX_TIME_AHEAD = 2 ;Select block ahead limiting 2 seconds
N320 #HSC ON
N47200: G1 F4000 Y597.771 Z-5.596
N47210 Y597.343 Z-5.205
N47220 Y596.911 Z-4.861
N47230 Y596.475 Z-4.561
N47240 Y596.067 Z-4.321
N47250 Y595.643 Z-4.112
N47260 Y595.278 Z-3.965
N47270 Y594.905 Z-3.841
N47280 Y594.524 Z-3.747
N47290 Y594.136 Z-3.683
N47440 Y589.152 Z-5.735
N47450 Y588.76 Z-6.156
N47460 Y588.235 Z-6.767
N47470 Y587.299 Z-7.889
N47480 Y587.034 Z-8.198
N47490 Y586.768 Z-8.463
N47500 Y586.492 Z-8.686
N47510 Y586.235 Z-8.853
N47520 Y585.994 Z-8.971
N47530 Y585.791 Z-9.039
N475403 V.G.MAX_TIME_AHEAD = 0 ;Deselect block ahead limiting
N999999 M30