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

Requesting of axes 1:

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.

Requesting of axes 2:

With conflicts within the programmed axis exchange sequence:
Redundant axes names -> ERROR, Abort of NC program
With conflicts to already existing axes in NC channel:
Axes names identical, Axes numbers different -> ERROR, Abort of NC program
With active logic switch NAM the conflict is solved as follows:
The axis gets the default name from its axis parameter list[2]-18. The user must ensure the clear definition of the default axis name in the list.

< 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.

Requesting of axes 3:

With conflicts within the programmed axis exchange sequence:
Redundant axes numbers -> ERROR, Abort of NC program
With conflicts to already existing axes in NC channel:
Axis number already exists in NC channel -> WARNING
With active logic switch NBR the conflict is solved as follows:
The axis request is ignored, this means it is not executed!

< 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.

Requesting of axes 4:

With conflicts within the programmed axis exchange sequence:
Redundant axes indices -> ERROR, Abort of NC program
With conflicts to already existing axes in NC channel:
Axis index is already used in NC channel, Axes names different -> ERROR, Abort of NC program
With active logic switch IDX the conflict is solved as follows:
For the axis automatically the next free index in the axes configuration of the NC channel is determined.

<options> Offsets are axis-specifically maintained. The following are involved here:

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