Requesting of axes

With this NC command, axes from the axes management can be requested.

#CALL AX [<mode>] [<axis_name>,<axis_number><axis_index> {,<options>} ]
{ [<axis_name>,<axis_number><axis_index> {,<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 interpolatorand a position initialization of the NC channel

FAST

Without request for set values from the interpolator.Position initialization of the NC channel.

<axis_name> Permissible are strings with the starting characters A, B, C, Q, U, V, W, X, Y and Z. The multiple assignment of the same designation for different axes (identification through logical axis number) causes an error message and an aborting of the NC-program.

<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. In case of a request of an unknown logical axis number or several identical logical axis numbers, an error message and an aborting of the NC-program will occur.

<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. In case of a request for an axis to an index that is allocated with another axis, an error message and an aborting of the NC-program will occur.

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 (only in the case of #CALL AX...). 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 must 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 on the basis of 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.

<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 #CALL AX, 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 #CALL AX after replacement, the adopted tool offsets are replaced with the offsets of the current tool.
Regarding 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.

Programming example

%Zero_Offset 
N010 X200
N015 V.G.NP_AKT.V.X = 11
N020 #PUT AX [X]
.....
N130 #CALL AX [X,1,0,NPV]
N140 X100 (Final machine X-axis position is 111)
M30
Requesting of axes 1:

If an axis which is already present in the axis group of the NC-channel is requested, no request is triggered to axes management.

Example:

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

%ACHSTAUSCH1
N10 #CALL AX FAST [X1,7,4] (X1-axis without set value -request)
(and output of Init.-function block)

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#CALL AX [Y1,8,6] [C,9,3] (request for Y1- and C-axis, axis index
of C-axis is determined automatically)

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 #CALL AX FAST [Z1,13,5,ALL] (Inclusion of all shifts)
N1010 #CALL AX [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