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 |
![]() | 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: 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. |
![]() | 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. |
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, 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. |
![]() | 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 |
![]() | Mit Ausnahme der Werkzeugversätze sind alle anderen Versätze beim Abgeben und Anfordern stets an die logische Achsnummer gebunden. |
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 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:
Achsbezeichnung | Logische Achsnummer | Achsindex |
X | 1 | 0 |
Y | 2 | 1 |
Z | 3 | 2 |
Programmierbeispiel
Anfordern von Achsen
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:
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:
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
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).
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
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 |