Requesting axes (#AX REQUEST)

The following NC command requests axes from the axis management.

Syntax:

#AX REQUEST [NAM, NBR, IDX] [<axis_exchange_sequence> {,<options>} ]

                                                         { [<axis exchange sequence> {,<options>} ] }

NAM, NBR, IDX

Logic switches for handling conflicts:

NAM: Handling redundant axis names

NBR: Handling redundant axis numbers

IDX: Handling redundant axis indices

Notice

notice

Logic switches can be programmed individually or in combination.

<axis_exchange_sequence> consisting of:

 

<axis_name>

The permissible strings for axis designation start with the letters A, B, C, Q, U, V, W, X, Y and Z.

Notice

notice

In case of conflicts within the programmed axis exchange sequence:

Redundant axis names → ERROR, program abort

In case of conflicts with existing axes in the NC channel:

Identical axis names, different axis numbers → ERROR, program abort

If logic switch NAM is set, a conflict is resolved as follows:

The axis receives the default axis name from its axis parameter list P-AXIS-00297. The user must ensure a clear definition of the default axis name in the list.

<axis_number>

The physical assignment of axes takes place via the logical axis number. Mathematical expressions are permissible. The logical axis number must be known in the axis management.

Notice

notice

In case of conflicts within the programmed axis exchange sequence:

Redundant axis numbers → ERROR, program abort

In case of conflicts with existing axes in the NC channel:

Axis number already exists in NC channel → WARNING

If the logic switch NBR is set, a conflict is resolved as follows:

The axis request is ignored, i.e. it is not executed.

<axis_index>

The axis index defines the location of the axis inside the axis group of the NC channel. It then defines the main and the tracking axes (see the table below). Mathematical expressions are permissible if their results are within the range [0... maximum axis number -1]. The axis index may not yet be assigned an axis.

0: 1st main axis in the machining plane.

1: 2nd main axis in the machining plane.

2: 3rd main axis generally perpendicular to the machining plane.

3: 1st tracking axis.

...n_ (n-2) tracking axis.

Attention

attention

To make programming easier, the axis index input can be left empty for tacking axes. In this case, the next free axis index after index 3 is then assigned automatically to this tracking axis.

With main axes the index must always be specified explicitly.

However, it must be noted that the index of a tracking axis is important with regard to various functionalities. For example, all transformational axes must be arranged after the main axes with no gaps in the case of kinematic transformation (RTCP). In such cases, it is then necessary to program the axis index explicitly for the tracking axes.

Notice

notice

In case of conflicts within the programmed axis exchange sequence:

Redundant axis numbers → ERROR, program abort

In case of conflicts with existing axes in the NC channel:

Axis index is already assigned in the NC channel, different axis → ERROR, program abort.

If the logic switch IDX is set, a conflict is resolved as follows:

The next free index in the axis configuration of the NC channel is automatically determined for the axis.

<options>

Offsets are kept axis-specific. The adoption of different offsets can be controlled for requesting axes using the following keywords:

---: No adoption of offsets (default)

ALL: Adopt all offsets *

BPV: Adopt reference point offset

PZV: Adopt clamping offset

WZV: Adopt tool offset *

NPV: Adopt zero offset

MOFFS: Adopt measuring offset

SOFFS: Adopt command value/manual mode offset

PSET: Adopt actual value offset

Notice

notice

With the exception of tool offsets, all other offsets are always attached to the logical axis number on axis release or request.

Attention

attention

* In the case of #AX REQUEST, it only makes sense to adopt tool offsets when the tool is deselected. As soon as a tool is 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.

It is therefore recommended to execute #AX REQUEST when a tool is deselected.

When a tool is selected, please note that the offsets are always included in the axis calculations depending on the sequence indexed in the tool data.

Example

example

Using standard functionality:

Assigning axis names, logical axis numbers and axis indices at program start:

Axis identifier

Logical axis number

Axis index

X

1

0

Y

2

1

Z

3

2

Programing Example

prg_example

Requesting axes

N10 #AX REQUEST [X1,7,4]     ;Request X1 axis

Assign axis names, logical axis numbers and axis indices after an axis request:

Axis identifier

Logical axis number

Axis index

X

1

0

Y

2

1

Z

3

2

 

 

3

X1

7

4

Programming example continued:

N100 #AX REQUEST  [Y1,8,6] [C,9, ] ;Request Y1 and C axis,

                                   ; C axis is set automatically

                                   ; to index 3

Assigning axis names, logical axis numbers and axis indices after second axis request:

Axis identifier

Logical axis number

Axis index

X

1

0

Y

2

1

Z

3

2

C

9

3

X1

7

4

 

 

5

Y1

8

6

Programming example continued:

N1000 #AX REQUEST FAST [Z1,13,5, ALL]  ;Adopt all offsets

N1010 #AX REQUEST [C1,11,7, NPV MOFFS] ;Adopt zero

                                      ;offset and measuring offset

Assign axis names, logical axis numbers and axis indices after third axis request:

Axis identifier

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 the additional syntax (logic switches):

Assigning axis names, logical axis numbers and axis indices at program start in channel 1:

Axis identifier

Logical axis number

Axis index

X

1

0

Y

2

1

Z

3

2

Assigning axis names, logical axis numbers and axis indices at program start in channel 2:

Axis identifier

Logical axis number

Axis index

X

7

0

Y

8

1

Z

9

2

Programing Example

prg_example

In channel 1: Request X and Y axes from channel 2 (logical axis numbers 7 and 8).

N10 #AX REQUEST NAM [X,7,3] [Y,8,4]   ;Request X/Y axes

Due to the logic switch NAM, the new additional axes X and Y in channel 1 are assigned their default names in the axis lists (e.g. X2 and Y2).

Assigning axis names, logical axis numbers and axis indices after axis requests:

Axis identifier

Logical axis number

Axis index

X

1

0

Y

2

1

Z

3

2

X2

7

3

Y2

8

4

Programming example continued:

In channel 1: Request Z axis from channel 2 (logical axis number 9).

N100 #AX REQUEST NAM IDX [Z,9,2]  ;Request Z axis

Due to the logic switches NAM and IDX, the new additional Z axis in channel 1 is adopted in the next free index (e.g. index 5) together with its default name in the axis list (e.g. Z2).

Assigning axis names, logical axis numbers and axis indices after second axis request:

Axis identifier

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 the additional syntax (logic switches and axis exchange sequences in string format):

Assigning axis names, logical axis numbers and axis indices at program start in channel 1:

Axis identifier

Logical axis number

Axis index

X

1

0

Y

2

1

Z

3

2

Assigning axis names, logical axis numbers and axis indices at program start in channel 2:

Axis identifier

Logical axis number

Axis index

X_1

7

0

Y

8

1

Z

9

2

A

10

3

B

11

4

Programing Example

prg_example

In channel 1: Request 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.

N05 "ACHSEN_KANAL2" = "[X_1,7,0] [Y,8,1] [B,11,2]"

:

N10 #AX REQUEST NAM IDX "ACHSEN_KANAL2" ;Request axes

Due to the logic switches NAM and IDX, the new additional axes in channel 1 are adopted correctly.

Assigning axis names, logical axis numbers and axis indices after axis requests:

Axis identifier

Logical axis number

Axis index

X

1

0

Y

2

1

Z

3

2

X_1

7

3

Y2

8

4

B

11

5