Pendelachsen (OSC)
![]() | 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.

Die wesentlichen Eigenschaften der Pendelbewegung ergeben sich über zwei Absolutpositionen zwischen denen die Pendelbewegung ausgeführt wird, sowie der Vorschubgeschwindigkeit.
Start, Stopp 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 Geschwindigkeitsverlaufs in der dynamischen Phase festgelegt werden.
Bei einer Moduloachse müssen die Pendelpositionen innerhalb des Modulobereichs angegeben werden. Ist dies nicht der Fall, wird der Fehler ID 22277 ausgegeben.
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] | [ ZERO_POS=.. EXCUR=..] [1ST_DELT=.. 2ND_DELT=..] [NBR_OSC=..] [INCL_OFFSETS] [SHORT] { \ } ] |
<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. |
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 |
INCL_OFFSETS [ab V3.1.3081.05] | Einrechnen der aktuell aktiven achsspezifischen Verschiebungen (z.B. G55, G92 etc.) in die programmierten Umkehrpositionen 1ST_POS/2ND_POS bzw. Nulldurchgang ZERO_POS |
SHORT [ab V3.1.3113.0] | Pendeldistanz wird bei einer Moduloachse auf dem kürzesten Weg zurückgelegt. |
\ | 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.

Programmierbeispiel
10 Schwingungen