# Definition einer Achskonfiguration (#SET AX)

Mit diesem NC-Befehl kann eine neue Achskonfiguration festgelegt werden, welche die vorhandene Achskonfiguration ersetzt. Nur genau die Achsen, die im NC-Befehl programmiert sind, bilden also die neue Achskonfiguration im NC-Kanal.

Syntax:
#SET AX [<Modus>] [<Achsname>,<Achsnummer>,<Achsindex> {,<Optionen>} ] { [<Achsname>,<Achsnummer>,<Achsindex>{,<Optionen>} ] }

<Modus> | Mit / Ohne Anforderung der Achspositionen vom Interpolator und einer Positionsinitialisierung des NC-Kanals beim Eintauschen von Achsen. ---: Mit Anforderung der Sollwerte vom Interpolator und einer Positionsinitialisierung des NC-Kanals (Standard).

FAST: Ohne Anforderung der Sollwerte vom Interpolator. Positionsinitialisierung des NC-Kanals

<Achsname> | Für die Achsbezeichnung sind Strings mit den Anfangsbuchstaben A, B, C, Q, U, V, W, X, Y und Z zulässig. Die mehrfache Zuweisung der gleichen Bezeichnung für verschiedene Achsen (Identifikation durch die logische Achsnummer) bewirkt eine Fehlermeldung und den Abbruch des NC-Programms.
<Achsnummer> | Die physikalische Zuordnung der Achsen erfolgt über die logische Achsnummer. Zulässig sind mathematische Ausdrücke. Die logische Achsnummer muss in der Achsverwaltung bekannt sein Bei Anforderung einer unbekannten logischen Achsnummer oder mehrerer gleicher logischer Achsnummern erfolgt eine Fehlermeldung und der Abbruch des NC-Programms.
<Achsindex> | Der Achsindex legt den Platz der Achse innerhalb der Achsgruppe des NC-Kanals fest. Er definiert damit die Haupt- und Mitschleppachsen (siehe folgende Tabelle). Zulässig sind mathematische Ausdrücke, deren Ergebnisse im Wertebereich [0 ... Maximale Achsanzahl-1] liegen. Der Achsindex darf noch nicht mit einer Achse belegt sein. Bei Anforderung einer Achse auf einen Index, der von einer anderen Achse belegt ist, erfolgt eine Fehlermeldung und der Abbruch des NC-Programms.

0: 1. Hauptachse in der Bearbeitungsebene.

1: 2. Hauptachse in der Bearbeitungsebene.

2: 3. Hauptachse, i.a. senkrecht zur Bearbeitungsebene.

3: 1. Mitschleppachse.

…n: (n-2). Mitschleppachse.

<Optionen> | Versatzmaße werden achsspezifisch gehalten. Mit den folgenden Kennungen kann beim Anfordern von Achsen die Übernahme der verschiedenen Versätze gesteuert werden: ---: keine Übernahme der Versätze (Standard) ALL: Übernahme aller Versätze * BPV: Übernahme der Bezugspunktverschiebung

PZV: Übernahme des Platzversatzes

WZV: Übernahme der Werkzeugverschiebung *

NPV: Übernahme der Nullpunktverschiebung

MOFFS: Übernahme des Messoffsets

SOFFS: Übernahme des Sollwert/Handbetriebsoffsets

PSET: Übernahme der Istwertverschiebung

## Achtung

* Bei angewähltem Werkzeug ist bei der Übernahme von Werkzeugverschiebungen bei #SET AX folgendes zu beachten:

- Werden Achsen durch den #SET AX nur vertauscht (interner Achstausch) und ansonsten keine zusätzlichen Achsen abgegeben oder angefordert, so werden alle Versätze (auch die Werkzeugversätze) ebenfalls mitgetauscht und bleiben weiterhin aktiv. Die Angabe von Schlüsselworten zur Übernahme von Versätzen ist ohne Wirkung.
  Wird danach ein neues Werkzeug angewählt, so werden die mitgetauschten Versätze durch die Versätze des neuen Werkzeuges ersetzt.
- Sobald durch den #SET AX eine Achsabgabe bzw. Achsanforderung ausgelöst wird (externer Achstausch), werden die Werkzeugversätze erneut in der, in den Werkzeugdaten indizierten Reihenfolge in die Achsen eingerechnet. Eventuell übernommene Werkzeugversätze werden also durch die Versätze des aktuellen Werkzeuges ersetzt! Sollen die ursprünglichen Werkzeugversätze in den entsprechenden Achsen weiterhin gelten, so muss ein neues Werkzeug angewählt werden, bei dem die Versätze an die neue Achsanordnung angepasst sind.

Es wird daher empfohlen, #SET AX bei abgewähltem Werkzeug durchzuführen und die korrekte Zuordnung von Werkzeugversätzen durch die entsprechende Parametrierung im Datensatz eines neu anzuwählenden Werkzeuges sicherzustellen!

Beispiel:

Index der Werkzeugversätze in den Werkzeugdaten | [0] | [1] | [2] | [3]
Parametrierte Werkzeugversätze z.B. für T1 | 50 | 0 | 70 | 20
Achskonfiguration bei Programmstart | X | Y | Z | ---
Eingerechnete Werkzeugversätze nach Anwahl T1 | 50 | 0 | 70 | ---
"Interner" #SET AX {Z, X, Y}: | Z | X | Y | ---
Werkzeugversätze werden mitgetauscht oder | 70 | 50 | 0 | ---
"Externer" #SET AX {Z, X, Y, B}: | Z | X | Y | B
Werkzeugversätze werden gemäß Werkzeug T1 neu eingerechnet | 50 | 0 | 70 | 20

Beispiel:

Zuordnung der Achsbezeichnungen, logischen Achsnummern und Achsindizes bei Programmstart:

Achsbezeichnung | Logische Achsnummer | Achsindex
X | 1 | 0
Y | 2 | 1
Z | 3 | 2

## Programmierbeispiel

Setzen der Achskonfiguration:

(X-Achse bleibt auf ihrem Platz;)

(Y-Achse wird abgegeben;)

(Z-Achse wird nach Index 4 umsortiert;)

(Y1- und Z1-Achse werden angefordert;)

%ACHSTAUSCH1

N10 #SET AX [X,1,0][Y1,4,2][Z1,5,3][Z,3,4]

Zuordnung der Achsbezeichnungen, logischen Achsnummern und Achsindices nach N10:

Achsbezeichnung | Logische Achsnummer | Achsindex
X | 1 | 0
|  | 1
Y1 | 4 | 2
Z1 | 5 | 3
Z | 3 | 4