Anfordern von Achsen (#CALL AX)

Hinweis

notice

Wird eine Achse angefordert, die bereits in der Achsgruppe des NC-Kanals vorhanden ist, so wird für diese Achse keine Anforderung ausgelöst.

Mit folgendem NC-Befehl werden Achsen von der Achsverwaltung angefordert:

Syntax:

#CALL AX [<Modus>] [<Achsname>,<Achsnummer>,<Achsindex> {,<Optionen>} ]

                                   { [<Achsname>,<Achsnummer>,<Achsindex> {,<Optionen>} ] }

<Modus>

Mit / Ohne Anforderung der Achspositionen vom Interpolator und einer Positionsinitialisierung des NC-Kanals beim Eintauschen von Achsen.

---: Mit Anforderung der Sollwerte vom Interpolator und einer Positionsinitialisierung des NC-Kanals (Standard).

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

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

attention

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.

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.

<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

notice

Mit Ausnahme der Werkzeugversätze sind alle anderen Versätze beim Abgeben und Anfordern stets an die logische Achsnummer gebunden (siehe untenstehendes Programmierbeispiel "Zero_offset").

Achtung

attention

* 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!

Es wird daher empfohlen, #CALL AX 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.

Programmierbeispiel

prg_example

Anfordern von Achsen

%Zero_Offset

N010 X200

N015 G54

N015 V.G.NP_AKT.V.X = 11

N016 X0                      (Endposition Maschinen-X-Achse ist 11)

N020 #PUT AX [X]             (Achse X mit log. Achsnr. 1 abgeben)

.....

N130 #CALL AX [X1,1,0,NPV]   (Log. Achsnr. 1 unter neuem Name X1 holen)

N140 X1=100                  (Endposition Maschinen-X1-Achse ist 111)

M30

Beispiel:

Zuordnung der Achsbezeichnungen, logischen Achsnummern und Achsindices bei Programmstart:

Achsbezeichnung

Logische Achsnummer

Achsindex

X

1

0

Y

2

1

Z

3

2

Programmierbeispiel

prg_example

%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 Messoffsets)

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