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

notice

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

notice

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

notice

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

attention

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

notice

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

notice

Mit Ausnahme der Werkzeugversätze sind alle anderen Versätze beim Abgeben und Anfordern stets an die logische Achsnummer gebunden.

Achtung

attention

* 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

example

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

prg_example

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

prg_example

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

prg_example

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