Requesting of axes
With this NC command, axes from the axes management can be requested.
# AX REQUEST [<mode>] [NAM, NBR, IDX] [<axis_exchange_sequence> {,<options>} ]
{ [<axis_exchange_sequence> {,<options>} ] } (non-modal)
<mode> With/without request for axis positions from the interpolator and a position initialization of the NC channel during the exchange of the axes
Mode | Replacement of axis in the NC channel |
---|---|
| Default setting: With request for set values from interpolator and a position initialization of the NC channel. |
FAST | Without request for set values from the interpolator. Position initialization of the NC channel. |
NAM, NBR, IDX Logic switches for the handling of conflicts.
ID | Significance |
---|---|
NAM | Handling of redundant axes names |
NBR | Handling of redundant axes numbers |
IDX | Handling of redundant axes indices |
The logic switches can be programmed individual or in combination! |
<axis_exchange_sequence> consisting of:
< axis_name> Permissible are strings with the starting characters A, B, C, Q, U, V, W, X, Y and Z.
With conflicts within the programmed axis exchange sequence: |
< axis_number> The physical assignment of axes takes place through the logical axis number. Permissible are mathematical expressions.The logical axis number must be known in axes management.
With conflicts within the programmed axis exchange sequence: |
< axis_index> The axis index determines the location of the axis within the current axis group of the NC-channels. It defines the main and synchronous axes (see following table). Permissible are mathematic expressions, whose results are in the value range [0 ... Maximum axes number -1]. The axis index should not yet be allocated with an axis.
Index | Axes configuration |
---|---|
0 | 1. Main axis in the machining plane. |
1 | 2. Main axis in the machining plane. |
2 | 3. Main axis, generally, perpendicular to the machining plane. |
3 | 1. Synchronous axis |
n | (n-2). Synchronous axis. |
Notice | |
To simplify programming, it is possible to omit the entry of the axis index for coupled axes. In this case, the next free axis index from index 3 is then assigned automatically to this coupled axis.For main axes this index always has to be programmed explicitly. |
However, it must be noted that the index of a coupled axis is important as regards various functionalities. For example, all transformational axes must be arranged with no gaps based on the main axes in the case of kinematic transformation (RTCP). Thus, in such cases, it is necessary also to explicitly program the axis index for the coupled axes.
With conflicts within the programmed axis exchange sequence: |
<options> Offsets are axis-specifically maintained. The following are involved here:
- Reference point offset,
- Machine table offset,
- Tool offset,
- Zero offset,
- Measurement offset,
- manual operation offset,
- Preset offset.
With the key words of the following table, during requests for axes, the inclusion of offsets can be controlled.
Key word | Exchange of axis |
---|---|
| No inclusion of offsets (default) |
ALL | Inclusion of all offsets * |
BPV | Inclusion of reference point offset |
PZV | Inclusion of machine table offset |
WZV | Inclusion of tool offset * |
NPV | Inclusion of zero offset |
MOFFS | Inclusion of measurement offset |
SOFFS | Inclusion of manual operation offset |
PSET | Inclusion of preset offset |
Notice | |
*In the case of #AX REQUEST, adoption of tool offsets only makes sense when the tool has been cancelled. As soon as a tool is already active in the channel or if it is selected with #AX REQUEST after replacement, the adopted tool offsets are replaced with the offsets of the current tool.With regard to tool selection, pay attention to the fact that the offsets are always placed in the axis calculations in compliance with the sequence indexed in the tool data. |
Example 1:
Use of the standard functionality:
Assignment of axis names, logical axis numbers and axis indices at the time of program start:
Axis name | Logical axis number | Axis index |
---|---|---|
X | 1 | 0 |
Y | 2 | 1 |
Z | 3 | 2 |
Programming example
%Axis_exchange1
N10 #AX REQUEST [X1,7,4] (Request for X1-axis)
Assignment of axis names, logical axis numbers and axis indices after the axis request:
Axis name | Logical axis number | Axis index |
---|---|---|
X | 1 | 0 |
Y | 2 | 1 |
Z | 3 | 2 |
|
| 3 |
X1 | 7 | 4 |
Continuation of the programming example:
:
N100 #AX REQUEST [Y1,8,6] [C,9, ] (Request for Y1- and C-axis, C-axis)
(is set automatically on index 3)
Assignment of axis names, logical axis numbers and axis indices after the second axis request:
Axis name | Logical axis number | Axis index |
---|---|---|
X | 1 | 0 |
Y | 2 | 1 |
Z | 3 | 2 |
C | 9 | 3 |
X1 | 7 | 4 |
|
| 5 |
Y1 | 8 | 6 |
Continuation of the programming example:
:
N1000 #AX REQUEST FAST [Z1,13,5,ALL] (Inclusion of all shifts)
N1010 #AX REQUEST [C1,11,7,NPV MOFFS] (Inclusion of zero offsets)
(and of measurement offsets)
Assignment of the axis names, logical axis numbers and axis indices after the third axis request:
Axis name | Logical axis number | Axis index |
---|---|---|
X | 1 | 0 |
Y | 2 | 1 |
Z | 3 | 2 |
C | 9 | 3 |
X1 | 7 | 4 |
Z1 | 13 | 5 |
Y1 | 8 | 6 |
C1 | 11 | 7 |
Example 2:
Use of the additional syntax (logic switches):
Assignment of axis names, logical axis numbers and axis indices at the time of program start in channel 1:
Axis name | Logical axis number | Axis index |
---|---|---|
X | 1 | 0 |
Y | 2 | 1 |
Z | 3 | 2 |
Assignment of axis names, logical axis numbers and axis indices at the time of program start in channel 2:
Axis name | Logical axis number | Axis index |
---|---|---|
X | 7 | 0 |
Y | 8 | 1 |
Z | 9 | 2 |
Programming example
In channel 1: Request of X- and Y-axes from channel 2 (Logical axis numbers 7 and 8).
%Axis_exchange
N10 #AX REQUEST NAM [X,7,3] [Y,8,4] (Request of X/Y-axes)
Because of the logic switch NAM in channel 1 the additional new axes X and Y are set to their default names from the axis lists (e.g. X2 and Y2).
Assignment of the axis names, logical axis numbers and axis indices after the axis requests:
Axis name | Logical axis number | Axis index |
---|---|---|
X | 1 | 0 |
Y | 2 | 1 |
Z | 3 | 2 |
X2 | 7 | 3 |
Y2 | 8 | 4 |
Continuation of the programming example:
In channel 1: Request of Z-axis from channel 2 (Logical axis number 9).
:N100 #AX REQUEST NAM IDX [Z,9,2] (Request of Z-axis)
Because of the logic switches NAM and IDX in channel 1 the additional new Z-axis is set on the next free index (e.g. index 5) with its default name from the axis list (e.g. Z2).
Assignment of the axis names, logical axis numbers and axis indices after the second axis request:
Axis name | Logical axis number | Axis index |
---|---|---|
X | 1 | 0 |
Y | 2 | 1 |
Z | 3 | 2 |
X2 | 7 | 3 |
Y2 | 8 | 4 |
Z2 | 9 | 5 |
Example 3:
Use of the additional syntax (logic switches and axis exchange sequences as string):
Assignment of axis names, logical axis numbers and axis indices at the time of program start in channel 1:
Axis name | Logical axis number | Axis index |
---|---|---|
X | 1 | 0 |
Y | 2 | 1 |
Z | 3 | 2 |
Assignment of axis names, logical axis numbers and axis indices at the time of program start in channel 2:
Axis name | Logical axis number | Axis index |
---|---|---|
X_1 | 7 | 0 |
Y | 8 | 1 |
Z | 9 | 2 |
A | 10 | 3 |
B | 11 | 4 |
Programming example
In channel 1: Request of X_1/ Y and B-axis from channel 2 (Logical axis numbers 7, 8 and 11). The axis exchange sequence is stored in a macro.
%Axis_exchange
N05 "ACHSEN_KANAL2" = "[X_1,7,0] [Y,8,1] [B,11,2]"
:
N10 #AX REQUEST NAM IDX "ACHSEN_KANAL2" (Request axes)
Because of the logic switches NAM and IDX in channel 1 the additional new axes are included correctly.
Assignment of the axis names, logical axis numbers and axis indices after the axes requests:
Axis name | Logical axis number | Axis index |
---|---|---|
X | 1 | 0 |
Y | 2 | 1 |
Z | 3 | 2 |
X_1 | 7 | 3 |
Y2 | 8 | 4 |
B | 11 | 5 |