Anfordern von Achsen (#AX REQUEST)
Mit folgendem NC-Befehl werden Achsen von der Achsverwaltung angefordert.
Syntax: |
#AX REQUEST [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 → WARNUNG
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.
Für Hauptachsen muss der Index immer explizit angegeben werden.
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 Achsnummern → 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 |
Hinweis
Mit Ausnahme der Werkzeugversätze sind alle anderen Versätze beim Abgeben und Anfordern stets an die logische Achsnummer gebunden.
Achtung
* 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 REQUEST angewä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
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
Anfordern von Achsen
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 Nullpunktver-
;schiebung und Messoffset
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).
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 Standardachsnamen 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 Standardachsnamen 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.
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 |