Anfordern von Achsen
Mit folgendem NC-Befehl werden Achsen von der Achsverwaltung angefordert:
# AX REQUEST [<Modus>] [NAM, NBR, IDX] [<Achstauschsequenz> {,<Optionen>} ] { [<Achstauschsequenz> {,<Optionen>} ] } (nicht modal)
<Modus> Mit/Ohne Anforderung der Achspositionen vom Interpolator und einer Positionsinitialisierung des NC-Kanals beim Eintauschen von Achsen.
Modus | Eintauschen der Achse im NC-Kanal |
| Default-Einstellung: Mit Anforderung der Sollwerte vom Interpolator und einer Positionsinitialisierung des NC-Kanals |
FAST | Ohne Anforderung der Sollwerte vom Interpolator. Positionsinitialisierung des NC-Kanals |
NAM, NBR, IDX Logikschalter zur Behandlung von Konflikten.
ID | Bedeutung |
---|---|
NAM | Behandlung redundanter Achsnamen |
NBR | Behandlung redundanter Achsnummern |
IDX | Behandlung redundanter Achsindizes |
![]() | 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.
![]() | Bei Konflikten innerhalb der programmierten Achstauschsequenz: |
<Achsnummer> Die physikalische Zuordnung der Achsen erfolgt über die logische Achsnummer. Zulässig sind mathematische Ausdrücke. Die logische Achsnummer muß in der Achsverwaltung bekannt sein.
![]() | Bei Konflikten innerhalb der programmierten Achstauschsequenz: |
<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.
Index | Achskonfiguration |
---|---|
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. |
Hinweis | |
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.Für Hauptachsen muss der Index immer explizit angegeben werden. |
Zu beachten ist jedoch, das 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.
![]() | Bei Konflikten innerhalb der programmierten Achstauschsequenz: |
<Optionen> Versatzmaße werden achsspezifisch gehalten. Es handelt sich dabei um:
- Bezugspunktverschiebung,
- Platzversatz,
- Werkzeugverschiebung,
- Nullpunktverschiebung,
- Meßoffset,
- Sollwertoffset,
- Istwertverschiebung.
Mit den Schlüsselwörtern aus der folgenden Tabelle kann beim Anfordern von Achsen die Übernahme der Versätze gesteuert werden.
Schlüsselwort | Eintauschen der Achse und |
---|---|
| keine Übernahme der Versätze (Default) |
ALL | Übernahme aller Versätze * |
BPV | Übernahme der Bezugspunktverschiebung |
PZV | Übernahme des Platzversatzes |
WZV | Übernahme der Werkzeugverschiebung * |
NPV | Übernahme der Nullpunktverschiebung |
MOFFS | Übernahme des Meßoffsets |
SOFFS | Übernahme des Sollwert/Handbetriebsoffsets |
PSET | Übernahme der Istwertverschiebung |
Hinweis | |
*Die Übernahme von Werkzeugverschiebungen ist bei #AX REQUEST nur bei abgewähltem Werkzeug sinnvoll. Sobald ein Werkzeug im Kanal bereits aktiv ist oder nach dem Achstausch mit #AX REQUESTangewählt wird, werden die übernommenen Werkzeugversätze durch die Versätze des aktuellen Werkzeuges ersetzt!Es wird daher empfohlen, #AX REQUEST bei abgewähltem Werkzeug durchzuführen!Bei der Werkzeuganwahl ist zu beachten, dass die Versätze immer gemäß der, in den Werkzeugdaten indizierten Reihenfolge in die Achsen eingerechnet werden. |
Beispiel 1: Anwenden der Standardfunktionalität:
Zuordnung der Achsbezeichnungen, logischen Achsnummern und Achsindizes bei Programmstart:
Achsbezeichnung | logische Achsnummer | Achsindex |
---|---|---|
X | 1 | 0 |
Y | 2 | 1 |
Z | 3 | 2 |
Programmierbeispiel
%Achstausch1
N10 #AX REQUEST [X1,7,4] (X1-Achse anfordern)
Zuordnung der Achsbezeichnungen, logischen Achsnummern und Achsindizes nach der Achsanforderung:
Achsbezeichnung | logische Achsnummer | Achsindex |
---|---|---|
X | 1 | 0 |
Y | 2 | 1 |
Z | 3 | 2 |
|
| 3 |
X1 | 7 | 4 |
Fortsetzung des Programmierbeispiels:
:
N100 #AX REQUEST [Y1,8,6] [C,9, ] (Y1- und C-Achse anfordern, C-Achse)
(wird automatisch auf Index 3 gelegt)
Zuordnung der Achsbezeichnungen, logischen Achsnummern und Achsindizes nach der zweiten Achsanforderung:
Achsbezeichnung | logische Achsnummer | Achsindex |
---|---|---|
X | 1 | 0 |
Y | 2 | 1 |
Z | 3 | 2 |
C | 9 | 3 |
X1 | 7 | 4 |
|
| 5 |
Y1 | 8 | 6 |
Fortsetzung des Programmierbeispiels:
:
N1000 #AX REQUEST FAST [Z1,13,5,ALL] (Übernahme sämtlicher Versätze)
N1010 #AX REQUEST [C1,11,7,NPV MOFFS] (Übernahme der Nullpunktver-)
(schiebung und des Meßoffsets)
Zuordnung der Achsbezeichnungen, logischen Achsnummern und Achsindizes nach der dritten Achsanforderung:
Achsbezeichnung | logische Achsnummer | Achsindex |
---|---|---|
X | 1 | 0 |
Y | 2 | 1 |
Z | 3 | 2 |
C | 9 | 3 |
X1 | 7 | 4 |
Z1 | 13 | 5 |
Y1 | 8 | 6 |
C1 | 11 | 7 |
Beispiel 2: Nutzen der zusätzlichen Syntax (Logikschalter):
Zuordnung der Achsbezeichnungen, logischen Achsnummern und Achsindizes bei Programmstart im Kanal 1:
Achsbezeichnung | logische Achsnummer | Achsindex |
---|---|---|
X | 1 | 0 |
Y | 2 | 1 |
Z | 3 | 2 |
Zuordnung der Achsbezeichnungen, logischen Achsnummern und Achsindizes bei Programmstart im Kanal 2:
Achsbezeichnung | logische Achsnummer | Achsindex |
---|---|---|
X | 7 | 0 |
Y | 8 | 1 |
Z | 9 | 2 |
Programmierbeispiel
In Kanal 1: Anfordern der X- und Y-Achse aus Kanal 2 (Logische Achsnummern 7 und 8).
%Achstausch
N10 #AX REQUEST NAM [X,7,3] [Y,8,4] (X/Y-Achsen anfordern)
Durch den Logikschalter NAM werden die zusätzlichen neuen Achsen X und Y im Kanal 1 mit ihren Defaultnamen aus den Achslisten (z.B. X2 und Y2) belegt.
Zuordnung der Achsbezeichnungen, logischen Achsnummern und Achsindizes nach den Achsanforderungen:
Achsbezeichnung | logische Achsnummer | Achsindex |
---|---|---|
X | 1 | 0 |
Y | 2 | 1 |
Z | 3 | 2 |
X2 | 7 | 3 |
Y2 | 8 | 4 |
Fortsetzung des Programmierbeispiels:
In Kanal 1: Anfordern der Z-Achse aus Kanal 2 (Logische Achsnummer 9).
:
N100 #AX REQUEST NAM IDX [Z,9,2] (Z-Achse anfordern)
Durch die Logikschalter NAM und IDX wird im Kanal 1 die zusätzliche neue Z-Achse mit ihrem Defaultnamen aus der Achsliste (z.B. Z2) auf einen noch freien Index (z.B. Index 5) übernommen.
Zuordnung der Achsbezeichnungen, logischen Achsnummern und Achsindizes nach der zweiten Achsanforderung:
Achsbezeichnung | logische Achsnummer | Achsindex |
---|---|---|
X | 1 | 0 |
Y | 2 | 1 |
Z | 3 | 2 |
X2 | 7 | 3 |
Y2 | 8 | 4 |
Z2 | 9 | 5 |
Beispiel 3: Nutzen der zusätzlichen Syntax (Logikschalter und Achstauschsequenz als String):
Zuordnung der Achsbezeichnungen, logischen Achsnummern und Achsindizes bei Programmstart im Kanal 1:
Achsbezeichnung | logische Achsnummer | Achsindex |
---|---|---|
X | 1 | 0 |
Y | 2 | 1 |
Z | 3 | 2 |
Zuordnung der Achsbezeichnungen, logischen Achsnummern und Achsindizes bei Programmstart im Kanal 2:
Achsbezeichnung | logische Achsnummer | Achsindex |
---|---|---|
X_1 | 7 | 0 |
Y | 8 | 1 |
Z | 9 | 2 |
A | 10 | 3 |
B | 11 | 4 |
Programmierbeispiel
In Kanal 1: Anfordern der X_1/ Y und B-Achse aus Kanal 2 (Logische Achsnummern 7, 8 und 11). Die Achstauschsequenz ist in einem Makro abgelegt.
%Achstausch
N05 "ACHSEN_KANAL2" = "[X_1,7,0] [Y,8,1] [B,11,2]":N10 #AX REQUEST NAM IDX "ACHSEN_KANAL2" (Achsen anfordern)
Durch die Logikschalter NAM und IDX werden im Kanal 1 die zusätzlichen neuen Achsen korrekt übernommen.
Zuordnung der Achsbezeichnungen, logischen Achsnummern und Achsindizes nach den Achsanforderungen:
Achsbezeichnung | logische Achsnummer | Achsindex |
---|---|---|
X | 1 | 0 |
Y | 2 | 1 |
Z | 3 | 2 |
X_1 | 7 | 3 |
Y2 | 8 | 4 |
B | 11 | 5 |