Requesting axes (#CALL AX)

Notice

notice

If an axis which is already present in the axis group of the NC channel is requested, no request is triggered for this axis.

The following NC command requests axes from the axis management.

#CALL AX [<Modus>] [<Achsname>,<Achsnummer>,<Achsindex> {,<Optionen>} ]

                                   { [<Achsname>,<Achsnummer>,<Achsindex> {,<Optionen>} ] } (non-modal)

<mode >

With/without request for axis positions from the interpolator and a position initialisation of the NC channel when axes are replaced.

Mode

Requesting an axis in the NC channel

 

Default setting: With the request for set values from the interpolator and a position initialisation of the NC channel,

FAST

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

Achsname>

The permissible strings for axis designation start with the letters A, B, C, Q, U, V, W, X, Y and Z. The multiple assignment of the same designation for several axes (identification by logical axis number) generates an error message and the NC program is aborted.

<Achsnummer>

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. If an unknown logical axis number or several identical logical axis numbers are requested, it results in an error message and the NC program is aborted.

<Achsindex>

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. If a request is made for an index that is already assigned a different axis, it results in an error message and the NC program is aborted.

 

Index

Axis configuration

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

1. Tracking axis.

...n

(n-2). Tracking axis.

Attention

attention

To simplify programming, it is possible to leave the specification for the axis index for tracking axes empty (with #CALL AX... only). In this case, the next free axis index after index 3 is then assigned automatically to this tracking axis.

For 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 transformation axes must be arranged with no gaps after the main axes in the case of kinematic transformation (RTCP). In such cases, it is then necessary to program the axis index explicitly for the tracking axes.

<Optionen>

Offsets are kept axis-specific. This refers to the following offsets:

Offset adoption for requesting axes can be controlled using the keywords from the table below.

Notice

notice

With exception of tool offsets, all other offsets are always attached to the logical axis number an axis release or request (see programming example "Zero_offset" below).

Keyword

Request axes and

 

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 manual mode offset

PSET

Adopt position preset

Attention

attention

* With #CALL AX, adoption of tool offsets only makes sense when the tool is deselected. As soon as a tool is 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.

It is therefore recommended to execute #CALL AX 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.

Programing Example

prg_example

Requesting axes

%Zero_Offset

N010 X200

N015 G54

N015 V.G.NP_AKT.V.X = 11

N016 X0                      (Machine X axis end position is 11)

N020 #PUT AX [X]             (Release axis X with log. axis no. 1)

.....

N130 #CALL AX [X1,1,0,NPV]   (Call log. axis no. 1 under new name X1)

N140 X1=100                  (End position of machine X1 axis is 111)

M30

Example:

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

Axis designation

Logical axis number

Axis index

X

1

0

Y

2

1

Z

3

2

Programing Example

prg_example

%Achstausch1

N10 #CALL AX FAST [X1,7,4]    (X1 axis without request for command values)

                              (and output of init. function block)

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

Axis designation

Logical axis number

Axis index

X

1

0

Y

2

1

Z

3

2

 

 

3

X1

7

4

Programming example continued:

:

N100 #CALL AX [Y1,8,6] [C,9, ]  (Request Y1 and C axes, axis index is automatically defined by
                                 C axis)

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

Axis designation

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 #CALL AX FAST [Z1,13,5,ALL]  (Adopt all offsets)

N1010 #CALL AX [C1,11,7,NPV MOFFS] (Adopt zero)

                                   (and measuring offsets)

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

Axis designation

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