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.
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
Angabe des Pendelfahrweges über Umkehrpositionen, in die Versätze eingerechnet werden
N10 X[OSC ON 1ST_POS=-100 2ND_POS=100 FEED=1000 INCL_OFFSETS]
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]
Pendeln einer Moduloachse (0-360°) auf dem kürzesten Weg über die Modulogrenze
N80 X[OSC ON 1ST_POS=10 2ND_POS=350 FEED=1000 SHORT]
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]