# Pendelachsen (OSC)

## Versionshinweis

Die Verfügbarkeit dieser Funktionalität ist von der Konfiguration und dem Versionsumfang abhängig.

Für bestimmte Bearbeitungstechnologien wie z.B. Schleifen ist eine oszillierende Achsbewegung erforderlich, die weitgehend unabhängig von einer Bahnbewegung ausgeführt wird.

Diese im Folgenden als „Pendelbewegung“ bezeichnete Bewegung führt das Werkzeug periodisch reversierend über dem Werkstück aus.

Beispielhaft ist im Folgenden eine Pendelachse beim Schleifen dargestellt. Die Werkstückbearbeitung erfolgt dabei durch Überlagerung der X - Pendelbewegung mit Positionierbewegungen in Y und Z- Achse.

Abb.: Schleifen mit Pendelachse

Die wesentlichen Eigenschaften der Pendelbewegung ergeben sich über zwei Absolutpositionen zwischen denen die Pendelbewegung ausgeführt wird, sowie der Vorschubgeschwindigkeit.

Start und Stop und Parametrierung der Pendelbewegung erfolgen über das NC-Programm.

Innerhalb der konfigurierten Achsen kann jede beliebige Achse als Pendelachse festgelegt werden. Die Pendelbewegung erfolgt asynchron zur Bahnbewegung.

Die Deaktivierung der Pendelbewegung erfolgt entweder:

- direkt durch einen NC-Befehl
- oder implizit durch Programmierung einer Bahnbewegung für d. Pendelachse
- oder implizit bei der Anforderung von Achspositionen zur Synchronisation von Decodierung und Interpolation
- oder implizit am Programmende.

Durch Angabe des Profiltyps in den Kanalparametern P-CHAN-00071 (linearer/nichtlinearer Slope) kann für die Pendelbewegung die Art des Geschwindigkeitssverlaufs in der dynamischen Phase festgelegt werden.

Die Programmiersyntax lehnt sich an die achsspezifische Programmierung von unabhängigen Achsen an. Nach dem Achsbezeichner erfolgt die Parametrierung der Pendelbewegung über Schlüsselworte und ggf. zugehörige Werte:

Syntax zur Programmierung einer Pendelbewegung:
<Achsname> [ OSC ON | [OFF | OFF FEED=.. | OFF INSTANT] FEED=.. | FREQ=.. | TIME=.. [1ST_POS=.. 2ND_POS=..] | [ ZERO_POS=.. EXCUR=..] [1ST_DELT=.. 2ND_DELT=..] [NBR_OSC=..] { \ } ]

<Achsname> | Name der Pendelachse
OSC | Kennung für die Funktionalität "Pendeln". Muss immer als erstes Schlüsselwort programmiert sein.
ON | Pendeln einschalten. Bei aktiver Bahnbewegung wird am Satzende angehalten und dann die Pendelbewegung beauftragt.
OFF | Pendeln ausschalten. Aktueller Pendelzyklus wird zu Ende gefahren. Danach kann die Pendelachse wieder im Bahnverbund bewegt werden. Ohne vorherige Abwahl wird die Pendelbewegung bei Programmierung einer neuen Achsbewegung implizit abgebrochen.
OFF FEED=.. | Schneller Pendelstopp. Der aktuelle Pendelzyklus wird abgebrochen und die Achse fährt mit vorgegebenem Vorschub auf Zielposition (2ND POS). Danach kann die Pendelachse wieder im Bahnverbund bewegt werden.
OFF INSTANT | Sofortiger Pendelstopp. Achse hält unmittelbar an und kann sofort wieder im Bahnverbund bewegt werden. Verfügbar ab V3.1.3107.38
FEED=.. | Vorschub der Pendelbewegung in [mm/min, m/min, inch/min]
FREQ=.. | Frequenz der Pendelbewegung in [Hz]
TIME=.. | Periodendauer der Pendelbewegung in [s]
1ST_POS=.. | Erste Umkehrposition in [mm, inch]
2ND_POS=.. | Zweite Umkehrposition in [mm, inch]
ZERO_POS=.. | Nullpunkt bzw. Nulldurchgang der Pendelbewegung in [mm, inch]
EXCUR=.. | Auslenkung in [mm, inch]
1ST_DELT=.. | Wartezeit an erster Umkehrposition in [s]
2ND_DELT=.. | Wartezeit an zweiter Umkehrposition in [s]
NBR_OSC=.. | Anzahl Schwingungen
\ | Trennzeichen ("Backslash") für übersichtliche Programmierung des Befehls über mehrere Zeilen

Die Eigenschaft der Pendelbewegung wird durch die Lage der Umkehrpositionen und dem Achsvorschub bestimmt. Die Umkehrpositionen können entweder direkt angegeben werden oder sie werden alternativ über Nullposition und Auslenkung automatisch bestimmt.

Bei den Pendelpositionen handelt es sich immer um Absolutpositionen.

Nach Abwahl der Pendelbewegung wird immer auf Pendelposition 2 gestoppt!

Die Pendelgeschwindigkeit kann alternativ über den Vorschub, die Frequenz oder die Periodendauer festgelegt werden.

Sofern keine Beschränkung aufgrund der dynamischen Achskenngrößen auftritt, werden bei Verwendung des linearen Slopes die Frequenz und die Periodendauer exakt eingehalten, beim nichtlinearen Slope näherungsweise.

Abb.: Positioniervorgang bei der Pendelbewegung

## Programmierbeispiel

Angabe des Pendelfahrweges über Umkehrpositionen

N10 X[OSC ON 1ST_POS=-100 2ND_POS=100 FEED=1000]

Angabe des Pendelfahrweges über Nullposition und Auslenkung,
10 Schwingungen

N20 X[OSC ON ZERO_POS=0 EXCUR=100 FEED=1000 NBR_OSC=10]

Angabe der Pendelfrequenz 1 Hertz

N30 X[OSC ON ZERO_POS=0 EXCUR=100 FREQ=1]

Angabe der Pendelperiodendauer 4s

N40 X[OSC ON ZERO_POS=0 EXCUR=100 TIME=4]

Pendelbewegung mit Zustellbewegung einer Bahnachse

N50 X[OSC ON 1ST_POS=111 2ND_POS=222 FREQ=1]

N60 G01 G90 Y500 F200

Pendeln mit Wartezeiten an den Umkehrpositionen von jeweils 0.5 s:

N70 X[OSC ON 1ST_POS-100 1ST_DELT0.5 2ND_POS200 2ND_DELT0.5 FEED1000]

Abwahl Pendeln

Pendelbewegung wird mit Erreichen der Umkehrposition 2 beendet.

N80 X[OSC OFF]

Schneller Pendelstopp

Wird in Verbindung mit OFF ein Vorschub FEED programmiert, so wird die Pendelbewegung sofort abgebrochen (Feedhold der Pendelachse) und es wird mit dem neuen Vorschub direkt auf Umkehrposition 2 gefahren.

N90 X[OSC OFF FEED=5000]

Sofortiger Pendelstopp

Die aktuelle Pendelbewegung wird abgebrochen (Feedhold der Pendelachse). Nach dem Stillstand wird die aktuelle Achsposition mit dem Decoder synchronisiert. Die Achse steht dem Bahnverbund wieder zur Verfügung.

N90 X[OSC OFF INSTANT]