-
Hintergrund der Erfindung
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine numerische Steuervorrichtung zum Steuern einer fünfachsigen Bearbeitungsmaschine, die ein Werkstück, das an einem Tisch angebracht ist, mittels dreier linearer Achsen und zweier Drehachsen bearbeitet.
-
Beschreibung des verwandten Stands der Technik
-
In einem Fall, in dem ein Werkstück durch eine fünfachsige Bearbeitungsmaschine bearbeitet wird, wird im Allgemeinen eine Bearbeitungstechnik verwendet, die ebenso eine Werkzeugrichtung interpoliert, während ein Werkzeugmittelpunktbewegungsweg auf der Grundlage einer angewiesenen relativen Bewegungsgeschwindigkeit zwischen dem Werkstück und einem Werkzeug hinsichtlich einer Bewegungsanweisung eines Werkzeugmittelpunkts in dem Bewegungsweg und in der Werkzeugrichtung interpoliert wird. Dabei wird der Werkzeugmittelpunkt veranlasst, sich entlang eines angewiesenen Bewegungswegs mit einer angewiesenen Geschwindigkeit zu bewegen, während die Werkzeugrichtung geändert wird. Eine derartige Anweisung und eine Bearbeitungstechnik werden eine Werkzeugmittelpunktsteuerung genannt, und eine Programmanweisung wird im Allgemeinen durch eine CAM erzeugt.
-
JP 2003-195 917 A offenbart eine Technik, die einen Bewegungsweginterpolationspunkt korrigiert, während ein Bewegungsweg und eine Werkzeugrichtung eines Werkzeugmittelpunkts auf der Grundlage einer relativen Bewegungsgeschwindigkeit zwischen einem Werkstück und einem Werkzeug hinsichtlich der Bewegungsanweisung des Werkzeugmittelpunkts interpoliert wird. Außerdem treibt die Technik einen Servomotor derart, dass sich der Werkzeugmittelpunkt entlang eines angewiesenen Bewegungswegs mit einer angewiesenen Geschwindigkeit bewegt.
-
JP 2005-182 437 A offenbart eine Technik, die eine Kurve interpoliert, in der ein Bearbeitungspunkt aus einer Anweisungspunktsequenz derart erzeugt wird, dass sich die Kurve entlang einer Kurve ändert, in der ein Vektorendpunkt, der eine Werkzeugrichtung angibt, aus einer angewiesenen Vektorsequenz aus der Punktsequenz, die einen Werkzeugmittelpunktbewegungsweg anweist, und der Vektorsequenz erzeugt wird, die die Werkzeugrichtung anweist.
JP 2009-146 152 A (und ihr Patentfamilienmitglied
EP 2 071 422 A2 ) offenbart eine Technik, die eine Werkzeugrichtungsanweisungskorrektureinheit zum Korrigieren einer Werkzeugrichtungsanweisung umfasst, so dass ein Bewegungsbetragsverhältnis zwischen zwei Drehachsen und einer linearen Achse gleichförmig wird. Des Weiteren stellt
JP 2009-146 152 A einen Fall dar, in dem sich eine Werkzeugrichtung nicht proportional ändert, sondern sich in großem Maße hinsichtlich einer Länge einer linearen Achsanweisung als ein Werkzeugmittelpunktbewegungsweg eines Programms ändert, das durch die CAM erstellt ist.
-
Eine Position, die von dem Werkzeugmittelpunkt in der Werkzeugrichtung um die Werkzeuglänge versetzt ist, wird als ein Steuerpunkt bezeichnet. In einem Fall, in dem der Werkzeugmittelpunkt derart gesteuert wird, dass der Werkzeugmittelpunkt dem angewiesenen Bewegungsweg nachfolgt, wird eine Änderung in der Werkzeugrichtung für jeden Block zu dem Steuerpunkt zugefügt, während er um die Werkzeuglänge verstärkt wird. Aus diesem Grund ist in einem Fall, in dem eine große Änderung in einem Werkzeugrichtungsvektor auftritt, die Bewegung des Steuerpunkts nicht notwendigerweise glatt, selbst wenn der Werkzeugmittelpunktanweisungsweg glatt ist. Ist der Steuerpunktbewegungsweg nicht glatt, dann besteht ein Bedarf an einer abrupten Beschleunigung oder Abbremsung eines Servomotors, so dass der Werkzeugmittelpunkt dem Weg nachfolgt. Im Ergebnis entsteht ein Nachteil dahingehend, dass sich die Bearbeitungszeit verlängert oder die Oberflächenqualität des Werkstücks vermindert wird.
-
In der Werkzeugrichtungsanweisungskorrektureinheit, die in der
JP 2009-146 152 A offenbart ist, wird eine Drehachsenanweisung direkt korrigiert. Aus diesem Grund ist es nicht möglich, die Korrekturrichtung des Werkzeugrichtungsvektors zu steuern. Erhöht sich der Korrekturbetrag in der Bearbeitungsoberflächennormalenrichtung in der Bearbeitung unter Verwendung der Werkzeugseitenoberfläche, dann wird das Werkstück zum Beispiel stärker beschnitten als erforderlich, so dass die Oberflächenqualität des Werkstücks vermindert wird. Wenn sich des Weiteren der Korrekturbetrag in einer Richtung mit einer Barriere erhöht, wie einer Maschine, besteht die Möglichkeit, dass das Werkzeug und die Maschine einander stören, wie in
1 gezeigt.
-
Die Druckschrift
DE 10 2012 017 331 A1 offenbart eine numerische Steuervorrichtung zum Steuern einer Mehrachsenwerkzeugmaschine zur maschinellen Verarbeitung mit drei linearen Achsen und drei Drehachsen, die eine Funktion zum Kompensieren eines Setzfehlers aufweist, der auftritt, wenn ein Werkstück gesetzt wird. Diese numerische Steuervorrichtung bestimmt kompensierte lineare Achsenpositionen der drei linearen Achsen und kompensierte Drehachsenpositionen der drei Drehachsen durch Berechnen einer kompensierten Werkzeugposition und -richtung abhängig von dem Setzfehler derart, dass die Werkzeugposition und -richtung auf dem Werkstücksetzkoordinatensystem auf dem Werkstück mit einem Setzfehler beibehalten werden, und steuert die Achsen gemäß den kompensierten linearen Achsenpositionen und den kompensierten Drehachsenpositionen an und steuert diese.
-
Die Druckschrift
DE 103 22 340 A1 offenbart ein Verfahren und eine Vorrichtung zum Fräsen von Freiformflächen. Es wird ein Werkstück von einem Werkzeug bzw. einem Fräser derart gefräst, dass sich eine gewünschte Freiformfläche ergibt. Das Werkzeug wird zum Fräsen entlang mindestens einer definierten Werkzeugbahn bzw. Fräsbahn relativ zum Werkstück bewegt. Es wird zusätzlich zu der oder jeden Werkzeugbahn mindestens eine Führungskurve für einen Werkzeugvektor des Werkzeugs definiert, wobei beim Fräsen der Werkzeugvektor in Abhängigkeit von der oder jeder Führungskurve ausgerichtet wird.
-
Die Druckschrift
JP 2010-146 176 A offenbart eine numerische Steuervorrichtung, die ein Anweisungsprogramm einliest, jeden Block des eingelesenen Programms analysiert, eine Interpolation auf der Grundlage der analysierten Daten durchführt und jede Bewegungsachse auf der Grundlage der interpolierten Daten antreibt. Bei Einlesen des Programms wird ein entsprechender Korrekturbetrag angewiesen.
-
Kurzfassung der Erfindung
-
Deshalb besteht eine Aufgabe der Erfindung in einer Bereitstellung einer numerischen Steuervorrichtung zur Steuerung einer fünfachsigen Bearbeitungsmaschine, die einen Werkzeugrichtungsvektor derart korrigiert, dass ein Korrekturbetrag in einer ausgewiesenen Richtung sich in einer Werkzeugmittelpunktsteuerung verringert und die eine unnötige Beschleunigung/Abbremsung einer Maschine in einem Bearbeitungszustand unterdrückt wird, um eine Bearbeitungszeit zu verkürzen und die Oberflächenqualität einer Bearbeitungsoberfläche eines Werkstücks zu verbessern.
-
Gemäß der Erfindung wird eine Vorrichtung gemäß dem unabhängigen Anspruch bereitgestellt. Entwicklungen sind in den abhängigen Ansprüchen dargestellt.
-
Vorzugsweise wird eine numerische Steuervorrichtung vorgesehen, die konfiguriert ist, um eine fünfachsige Bearbeitungsmaschine zu steuern, die drei lineare Achsen und zwei Drehachsen umfasst und die konfiguriert ist, um ein Werkstück zu bearbeiten, das an einem Tisch angefügt ist, wobei die numerische Steuervorrichtung umfasst: eine Anweisungsleseeinheit, die konfiguriert ist, um eine Bewegungsweganweisung der linearen Achse, eine relative Bewegungsgeschwindigkeitsanweisung zwischen dem Werkstück und einem Werkzeug und eine Werkzeuglänge und eine Werkzeugrichtungsanweisung als die Werkzeugrichtung hinsichtlich des Tisches zu lesen; eine Werkzeugrichtungskorrekturtoleranzsetzeinheit, die konfiguriert ist, um eine Werkzeugrichtungskorrekturtoleranz als einen Schwellwert zur Korrektur der Werkzeugrichtung zu setzen; eine Werkzeugrichtungsanweisungskorrektureinheit, die konfiguriert ist, um die Werkzeugrichtungsanweisung derart zu korrigieren, dass die Werkzeugrichtungsanweisung in die Werkzeugrichtungskorrekturtoleranz fällt; eine Interpolationseinheit, die konfiguriert ist, um jede Achsposition zu jeder Interpolationsspanne derart zu erlangen, dass sich ein Werkzeugmittelpunkt entlang eines angewiesenen Bewegungswegs mit einer angewiesenen relativen Bewegungsgeschwindigkeit auf der Grundlage der relativen Bewegungsgeschwindigkeitsanweisung, der Bewegungsweganweisung und der Werkzeugrichtungsanweisung bewegt, die durch die Werkzeugrichtungsanweisungskorrektureinheit korrigiert ist; und eine Einheit, die konfiguriert ist, um jeden Achsmotor derart zu treiben, dass sich der Achsmotor hinsichtlich jeder Achsposition bewegt, die durch die Interpolationseinheit erlangt ist.
-
Die Werkzeugrichtungsanweisung wird vorzugsweise als ein Werkzeugrichtungsvektor angewiesen, und die Werkzeugrichtungsanweisungskorrektureinheit korrigiert vorzugsweise den angewiesenen Werkzeugrichtungsvektor.
-
Alternativ wird vorzugsweise die Werkzeugrichtungsanweisung durch die Positionen der zwei Drehachsen angewiesen, und es wird vorzugsweise die Werkzeugrichtungsanweisungskorrektureinheit die Positionen der zwei angewiesenen Drehachsen korrigieren. Des Weiteren wird vorzugsweise die Werkzeugrichtungsanweisungskorrektureinheit die Positionen der zwei angewiesenen Drehachsen in die Werkzeugrichtungsvektoren umwandeln, die umgewandelten Werkzeugrichtungsvektoren korrigieren und die korrigierten Werkzeugrichtungsvektoren zurück in die Positionen der zwei Drehachsen umwandeln.
-
Die Werkzeugrichtungskorrekturtoleranz wird vorzugsweise als I, J bzw. K für die X-, Y- bzw. Z-Richtung angegeben werden, und es korrigiert vorzugsweise die Werkzeugrichtungsanweisungskorrektureinheit die Werkzeugrichtungsanweisung derart, um die Werkzeugrichtungsanweisung zu veranlassen, in die ausgewiesene Werkzeugrichtungskorrekturtoleranz zu fallen.
-
Alternativ werden vorzugsweise die Werkzeugrichtungskorrekturtoleranz als eine Werkzeugbewegungsrichtungstoleranz und eine Bearbeitungsoberflächennormalenrichtungstoleranz angegeben, und es korrigiert vorzugsweise die Werkzeugrichtungsanweisungskorrektureinheit die Werkzeugrichtungsanweisung derart, um die Werkzeugrichtungsanweisung zu veranlassen, in die Werkzeugbewegungsrichtungstoleranz und die Bearbeitungsoberflächennormalenrichtungstoleranz zu fallen.
-
Alternativ wird vorzugsweise die Werkzeugrichtungskorrekturtoleranz als eine Toleranz mit beliebiger Richtung angegeben werden, und es korrigiert vorzugsweise die Werkzeugrichtungsanweisungskorrektureinheit die Werkzeuganweisungsrichtung derart, um die Werkzeugrichtungsanweisung zu veranlassen, in die Toleranz beliebiger Richtung zu fallen.
-
Wird ein Werkzeugrichtungsanweisungskorrekturmodus angewiesen, dann schätzt vorzugsweise die Anweisungsleseeinheit eine vorbestimmte Anzahl von Blöcken als eine Korrekturzielprogrammanweisung, bis der Abbruch des Werkzeugrichtungsanweisungskorrekturmodus angewiesen wird. In diesem Fall korrigiert vorzugsweise die Werkzeugrichtungsanweisungskorrektureinheit die Werkzeugrichtungsanweisung der Korrekturzielprogrammanweisung. Des Weiteren wird vorzugsweise der Werkzeugrichtungsanweisungskorrekturmodus als ein G-Code-Befehl angewiesen, und wird vorzugsweise der Abbruch des Werkzeugrichtungsanweisungskorrekturmodus durch einen anderen G-Code-Befehl angewiesen.
-
Da die Erfindung die vorstehend beschriebene Konfiguration aufweist, ist es möglich, eine numerische Steuervorrichtung zum Steuern einer fünfachsigen Bearbeitungsmaschine vorzusehen, die einen Werkzeugrichtungsvektor derart korrigiert, dass ein Korrekturbetrag in einer ausgewiesenen Richtung sich in einer Werkzeugmittelpunktsteuerung verringert und die eine unnötige Beschleunigung/Abbremsung in der Geschwindigkeit einer Maschine in einem Bearbeitungszustand unterdrückt, um dadurch eine Bearbeitungszeit zu verkürzen und die Oberflächenqualität einer Bearbeitungsoberfläche eines Werkstücks zu verbessern.
-
Figurenliste
-
Die vorstehend beschriebene Aufgabe und eine andere Aufgabe und das Merkmal der Erfindung werden aus der nachstehenden Beschreibung von Ausführungsbeispielen unter Bezugnahme auf die beiliegenden Zeichnungen offensichtlich. Es zeigen:
- 1 eine Darstellung, die eine Störung zwischen einem Werkzeug und einer Maschine im Stand der Technik zeigt;
- 2 ein Beispiel einer Bearbeitungsprogrammanweisung eines ersten Ausführungsbeispiels;
- 3 eine Darstellung, die einen Vergleich zwischen einer Positionsanweisung und einer Werkzeugrichtungsanweisung zeigt, wenn die Positionsanweisungen P1 (Px1, Py1 und Pz1) bis P10 (Px10, Px10 und Pz10) in der X-, Y- und Z-Achse in den Koordinaten von X, Y und Z gezeigt werden und die Werkzeugrichtungsanweisungen Pi1 bis Pi10 von I in einer eindimensionalen Koordinate gezeigt werden;
- 4 eine Darstellung, die ein Werkzeugrichtungsvektorende im Raum von I, J und K zeigt;
- 5 eine Darstellung, die einen Zustand zeigt, in dem die Positionsanweisungen in der X-, Y- und Z-Achse in der Koordinate von X, Y und Z gezeigt sind, und die Werkzeugrichtungsanweisungen von I in einer eindimensionalen Koordinate gezeigt sind;
- 6 eine Darstellung, die einen Zustand zeigt, in dem der Ort des Werkzeugrichtungsvektors Pdn in dem Raum von I, J und K, der in 3 gezeigt ist, zu Rdn korrigiert wird;
- 7 eine Darstellung, die ein Koordinatensystem zeigt, in dem eine Achse Un mit der Werkzeugbewegungsrichtung übereinstimmt und eine Achse Vn mit der Bearbeitungsoberflächennormalenrichtung übereinstimmt;
- 8 eine Darstellung, die eine Werkzeugrichtungstoleranz zeigt;
- 9 ein Programmanweisungsbeispiel;
- 10 eine Darstellung, die eine Maschinenkonfiguration zeigt;
- 11 eine Darstellung, die eine fünfachsige Bearbeitungsmaschine vom Tischdrehtyp zeigt, die einen Tisch um zwei Drehachsen dreht;
- 12 eine Darstellung, die eine fünfachsige Bearbeitungsmaschine vom Kombinationstyp zeigt, die einen Werkzeugkopf um eine Drehachse dreht und die einen Tisch um die andere Drehachse dreht;
- 13 eine Funktionsblockdarstellung;
- 14 ein Ablaufdiagramm, das einen Prozess einer Werkzeugrichtungsanweisungskorrektureinheit zeigt; und
- 15 eine Hauptblockdarstellung einer Steuervorrichtung.
-
Ausführliche Beschreibung der bevorzugten Ausführungsbeispiele
-
(Erstes Ausführungsbeispiel): Werkzeugmittelpunktbearbeitung
-
Als ein Ausführungsbeispiel wird ein Beispiel einer Programmanweisung beschrieben werden, die in 2 gezeigt ist. Wird ein Werkzeugrichtungsanweisungskorrekturmodus ausgewählt, dann werden Blöcke als Korrekturzielprogrammanweisungen durch eine maximale Schätzblockanzahl geschätzt und werden Werkzeugrichtungsanweisungen derart korrigiert, dass ein Verhältnis zwischen einem linearen Achsbewegungsbetrag und einem Werkzeugrichtungsvektoränderungsbetrag der Blöcke in dem geschätzten Korrekturzielprogramm Anweisungen gleichförmig werden, bis der Werkzeugrichtungsanweisungskorrekturmodus abgebrochen wird. Des Weiteren wird die maximale Schätzblockanzahl als separater Parameter gesetzt.
-
Hierbei gibt Gaa einen G-Code-Befehl an, der den Werkzeugrichtungsanweisungskorrekturmodus anweist, und gibt Gbb einen G-Code-Befehl an, der den Werkzeugrichtungsanweisungskorrekturmodus abbricht. Die Werkzeugrichtung wird als die normalisierten Werkzeugrichtungsvektoren von I, J bzw. K angewiesen, die in der X-, Y- bzw. Z-Richtung definiert sind.
-
Ein Verfahren zum Anweisen der Werkzeugrichtung als den Werkzeugrichtungsvektor ist in der
JP 2003-195 917 A offenbart. Eine relative Bewegungsgeschwindigkeit f zwischen einem Werkzeug und einem Werkstück in dem Werkzeugmittelpunktbewegungsweg, der durch X, Y und Z angewiesen ist, wird bereits als eine Modalanweisung Ef angewiesen, bis Gaa angewiesen wird.
-
Es sei angenommen, dass die Positionsanweisungen in der X-, Y- und Z-Achse der Blöcke und die Werkzeugrichtungsanweisungen von I gesetzt sind, wie in 3 gezeigt. 3 zeigt einen Vergleich zwischen der Positionsanweisung und der Werkzeugrichtungsanweisung, wenn die Positionsanweisungen P1 (Px1, Py1 und Pz1) bis P10 (Px10, Py10 und Pz10) in der X-, Y- und Z-Achse in der Koordinate von X, Y und Z gezeigt sind, und sind die Werkzeugrichtungsanweisungen Pi1 bis Pi10 von I in einer eindimensionalen Koordinate gezeigt. In 3 wird das X-Element I des Werkzeugrichtungsvektors repräsentativ beschrieben, die gleichen Sachverhalte treffen aber ebenso auf die Elemente J und K zu. P0 (Px0, Py0 und Pz0) gibt die Positionen der Achsen an, wenn Gaa angewiesen wird. Pi0, Pj0 und Pk0 geben die Elemente X, Y und Z des Werkzeugrichtungsvektors an, die bei den Positionen von zwei Drehachsen definiert sind, wenn Gaa angewiesen wird.
-
Demgemäß ändert sich das X-Element I des Werkzeugrichtungsvektors von Pi0 bis Pi10, ändert sich das Y-Element J des Werkzeugrichtungsvektors von Pj0 bis Pj10 und ändert sich das Z-Element K des Werkzeugrichtungsvektors von Pk0 bis Pk10, während sich der Werkzeugmittelpunkt mit der Geschwindigkeit f von P0 (Px0, Py0 und Pz0) bis P10 (Px10, Py10 und Pz10) bewegt.
-
Während sich der Werkzeugmittelpunkt bei der Geschwindigkeit f von P0 (Px0, Py0 und Pz0) bis P1 (Px1, Py1 und Pz1) in jedem Block bewegt, ändert sich das X-Element I des Werkzeugrichtungsvektors von Pi0 zu Pi1, bewegt sich das Y-Element J von Pj0 zu Pj1 und bewegt sich das das Z-Element K von Pk0 zu Pk1. Während sich der Werkzeugmittelpunkt mit der Geschwindigkeit f von P1 (Px1, Py1 und Pz1) zu P2 (Px2, Py2 und Pz2) bewegt, ändert sich dann das X-Element I des Werkzeugrichtungsvektors von Pi1 zu Pi2, ändert sich das Y-Element J des Werkzeugrichtungsvektors von Pj1 zu Pj2 und ändert sich das Z-Element K des Werkzeugrichtungsvektors von Pk1 zu Pk2. Auf diese Weise ändern sich die Elemente I, J und K, während sie mit der Bewegung des Werkzeugmittelpunkts in jedem Block synchronisiert werden.
-
4 zeigt die Werkzeugrichtungsvektorendpunkte Pd0 (Pi0, Pj0 und Pk0) bis Pd10 (Pi10, Pj10 und Pk10) in dem Raum von I, J und K. Da Pd0 bis Pd10 normalisierte Vektoren sind, bezeichnet der Vektor Punkte auf einer Kugel mit einem Radius von 1. Ein Beispiel wird beschrieben, in dem zehn Blöcke von Anweisungen von Gaa bis Gbb vorliegen. Es ist aber die Anzahl von Blöcken nicht eingeschränkt. Jede Achspositionsanweisung wird als eine absolute Anweisung gesetzt.
-
Hierbei wird ein Verhältnis zwischen dem linearen Achsbewegungsbetrag und dem Änderungsbetrag von jedem Element des Werkzeugrichtungsvektors bei jedem Block durch die Gleichungen (1) bis (3) ausgedrückt. Des Weiteren gibt in den Gleichungen (1) bis (3) n 0 bis 9 an.
-
Das Verhältnis zwischen dem linearen Achsbewegungsbetrag und dem Änderungsbetrag von jedem Element des Werkzeugrichtungsvektors bei jedem Block ist normalerweise nicht gleichförmig. Deshalb werden Pi1 bis Pi10, Pj1 bis Pj10 und Pk1 bis Pk10 wie nachstehend beschrieben korrigiert, so dass das Verhältnis gleichförmig wird.
-
Die numerische Steuervorrichtung beginnt einen Schätzprozess und einen Korrekturprozess, wenn Gaa gelesen wird. Hierbei wird die Schätzblockanzahl auf maximal 5 gesetzt. Die korrigierten Anweisungen I, J und K werden durch Ri1 bis Ri10, Rj1 bis Rj10 und Rk1 bis Rk10 angegeben. Die Werkzeugrichtungsvektoren, von denen lediglich die Richtungen korrigiert werden, sind durch Qi1 bis Qi10, Qj1 bis Qj10 und Qk1 bis Qk10 angegeben.
-
Die Werkzeugrichtungskorrekturtoleranzen in der positiven Richtung von I, J bzw. K, d. h. die Elemente X, Y bzw. Z des Werkzeugrichtungsvektors, werden durch Ti, Tj bzw. Tk angegeben, die Werkzeugrichtungskorrekturtoleranzen in der negativen Richtung von I, J bzw. K, d. h. die Elemente X, Y bzw. Z des Werkzeugrichtungsvektors werden durch Si, Sj bzw. Sk angegeben. Die Werkzeugrichtungskorrekturtoleranzen weisen vorab Schwellwerte auf, mit denen die Werkzeugrichtung durch die Werkzeugrichtungskorrekturtoleranzsetzeinheit korrigiert wird. Die Werkzeugrichtungskorrekturtoleranzen können als die Parameter durch einen Bediener gesetzt werden oder können als die Programmanweisungen gesetzt werden.
-
Nachstehend wird der Korrekturprozess gemäß seiner Sequenz beschrieben werden.
- <1> Wie in Gleichung (4) dargestellt, wird der erste Block gelesen und wird der erste Block auch nicht korrigiert.
Des Weiteren wird α zu I, J und K, wie nachstehend beschrieben.
- <2> Der zweite und dritte Block wird gelesen, und Qα2 wird wie in Gleichung (5) dargestellt berechnet.
- <3> Wie in Gleichung (6) dargestellt, wird der maximale Korrekturbetrag gesetzt, wenn der Korrekturbetrag den oberen Grenzwert (die Werkzeugrichtungskorrekturtoleranz) überschreitet.
- <4> Wie in Gleichung (7) dargestellt, werden die Anweisungen I, J und K (Qα2) des korrigierten zweiten Blocks normalisiert. Diese wiederum werden als die korrigierten Anweisungen I, J und K (Rα2) gesetzt.
- <5> Der (n+1)-te und der (n+2)-te Block wird gelesen, und die Anweisungen I, J und K des n-ten Blocks werden wie in Gleichung (8) dargestellt korrigiert (n=3 bis 8). Hierbei wird der (n+1)-te Block bereits bei n=4 bis 8 eingelesen.
- <6> Überschreitet der Korrekturbetrag den oberen Grenzwert (die Werkzeugrichtungskorrekturtoleranz), dann wird der maximale Korrekturbetrag gesetzt, wie in der Gleichung (9) gezeigt.
- <7> Die Anweisungen I, J und K (Qαn) des korrigierten n-ten Blocks werden wie in Gleichung (10) beschrieben normalisiert.
- <8> Der neue Block wird nicht gelesen, wenn Gbb gelesen wird. Wie in Gleichung (11) dargestellt, werden die Anweisungen I, J und K des neunten Blocks korrigiert.
- <9> Überschreitet der Korrekturbetrag den oberen Grenzwert (die Werkzeugrichtungskorrekturtoleranz), dann wird der maximale Korrekturbetrag wie in Gleichung (12) beschrieben gesetzt.
- <10> Die Anweisungen I, J und K (Qa9) des korrigierten neunten Blocks werden wie in Gleichung (13) dargestellt normalisiert.
- <11> Der zehnte Block wird nicht korrigiert, wie in Gleichung (14) dargestellt.
-
Auf diese Weise wird die Werkzeugrichtungsanweisung korrigiert, während sequenziell der Block geschätzt wird. Das heißt, es sei angenommen, dass Ri1 bis Ri10, Rj1 bis Rj10 und Rk1 bis Rk10 hin zu Pi1 zu Pi10, Pj1 zu Pj10 und Pk1 zu Pk10 in dem Programmanweisungsbeispiel angewiesen werden, das in 2 angegeben ist.
-
Die Werkzeugrichtungsanweisungen Pi1 bis Pi10 von I, die in 2 gezeigt sind, werden als Ri1 bis Ri10, die in 5 gezeigt sind, durch die Werkzeugrichtungsanweisungskorrektur korrigiert. Außerdem wird der Ort des Werkzeugrichtungsvektors Pdn in dem Raum von I, J und K, der in 3 gezeigt ist, als Rdn korrigiert, das in 6 gezeigt ist. Hierbei wird Rdn (n=1 bis 10) das korrigierte Werkzeugrichtungsvektorende (Rin, Rjn und Rkn). Selbst wenn nicht alle Blöcke korrigiert werden, ohne vollständig gelesen zu sein, kann eine Änderung in jedem Element des Werkzeugrichtungsvektors eines jeden Blocks derart korrigiert werden, dass die Änderung im Wesentlichen proportional zu dem entsprechenden linearen Achsbewegungsbetrag vorliegt.
-
Da des Weiteren die Interpolationseinheit zum Erlangen von jeder Achsposition zu jeder Interpolationsspanne, so dass sich der Werkzeugmittelpunkt entlang des angewiesenen Bewegungswegs mit der angewiesenen Geschwindigkeit auf der Grundlage der relativen Bewegungsgeschwindigkeitsanweisung, der Bewegungsweganweisung und der Werkzeugrichtungsanweisung bewegt, die durch die Werkzeugrichtungsanweisungskorrektureinheit korrigiert ist, und die Einheit zum Treiben jedes Achsmotors zu jeder Achsposition, die durch die Interpolationseinheit erlangt ist, im Stand der Technik bekannt sind, wird deren Beschreibung nicht vorgesehen werden.
-
(Zweites Ausführungsbeispiel): Werkzeugseitige Oberflächenbearbeitung
-
In dem ersten Ausführungsbeispiel ist ein Beispiel gezeigt, in dem die Werkzeugrichtungskorrekturtoleranz bei den I-, J- und K-Richtungen angewendet wird. Hier ist ein Beispiel eines Verfahrens gezeigt, in dem die Werkzeugrichtungskorrekturtoleranz in der Werkzeugbewegungsrichtung und der Bearbeitungsoberflächennormalenrichtung in der werkzeugseitigen Oberflächenbearbeitung angewendet wird. Das Programm oder das Schätzverfahren ist das gleiche wie jene des ersten Ausführungsbeispiels.
-
Die Bewegungsanweisungen in der X-, Y- und Z-Achse des n-ten Blocks vor der Korrektur werden zu Pn (Pxn, Pyn und Pzn) gesetzt, und die Werkzeugrichtungsvektoren vor der Korrektur werden zu Pdn (Pin, Pjn und Pkn) gesetzt. Die Programmanweisung wird auf den gleichen Wert wie jenen des ersten Ausführungsbeispiels gesetzt, und Pdn wird als der Einheitsvektor gesetzt.
-
Der Einheitsvektor Un in der Werkzeugbewegungsrichtung des n-ten Blocks wird durch die Gleichung (15) ausgedrückt.
-
Hierbei sind Un und Pdn linear unabhängig voneinander.
-
In dem Fall der werkzeugseitigen Oberflächenbearbeitung wird der Einheitsvektor Vn der Bearbeitungsoberflächennormalenrichtung durch die Gleichung (16) ausgedrückt.
-
Des Weiteren wird der Einheitsvektor Wn, der lotrecht auf U und V steht, durch die Gleichung (17) ausgedrückt.
-
Wie in 7 gezeigt, sind Un, Vn und Wn Einheitsvektoren, die lotrecht aufeinander stehen. In dem Koordinatensystem, das durch Un, Vn und Wn definiert ist, stimmt die Achse Un mit der Werkzeugbewegungsrichtung überein und stimmt die Achse Vn mit der Bearbeitungsoberflächennormalenrichtung überein.
-
Die Umwandlung aus dem Koordinatensystem von X, Y und Z in das Koordinatensystem von Un, Vn und Wn wird durch die Gleichung (18) ausgedrückt, wenn die Koordinatenwerte des Koordinatensystems X, Y und Z als (x, y, z) gesetzt werden und die Koordinatenwerte des Koordinatensystems von Un, Vn und Wn als (u, v, w) gesetzt werden.
-
Die Koordinatenumwandlung von jedem Qan wird durch die Gleichung (19) vor der Berücksichtigung der Werkzeugrichtungskorrekturtoleranz von jedem Punkt des ersten Ausführungsbeispiels durchgeführt, die in der Gleichung (6), der Gleichung (9) und der Gleichung (12) gezeigt ist.
-
Wird Qαn', das der Koordinatenumwandlung unterzogen wird, in Anbetracht der Werkzeugrichtungskorrekturtoleranz wie in dem ersten Ausführungsbeispiel normalisiert anstelle von Qan der Gleichung (6), der Gleichung (9) und der Gleichung (12), dann werden die korrigierten Werkzeugrichtungsvektoren (Rin', Rjn' und Rkn') statt der (Rin, Rjn und Rkn) erlangt.
-
Als die Werkzeugrichtungskorrekturtoleranz, die für die Korrektur hier verwendet wird, werden die Werkzeugrichtungskorrekturtoleranz Ti' in der positiven Richtung der Achse Un und die Werkzeugrichtungskorrekturtoleranz Si' in der negativen Richtung der Achse Un anstelle von Ti und Si verwendet. Außerdem werden die Werkzeugrichtungskorrekturtoleranz Tj' in der positiven Richtung der Achse Vn und die Werkzeugrichtungskorrekturtoleranz Sj' in der negativen Richtung der Achse Un anstelle von Tj und Sj verwendet. Ti' und Si' geben die Werkzeugbewegungsrichtungstoleranzen an, und Tj' und Sj' geben die Bearbeitungsoberflächennormalenrichtungstoleranzen an. Die Werkzeugrichtungskorrekturtoleranz in der Wn-Richtung kann berücksichtigt werden, aber in dem Ausführungsbeispiel wird die Werkzeugrichtungskorrekturtoleranz in der Wn-Richtung nicht berücksichtigt.
-
Wenn (Rin', Rjn' und Rkn') umgekehrt durch die Gleichung (20) umgewandelt werden, dann werden die korrigierten Werkzeugrichtungsvektoren (Rin, Rjn und Rkn) in Anbetracht der Werkzeugrichtungskorrekturtoleranzen in der Un- und Vn-Richtung erlangt.
-
Zum Beispiel werden in einem Fall, in dem die werkzeugseitige Oberflächenbearbeitung durchgeführt wird, wenn die Werkzeugbewegungsrichtungstoleranzen (Ti' und Si') auf große Werte gesetzt werden und die Bearbeitungsoberflächennormalenrichtungstoleranzen (Tj' und Sj') auf kleine Werte gesetzt werden, wie in 8 gezeigt, dann kann der Werkzeugrichtungsvektor korrigiert werden, während die Bearbeitungsform beibehalten wird. Das heißt, der Werkzeugrichtungsvektor kann ohne große Kerbenbildung oder deutliches Entfernen der Bearbeitungsform korrigiert werden.
-
Des Weiteren kann die Werkzeugrichtungskorrekturtoleranz separat in der positiven Richtung (Ti, Tj und Tk) und der negativen Richtung (Si, Sj und Sk) in der I-, J- und K-Richtung gesetzt werden. Besteht ein hohes Risiko, dass eine Störung hinsichtlich der Maschine als ein Ergebnis der Korrektur des Werkzeugrichtungsvektors auftritt, dann kann aus diesem Grund zum Beispiel der Werkzeugrichtungsvektor korrigiert werden, während die Störung hinsichtlich der Maschine verhindert wird, indem die Werkzeugrichtungskorrekturtoleranz in der Störungsrichtung auf einen kleinen Wert gesetzt wird.
-
Hierbei wurde ein Verfahren beschrieben, in dem die Werkzeugrichtungskorrekturtoleranz in der Werkzeugbewegungsrichtung und der Bearbeitungsoberflächennormalenrichtung angewendet wird. Die Werkzeugrichtungskorrekturtoleranz kann jedoch bei einer beliebigen Richtung angewendet werden, indem die Koordinatenumwandlungsmatrix Mn derart erstellt wird, dass die Achsen Un, Vn und Wn zu den Richtungen werden, in denen die Werkzeugrichtungskorrekturtoleranz berücksichtigt wird.
-
(Drittes Ausführungsbeispiel)
-
Ein Programmanweisungsbeispiel gemäß 9 wird nachstehend beschrieben werden. Das Schätzverfahren oder dergleichen ist das Gleiche wie jenes des ersten Ausführungsbeispiels. Hierbei wird die Werkzeugrichtung als die Bewegung der Drehachsen B und C angewiesen. Die Maschinenkonfiguration wird wie in 10 gezeigt gesetzt (n=1 bis 10), wird Pcn auf 0° bis 360° gesetzt, und wird Pdn auf 0° bis 90° gesetzt.
-
Die Positionsanweisungen (Pbn und Pcn) der B- und C-Achse eines jeden Blocks werden in Werkzeugrichtungsvektoren (Pin, Pjn und Pkn) umgewandelt, indem die Gleichung (21) gelöst wird, und es werden die Werkzeugrichtungsvektoren korrigiert, während die Blöcke wie in dem ersten Ausführungsbeispiel sequenziell geschätzt werden, wodurch die korrigierten Werkzeugrichtungsvektoren (Rin, Rjn und Rkn) erlangt werden.
-
Im Ergebnis werden die Werkzeugrichtungsvektoren derart korrigiert, dass der Änderungsbetrag (Rin, Rjn und Rkn) eines jeden Blocks im Wesentlichen proportional zu dem entsprechenden linearen Achsbewegungsbetrag vorliegt. Die korrigierten Werkzeugrichtungsvektoren (Rin, Rjn und Rkn) werden umgekehrt in die Positionsanweisungen (Rbn und Rcn) der B- und C-Achse umgewandelt, indem die Gleichung (22) gelöst wird.
-
Dann sei angenommen, dass Rb1 bis Rb10 und Rc1 bis Rc10 zu Pb1 bis Pb10 und Pc2 zu Pc10 in dem Programmanweisungsbeispiel angewiesen werden, das in 9 gezeigt ist.
-
Des Weiteren wurde eine Maschine vom Werkzeugkopfdrehtyp beschrieben, die in 10 gezeigt ist. Es kann aber die fünfachsige Bearbeitungsmaschine als eine fünfachsige Bearbeitungsmaschine vom Tischdrehtyp konfiguriert werden, die den Tisch um zwei Drehachsen dreht, wie in 11 gezeigt ist, oder als eine fünfachsige Bearbeitungsmaschine vom Kombinationstyp, die einen Werkzeugkopf um eine Drehachse dreht und die einen Tisch um die andere Drehachse dreht, wie in 12 gezeigt. Selbst in einer derartigen fünfachsigen Bearbeitungsmaschine kann das gleiche Verfahren wie jenes des ersten Ausführungsbeispiels, des zweiten Ausführungsbeispiels und des dritten Ausführungsbeispiels angewendet werden.
-
(Funktionsblockdarstellung)
-
13 zeigt eine Funktionsblockdarstellung. In einer numerischen Steuervorrichtung 100, die eine fünfachsige Bearbeitungsmaschine steuert, analysiert eine Anweisungsleseeinheit 1 ein Bearbeitungsprogramm und wandelt das Bearbeitungsprogramm in ein Ausführungsformat um. Eine Interpolationseinheit 2 führt einen Interpolationsprozess auf der Grundlage des Ausführungsformats durch, gibt eine Bewegungsanweisung zu jeder Achse aus und steuert den Antriebszustand des Achsenservo, das heißt eines X-Achsenservo 3X, eines Y-Achsenservo 3Y, eines Z-Achsenservo 3Z, eines B(A)-Achsenservo 3B(A) und eines C-Achsenservo 3C auf der Grundlage der Bewegungsanweisungen der Achsen.
-
Die numerische Steuervorrichtung 100 umfasst eine Werkzeugrichtungsanweisungskorrektureinheit 4, die in der Anweisungsleseeinheit 1 umfasst ist, und korrigiert den Werkzeugrichtungsvektor derart, dass die Werkzeugrichtung des Bearbeitungsprogramms sich glatt ändert. Die Werkzeugrichtungsanweisungskorrektureinheit 4 bezieht sich auf eine Werkzeugrichtungskorrekturtoleranz 5, die vorab durch eine Werkzeugrichtungskorrekturtoleranzsetzeinheit 6 gesetzt ist.
-
(Ablaufdiagramm)
-
14 zeigt einen Prozess der Werkzeugrichtungsanweisungskorrektureinheit 4, nachdem Gaa des ersten Ausführungsbeispiels eingelesen ist, auf der Grundlage eines Ablaufdiagramms. Es sei angenommen, dass zumindest fünf Blöcke zwischen Gaa und Gbb angewiesen sind. Nachstehend wird dieser Prozess gemäß den Schritten beschrieben werden.
-
[Schritt sa01] n wird auf 1 gesetzt.
-
[Schritt sa02] Es wird bestimmt, ob n 1 ist. Die Routine geht zu Schritt sa03 über, wenn n gleich 1 ist und die Routine geht zu Schritt sa05 über, wenn n nicht 1 ist.
-
[Schritt sa03] Der erste Block wird gelesen.
-
[Schritt sa04] Die Werkzeugrichtungsanweisung wird durch die Gleichung (4) korrigiert, und die Routine geht zu Schritt sa15 über.
-
[Schritt sa05] Es wird bestimmt, ob n 2 ist. Die Routine geht zu Schritt sa06 über, wenn n 2 ist und die Routine geht zu Schritt sa08 über, wenn n nicht 2 ist.
-
[Schritt sa06] Der zweite Block wird gelesen.
-
[Schritt sa07] Die Werkzeugrichtungsanweisung wird durch die Gleichung (5), die Gleichung (6) und die Gleichung (7) korrigiert, und die Routine geht zu Schritt sa15 über.
-
[Schritt sa08] Es wird bestimmt, ob der zuvor gelesene Block Gbb ist. Die Routine geht zu Schritt sa16 über, wenn der Block Gbb ist, und die Routine geht zu Schritt sa09 über, wenn der Block nicht Gbb ist.
-
[Schritt sa09] Es wird bestimmt, ob n 3 ist. Die Routine geht zu Schritt sa10 über, wenn n 3 ist und die Routine geht zu Schritt sa11 über, wenn n nicht 3 ist.
-
[Schritt sa10] Der zweite Block wird eingelesen und die Routine geht zu Schritt sa12 über.
-
[Schritt sa11] Der erste Block wird eingelesen, und die Routine geht zu Schritt sa12 über.
-
[Schritt sa12] Es wird bestimmt, ob der gelesene Block Gbb ist. Die Routine geht zu Schritt sa13 über, wenn der Block Gbb ist, und die Routine geht zu Schritt sa14 über, wenn der Block nicht Gbb ist.
-
[Schritt sa13] Die Werkzeugrichtungsanweisung wird durch die Gleichung (11), die Gleichung (12) und die Gleichung (13) korrigiert, und die Routine geht zu Schritt sa15 über.
-
[Schritt sa14] Die Werkzeugrichtungsanweisung wird durch die Gleichung (8), die Gleichung (9) und die Gleichung (10) korrigiert, und die Routine geht zu Schritt sa15 über.
-
[Schritt sa15] n wird zu n+1 aktualisiert, und die Routine kehrt zur Schritt sa02 zurück.
-
[Schritt sa16] Die Werkzeugrichtungsanweisung wird durch die Gleichung (14) korrigiert, und der Prozess endet.
-
15 ist eine Blockdarstellung, die einen Hauptabschnitt der Steuervorrichtung zeigt.
-
Eine CPU 11 ist ein Prozessor, der in der Gesamtheit die numerische Steuervorrichtung 100 steuert. Die CPU 11 liest ein Systemprogramm, das in einem ROM 12 gespeichert ist, über einen Bus 20, und steuert die gesamte numerische Steuervorrichtung gemäß dem Systemprogramm. Ein RAM 13 speichert eine temporäre Berechnungsdateneinheit oder eine Anzeigedateneinheit und speichert verschiedene Dateneinheiten, die von einem Bediener über eine Anzeige-/MDI-Einheit 70 eingegeben sind.
-
Ein SRAM-Speicher 14 ist als ein nichtflüchtiger Speicher konfiguriert, der durch eine (nicht gezeigte) Batterie gestützt wird und in einem Speicherzustand beibehalten wird, selbst wenn die numerische Steuervorrichtung 100 abgeschaltet wird. Der SRAM-Speicher 14 speichert ein Bearbeitungsprogramm, das über eine Schnittstelle 15 gelesen ist, oder ein Bearbeitungsprogramm, das über die Anzeige-/MDI-Einheit 70 eingegeben ist. Des Weiteren speichert der ROM 12 zuvor verschiedene Systemprogramme zur Ausführung eines Prozesses für einen automatischen Betrieb oder eines Prozesses für einen Editiermodus, der zum Erstellen und Editieren des Bearbeitungsprogramms erforderlich ist.
-
Ein Bearbeitungsprogramm, das eine Vektorsequenzdateneinheit und eine Anweisungspunktsequenzdateneinheit umfasst, die unter Verwendung einer CAD-/CAM-Vorrichtung oder einer Simulationsvorrichtung erstellt ist, werden über die Schnittstelle 15 eingegeben und in dem SRAM-Speicher 14 gespeichert. Ein Bearbeitungsprogramm, das einen Werkzeugrichtungsanweisungskorrekturmodus aufweist, wird ebenso in dem SRAM-Speicher 14 gespeichert.
-
Des Weiteren kann das Bearbeitungsprogramm, das innerhalb der numerischen Steuervorrichtung 100 editiert wurde, in einer externen Speichervorrichtung über die Schnittstelle 15 gespeichert werden. Eine programmierbare Maschinensteuereinrichtung (PMC, Programmable Maschine Controller) 16 gibt ein Signal zu einer Arbeitsmaschinenunterstützungsvorrichtung aus, wie einem Stellglied, das zum Beispiel eine Werkzeugwechselroboterhand durch das Sequenzprogramm umfasst, das in der numerischen Steuervorrichtung 100 gespeichert ist, über die E-/A-Einheit 17, um die Arbeitsmaschinenunterstützungsvorrichtung zu steuern. Die PMC 16 empfängt Signale von verschiedenen Schaltern eines Bedienpaneels, das in einem Hauptkörper einer Arbeitsmaschine angelegt ist, führt einen notwendigen Signalprozess durch und sendet das Ergebnis zu der CPU 11.
-
Die Anzeige-/MDI-Einheit 70 ist eine manuelle Dateneingabevorrichtung, die eine Anzeige oder eine Tastatur umfasst, und es empfängt die Schnittstelle 15 eine Anweisung und eine Dateneinheit von der Tastatur der Anzeige-/MDI-Einheit 70 und sendet diese zu der CPU 11. Eine Schnittstelle 19 ist mit einem Bedienpaneel 71 verbunden, das eine manuelle Impulserzeugungseinrichtung und dergleichen umfasst.
-
Achsensteuerschaltungen 30 bis 34 der Achsen empfangen den Bewegungsanweisungsbetrag der Achsen von der CPU 11 und geben die Anweisungen für die Achsen zu Servoverstärkern 40 bis 44 aus. Die Servoverstärker 40 bis 44 empfangen die Anweisungen und treiben die Servomotoren 50 bis 54 der Achsen. Die Servomotoren 50 bis 54 der Achsen umfassen Positions-/Geschwindigkeitssteuererfassungseinrichtungen und führen Positions-/Geschwindigkeitsrückführsignale von den Positions-/Geschwindigkeitserfassungseinrichtungen zu den Achsensteuerschaltungen 30 bis 34 rück, wodurch eine Positions-/Geschwindigkeitsregelung durchgeführt wird.
-
Die Servomotoren 50 bis 54 werden verwendet, um die X-, Y-, Z-, B(A)- und C(A)-Achse der fünfachsigen Bearbeitungsmaschine zu treiben. Des Weiteren empfängt eine Spindelsteuerschaltung 60 eine Hauptachsendrehanweisung und gibt ein Spindelgeschwindigkeitssignal zu einem Spindelverstärker 61 aus. Der Spindelverstärker 61 empfängt ein Spindelgeschwindigkeitssignal und dreht einen Hauptachsenmotor 62 mit einer angewiesenen Drehgeschwindigkeit. Ein Positionsmessgeber 63 führt einen Rückgabeimpuls zu der Spindelsteuerschaltung 60 zurück, während er mit der Drehung des Hauptachsenmotors 62 synchronisiert ist, um eine Geschwindigkeitssteuerung durchzuführen.