# Definition einer Achskonfiguration (#AX DEF)

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:
#AX DEF [NAM, NBR, IDX] [<Achstauschsequenz> {,<Optionen>} ] { [<Achstauschsequenz> {,<Optionen>} ] }

NAM, NBR, IDX | Logikschalter zur Behandlung von Konflikten: NAM: Behandlung redundanter Achsnamen NBR: Behandlung redundanter Achsnummern IDX: Behandlung redundanter Achsindizes

## Hinweis

Die Logikschalter können einzeln oder in Kombination programmiert werden!

<Achstauschsequenz> bestehend aus: |
<Achsname> | Für die Achsbezeichnung sind Strings mit den Anfangsbuchstaben A, B, C, Q, U, V, W, X, Y und Z zulässig.

## Hinweis

Bei Konflikten innerhalb der programmierten Achstauschsequenz:

Redundante Achsnamen → FEHLER, Programmabbruch.

Bei Konflikten zu bereits im NC-Kanal vorhandenen Achsen:

Achsnamen gleich, Achsnummern verschieden → FEHLER, Programmabbruch

Bei gesetztem Logikschalter NAM wird Konflikt wie folgt bereinigt:

Die Achse bekommt den Standardachsnamen aus ihrer Achsparameterliste P-AXIS-00297. Die eindeutige Vergabe der Standardachsnamen in den Listen ist durch den Anwender sicherzustellen.

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

## Hinweis

Bei Konflikten innerhalb der programmierten Achstauschsequenz:

Redundante Achsnummern → FEHLER, Programmabbruch.

Bei Konflikten zu bereits im NC-Kanal vorhandenen Achsen:

Achsnummer im Kanal bereits vorhanden → WARNING

Bei gesetztem Logikschalter NBR wird Konflikt wie folgt bereinigt:

Die Achsanforderung wird ignoriert, d.h. sie wird nicht ausgeführt!

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

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.

## Achtung

Zur Erleichterung der Programmierung ist es möglich, für Mitschleppachsen die Angabe des Achsindex leer zu lassen. In diesem Fall wird dann automatisch der nächste freie Platz ab Index 3 an diese Mitschleppachse vergeben. Zu beachten ist jedoch, dass für verschiedene Funktionalitäten der Index einer Mitschleppachse eine Bedeutung hat. Zum Beispiel müssen bei der kinematischen Transformation (RTCP) alle Trafo-Achsen lückenlos nach den Hauptachsen angeordnet werden. In diesen Fällen ist es deshalb notwendig, den Achsindex auch für die Mitschleppachsen explizit zu programmieren.

## Hinweis

Bei Konflikten innerhalb der programmierten Achstauschsequenz:

Redundante Achsindizes → FEHLER, Programmabbruch.

Bei Konflikten zu bereits im NC-Kanal vorhandenen Achsen:

Achsindex im Kanal bereits belegt, Achsnamen verschieden → FEHLER, Programmabbruch.

Bei gesetztem Logikschalter IDX wird Konflikt wie folgt bereinigt:

Für die Achse wird automatisch der nächste freie Index in der Achskonfiguration des NC-Kanals bestimmt.

<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 #AX DEF folgendes zu beachten:

- Werden Achsen durch den #AX DEF nur vertauscht (interner Achstausch) und ansonsten keine zusätzlichen Achsen angegeben 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 #AX DEF 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, #AX DEF 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" #AX DEF {Z, X, Y}: | Z | X | Y | ---
Werkzeugversätze werden mitgetauscht oder | 70 | 50 | 0 | ---
"Externer" #AX DEF {Z, X, Y, B}: | Z | X | Y | B
Werkzeugversätze werden wieder gemäß T1 neu eingerechnet | 50 | 0 | 70 | 20