-
Hintergrund der Erfindung
-
1. Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft ein numerisches Steuergerät, das eine 5-Achsen-Werkzeugmaschine mit drei linearen Achsen und zwei Rotationsachsen steuert. Die vorliegende Erfindung betrifft insbesondere ein numerisches Steuergerät, das die Steuerung so ausführt, dass die Position eines Werkzeugmittelpunktes fehlerfrei in eine Position bewegt wird, während außerdem die Ausrichtung (Richtung) des Werkzeugs fehlerfrei zu einer Ausrichtung (Richtung) kompensiert wird, indem Kompensationsbeträge entsprechend den Fehlern wie linearachsenabhängige Translationsfehler oder linearachsenabhängige Rotationsfehler in Abhängigkeit von einer Position der linearen Achse oder rotationsachsenabhängige Translationsfehler in Abhängigkeit von einer Position der Rotationsachse eingestellt werden, um dadurch eine hochpräzise spanende Bearbeitung auszuführen.
-
2. Beschreibung der verwandten Technik
-
Die
JP 2009-151 756 A bzw.
US 2009/0 140 684 A1 offenbart als nächstliegender Stand der Technik ein numerisches Steuergerät nach Anspruch 1, ohne die Merkmale: dass die Kompensationsbetrag-Addiereinheit die Translations-Kompensationsbeträge zur Sollposition der linearen Achsen und die Rotations-Kompensationsbeträge zur Sollposition der Rotationsachsen addiert, und eine Einheit die drei linearen Achsen und die zwei Rotationsachsen so antreibt, dass sie Positionen einnehmen, die von der Kompensationsbetrag-Addiereinheit ermittelt wurden, wobei, um den Rotationsfehler des Werkzeuglängen-Kompensationsvektors zu kompensieren, die Rotations-Kompensationsbeträge unter Zuhilfenahme eines Vergleichsausdrucks ermittelt werden, der den Werkzeuglängen-Kompensationsvektor mit dem Produkt aus einem Rotationsfehlerwerkzeuglängenkompensationsvektor und einer Transformationsmatrix, die die Rotations-Kompensationsbeträge aufweist, gleichsetzt.
-
Bei der in der oben genannten
JP 2009-151 756 A offenbarten Technik erfolgt nur eine Kompensation der Position der linearen Achse. Das bedeutet, dass sich zwar ein Werkzeugmittelpunktposition fehlerfrei in eine Position bewegt, aber die Ausrichtung (Richtung) des Werkzeugs immer noch fehlerbehaftet ist.
-
Die
DE 100 46 092 A1 und
DE 101 55 430 A1 weisen neben einer Lagekompensation auch eine Orientierungskompensation auf. Ferner lehrt die
US 2009/0 157 218 A1 , dass ein Werkzeuglängenvektor neu orientiert wird.
-
Eine solche Kompensation nach der herkömmlichen Technik verursacht keinerlei Probleme, wenn die spanende Bearbeitung bezüglich eines Werkzeugmittelpunktes ausgeführt wird. Wenn die spanende Bearbeitung jedoch bezüglich einer Stirnfläche des Werkzeugs oder in der Richtung eines Werkzeugs ausgeführt wird, wie etwa beim Bohren, ist die Ausrichtung (Richtung) des Werkzeugs von Bedeutung, und nur die Kompensation, den Werkzeugmittelpunkt fehlerfrei in eine Position zu bewegen, ist nicht ausreichend. Somit kann eine hochpräzise spanende Bearbeitung nach der herkömmlichen Technik nicht ausgeführt werden, wenn ein Fehler auftritt, der durch das mechanische System bei der Bearbeitung mit einer Stirnfläche eines Werkzeugs oder beim Bohren mit einer 5-Achsen-Werkzeugmaschine erzeugt wird.
-
Die Hauptfehler, die bei einer 5-Achsen-Werkzeugmaschine auftreten, bei der ein Werkstück spanend bearbeitet wird, sind die folgenden vier Fehler: (1) ein linearachsenabhängiger Translationsfehler, der von der Position einer linearen Achse abhängt, (2) ein rotationsachsenabhängiger Translationsfehler, der von der Position einer Rotationsachse abhängt; (3) ein linearachsenabhängiger Rotationsfehler, der von der Position einer linearen Achse abhängt, und (4) ein rotationsachsenabhängiger Rotationsfehler, der von der Position einer Rotationsachse abhängt.
-
Zusammenfassung der Erfindung
-
Die vorliegende Erfindung legt deshalb Kompensationsbeträge entsprechend den oben genannten vier Fehlern fest, um einen Translations-Kompensationsbetrag auf Basis der Kompensationsbeträge zu erhalten, und addiert den erhaltenen Translations-Kompensationsbetrag zu einer Sollposition der linearen Achse, und um einen Rotations-Kompensationsbetrag zu erhalten, und addiert den erhaltenen Rotations-Kompensationsbetrag zu einer Sollposition der Rotationsachse. Es ist deshalb die Aufgabe der vorliegenden Erfindung ein numerisches Steuergerät zum Steuern einer 5-Achsen-Werkzeugmaschine bereitzustellen, das eine Werkzeug-Mittelpunktposition fehlerfrei in eine Position bewegt, während außerdem die Werkzeugausrichtung (Richtung) fehlerfrei zu einer Richtung kompensiert wird, um eine hochpräzise spanende Bearbeitung zu verwirklichen. Mit anderen Worten, es ist die Aufgabe der vorliegenden Erfindung, ein numerisches Steuergerät bereitzustellen, das die spanende Bearbeitung mit einer befehlsgemäßen Werkzeugausrichtung (Richtung) selbst bei Bearbeitung mit einer Stirnfläche eines Werkzeugs oder beim Bohren mit einer 5-Achsen-Werkzeugmaschine ausführen kann.
-
Die vorliegende Erfindung betrifft ein numerisches Steuergerät nach Anspruch 1. Vorteilhafte Weiterbildungen sind in den abhängigen Ansprüchen erläutert.
-
Die Sollposition der linearen Achse und die Sollposition der Rotationsachse können Positionen der drei linearen Achsen und der zwei Rotationsachsen sein, die auf Basis eines Programmbefehls interpoliert werden.
-
Die Sollposition der linearen Achse und die Sollposition der Rotationsachse können Positionen der drei linearen Achsen und der zwei Rotationsachsen aufgrund eines Programmbefehls sein.
-
Gemäß der vorliegenden Erfindung werden Kompensationsbeträge entsprechend den jeweiligen Fehlern festgelegt, wodurch ein Translations-Kompensationsbetrag aus den Kompensationsbeträgen erhalten wird. Der erhaltene Translations-Kompensationsbetrag wird zu einer Sollposition der linearen Achse addiert und ein Rotations-Kompensationsbetrag wird ebenalls als Kompensationsbeträge für die Rotationsachsen erhalten. Die erhaltenen Rotations-Kompensationsbeträge werden zu einer Sollposition der Rotationsachse addiert. Demnach ist eine hochpräzise spanende Bearbeitung durch fehlerfreies Bewegen einer Werkzeug-Mittelpunktposition in eine Position möglich, während außerdem die Werkzeugausrichtung in eine fehlerfreien Ausrichtung kompensiert wird.
-
Kurzbeschreibung der Zeichnungen
-
Die genannte Aufgabe und die Merkmale der vorliegenden Erfindung erschließen sich aus der folgenden Beschreibung von Ausführungsformen unter Bezugnahme auf die beiliegenden Zeichnungen; es zeigen:
-
1 ein Diagramm eines Beispiels einer 5-Achsen-Werkzeugmaschine des Typs mit drehbarem Werkzeugkopf, die einen drehbaren Werkzeugkopf aufweist und von einem numerischen Steuergerät gemäß der vorliegenden Erfindung gesteuert wird, wobei eine B-Achse und eine C-Achse Rotationsachsen sind, aber auch andere Kombinationen wie eine A-Achse und die C-Achse oder die A-Achse und die B-Achse möglich sind;
-
2 ein Diagramm zur Verdeutlichung von Rotations- und Translationsfehlern und deren Kompensation bei der 5-Achsen-Werkzeugmaschine des Typs mit drehbarem Werkzeugkopf von 1;
-
3 ein Diagramm mit dem erläutert wird, dass bei Annahme, es liege kein Rotationsfehler aufgrund eines Rotationselements Mr einer Transformationsmatrix vor, der Rotationsmittelpunkt einer B-Achse in einer Richtung (Nb0) liegt, die durch Drehen einer Y-Achsenrichtung um C erhalten wird, bei der es sich im den Rotationsmittelpunkt der B-Achse handelt, wenn C = 0 erfüllt wird, und der Rotationsmittelpunkt einer C-Achse Nc0 ist, wobei es sich um die Z-Achsenrichtung handelt;
-
4 ein Diagramm eines dreidimensionalen Koordinatensystems, das in Gitterzonen geteilt ist;
-
5 ein Diagramm einer Gitterzone, die eine Sollposition Pl(X, Y, Z) der linearen Achse enthält, für die ein Kompensationsvektor zu berechnen ist;
-
6 ein Diagramm eines zweidimensionalen Koordinatensystems, das in Gitterzonen geteilt ist;
-
7 ein Diagramm einer Gitterzone, die eine Sollposition Pr(B, C) der Rotationsachse enthält, für die ein Kompensationsvektor zu berechnen ist;
-
8 ein Diagramm eines eindimensionalen Koordinatensystems der B-Achse, das in vorgegebenen Abständen geteilt ist;
-
9 ein Diagramm einer geteilten Zone, die eine Sollposition B der B-Achse enthält, für die ein Kompensationsvektor zu berechnen ist;
-
10 ein Diagramm, das zeigt, dass ein C-achsenabhängiger Translations-Kompensationsbetrag und ein C-achsenabhängiger Rotations-Kompensationsbetrag in einem gegebenen Punkt eines C-Achsen-Koordinatensystems auf Basis einer C-achsenabhängigen Kompensationstabelle berechnet werden;
-
11 ein Blockdiagramm eines Hauptteils einer ersten Ausführungsform des numerischen Steuergeräts, das eine 5-Achsen-Werkzeugmaschine steuert, gemäß der vorliegenden Erfindung;
-
12 ein Blockdiagramm eines Hauptteils einer zweiten Ausführungsform des numerischen Steuergeräts, das eine 5-Achsen-Werkzeugmaschine steuert, gemäß der vorliegenden Erfindung;
-
13 ein Blockdiagramm eines Hauptteils einer dritten Ausführungsform des numerischen Steuergeräts, das eine 5-Achsen-Werkzeugmaschine steuert, gemäß der vorliegenden Erfindung; und
-
14 ein Flussdiagramm eines Kompensationsalgorithmus, der in der ersten Ausführungsform des numerischen Steuergeräts der vorliegenden Erfindung implementiert ist.
-
Detaillierte Beschreibung der bevorzugten Ausführungsformen
-
Nachstehend werden Ausführungsformen eines numerischen Steuergeräts, das eine 5-Achsen-Werkzeugmaschine gemäß der vorliegenden Erfindung steuert, anhand der Zeichnungen beschrieben. 5-Achsen-Werkzeugmaschinen werden allgemein in drei Typen eingeteilt, bei denen es sich um einen ”Typ mit rotierendem Werkzeugkopf”, einen ”Typ mit rotierendem Tisch” und einen ”kombinierten Typ (bei dem sowohl der Werkzeugkopf als auch der Tisch drehbar sind)” handelt. Da jedoch Rotationsachsen nicht immer so gesteuert werden können, dass ein eventueller Fehler einer Werkzeugausrichtung (Richtung) relativ zu einem Werkstück bei einer 5-Achsen-Werkzeugmaschine des ”Typs mit rotierendem Tisch” oder des ”kombinierten Typs” kompensiert wird, ist die Erfindung gemäß der vorliegenden Anmeldung insbesondere für eine 5-Achsen-Werkzeugmaschine des ”Typs mit rotierendem Werkzeugkopf” vorgesehen.
-
1 zeigt ein Beispiel einer 5-Achsen-Werkzeugmaschine, die von einem numerischen Steuergerät gemäß der vorliegenden Erfindung gesteuert wird. Die in 1 dargestellte 5-Achsen-Werkzeugmaschine ist ein Typ mit rotierendem Werkzeugkopf, bei der ein Werkzeugkopf 11 drehbar ist. Die Rotationsachsen sind hier die B-Achse und die C-Achse. Es können aber auch die A-Achse und die C-Achse oder die A-Achse und die B-Achse sein.
-
Als Nächstes werden Rotationsfehler und Translationsfehler sowie deren Kompensation bei einer 5-Achsen-Werkzeugmaschine des Typs mit rotierendem Werkzeugkopf anhand von 2 beschrieben.
-
2, die ein Werkzeugkopf-Koordinatensystem in einer (Xt, Yt, Zt)-Koordinate mit dem Rotationsmittelpunkt eines Werkzeugkopfes als Ursprung darstellt, zeigt, dass das Werkzeugkopf-Koordinatensystem aufgrund eines linearachsenabhängigen Translationsfehlers und eines linearachsenabhangigen Rotationsfehlers zu einer (Xt', Yt', Zt')-Koordinate verschoben ist, und ferner, dass das Werkzeugkopf-Koordinatensystem aufgrund eines rotationsachsenabhängigen Translationsfehlers und eines rotationsachsenabhängigen Rotationsfehlers zu einer (Xt'', Vt'', Zt'')-Koordinate verschoben ist.
-
In 2 repräsentieren –ΔIn, –ΔJn und –ΔKn (n = L, R) Rotationsfehler um die X-Achse, die Y-Achse bzw. die Z-Achse, zwischen den Koordinatensystemen. –ΔXn, –ΔYn und –ΔZn (n = L, R) repräsentieren Translationsfehler in der X-Achsenrichtung, der Y-Achsenrichtung bzw. der Z-Achsenrichtung zwischen den Koordinatensystemen. Die Fehlerbeträge sind sehr klein und deshalb in 2 vergrößert dargestellt, um sie deutlicher zu machen.
-
Die linearachsenabhängigen Translations-Kompensationsbeträge und die linearachsenabhängigen Rotations-Kompensationsbeträge auf Basis einer Sollposition Pl(X, Y, Z) (in den Figuren auch „Befehlsposition” genannt) der linearen Achse werden durch (ΔXL, ΔYL, ΔZL) bzw. (ΔIL, ΔJL, ΔKL) repräsentiert und die rotationsachsenabhängigen Translations-Kompensationsbeträge sowie die rotationsachsenabhängingen Rotations-Kompensationsbeträge auf Basis einer Sollposition Pr(B, C) der Rotationsachse werden durch (ΔXR, ΔYR, ΔZR) bzw. (ΔIR, ΔJR, ΔKR) repräsentiert. Diese werden als achsenabhängige Translations-Kompensationsbeträge und achsenabhängige Rotations-Kompensationsbeträge bezeichnet. Da die Fehler und Kompensationsbeträge bezüglich eines rotierenden Werkzeugkopfes mit positiven und negativen Vorzeichen entgegengesetzt sind, werden die Fehler durch ein ”negatives Vorzeichen” an ihren Kompensationsbeträgen in den Zeichnungen und der Beschreibung dargestellt.
-
Ein Vektor –T'(–Tx', –Ty', –Tz')T, der invers zu einem tatsächlichen Werkzeuglängen-Kompensationsvektor T'(Tx', Ty', Tz')T ist, kann durch Multiplizieren eines Vektors –T(–Tx, –Ty, –Tz)T, der invers zu einen Werkzeuglängen-Kompensationsvektor T(Tx, Ty, Tz)T ist, mit Transformationsmatrizen entsprechend den Fehlern wie im folgenden Ausdruck (1) erhalten werden. ”T” im Rahmen dieser Beschreibung bedeutetet Transposition. ”T ” wird jedoch nicht besonders beschrieben, wenn die Transposition offensichtlich ist.
-
Die Matrizen im Ausdruck (1) sind Translations- und Rotationstransformationsmatrizen und (ΔIL, ΔJL, ΔKL) und (ΔIR, ΔJR, ΔKR) sind Radianeinheiten. Außerdem wird bei Annahme, dass die Werte der Rotationsfehler (–ΔIL, –ΔJL, –ΔKL) und (–ΔIR, -ΔJR, –ΔKR) hinreichend klein sind, davon ausgegangen, dass die jeweiligen Elemente der Matrizen im Ausdruck (1) die Gleichungen sin(–ΔIn) = –Mn, sin(–Mn) = –Mn, sin(–ΔKn) = –ΔKn, cos(–ΔIn) = 1, cos(–ΔJn) = 1, cos(–ΔKn) = 1 (n = L, R) erfüllen, so dass der Ausdruck eine Näherung ist, in der Fehlerterme zweiter oder höherer Ordnung bei der Expansion zu Potenzreihen der trigonometrischen Funktionen vernachlässigt werden. Alternativ können trigonometrische Funktionen natürlich in den Transformationsmatrizen ohne Näherung verwendet werden.
-
-
Alternativ kann anstelle des Ausdrucks (1) auch der folgende Ausdruck (2) erhalten werden, indem Fehlerterme zweiter Ordnung in den Ergebnissen der Multiplikation der Transformationsmatrizen vernachlässigt werden.
-
-
Es ist ein Fall denkbar, bei dem rotationsachsenabhängige Translations-Kompensationsbeträge (ΔXR, ΔYR, ΔZR) und rotationsachsenabhängige Rotations-Kompensationsbeträge (ΔIR, ΔJR, ΔKR) auf Basis einer Sollposition Pr der Rotationsachse signifikanter sind als linearachsenabhängige Translations-Kompensationsbeträge (ΔXL, ΔYL, ΔZL) und linearachsenabhängige Rotations-Kompensationsbeträge (ΔIL, ΔJL, ΔKL) auf Basis einer Sollposition Pl der linearen Achse und die linearachsenabhängigen Translations-Kompensationsbeträge (ΔXL, ΔYL, ΔZL) sowie die linearachsenabhängigen Rotations-Kompensationsbeträge (ΔIL, ΔJL, ΔKL) auf Basis einer Sollposition Pl der linearen Achse vernachlässigt werden können. In einem solchen Fall wird die Matrix, die (ΔXL, ΔYL, ΔZL) und (ΔIL, ΔJL, ΔKL) als Elemente enthält, aus den zwei Transformationsmatrizen auf der rechten Seite des Ausdrucks (1) anstelle des oben beschriebenen Ausdrucks (1) wie folgt gelöscht. Als Ergebnis wird der folgende Ausdruck (3) erhalten.
-
-
Andererseits ist ein Fall möglich, in dem die linearachsenabhängigen Translations-Kompensationsbeträge (ΔXL, ΔYL, ΔZL) und die linearachsenabhängigen Rotations-Kompensationsbeträge (ΔIL, ΔJL, ΔKL) auf Basis einer Sollposition Pl der linearen Achse signifikanter sind als die rotationsachsenabhängigen Translations-Kompensationsbeträge (ΔXR, ΔYR, ΔZR) und die rotationsachsenabhängigen Rotations-Kompensationsbeträge (ΔIR, ΔJR, ΔKR) auf Basis einer Sollposition Pr der Rotationsachse und die rotationsachsenabhängigen Translations-Kompensationsbeträge (ΔXR, ΔYR, ΔZR) sowie die rotationsachsenabhängigen Rotations-Kompensationsbeträge (ΔIR, ΔJR, ΔKR) auf Basis einer Sollposition Pr der Rotationsachse vernachlässigt werden können. In einem solchen Fall wird die Matrix, die (ΔXR, ΔYR, ΔZR) und (ΔIR, ΔJR, ΔKR) als Elemente enthält, aus den zwei Transformationsmatrizen auf der rechten Seite des Ausdrucks (1) anstelle des Ausdrucks (1) gelöscht. Als Ergebnis wird der folgende Ausdruck (4) erhalten.
-
-
Wenn die Multiplikation der zwei Transformationsmatrizen im Ausdruck (1) ausgeführt wird, ohne die Fehlerterme zweiter Ordnung wie in Ausdruck (2) zu vernachlässigen, wird der folgende Ausdruck (5) erhalten.
-
-
Die Rotationselemente und die Translationselemente in den obigen Ausdrücken (5), (2), (3) und (4) werden getrennt und kollektiv im folgenden Ausdruck (6) ausgedrückt. Mr repräsentiert die Rotationselemente der Transformationsmatrix und Mt repräsentiert die Translationselemente der Transformationsmatrix.
-
-
Auf Basis des Ausdrucks (6) wird die Beziehung von T', Mr, T und Mt durch den folgenden Ausdruck (7) beschrieben. Wie aus den obigen Ausdrücken (5), (2), (3) und (4) ersichtlich ist, ist Mr eine Matrix, die Rotationsfehler enthält. –T' = Mr·(–T) + Mt (7)
-
Wie der folgende Ausdruck (8) zeigt, können die Translations-Kompensationsbeträge ΔCt(ΔX, ΔY, ΔZ) durch Umkehr des Vorzeichens der Translationsfehler erhalten werden. Diese Beträge sind die Translations-Kompensationsbeträge ΔCt in 2. ΔCt = –Mt (8)
-
Indem hier nur die Rotationselemente betrachtet werden und angenommen wird, dass ein Vektor, der durch Transformieren des Werkzeuglängen-Kompensationsvektors T mit den Rotationselementen Mr erhalten wird, Te(Tex, Tey, Tez) ist, wird die Beziehung durch den folgenden Ausdruck (9) beschrieben. Te repräsentiert einen Werkzeuglängen-Kompensationsvektor für den Rotationsfehler auf Basis einer fehlerhaften Werkzeugausrichtung (Richtung) aufgrund von Rotationsfehlern. (Siehe 2). –Te = Mr·(–T) (9)
-
Der obige Ausdruck (7) kann durch den folgenden Ausdruck (10) gemäß 2 beschrieben werden. T' = Te + ΔCt (10)
-
Der Werkzeuglängen-Kompensationsvektor Te für den Rotationsfehler kann berechnet werden, wenn die Rotationsfehler dem Befehls-Werkzeuglängen-Kompensationsvektor T wie im obigen Ausdruck (9) bereitgestellt werden.
-
Wenn andererseits der relationale Ausdruck einer Transformationsmatrix Rr mit den aktuellen Positionen B und C der B-Achse und der C-Achse, die Rotationsachsen sind, und den Kompensationsbeträgen ΔB und ΔC der B-Achse und der C-Achse in den Positionen erhalten werden kann, dem Werkzeuglängen-Kompensationsvektor Te für den Rotationsfehler und der Werkzeuglängen-Kompensationsvektor T erhalten werden kann, und wenn die Kompensationsbeträge ΔB und ΔC der B-Achse und C-Achse durch Lösen des relationalen Ausdrucks erhalten werden können, kann der Werkzeuglängen-Kompensationsvektor Te für den Rotationsfehler zum eigentlichen Werkzeuglängen-Kompensationsvektor T transformiert werden. Die Beträge ΔB und ΔC sind die Rotations-Kompensationsbeträge ΔCr(ΔB, ΔC) für die B-Achse und die C-Achse, um die fehlerbehaftete Werkzeugausrichtung (Richtung) aufgrund der Rotationsfehler zur Soll-Werkzeugausrichtung (Richtung) zu korrigieren. Rr·Te = T (11)
-
Nunmehr wird die Beziehung der oben genannten Größen Rr, Te und T beschrieben. Zunächst wird eine Matrix R, die sich um einen Einheitsvektor n(n1, n2, n3) als Rotationsmittelpunkt um einen Winkel θ dreht, durch den folgenden Ausdruck (12) beschrieben. (Dies wird z. B. beschrieben in ”MATHEMATICAL ELEMENTS FOR COMPUTER GRAPHICS” von David F. Rogers und 3. Alan Adams).
-
-
Rr im obigen Ausdruck (11) repräsentiert eine Matrix, die sich um eine Richtung Nb dreht, die durch Drehen der Y-Achsenrichtung um die aktuelle Position C der C-Achse und ferner durch Drehen um den Fehlerbetrag von Mr als ein Rotationsmittelpunkt um ΔB erhalten wird, die sich danach in Richtung Nc dreht, die durch Drehen der Z-Achsenrichtung um den Fehlerbetrag von Mr als Rotationsmittelpunkt um ΔC erhalten wird (siehe 2).
-
Die Richtungen Nb und Nc basieren offensichtlich auf den Fakten, dass dann, wenn davon ausgegangen wird, dass kein Rotationsfehler aufgrund von Mr vorhanden ist, der Rotationsmittelpunkt der B-Achse eine Richtung (Nb0) ist, die durch Drehen der Y-Achsenrichtung, die der Rotationsmittelpunkt der B-Achse ist, um C, wenn C = 0 wie in 3 dargestellt erhalten wird, und der Rotationsmittelpunkt der C-Achse andererseits eine Richtung Nc0 ist, die die Z-Achsen Richtung ist, und dass Nb und Nc tatsächlich Rotationsfehler aufgrund von Mr bezüglich der Rotationsmittelpunkte (Nb0, Nc0) ohne Fehler haben. Somit wird Nb durch den folgenden Ausdruck (13) und Nc wird durch den folgenden Ausdruck (14) ausgedrückt. Hier wird angenommen, dass die orthogonale Beziehung zwischen Nb und Nc beibehalten wird.
-
-
Anhand des obigen Ausdrucks (12) wird eine Matrix Rb, die sich um Nb als Rotationsmittelpunkt um ΔB dreht, durch den folgenden Ausdruck (15) beschrieben, und eine Matrix Rc, die sich um Nc als Rotationsmittelpunkt um ΔC dreht, wird durch den folgenden Ausdruck (16) beschrieben. In den Ausdrücken wird eine Näherung als cos(Δα) = 1 und sin(Δα) = Δα(α = B, C) vorgenommen und Fehlerterme zweiter oder höherer Ordnung werden vernachlässigt. Alternativ kann die Berechnung natürlich ohne eine derartige Näherung ausgeführt werden.
-
-
Dementsprechend wird Rr durch den folgenden Ausdruck (17) als das Produkt aus Rc und Rb beschrieben.
-
-
Durch Anwenden von Rr im obigen Ausdruck (11) werden simultane Gleichungen wie im folgenden Ausdruck (18) erhalten.
-
-
ΔB und ΔC können aus den simultanen Gleichungen erhalten werden. Speziell wird ΔB durch den folgenden Ausdruck (19) auf Basis von Gleichung (3) im Ausdruck (18) erhalten.
-
-
Wenn ΔB auf diese Weise erhalten wird, kann ΔC durch die Gleichung (1) oder (2) im obigen Ausdruck (18) erhalten werden. So wird z. B. ΔC durch den folgenden Ausdruck (20) auf Basis der Gleichung (1) erhalten.
-
-
Die Rotations-Kompensationsbeträge ΔCr(ΔB, ΔC) zur Korrektur des Werkzeug-Kompensationsvektors T für den Rotationsfehler bezüglich dem ursprünglichen Soll-Werkzeuglängen-Kompensationsvektor können aus diesen Werten erhalten werden. Dann werden die Translations-Kompensationsbeträge ΔCt(ΔX, ΔY, ΔZ) zur Sollposition Pl(X, Y, Z) der linearen Achse addiert, um eine korrigierte Position Pl'(X', Y', Z') der linearen Achse zu erhalten, und die Rotations-Kompensationsbeträge ΔCr(ΔB, ΔC) werden zur Sollposition Pr(B, C) der Rotationsachse addiert, um eine korrigierte Position Pr'(B', C') der Rotationsachse zu erhalten, so dass die Achsen in die jeweiligen korrigierten Achsenpositionen getrieben werden. Dementsprechend kann die Werkzeug-Mittelpunktposition fehlerfrei in eine Position bewegt werden, während auch die Werkzeugausrichtung (Richtung) in eine fehlerfreie Richtung bewegt wird.
-
Insbesondere ist die richtige Werkzeugkopfposition bezüglich der Sollposition Pl(X, Y, Z) der linearen Achse eine Position der (Xt, Yt, Zt)-Koordinate, aber die tatsächliche Werkzeugkopfposition ist fehlerbedingt eine Position der (Xt'', Yt'', Zt'')-Koordinate, wie aus 2 ersichtlich ist. Indem eine Korrektur mit den Translations-Kompensationsbeträgen ΔCt(ΔX, ΔY, Z) und den Rotations-Kompensationsbeträgen ΔCr(ΔB, ΔC) ausgeführt wird, wird also der tatsächliche Werkzeugkopf aus der durch waagrechte Streifen dargestellten Position in die durch senkrechte Streifen in 2 dargestellte Position bewegt, und die Werkzeugausrichtung wird zur Sollausrichtung. Als Ergebnis kann die Werkzeug-Mittelpunktposition fehlerfrei in eine Position bewegt werden, während auch die Werkzeugausrichtung in eine fehlerfreie Ausrichtung gedreht wird.
-
Es ist zu beachten, dass der Nenner und der Zähler in den vorstehenden Ausdrücken (19) und (20) Werkzeuglängen-Kompensationsvektorelemente oder Werkzeuglängen-Kompensationsvektorelemente für den Rotationsfehler enthalten. Es ist also auch möglich, einen Richtungsvektor nur der Richtungskomponenten des Werkzeuglängen-Kompensationsvektors zu berechnen, indem der Nenner und der Zähler durch die Länge der Werkzeuglängen-Kompensationsvektoren dividiert werden. Speziell dann, wenn der Richtungsvektor von T durch (it, jt, kt) und der Richtungsvektor von Te durch (ite, jte, kte) repräsentiert werden, können die Elemente von T und Te in den obigen Ausdrücken (19) und (20) durch die Richtungsvektoren ersetzt werden.
-
Nunmehr werden die Einstellung und Berechnung der Kompensationsbeträge beschrieben.
-
Es wird eine Ausführungsform zum Erhalten der linearachsenabhängigen Translations-Kompensationsbeträge (ΔXL, ΔYL, ΔZL) und der linearachsenabhängigen Rotations-Kompensationsbeträge (ΔIL, ΔJL, ΔKL) auf Basis einer Sollposition Pl(X, Y, Z) der linearen Achse und der rotationsachsenabhängigen Translations-Kompensationsbeträge (ΔXR, ΔYR, ΔZR) sowie der rotationsachsenabhängigen Rotations-Kompensationsbeträge (ΔIR, ΔJR, ΔKR) auf Basis einer Sollposition Pr(B, C) der Rotationsachse beschrieben.
-
Zuerst wird ein Verfahren zum Erhalten der linearachsenabhängigen Translations-Kompensationsbeträge (ΔXL, ΔYL, ΔZL) und der linearachsenabhängigen Rotations-Kompensationsbeträge (ΔIL, ΔJL, ΔKL) auf Basis der Sollposition Pl(X, Y, Z) der linearen Achse beschrieben.
-
4 ist ein Diagramm eines dreidimensionalen Koordinatensystems, das in Gitterzonen unterteilt ist. Das dreidimensionale Koordinatensystem ist in ein regelmäßiges Gitter unterteilt. Die Schnittpunkte der Grenzlinien der Gitterteilung werden als Gitterpunkte Pl0 bis Pl26 bezeichnet. Es ist zu beachten, dass nur ein Teil des Koordinatensystems in 4 dargestellt ist, und dass in der Praxis die gesamte Zone, in der eine Maschine bewegt werden kann, in ein Gitter unterteilt ist. Außerdem ist zu beachten, dass die Gitterabstände nicht regelmäßig zu sein brauchen. Zum Beispiel können Gitterpositionen der jeweiligen Achsen wie die X-Achsenpositionen der Gitterpunkte Pl0, Pl1, Pl2 auf der X-Achse, die Y-Achsenpositionen der Gitterpunkte Pl0, Pl3, Pl6 auf der Y-Achse und die Z-Achsenpositionen der Gitterpunkte Pl0, Pl9, Pl18 auf der Z-Achse als Sollwerte eingestellt werden.
-
Durch das mechanische System verursachte Fehler (Translationsfehler und Rotationsfehler) an den Gitterpunkten werden im Voraus gemessen. Das Messverfahren wird hierin nicht ausführlich beschrieben. Ein Vektor mit dem gleichen Absolutwert wie die Richtung entgegengesetzt einem durch das mechanische System an einem Gitterpunkt verursachten Fehler wird als ”Gitterpunkt-Kompensationsvektor” bezeichnet. Die Kompensationsbeträge werden also durch einen sechsdimensionalen Vektor Un(UnX, UnY, UnZ, UnI, UnJ, Unk: n = 0 bis 26) repräsentiert. (UnX, UnY, UnZ) entsprechen den linearachsenabhängigen Translations-Kompensationsbeträgen (ΔXL, ΔYL, ΔZL), während (UnI, UnJ, UnK) den linearachsenabhängigen Rotations-Kompensationsbeträgen (ΔIL, ΔJL, ΔKL) entsprechen. Die Gitterpunkt-Kompensationsvektoren werden in einem nicht flüchtigen Speicher der dgl. gespeichert, der im numerischen Steuergerät in Form einer linearachsenabhängigen Kompensationsbetragstabelle vorgesehen ist. Wenn die Teilung in ein Gitter mit zu kleinen Zonen erfolgt, wird die Datenmenge der Gitterpunkt-Kompensationsvektoren groß, wodurch eine große Speicherkapazität des Speichers erforderlich wird. Deshalb kann die Anzahl der Gitterpunkte, bei denen ein Kompensationsbetrag so genau wie möglich ist, berechnet werden, während die Reduzierung der Datenmenge einigen Zehnfachen pro Achse entspricht.
-
Nunmehr wird ein Verfahren zum Berechnen der linearachsenabhängigen Translations-Kompensationsbeträge (ΔXL, ΔYL, ΔZL) und der linearachsenabhängigen RotationsKompensationsbeträge (ΔIL, ΔJL, ΔKL) auf Basis einer gegebenen Sollposition Pl(X, Y, Z) der linearen Achse beschrieben.
-
5 ist ein Diagramm einer Gitterzone, die eine Sollposition Pl(X, Y, Z) der linearen Achse enthält, für die ein Kompensationsvektor zu berechnen ist. Im Beispiel von 5 liegt die Sollposition Pl(X, Y, Z) der linearen Achse, für die ein Kompensationsvektor zu berechnen ist, in einer durch die Gitterpunkte Pl0, Pl1, Pl3, Pl4, Pl9, Pl10, Pl12 und Pl13 definierten Zone.
-
Die Gitterabstände der X-Achse, der Y-Achse und der Z-Achse sind Lx, Ly bzw. Lz. Außerdem sind Gitterpunkt-Kompensationsvektoren U0(U0X, U0Y, U0Z, U0I, U0J, U0K), U1(U1X, U1Y, U1Z, U1I, U1J, U1K) ... U13(U13X, U13Y, U13Z, U13I, U13J, U13K) für die Gitterpunkte Pl0, Pl1, Pl3, Pl4, Pl9, Pl10, Pl12 bzw. Pl13 eingestellt. Im Folgenden wird angenommen, dass diese Zone ein lineares Vektorfeld ist, in dem die den jeweiligen Gitterpunkten entsprechenden Gitterpunkt-Kompensationsvektoren in den Gitterpunktpositionen gegeben sind.
-
Wenn ein den Punkt Pl(X, Y, Z) enthaltender Bereich erhalten wird, wird der Gitterpunkt Pl0(Pl0x, Pl0y, Pl0z) als Referenzpunkt bestimmt. Um dann einen Kompensationsvektor für den Punkt Pl zu erhalten, wird die Position im Gitter zuerst zu [0, 1] normalisiert. Die normalisierten Koordinatenwerte (x, y, z) des Punktes Pl werden durch die folgenden Ausdrücke (21) bis (23) bestimmt, wobei die Gitterabstände der X-Achse, der Y-Achse und der Z-Achse Lx, Ly bzw. Lz sind. x = (X – Pl0x)/Lx (21) y = (Y – Pl0y)/Ly (22) z = (Z – Pl0z)/Lz (23)
-
Ein Kompensationsvektor ΔLc(ΔXL, ΔYL, ΔZL, ΔIL, ΔJL, ΔKL) im Punkt Pl wird mit dem folgenden Ausdruck (24) auf Basis der Koordinatenwerte (x, y, z) berechnet.
-
-
Auf diese Weise können die linearachsenabhängigen Translations-Kompensationsbeträge (ΔXL, ΔYL, ΔZL) und die linearachsenabhängigen Rotations-Kompensationsbeträge (ΔIL, ΔJL, ΔKL) im gegebenen Punkt Pl(X, Y, Z) des Koordinatensystems der linearen Achse berechnet werden.
-
Wie oben erläutert wird das dreidimensionale Koordinatensystem in ein Gitter unterteilt, wie in 4 dargestellt ist, und der Kompensationsbetragsvektor in der Position des Punktes Pl auf den drei linearen Achsen wird aus den Gitterpunkt-Kompensationsvektoren in den Gitterpunkten erhalten. Alternativ können auch ein zweidimensionales Koordinatensystem und ein eindimensionales Koordinatensystem, das später beschrieben wird, kombiniert werden und der Kompensationsbetragsvektor als ein Kompensationsbetragsvektor in einer Position des Punktes Pl auf zwei linearen Achsen und ein Kompensationsbetragsvektor in einer Position des Punktes Pl auf der anderen linearen Achse erhalten werden. Ferner ist es wahlweise auch möglich, eindimensionale Koordinatensysteme zu kombinieren und den Kompensationsbetragsvektor als einen Kompensationsbetragsvektor in einer Position des Punktes Pl auf einer linearen Achse, einen Kompensationsbetragsvektor in einer Position desselben auf einer anderen linearen Achse und einen Kompensationsbetragsvektor in einer Position desselben auf der anderen linearen Achse zu erhalten.
-
Nunmehr wird ein Verfahren zum Erhalten der rotationsachsenabhängigen Translations-Kompensationsbeträge (ΔXR, ΔYR, ΔZR) und der rotationsachsenabhängigen Rotations-Kompensationsbeträge (ΔIR, ΔJR, ΔKR) auf Basis einer Sollposition Pr(B, C) der Rotationsachse beschrieben.
-
6 ist ein Diagramm eines in Gitterzonen unterteilten zweidimensionalen Koordinatensystems. Das zweidimensionale Koordinatensystem ist in ein regelmäßiges Gitter geteilt. Die Schnittpunkte der Grenzlinien der Gitterteilung werden als Gitterpunkte Pr0 bis Pr8 bezeichnet. Es ist zu beachten, dass nur ein Teil des Koordinatensystems in 6 dargestellt ist, und dass in der Praxis die gesamte Zone, in der eine Maschine bewegt werden kann, in ein Gitter unterteilt ist. Analog zur Beschreibung von 4 ist außerdem zu beachten, dass die Gitterabstände nicht regelmäßig zu sein brauchen. Zum Beispiel können Gitterpositionen auf den jeweiligen Achsen wie die B-Achsenpositionen der Gitterpunkte Pr0, Pr1, Pr2 auf der B-Achse und die C-Achsenpositionen der Gitterpunkte Pr0, Pr3, Pr6 auf der C-Achse als Sollwerte eingestellt werden.
-
Durch das mechanische System verursachte Fehler (Translationsfehler und Rotationsfehler) an den Gitterpunkten werden im Voraus gemessen. Ein Vektor mit dem gleichen Absolutwert wie die Richtung entgegengesetzt zu einem gemessenen Fehler wird als ”Gitterpunkt-Kompensationsvektor” bezeichnet. Die Kompensationsbeträge werden also durch einen sechsdimensionalen Vektor Vn(VnX, VnY, VnZ, VnI, VnJ, VnK: n = 0 bis 8) repräsentiert. (VnX, VnY, VnZ) entsprechen den rotationsachsenabhängigen Translations-Kompensationsbeträgen (ΔXR, ΔYR, ΔZR), und (VnI, VnJ, VnK) den rotationsachsenabhängigen Rotations-Kompensationsbeträgen (ΔIR, ΔJR, ΔKR). Die Gitterpunkt-Kompensationsvektoren werden in einem nicht flüchtigen Speicher oder dgl. in Form einer rotationsachsenabhängigen Kompensationsbetragstabelle gespeichert. Nunmehr wird ein Verfahren zum Berechnen der rotationsachsenabhängigen Translations-Kompensationsbeträge (ΔXR, ΔYR, ΔZR) und der rotationsachsenabhängigen Rotations-Kompensationsbeträge (ΔIR, ΔJR, ΔKR) auf Basis einer gegebenen Sollposition Pr(B, C) der Rotationsachse beschrieben.
-
7 ist ein Diagramm einer Gitterzone, die eine Sollposition Pr(B, C) der Rotationsachse enthält, für die ein Kompensationsvektor zu berechnen ist. Im Beispiel von 7 liegt die Sollposition Pr(B, C) der Rotationsachse, für die ein Kompensationsvektor zu berechnen ist, in einer durch die Gitterpunkte Pr0, Pr1, Pr3 und Pr4 definierten Zone.
-
Außerdem werden die Gitterpunkt-Kompensationsvektoren V0(V0X, V0Y, V0Z, V0I, V0J, V0K), V1(V1X, V1Y, V1Z, V1I, V1J, V1K) ... V4(V4X, V4Y, V4Z, V4I, V4J, V4K) für die Gitterpunkte Pr0, Pr1, Pr3 bzw. Pr4 eingestellt. Im Folgenden wird angenommen, dass diese Zone ein lineares Vektorfeld ist, in dem die den jeweiligen Gitterpunkten entsprechenden Gitterpunkt-Kompensationsvektoren in den Gitterpunktpositionen gegeben sind.
-
Wenn eine den Sollpunkt Pr(B, C) der Rotationsachse enthaltende Zone erhalten wird, wird der Gitterpunkt Pr0(Pr0b, Pr0c) als Referenzpunkt bestimmt. Um dann einen Kompensationsvektor für den Punkt Pr zu erhalten, wird die Position im Gitter zuerst zu [0, 1] normalisiert. Die normalisierten Koordinatenwerte (b, c) des Punktes Pr werden durch die folgenden Ausdrücke (25) bis (26) bestimmt, wobei die Gitterabstände der B-Achse und der C-Achse Lb bzw. Lc sind. b = (B – Pr0b)/Lb (25) c = (C – Pr0c)/Lc (26)
-
Ein Kompensationsvektor ΔRc(ΔXR, ΔYR, ΔZR, ΔIR, ΔJR, ΔKR) im Punkt Pr wird durch den folgenden Ausdruck (27) auf Basis der Koordinatenwerte (b, c) berechnet. ΔαR = V0α·(1 – b)(1 – c)
+ V1α·b(1 – c)
+ V3α·(1 – b)c
+ V4α·b·c
(α = X, Y, Z, I, J, K) (27)
-
Auf diese Weise können die rotationsachsenabhängigen Translations-Kompensationsbeträge (ΔXR, ΔYR, ΔZR) und die rotationsachsenabhängigen Rotations-Kompensationsbeträge (ΔIR, ΔJR, ΔKR) in einem gegebenen Punkt Pr(B, C) des Koordinatensystems der Rotationsachse berechnet werden. Wie oben erläutert wird das zweidimensionale Koordinatensystem in ein Gitter unterteilt, wie in 6 dargestellt ist, und der Kompensationsbetragsvektor in der Position des Punktes Pr auf den zwei linearen Achsen wird aus den Gitterpunkt-Kompensationsvektoren in den Gitterpunkten erhalten. Alternativ können auch eindimensionale Koordinatensysteme, die später beschrieben werden, kombiniert werden und der Kompensationsbetragsvektor kann als ein Kompensationsbetragsvektor in einer Position des Punktes Pr auf einer Rotationsachse und ein Kompensationsbetragsvektor in einer Position desselben auf der anderen Rotationsachse erhalten werden.
-
8 ist Diagramm eines eindimensionalen Koordinatensystems der B-Achse, das in vorgegebenen Abständen unterteilt ist. Die Teilungspunkte in vorgegebenen Abständen sind durch Pb0, Pb1 und Pb2 repräsentiert. Es ist zu beachten, dass nur ein Teil des Koordinatensystems in 8 dargestellt ist, und dass in der Praxis die gesamte Zone, in der eine Maschine bewegt werden kann, in vorgegebenen Abständen unterteilt ist. Analog zur Beschreibung der 4 und 6 ist außerdem zu beachten, dass die Abstände der Teilungspunkte nicht regelmäßig zu sein brauchen. Zum Beispiel können die Positionen der Teilungspunkte Pb0, Pb1 und Pb2 auf der B-Achse als Sollwerte eingestellt werden.
-
Durch das mechanische System verursachte Fehler (Translationsfehler und Rotationsfehler) an den Teilungspunkten werden im Voraus gemessen. Ein Vektor mit dem gleichen Absolutwert wie die Richtung entgegengesetzt zu einem gemessenen Fehler wird als ”Teilungspunkt-Kompensationsvektor” bezeichnet. Die Kompensationsbeträge werden also durch einen sechsdimensionalen Vektor Vn(VnX, VnY, VnZ, VnI, VnJ, VnK: n = 0 bis 2) repräsentiert. (VnX, VnY, VnZ) entsprechen den B-achsenabhängigen Translations-Kompensationsbeträgen (ΔXB, ΔYB, ΔZB) und (VnI, VnJ, VnK) den B-achsenabhängigen Rotations-Kompensationsbeträgen (ΔIB, ΔJB, ΔKB). Die Teilungspunkt-Kompensationsvektoren werden in einem nicht flüchtigen Speicher oder dgl. in Form einer B-achsenabhängigen Kompensationsbetragstabelle gespeichert.
-
9 ist ein Diagramm einer unterteilten Zone, die eine Sollposition B der B-Achse enthält, für die ein Kompensationsvektor zu berechnen ist. Im Beispiel von 9 liegt die Sollposition B der B-Achse, für die ein Kompensationsvektor zu berechnen ist, in einer durch die Teilungspunkte Pb0 und Pb1 definierten Zone. Außerdem werden die Teilungspunkt-Kompensationsvektoren V0(V0X, V0Y, V0Z, V0I, V0J, V0K) und V1(V1X, V1Y, V1Z, V1I, V1J, V1K) für die Teilungspunkte Pb0 bzw. Pb1 eingestellt. Ein normalisierter Koordinatenwert b des Punktes B wird durch den folgenden Ausdruck (28) bestimmt, wobei der Teilungsabstand der B-Achse Lb ist. b = (B – Pb0)/Lb (28)
-
Die B-achsenabhängigen Translations-Kompensationsbeträge (ΔXB, ΔYB, ΔZB) und die B-achsenabhängigen Rotations-Kompensationsbeträge (ΔIB, ΔJB, ΔKB) im Punkt B werden durch den folgenden Ausdruck (29) auf Basis des Koordinatenwerts b berechnet. ΔαB = V0α·(1 – b) + V1α·b
(α = X, Y, Z, I, J, K) (29)
-
Auf diese Weise kann der Kompensationsvektor im gegebenen Punkt B im B-Achsenkoordinatensystem berechnet werden.
-
Auf ähnliche Weise können die C-achsenabhängigen Translations-Kompensationsbeträge (ΔXC, ΔYC, ΔZC) und die C-achsenabhängigen Rotations-Kompensationsbeträge (ΔIC, ΔJC, ΔKC) in einem gegebenen Punkt C in einem C-Achsenkoordinatensystem auf Basis einer in 10 dargestellten C-achsenabhängigen Kompensationstabelle berechnet weden.
-
Die Kompensation kann auch durch Kombinieren der Teilungspunkt-Kompensationsvektoren in solchen eindimensionalen Koordinatensystemen für die jeweiligen zwei Rotationsachsen ausgeführt werden. Obwohl ferner die linearachsenabhängigen Kompensationsbeträge Gitterpunkt-Kompensationsvektoren sind, die durch Teilen des dreidimensionalen Koordinatensystems in ein dreidimensionales Gitter wie in 4 erhalten werden, ist es auch möglich, die Kompensation kombiniert auszuführen, indem das Koordinatensystem in zwei lineare Achsen mit hohen Korrelationskoeffizienten und eine Achse mit niedrigem Korrelationskoeffizienten geteilt wird; die von den zwei linearen Achsen abhängigen Kompensationsbeträge mit hohen Korrelationskoeffizienten werden als Gitterpunkt-Kompensationsvektoren erhalten, die in ein zweidimensionales Gitter geteilt werden wie in 6 dargestellt und die von der einen Achse mit niedrigem Korrelationskoeffizienten abhängigen Kompensationsbeträge werden als Teilungspunkt-Kompensationsvektor in einem eindimensionalen Koordinatensystem erhalten, wie in 8 dargestellt. Alternativ ist es auch möglich, die Kompensationsbeträge nur als die Gitterpunkt-Kompensationsvektoren, die in das zweidimensionale Gitter geteilt werden, zu erhalten, ohne den Teilungspunkt-Kompensationsvektor unter den Kompensationsvektoren im eindimensionalen Koordinatensystem zu verwenden.
-
Die Kompensation kann außerdem durch Kombinieren der Teilungspunkt-Kompensationsvektoren in eindimensionalen Koordinatensystemen ausgeführt werden, wie in 8 für die jeweiligen drei linearen Achsen dargestellt. Alternativ kann die Kompensation auch durch Kombinieren von (einem) Kompensationsvektor(en) für nur eine Achse oder zwei Achsen ausgeführt werden.
-
11 ist ein Blockdiagramm eines Hauptteils einer ersten Ausführungsform der vorliegenden Erfindung des numerischen Steuergeräts, das eine 5-Achsen-Werkzeugmaschine steuert. Bei der ersten Ausführungsform wird ein Werkzeuglängen-Kompensationsbefehl an das numerische Steuergerät gesandt. Bei der ersten Ausführungsform wird ein Programmblock in einem Befehlsanalysator 1 analysiert, und ein Werkzeuglängen-Kompensationsvektor T(Tx, Ty, Tz) wird von einem Werkzeuglängen-Kompensationsvektor-Addierelement 2 zu einer Sollposition einer Werkzeug-Mittelpunktposition, die das Analyseergebnis ist, addiert, um eine Koordinatenposition der linearen Maschinenachse zu erhalten, zu der der Werkzeuglängen-Kompensationsvektor addiert worden ist.
-
Die Koordinatenposition der linearen Maschinenachse und die Solldrehpositionen der Rotationsachsen werden von einem Interpolator 3 interpoliert, um die Koordinatenpositionen der Maschine für die jeweiligen Achsen zu erzeugen, und eine Beschleunigungs-/Verzögerungsverarbeitung erfolgt in jedem der Beschleunigungs-/Verzögerungs-Prozessoren 4x, 4y, 4z, 4b(a) und 4c für die jeweiligen Achsen (X, Y, Z, B(A), C-Achsen). Dann werden die durch die obigen Ausdrücke (1) bis (6) und (8) erhaltenen Translations-Kompensationsbeträge zur Sollposition Pl(X, Y, Z) der linearen Achse in einem Kompensator 5 nach Abschluss der Beschleunigungs-/Verzögerungsverarbeitung für die jeweiligen Achsen addiert, um eine korrigierte Position Pl'(X', Y', Z') der linearen Achse zu erhalten. Außerdem werden die mit den obigen Ausdrücken (1) bis (6), (9) und (13) bis (20) erhaltenen Rotations-Kompensationsbeträge im Kompensator 5 zur Sollposition Pr(B, C) der Rotationsachse nach Abschluss der Beschleunigungs-/Verzögerungsverarbeitung für die jeweiligen Achsen addiert, um eine korrigierte Position Pr'(B', C') der Rotationsachse zu erhalten.
-
Dann werden die Servomotoren 6x, 6y, 6z, 6b(a) und 6c in die korrigierte Position Pl'(X', Y', Z') der linearen Achse für die X-Achse, die Y-Achse und die Z-Achse, die lineare Achsen sind, und die korrigierte Position Pr'(B', C') der Rotationsachse für die B(A)-Achse und die C-Achse, die Rotationsachsen sind, getrieben. Informationen zu den linearachsenabhängigen Kompensationsbeträgen, den rotationsachsenabhängigen Kompensationsbeträgen und zum Werkzeuglängen-Kompensationsvektor, die in den obigen Ausdrücken (1) bis (5) verwendet werden, werden im Voraus in einer Eingabedateneinheit 7 gespeichert. Informationen vom Werkzeuglängen-Kompensationsvektor-Addierelement 2 werden als Informationen des Werkzeuglängen-Kompensationsvektors verwendet.
-
12 ist ein Blockdiagramm eines Hauptteils einer zweiten Ausführungsform der vorliegenden Erfindung des numerischen Steuergeräts, das eine 5-Achsen-Werkzeugmaschine steuert. Bei der zweiten Ausführungsform wird im numerischen Steuergerät eine Werkzeugmittelpunksteuerung angewendet.
-
Bei dieser Ausführungsform wird ein Programmblock in einem Befehlsanalysator 1 analysiert, um eine Soll-Werkzeug-Mittelpunktposition zu erhalten, die erhaltene Soll-Werkzeug-Mittelpunktposition wird von einem Interpolator 3 interpoliert, und ein Werkzeuglängen-Kompensationsvektor T(Tx, Ty, Tz) wird zu der so interpolierten Werkzeug-Mittelpunktposition von einem Werkzeuglängen-Kompensationsvektor-Addierelement 2 addiert. Das Additionsergebnis wird einer Beschleunigungs-/Verzögerungsverarbeitung in den Beschleunigungs-/Verzögerungsprozessoren für die jeweiligen Achsen unterzogen, um eine Sollposition Pl(X, Y, Z) der linearen Achse zu erhalten. Dann werden die durch die obigen Ausdrücke (1) bis (6) und (8) erhaltenen Translations-Kompensationsbeträge in einem Kompensator 5 zur Sollposition Pl(X, Y, Z) der linearen Achse addiert, um eine korrigierte Position Pl'(X', Y', Z') der linearen Achse zu erhalten. Andererseits werden die durch die obigen Ausdrücke (1) bis (6), (9) und (13) bis (20) erhaltenen Rotations-Kompensationsbeträge im Kompensator 5 zur Sollposition Pr(B, C) der Rotationsachse nach der Beschleunigungs-/Verzögerungsverarbeitung durch die Beschleunigungs-/Verzögerungsprozessoren für die jeweiligen Achsen addiert, um eine korrigierte Position Pr'(B', C') der Rotationsachse zu erhalten.
-
Dann werden die Servomotoren 6x, 6y und 6z in die korrigierte Position Pl'(X', Y', Z') der linearen Achse für die X-Achse, die Y-Achse und die Z-Achse, die lineare Achsen sind, getrieben, und die Servomotoren 6b(a) und 6c in die korrigierte Position Pr'(B', C') der Rotationsachse für die B(A)-Achse und die C-Achse getrieben, die Rotationsachsen sind.
-
Informationen zu den linearachsenabhängigen Kompensationsbeträgen, den rotationsachsenabhängigen Kompensationsbeträgen und zum Werkzeuglängen-Kompensationsvektor, die in den obigen Ausdrücken (1) bis (5) im Kompensator 5 verwendet werden, werden im Voraus in einer Eingabedateneinheit 7 gespeichert. Informationen vom Werkzeuglängen-Kompensationsvektor-Addierelement 2 werden als Informationen des Werkzeuglängen-Kompensationsvektors verwendet.
-
13 ist ein Blockdiagramm eines Hauptteils einer dritten Ausführungsform der vorliegenden Erfindung des numerischen Steuergeräts, das eine 5-Achsen-Werkzeugmaschine steuert. Bei der dritten Ausführungsform wird ein Werkzeuglängen-Kompensationsbefehl an das numerische Steuergerät gelegt.
-
Bei der dritten Ausführungsform wird ein Programmblock in einem Befehlsanalysator 1 analysiert, um eine Soll-Werkzeug-Mittelpunktposition zu erhalten, und ein Werkzeuglängen-Kompensationsvektor T(Tx, Ty, Tz) wird zu der erhaltenen Werkzeug-Mittelpunktposition von einem Werkzeuglängen-Kompensationsvektor-Addierelement 2 addiert, um eine Sollposition Pl(X, Y, Z) der linearen Achse zu erhalten, zu der der Werkzeuglängen-Kompensationsvektor addiert wird.
-
Dann werden die durch die obigen Ausdrücke (1) bis (6) und (8) erhaltenen Translations-Kompensationsbeträge in einem Kompensator 5 zur Sollposition Pl(X, Y, Z) der linearen Achse addiert, um eine korrigierte Position Pl'(X', Y', Z') der linearen Achse zu erhalten. Außerdem werden die durch die obigen Ausdrücke (1) bis (6), (9) und (13) bis (20) erhaltenen Rotations-Kompensationsbeträge im Kompensator 5 zur Sollposition Pr(B, C) der Rotationsachse addiert, um eine korrigierte Position Pr'(B', C') der Rotationsachse zu erhalten.
-
Die korrigierte Position der linearen Achse und die korrigierte Position der Rotationsachse werden in einem Interpolator 3 interpoliert und die so interpolierten Positionen der jeweiligen Achsen (X, Y, Z, B(A), C-Achsen) werden einer Beschleunigungs-/Verzögerungsverarbeitung durch die Beschleunigungs-/Verzögerungsprozessoren 4x, 4y, 4z, 4b(a) und 4c unterzogen, und nach Abschluss der Beschleunigungs-/Verzögerungsverarbeitung werden die Servomotoren 6x, 6y, 6z, 6b(a) und 6c für die jeweiligen Achsen in die Positionen der jeweiligen Achsen getrieben.
-
14 ist ein Flussdiagramm eines Kompensationsalgorithmus, der in der ersten Ausführungsform der vorliegenden Erfindung des numerischen Steuergeräts implementiert ist. Der Algorithmus wird nachstehend gemäß den jeweiligen Schritten beschrieben.
-
[Schritt S1] Ein Werkzeuglängen-Kompensationsvektor (Tx, Ty, Tz) wird erhalten.
-
[Schritt S2] Achsenabhängige Translations-Kompensationsbeträge und achsenabhängige Rotations-Kompensationsbeträge werden durch die Ausdrücke (21) bis (27) auf Basis der Sollposition Pl(X, Y, Z) der linearen Achse und der Sollposition Pr(B, C) der Rotationsachse, der linearachsenabhängigen Kompensationsbetragstabelle und der rotationsachsenabhängigen Kompensationsbetragstabelle erhalten.
-
[Schritt S3] Translations-Kompensationsbeträge ΔCt und Rotations-Kompensationsbeträge ΔCr werden mittels der Ausdrücke (1) bis (20) auf Basis des in Schritt S1 erhaltenen Werkzeuglängen-Kompensationsvektors (Tx, Ty, Tz) und der in Schritt S2 erhaltenen achsenabhängigen Translations-Kompensationsbeträge und der achsenabhängigen Rotations-Kompensationsbeträge berechnet.
-
[Schritt S4] Die in Schritt S3 berechneten Translations-Kompensationsbeträge ΔCt werden zur Sollposition Pl(X, Y, Z) der linearen Achse addiert, um die Maschinen-Koordinatenpositionen, in die die linearen Achsen zu bewegen sind (korrigierte Position Pl der linearen Achse) zu erhalten. Außerdem wird ΔCr zur Position Pr(B, C) der Rotationsachse addiert, um die Maschinenkoordinatenpositionen, in die die Rotationsachsen zu bewegen sind, zu erhalten (korrigierte Position Pr'(B', C') der Rotationsachse).