Anfordern von Achsen
Mit folgendem NC-Befehl werden Achsen von der Achsverwaltung angefordert:
#CALL AX [<Modus>] [<Achsname>,<Achsnummer>,<Achsindex> {,<Optionen>} ] { [<Achsname>,<Achsnumme><Achsindex> {,<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. |
<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 muß 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.
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 (nur bei #CALL AX...) 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, 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.
<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 #CALL AX nur bei abgewähltem Werkzeug sinnvoll. Sobald ein Werkzeug im Kanal bereits aktiv ist oder nach dem Achstausch mit #CALL AX angewählt wird, werden die übernommenen Werkzeugversätze durch die Versätze des aktuellen Werkzeuges ersetzt! |
Programmierbeispiel
%Zero_Offset
N010 X200
N015 V.G.NP_AKT.V.X = 11
N020 #PUT AX [X]
.....
N130 #CALL AX [X,1,0,NPV]
N140 X100 (Endposition Maschinen-X-Achse ist 111)
M30
![]() | Wird eine Achse angefordert, die bereits in der Achsgruppe des NC-Kanals vorhanden ist, so wird für diese Achse keine Anforderung ausgelöst. |
Beispiel:
Zuordnung der Achsbezeichnungen, logischen Achsnummern und Achsindices bei Programmstart:
Achsbezeichnung | logische Achsnummer | Achsindex |
---|---|---|
X | 1 | 0 |
Y | 2 | 1 |
Z | 3 | 2 |
Programmierbeispiel
%Achstausch1
N10 #CALL AX FAST [X1,7,4] (X1-Achse ohne Sollwerte-Anforderung)
(und Ausgabe des Init.-Funktionssatzes)
Zuordnung der Achsbezeichnungen, logischen Achsnummern und Achsindices nach der Achsanforderungen:
Achsbezeichnung | logische Achsnummer | Achsindex |
---|---|---|
X | 1 | 0 |
Y | 2 | 1 |
Z | 3 | 2 |
|
| 3 |
X1 | 7 | 4 |
Fortsetzung des Programmierbeispiels:
:
N100 #CALL AX [Y1,8,6] [C,9, ] (Y1- und C-Achse anfordern, Achsindex von C-Achse wird automatisch
bestimmt)
Zuordnung der Achsbezeichnungen, logischen Achsnummern und Achsindices 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 #CALL AX FAST [Z1,13,5,ALL] (Übernahme sämtlicher Versätze)
N1010 #CALL AX [C1,11,7,NPV MOFFS] (Übernahme der Nullpunktver-) (schiebung und des Meßoffsets)
Zuordnung der Achsbezeichnungen, logischen Achsnummern und Achsindices 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 |