Anfordern von Achsen

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

# AX REQUEST [<Modus>] [NAM, NBR, IDX] [<Achstauschsequenz> {,<Optionen>} ] { [<Achstauschsequenz> {,<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

NAM, NBR, IDX Logikschalter zur Behandlung von Konflikten.

ID

Bedeutung

NAM

Behandlung redundanter Achsnamen

NBR

Behandlung redundanter Achsnummern

IDX

Behandlung redundanter Achsindizes

Anfordern von Achsen 1:

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.

Anfordern von Achsen 2:

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 Defaultachsnamen aus ihrer Achsparameterliste[2]-18. Die eindeutige Vergabe der Defaultachsnamen 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 muß in der Achsverwaltung bekannt sein.

Anfordern von Achsen 3:

Bei Konflikten innerhalb der programmierten Achstauschsequenz:
Redundante Achsnummern -> FEHLER, Programmabbruch.
Bei Konflikten zu bereits im NC-Kanal vorhandenen Achsen:
Achsnummer im Kanal bereits vorhanden -> WARNING
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.

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

Anfordern von Achsen 4:

Bei Konflikten innerhalb der programmierten Achstauschsequenz:
Redundante Achsindizes -> 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. Es handelt sich dabei um:

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 #AX REQUEST nur bei abgewähltem Werkzeug sinnvoll. Sobald ein Werkzeug im Kanal bereits aktiv ist oder nach dem Achstausch mit #AX REQUESTangewä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 1: 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

%Achstausch1
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 der Nullpunktver-)
(schiebung und des Meßoffsets)

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

%Achstausch
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 Defaultnamen 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 Defaultnamen 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.

%Achstausch
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