Block number limiting via NC command
Activating via NC command
Global variables are provided to define and select decoder block ahead limiting in the NC program.
2 (exclusive) block number limiting options are possible via variables:
V.G.MAX_NC_BLOCKS_AHEAD = <value>
This variable defines the maximum number of channel-related NC blocks (rows) by which the decoder may be ahead of the interpolator. Channel-related NC blocks are program rows that lead to further actions in the next NC channel (motion blocks, technology functions, switching commands).
Pure parameter calculations, empty rows and comment rows without block numbers are only processed at interpolator level and are ignored when the block ahead value is defined.
V.G.MAX_MOTION_BLOCKS_AHEAD = <value>
This variable defines the maximum number of NC motion blocks (G00, G01, G02/03) by which the decoder may be ahead of the interpolator. All other NC program rows are ignored when the block ahead value is defined.
Activate block ahead limiting by setting the V.G. variables to a value unequal to 0. Before you start block ahead limiting, set the decoder and interpolator to the same processing state in relation to the NC program, i.e. they should be synchronous. This can be achieved by:
- selecting block ahead limiting immediately at the start of the NC program or
- executing a #FLUSH WAIT immediately before selecting block ahead limiting
Block ahead limiting then remains active until main program end M30.
Attention
Only one block ahead limiting option may be active at any one time. The error message P-ERR-21575 is output if variables are used at the same time.
Block number limiting via NC command
If the value of these V.G variables is set to 0, limiting is deactivated again.
Programing Example
Block number limiting via NC command
Block ahead limiting by definition in the NC program
%MAIN
N005 V.G.MAX_NC_BLOCKS_AHEAD = 10 ;Select block ahead limiting 10 NC blocks
N190 #HSC[ MODE 1 CONTERROR 0.01]
N270 G54 G90
…
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
…
N47350 V.G.MAX_NC_BLOCKS_AHEAD = 0 ;Deselect block ahead limiting
…
N47449 #FLUSH WAIT ;Synchronise decoder and interpolator
N47450 V.G.MAX_MOTION_BLOCKS_AHEAD = 20 ;Select block ahead limiting 20 motion blocks
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_MOTION_BLOCKS_AHEAD = 0 ;Deselect block ahead limiting
…
N999999 M30