Independent axes
For programming of independent axes two different operation modes are available:
- Synchronization of path axes and independent axes at block end.
- Synchronization of path axes and independent axes over several blocks.
For independent axes no offsets are considered.
Additive manual mode (G201/G202) with an independent axis is posssible.
Programming syntax for independent axes:
<axis_name> [ INDP_SYN | INDP_ASYNG90 | G91G00 | G01FEED<expr> | TIME<expr> | FEED_MAX_WEIGHT <expr> POS <expr> [SLOPE_PROFIL<expr>] {M<expr>} {H<expr>} ]
<axis_name> Axis designation of independent axis
INDP_SYN Identification for synchronous (block wise) independent axis movements. The transition to the next block is only done, if all axes have reached their end position. Must always be the first programmed keyword.
INDP_ASYN Identification for asynchronous (multi block) independent axis movements. There is no synchronization on end positions. Synchronization is done with a special NC-command (#WAIT INDP) or with programming of the independent axis as conventional path axis. Must always be the first programmed keyword.
G90 / G91 Absolute / relative values
G00 / G01 Rapid traverse / linear interpolation
FEED<expr> Axis specific feed in path units/min
TIME<expr> Axis specific movement time in s
FEED_MAX_WEIGHT<expr> Weighting factor in % with reference to the maximum axis specific feed [2]-17. Only weighting factors less than 100% are allowed (according to G194, chapter 4.25)
POS<expr> Axis position
SLOPE_PROFIL<expr> Profile types of slope (0, 1, 2) (according to #SET SLOPE PROFIL, chapter ) If no slope type is programmed, as default the type of the channel parameters[1]-26 is used.
M<expr> Axis specific M-function
H<expr> Axis specific H-function
Axis specific M/H-functions can also be outputted to an independent axis without programming any movement. You must only add the identification INDP_SYN respectively INDP_ASYN.
<axis_name> [ INDP_SYN | INDP_ASYNM<expr> {M<expr>} H<expr> {H<expr>} ]
<axis_name> Axis designation of independent axis
INDP_SYN/INDP_ASYN Identification for a independent axis
M<expr> Axis specific M-function
H<expr> Axis specific H-function
Synchronization of special asynchronous axes movements (INDP_ASYN) can be enforced with the NC-command:
#WAIT INDP [ <axis_name> { ,<axis_name> } ]
<axis_name> Axis designation of independent axis
If an asynchronous axis is programmed again before or without a corresponding #WAIT INDP [ ], synchronization is done in the interpolator implicitly. |
Synchronization of all present active asynchronous axes movements (INDP_ASYN) can be enforced with the NC-command:
#WAIT INDP ALL
Programming example
:
N10 X10 Y11 Z[INDP_SYN POS50 G01 FEED100 G90] (N10 is finished, if X,)
(Y and the independent)
(synchr. Z-axis have)
(finished their movements)
N20 X20 Y22 (N20 is executed after all movements of N10 are)
(finished)
N30 X5 Y10 Z[INDP_ASYN POS500 G01 FEED200 G90] (N30 is finished, if X)
(and Y have finished)
(their movements; the)
(independent asynchr.)
(Z-axis goes on with)
(its movement)
N40 X20 Y30 (N40 is interpolated; the asynchronous independent)
(Z-axis is still moving)
N50 #WAIT INDP[Z] (Synchronization of Z-movement of N30)
N60 X30 Y40 Z60 (X, Y, Z are interpolated together in the path)
(compound, after Z-axis was synchronized in N50)
N70 Z[INDP_SYN M50 ] (Output of M50 for the independent Z-axis)
N80
Programming example
N10 X10 Y11 Z[INDP_ASYN POS500 G01 FEED200 G90] (N10 is interpolated,)
(the independent asyn-)
(chronous Z-axis still)
(moves)
N20 X20 Y22 (N20 is interpolated, the independent asynchronous)
(Z-axis still moves)
N30 Z550 (Implicit synchronization of Z-movement of N10, before)
(movement Z550 is started)
N40 X20 Y30 Z60 (N40 is interpolated)
N50
If in the same block an independent axis is programmed together with an axis specific M-/H-function[1]-7/-8 for the same axis, then an error message is output. |