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.

Programing Example

prg_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