-
Gebiet
-
Die vorliegende Erfindung bezieht sich auf eine numerische Steuerung, die eine Werkzeugmaschine steuert, die eine Vibrationsschneidbearbeitung an einem Werkstück durchführt, auf ein numerisches Steuerverfahren und auf eine Vorrichtung zum maschinellen Lernen.
-
Hintergrund
-
Bei einer herkömmlichen numerischen Steuerung handelt es sich um eine numerische Steuerung, die eine Vibrationsschneidbearbeitung durchführen kann, bei der ein Werkstück bearbeitet wird, während ein Schneidwerkzeug mit niedriger Frequenz in Oszillation versetzt wird.
-
In der
JP 5 851 670 B1 wird eine numerische Steuerung beschrieben, bei der eine Vibrationsschneidbearbeitung beim Gewindeschneiden durchgeführt werden kann. Die in der
JP 5 851 670 B1 beschriebene numerische Steuerung ermöglicht eine Bearbeitung, bei der eine Vibrationsschneidbearbeitung beim Gewindeschneiden angewendet wird, indem die Werkzeugmaschine so gesteuert wird, dass das Werkstück bearbeitet wird, während das Schneidwerkzeug entlang einer der Richtungen der Antriebsachsen senkrecht zur Spindel in Oszillation versetzt wird.
-
Ferner unterstützen einige numerische Steuerungen eine Imaginärachsensteuerung. Eine Imaginärachsensteuerung bezieht sich auf die Steuerung der Bewegung eines zu steuernden Objekts, beispielsweise eines Schneidwerkzeugs, entlang einer imaginären Achse (im Folgenden als Imaginärachse bezeichnet), die sich von allen Antriebsachsenrichtungen unterscheidet, indem eine Synchronsteuerung durchgeführt wird, bei der die Steuerung mehrerer Antriebsachsen miteinander synchronisiert erfolgt.
-
Merkmale des Oberbegriffs der unabhängigen Ansprüche sind aus dem Dokument
DE 103 92 943 T5 bekannt.
-
Numerische Steuervorrichtungen welche einer Werkzeugbahn eine Oszillation aufprägen sind auch aus den Dokumenten
DE 10 2017 208 060 A1 ,
-
-
Kurzbeschreibung
-
Technische Problemstellung
-
Die in der
JP 5 851 670 B1 beschriebene numerische Steuerung ist so ausgebildet, dass eine Bearbeitung durchgeführt wird, während das Schneidwerkzeug entlang der Richtung einer Antriebsachse in Oszillation versetzt wird. Ein Problem besteht darin, dass keine Vibrationsschneidbearbeitung durchgeführt werden kann, wenn das Schneidwerkzeug mittels Imaginärachsensteuerung bewegt wird, d. h., wenn das Schneidwerkzeug während des Gewindeschneidvorgangs entlang der Richtung einer imaginären Achse in Oszillation versetzt wird, wobei diese Oszillation durch synchrone Steuerung mehrerer Antriebsachsen erreicht werden kann.
-
Die vorliegende Erfindung entstand in Anbetracht der vorstehenden Ausführungen, wobei eine Aufgabe der vorliegenden Erfindung darin besteht, eine numerische Steuerung anzugeben, bei der die Durchführung einer Vibrationsschneidbearbeitung auch dann möglich ist, wenn das Schneidwerkzeug in einer Richtung in Oszillation versetzt werden soll, die sich von den Richtungen der Antriebsachsen unterscheidet.
-
Lösung der Problemstellung
-
Die vorstehende Aufgabe wird durch die Kombination der Merkmale der unabhängigen Ansprüche gelöst. Bevorzugte Weiterbildungen finden sich in den abhängigen Ansprüchen.
-
Vorteilhafte Wirkungen der Erfindung
-
Eine numerische Steuerung gemäß der vorliegenden Erfindung bietet den Vorteil, dass eine Vibrationsschneidbearbeitung auch dann genutzt werden kann, wenn das Schneidwerkzeug in einer Richtung in Oszillation versetzt werden soll, die sich von allen Richtungen der Antriebsachsen unterscheidet.
-
Kurzbeschreibung der Figuren
-
- 1 zeigt eine Darstellung zur Beschreibung einer Imaginärachsensteuerung, die in numerischen Steuerungen gemäß den jeweiligen Ausführungsformen verwendet wird.
- 2 zeigt eine Darstellung zur Beschreibung eines Konfigurationsbeispiels einer Werkzeugmaschine, die mit Hilfe von numerischen Steuerungen gemäß den jeweiligen Ausführungsformen gesteuert wird.
- 3 zeigt eine Darstellung zur Veranschaulichung eines Konfigurationsbeispiels einer numerischen Steuerung gemäß einer ersten Ausführungsform.
- 4 zeigt eine Darstellung zur Veranschaulichung der Oszillationsrichtung eines Werkzeugs, wenn bei einer Gewindeschneidbearbeitung ein Vibrationsschneiden durchgeführt wird.
- 5 zeigt eine Darstellung zur Veranschaulichung des Prinzipschemas einer Vibrationsschneidbearbeitung beim Gewindeschneiden.
- 6 zeigt ein Flussdiagramm zur Veranschaulichung eines Beispiels für eine Prozedur, bei der eine numerische Steuerung gemäß der ersten Ausführungsform einen Gewindeschneidvorgang ausführt, während ein Werkzeug mittels Imaginärachsensteuerung in Oszillation versetzt wird.
- 7 zeigt eine Darstellung zur Veranschaulichung eines Beispiels für Oszillationsbefehlskurvenformen, die von einer Oszillationskurvenform-Erzeugungseinheit einer numerischen Steuerung gemäß der ersten Ausführungsform erzeugt werden.
- 8 zeigt eine Darstellung zur Veranschaulichung eines Beispiels für die Beziehungen zwischen Oszillationsbefehlskurvenformen und Feedback-Oszillationskurvenformen.
- 9 zeigt eine Darstellung zur Veranschaulichung eines Beispiels für eine kombinierte Oszillationskurvenform, die durch Kombination von nicht angepassten Oszillationsbefehlskurvenformen für die jeweiligen Achsen erhalten wird.
- 10 zeigt eine Darstellung zur Veranschaulichung eines Beispiels für eine kombinierte Oszillationskurvenform, die durch Kombination von angepassten Oszillationsbefehlskurvenformen für die jeweiligen Achsen erhalten wird.
- 11 zeigt eine Darstellung zur Beschreibung einer Schrägachsensteuerung.
- 12 zeigt eine Darstellung zur Veranschaulichung eines Konfigurationsbeispiels für eine Werkzeugmaschine mit Schrägachsensteuerung.
- 13 zeigt eine Darstellung zur Beschreibung der Konfiguration einer Werkzeugmaschine, die eine Vibrationsschneidbearbeitung durchführt.
- 14 zeigt eine Darstellung zur Veranschaulichung eines Beispiels für die Hardwarekonfiguration einer Steuerungsberechnungseinheit, die in einer numerischen Steuerung gemäß der ersten Ausführungsform enthalten ist.
- 15 zeigt eine Darstellung zur Veranschaulichung eines Konfigurationsbeispiels einer numerischen Steuerung gemäß einer zweiten Ausführungsform.
-
Beschreibung von Ausführungsformen
-
Im Folgenden werden unter Bezugnahme auf die Figuren eine numerische Steuerung, ein numerisches Steuerverfahren und eine Vorrichtung zum maschinellen Lernen gemäß Ausführungsformen der vorliegenden Erfindung detailliert beschrieben. Es ist zu beachten, dass die Ausführungsformen den Umfang der vorliegenden Erfindung nicht einschränken sollen.
-
Bei jeder Ausführungsform wird eine Konfiguration beschrieben, bei der eine numerische Steuerung einen Gewindeschneidvorgang durchführt, während ein Schneidwerkzeug mittels Imaginärachsensteuerung in Oszillation versetzt wird. Daher werden zunächst die Imaginärachsensteuerung und die Werkzeugmaschine beschrieben, die von numerischen Steuerungen gemäß den jeweiligen Ausführungsformen gesteuert werden.
-
1 zeigt eine Darstellung zur Beschreibung einer Imaginärachsensteuerung, die in numerischen Steuerungen gemäß den jeweiligen Ausführungsformen eingesetzt wird. Eine Imaginärachsensteuerung ermöglicht die Steuerung eines zu steuernden Objekts unter Verwendung eines imaginären Maschinenkoordinatensystems, das durch Rotation und/oder dergleichen eines realen Maschinenkoordinatensystems erhalten wird, bei dem es sich um das Koordinatensystem der Werkzeugmaschine handelt, die von den numerischen Steuerungen gesteuert wird. Die Achsen des imaginären Maschinenkoordinatensystems werden jeweils als imaginäre Achsen bezeichnet. Bei dem in 1 dargestellten Beispiel wird ein imaginäres Maschinenkoordinatensystem verwendet, das durch Drehung eines eine X-Achse und eine Y-Achse aufweisenden realen Maschinenkoordinatensystems um 45 Grad im Uhrzeigersinn und anschließende Verschiebung des Ursprungs (in 1 als Ursprung des realen Maschinenkoordinatensystems bezeichnet) um -120 mm entlang der X-Achse und um -60 mm entlang der Y-Achse erhalten wird.
-
Eine Imaginärachsensteuerung unter Verwendung des in 1 dargestellten imaginären Maschinenkoordinatensystems wird beispielsweise eingesetzt, wenn das beim Gewindeschneiden verwendete Schneidwerkzeug in einer um 45 Grad zur X-Achse (in 1 als reale X-Achse bezeichnet) des realen Maschinenkoordinatensystems gedrehten Richtung in Oszillation versetzt werden soll. Durch eine Imaginärachsensteuerung kann das Schneidwerkzeug in einer Richtung parallel zur Richtung der imaginären X-Achse in Oszillation versetzt werden.
-
2 zeigt eine Darstellung zur Beschreibung eines Konfigurationsbeispiels für eine Werkzeugmaschine, die von numerischen Steuerungen gemäß den jeweiligen Ausführungsformen gesteuert wird. Wie in 2 dargestellt ist, ist die von den numerischen Steuerungen gemäß den Ausführungsformen gesteuerte Werkzeugmaschine so ausgebildet, dass sie einen Werkzeughalter mit fünf Arten von Schneidwerkzeugen T1 bis T5 umfasst, die daran befestigt sind, um ein Werkstück unter Verwendung eines der Schneidwerkzeuge zu bearbeiten. 2 zeigt einen Querschnitt des Werkzeughalters aus der Richtung der Drehachse des Werkstücks. Die Schneidwerkzeuge sind so angeordnet, dass die Schneidkanten dem Werkstück zugewandt sind. Die Schneidewerkzeuge werden so gesteuert, dass sie sich linear auf das Werkstück zubewegen. Die Schneidwerkzeuge bewegen sich jeweils entlang einer Linie, die durch das Zentrum des Werkstücks verläuft, wobei die numerische Steuerung einen X-Achsen-Servomotor, der den Werkzeughalter in der realen X-Achsenrichtung bewegt, sowie einen Y-Achsen-Servomotor steuert, der den Werkzeughalter in der realen Y-Achsenrichtung bewegt. Es wird darauf hingewiesen, dass die Anzahl der hier dargestellten Schneidwerkzeuge nur ein Beispiel ist und nicht auf fünf Stück beschränkt ist.
-
Wenn die Vibrationsschneidbearbeitung mit einer Werkzeugmaschine durchgeführt werden soll, die die in 2 dargestellte Konfiguration aufweist, können die Schneidwerkzeuge entlang einer durch das Zentrum des Werkstücks verlaufenden Linie in Oszillation versetzt werden, indem ein Oszillationsbefehl, der sich auf die X-Achse und die Y-Achse bezieht, in das Bearbeitungsprogramm geschrieben wird. Die Durchführung der Vibrationsschneidbearbeitung unter Verwendung einer solchen Methode erhöht jedoch den Arbeitsaufwand für die Erstellung des Bearbeitungsprogramms. Bei den numerischen Steuerungen gemäß den Ausführungsformen kann deshalb eine Imaginärachsensteuerung zur Steuerung der Schneidwerkzeuge eingesetzt werden. Durch die Verwendung einer Imaginärachsensteuerung kann ein Werkzeug entlang einer imaginären Achse oszillieren. Ein Oszillationsbefehl für eine einzelne Achse kann demnach ein Schneidwerkzeug entlang einer imaginären Achse in Oszillation versetzen. Bei der Erstellung eines Bearbeitungsprogramms für die Vibrationsschneidbearbeitung muss der Ersteller des Bearbeitungsprogramms die Verwendung einer imaginären Achse nicht berücksichtigen, sondern kann die Oszillationsbedingungen unter Verwendung eines Oszillationsbefehls festlegen, der die Oszillation eines Schneidwerkzeugs entlang der Richtung einer Referenzachse bewirkt, die entweder die reale X-Achse oder die reale Y-Achse ist. Dadurch wird der Aufwand für die Erstellung eines Bearbeitungsprogramms zur Durchführung einer Vibrationsbearbeitung mit einer Werkzeugmaschine reduziert, die die in 2 dargestellte Konfiguration aufweist, d. h. einer Werkzeugmaschine mit einer Konfiguration, bei der das Schneidwerkzeug in einer Richtung oszilliert, die sich von den Richtungen der Antriebsachsen unterscheidet.
-
Bei der Steuerung einer Werkzeugmaschine mit der in 2 dargestellten Konfiguration ändert die numerische Steuerung die Festlegung des imaginären Maschinenkoordinatensystems jedes Mal, wenn das bei der Werkstückbearbeitung verwendete Schneidwerkzeug gewechselt wird. 2 veranschaulicht den Fall der Bearbeitung eines Werkstücks unter Verwendung des Schneidwerkzeugs T2, wobei die numerische Steuerung zunächst das imaginäre Maschinenkoordinatensystem festlegt, um die Bewegungsrichtung des Schneidwerkzeugs T2 mit der Richtung der imaginären X-Achse auszurichten, und dann die Bewegung des Werkzeughalters unter Verwendung des imaginären Maschinenkoordinatensystems steuert. Auch wenn ein Fall beschrieben wurde, bei dem das Schneidwerkzeug T2 verwendet wird, gilt dies ebenso für Fälle, in denen andere Schneidwerkzeuge verwendet werden. Wenn beispielsweise das Schneidwerkzeug T4 verwendet wird, ändert die numerische Steuerung die Festlegung des imaginären Maschinenkoordinatensystems, um die Bewegungsrichtung des Schneidwerkzeugs T4 mit der Richtung der imaginären X-Achse auszurichten. Wenn das Schneidwerkzeug T3 verwendet wird, ändert die numerische Steuerung die Festlegung des imaginären Maschinenkoordinatensystems, um die Bewegungsrichtung des Schneidwerkzeugs T3 mit der Richtung der imaginären X-Achse auszurichten, wobei die imaginäre X-Achse parallel zur realen X-Achse verläuft. Auch wenn bei dem in 2 dargestellten Beispiel davon ausgegangen wird, dass die Festlegung so vorgenommen wird, dass das Schneidwerkzeug in einer Richtung parallel zur Richtung der imaginären X-Achse oszilliert, kann die Einstellung auch so vorgenommen werden, dass das Schneidwerkzeug in einer Richtung parallel zur Richtung der imaginären Y-Achse oszilliert.
-
Wie oben beschrieben wurde, legen die numerischen Steuerungen gemäß den Ausführungsformen das imaginäre Maschinenkoordinatensystem so fest, dass das Schneidwerkzeug in einer Richtung parallel zur Richtung der imaginären X-Achse, die die X-Achse des imaginären Maschinenkoordinatensystems ist, in Oszillation versetzt wird, oder das Schneidwerkzeug in einer Richtung parallel zur Richtung der imaginären Y-Achse, die die Y-Achse des imaginären Maschinenkoordinatensystems ist, in Oszillation versetzt wird, und steuern die Wellen der Werkzeugmaschine dann unter Verwendung des imaginären Maschinenkoordinatensystems. Die numerischen Steuerungen gemäß den Ausführungsformen verfahren die Schneidwerkzeuge T1 bis T5 entlang der realen X-Achsenrichtung und entlang der realen Y-Achsenrichtung, indem sie den in 2 dargestellten X-Achsen-Servomotor und Y-Achsen-Servomotor steuern. Es wird darauf hingewiesen, dass in der Beschreibung der Ausführungsformen ein Schneidwerkzeug als „Werkzeug“ bezeichnet wird. Außerdem kann sich die Beschreibung der Ausführungsformen auf die reale X-Achse als X-Achse und die reale Y-Achse als Y-Achse beziehen.
-
Erste Ausführungsform
-
3 zeigt eine Darstellung zur Veranschaulichung eines Konfigurationsbeispiels einer numerischen Steuerung gemäß einer ersten Ausführungsform. Eine numerische Steuerung 1X gemäß der ersten Ausführungsform umfasst eine Eingabeeinheit 3, eine Anzeigeeinheit 4 und eine Steuerungsberechnungseinheit 2X. 3 veranschaulicht ferner eine Antriebseinheit 90, die in einer Werkzeugmaschine enthalten ist, die von der numerischen Steuerung 1X gesteuert wird. Die Elemente der Werkzeugmaschine sind abgesehen von der Antriebseinheit 90 in der Figur nicht dargestellt.
-
Bei der in der Werkzeugmaschine enthaltenen Antriebseinheit 90 handelt es sich um einen Mechanismus zum Antreiben eines Werkstücks, das ein zu bearbeitendes Objekt darstellt, und/oder eines Werkzeugs in zumindest zwei axialen Richtungen. Die Antriebseinheit 90 umfasst dabei mehrere Servomotoren 91, von denen jeder das Werkstück und/oder das Werkzeug in Richtung der entsprechenden Achse, die in der numerischen Steuerung 1X definiert ist, bewegt, und mehrere Detektoren 92, von denen jeder die Position und die Drehzahl des Rotors des entsprechenden Servomotors 91 erfasst. Die Antriebseinheit 90 umfasst auch eine X-Achsen-Servosteuerungseinheit 93X und eine Y-Achsen-Servosteuerungseinheit 93Y, ..., die die Servomotoren 91 auf Basis der von den Detektoren 92 erfassten Positionen und Drehzahlen steuern. Es wird darauf hingewiesen, dass die den jeweiligen Achsen entsprechenden Servosteuerungseinheiten (d. h. die X-Achsen-Servosteuerungseinheit 93X, die Y-Achsen-Servosteuerungseinheit 93Y, ...) im Folgenden jeweils einfach als Servosteuerungseinheit 93 bezeichnet werden, wenn keine Unterscheidung zwischen den Richtungen der Antriebsachsen getroffen werden muss. Die Antriebseinheit 90 umfasst ferner einen Spindelmotor 94, der die Spindel zum Drehen des Werkstücks dreht, einen Detektor 95, der die Position und die Drehfrequenz des Rotors des Spindelmotors 94 erfasst, und eine Spindelsteuerungseinheit 96, die den Spindelmotor 94 auf Basis der Position und der Drehfrequenz steuert, die von dem Detektor 95 erfasst wurden.
-
Zurückkehrend zur Beschreibung der numerischen Steuerung 1X stellt die Eingabeeinheit 3 eine Einrichtung zur Eingabe von Informationen in die numerische Steuerung 1X dar. Die Eingabeeinheit 3 umfasst eine Tastatur, eine Bedienungstaste, eine Maus und/oder dergleichen, um eine Eingabe für die numerische Steuerung 1X, wie z. B. einen Befehl, ein Bearbeitungsprogramm, einen Parameter und dergleichen, vom Benutzer zu erhalten und die Eingabe an die Steuerungsberechnungseinheit 2X weiterzugeben.
-
Die Anzeigeeinheit 4 umfasst eine Flüssigkristallanzeige oder dergleichen zur Anzeige von Informationen, die durch eine von der Steuerungsberechnungseinheit 2X durchgeführte Verarbeitung erhalten wurden, und zur Durchführung ähnlicher Operationen.
-
Die Steuerungsberechnungseinheit 2X umfasst eine Eingabesteuerungseinheit 32, eine Dateneinstelleinheit 33, eine Speichereinheit 34, eine Anzeigebildverarbeitungseinheit 31, eine Steuersignalverarbeitungseinheit 35, eine speicherprogrammierbare Steuerung (SPS) 36, eine Analyseverarbeitungseinheit 37, eine Interpolationsverarbeitungseinheit 38X, eine Beschleunigungs-/Verzögerungsverarbeitungseinheit 39 und eine Achsendateneingabe-/-ausgabeeinheit 40. Es wird darauf hingewiesen, dass die SPS 36 außerhalb der Steuerungsberechnungseinheit 2X angeordnet sein kann.
-
Die Eingabesteuerungseinheit 32 empfängt die mit der Eingabeeinheit 3 eingegebenen Informationen. Die Dateneinstelleinheit 33 speichert die von der Eingabesteuerungseinheit 32 empfangenen Informationen in der Speichereinheit 34. Wenn es sich bei den eingegebenen Informationen beispielsweise um eine Bearbeitung des in der Speichereinheit 34 gespeicherten Bearbeitungsprogramms 343 handelt, spiegelt die Dateneinstelleinheit 33 die Bearbeitung in dem Bearbeitungsprogramm 343 wider, das in der Speichereinheit 34 gespeichert ist. Alternativ dazu aktualisiert die Dateneinstelleinheit 33 die in der Speichereinheit 34 gespeicherten Parameterdaten 341, wenn ein Parameter eingegeben wird.
-
Die Speichereinheit 34 speichert Parameterdaten 341 zur Verwendung bei der Verarbeitung durch die Steuerungsberechnungseinheit 2X, Anzeigedaten 342, die an der Anzeigeeinheit 4 angezeigt werden sollen, das auszuführende Bearbeitungsprogramm 343 und dergleichen.
-
Die Speichereinheit 34 umfasst auch einen gemeinsam genutzten Bereich 344 zum Speichern von anderen Daten als den Parameterdaten 341, den Anzeigedaten 342 und dem Bearbeitungsprogramm 343. In dem gemeinsam genutzten Bereich 344 werden temporär Daten gespeichert, die während einer von der Steuerungsberechnungseinheit 2X durchgeführten Verarbeitung zur Steuerung der Antriebseinheit 90 erzeugt wurden. Die Anzeigebildverarbeitungseinheit 31 steuert die Anzeige der in der Speichereinheit 34 gespeicherten Anzeigedaten 342 an der Anzeigeeinheit 4.
-
Die Analyseverarbeitungseinheit 37 umfasst eine Bewegungsbefehl-Analyseeinheit 371 und eine Oszillationsbefehl-Analyseeinheit 372. Die Analyseverarbeitungseinheit 37 liest das einen oder mehrere Blöcke enthaltende Bearbeitungsprogramm 343 aus der Speichereinheit 34 aus und analysiert das ausgelesene Bearbeitungsprogramm 343 mit Hilfe der Bewegungsbefehl-Analyseeinheit 371 oder der Oszillationsbefehl-Analyseeinheit 372. Die Bewegungsbefehl-Analyseeinheit 371 analysiert einen im Bearbeitungsprogramm 343 enthaltenen Verfahrbefehl und schreibt das Analyseergebnis in den gemeinsam genutzten Bereich 344 der Speichereinheit 34. Die Oszillationsbefehl-Analyseeinheit 372 analysiert einen im Bearbeitungsprogramm 343 enthaltenen Oszillationsbefehl und schreibt das Analyseergebnis in den gemeinsam genutzten Bereich 344 der Speichereinheit 34. Ein Oszillationsbefehl enthält ein oder mehrere Argumente, die jeweils eine Bedingung dafür angeben, wie das Werkzeug bei der Vibrationsschneidbearbeitung in Oszillation versetzt werden soll. Ein Oszillationsbefehl enthält ein Argument zur Angabe der Oszillationsrichtung, d. h. der Achse, entlang der das Werkzeug oszillieren soll, ein Argument zur Angabe der Amplitude der Oszillation, ein Argument zur Angabe der Frequenz der Oszillation und/oder dergleichen. Die Frequenz der Oszillation wird beispielsweise durch die Anzahl der Oszillationen während einer Spindelumdrehung ausgedrückt. Ein Oszillationsbefehl wird beispielsweise durch einen G 165-Code angegeben.
-
Wenn die Analyseverarbeitungseinheit 37 einen Hilfsbefehl liest, informiert die Steuersignalverarbeitungseinheit 35 die SPS 36, dass ein Hilfsbefehl ausgegeben wurde. Ein Hilfsbefehl ist ein Befehl für den Betrieb der Maschine, wobei Befehle für den Betrieb einer Antriebsachse, die eine numerisch gesteuerte Achse ist, nicht dazu gehören. Ein Beispiel für einen Hilfsbefehl ist ein M-Code oder T-Code.
-
Nach Empfang der Meldung von der Steuersignalverarbeitungseinheit 35, dass ein Hilfsbefehl ausgegeben wurde, führt die SPS 36 einen diesem Hilfsbefehl entsprechenden Vorgang aus. Die SPS 36 enthält ein Kontaktplanprogramm, in dem eine Maschinenprozedur codiert ist. Bei Empfang eines T-Codes oder M-Codes, bei denen es sich um Hilfsbefehle handelt, führt die SPS 36 die dem Hilfsbefehl entsprechende Prozedur gemäß dem Kontaktplanprogramm aus. Nach der Durchführung der dem Hilfsbefehl entsprechenden Prozedur sendet die SPS 36 an die Steuersignalverarbeitungseinheit 35 ein Abschlusssignal, das den Abschluss der dem Hilfsbefehl entsprechenden Prozedur anzeigt, um die Ausführung des nächsten Blocks des Bearbeitungsprogramms 343 zu veranlassen.
-
In der Steuerungsberechnungseinheit 2X sind die Steuersignalverarbeitungseinheit 35, die Analyseverarbeitungseinheit 37 und die Interpolationsverarbeitungseinheit 38X über die Speichereinheit 34 miteinander verbunden. Die Analyseverarbeitungseinheit 37, die Steuersignalverarbeitungseinheit 35 und die Interpolationsverarbeitungseinheit 38X tauschen gegenseitig verschiedene Informationen über den gemeinsam genutzten Bereich 344 der Speichereinheit 34 aus. Die Angabe, dass das Bereitstellen und Empfangen von Informationen zu und von der Steuersignalverarbeitungseinheit 35, der Analyseverarbeitungseinheit 37 und der Interpolationsverarbeitungseinheit 38X über die Speichereinheit 34 erfolgt, kann in der folgenden Beschreibung weggelassen sein.
-
Wenn die Analyseverarbeitungseinheit 37 einen Befehl analysiert hat, der ein Argument bezüglich der Bewegungsbahn des Werkzeugs enthält, berechnet die Interpolationsverarbeitungseinheit 38X die Bewegungsbahn des Werkzeugs unter Verwendung einer Interpolationsoperation auf Basis des in dem analysierten Befehl enthaltenen Arguments. Ein Befehl mit einem Argument, das sich auf die Bewegungsbahn des Werkzeugs bezieht, ist ein Befehl, der eines oder mehrere der folgenden Argumente enthält: ein Argument, das die Position des Werkzeugs spezifiziert, ein Argument, das die Bewegungsgeschwindigkeit des Werkzeugs spezifiziert, ein Argument, das die Interpolationsmethode spezifiziert, die bei der Interpolationsoperation verwendet werden soll, und dergleichen. Ein Oszillationsbefehl ist einer der Befehle, die ein Argument enthalten, das sich auf die Bewegungsbahn des Werkzeugs bezieht.
-
Die Interpolationsverarbeitungseinheit 38X umfasst eine Zuordnungsverhältnis-Bestimmungseinheit 381, eine Kurvenforminformationsbezugseinheit 382, eine Vergleichseinheit 383, eine Oszillationsbefehlskurvenform-Anpassungseinheit 384X, eine Oszillationskurvenform-Erzeugungseinheit 385 und eine Oszillationsbewegungsstrecken-Berechnungseinheit 386.
-
Die Oszillationskurvenform-Erzeugungseinheit 385 erzeugt eine Oszillationskurvenform, die die Bewegungsbahn des Werkzeugs repräsentiert, wenn das Werkzeug so gesteuert wird, dass es in Oszillation versetzt wird, auf Basis des Ergebnisses der Analyse eines Oszillationsbefehls, die von der Oszillationsbefehl-Analyseeinheit 372 durchgeführt wird, d. h. basierend auf dem/den Argument(en), die in dem analysierten Oszillationsbefehl enthalten sind. Die von der Oszillationskurvenform-Erzeugungseinheit 385 erzeugte Oszillationskurvenform repräsentiert die Oszillationsbahn des Werkzeugs, wenn das Werkzeug entlang der Richtung einer imaginären Achse in Oszillation versetzt wird.
-
Die Zuordnungsverhältnis-Bestimmungseinheit 381 bestimmt das Verhältnis, in dem die von der Oszillationskurvenform-Erzeugungseinheit 385 erzeugte Oszillationskurvenform vektoriell in Komponenten entlang der Richtungen der jeweiligen Antriebsachsen zerlegt werden soll, die gesteuert werden, wenn das Werkzeug unter Verwendung der Imaginärachsensteuerung bewegt wird. Wie oben beschrieben wurde, wird das Werkzeug durch die Imaginärachsensteuerung entlang der Richtung einer imaginären Achse mittels einer synchronen Steuerung mehrerer Antriebsachsen bewegt. Dementsprechend ergibt sich die Bewegungstrecke des Werkzeugs entlang der Richtung einer imaginären Achse aus den Bewegungsstrecken entlang der Richtungen der jeweiligen Antriebsachsen, die bei der Imaginärachsensteuerung synchron gesteuert werden. Andererseits ist die von der Oszillationskurvenform-Erzeugungseinheit 385 erzeugte Oszillationskurvenform eine Kurvenform in dem imaginären Maschinenkoordinatensystem, das durch imaginäre Achsen definiert ist, d. h. eine Kurvenform, die die Oszillation entlang der Richtung einer imaginären Achse repräsentiert. Daher bestimmt die Zuordnungsverhältnis-Bestimmungseinheit 381 das Verhältnis, in dem die Komponente der von der Oszillationskurvenform-Erzeugungseinheit 385 erzeugten Oszillationskurvenform vektoriell in Komponenten entlang der Richtungen der jeweiligen Antriebsachsen zu zerlegen ist, um die Kurvenformen zu erhalten, die die Oszillationen entlang der Richtungen der jeweiligen Antriebsachsen repräsentieren.
-
Die Kurvenforminformationsbezugseinheit 382 erhält von der Antriebseinheit 90 Informationen über Kurvenformen, die die tatsächliche Bewegungsbahn wiedergeben, wenn eine Steuerung durchgeführt wird, um das Werkzeug in Oszillation zu versetzen.
-
Die Vergleichseinheit 383 vergleicht die von der Oszillationskurvenform-Erzeugungseinheit 385 erzeugte Oszillationskurvenform mit einer Feedback-Kurvenform, bei der es sich um die Kurvenform handelt, die den entsprechenden Teil der von der Kurvenforminformationsbezugseinheit 382 erhaltenen Informationen repräsentiert. Die Vergleichseinheit 383 führt einen Vergleich unter Verwendung einer Komponente entlang der X-Achse und einer Komponente entlang der Y-Achse durch, die durch Zerlegen der von der Oszillationskurvenform-Erzeugungseinheit 385 erzeugten Oszillationskurvenform erhalten werden. Konkret vergleicht die Vergleichseinheit 383 die Oszillationskurvenform, die die Komponente entlang der X-Achse darstellt, d. h. die X-Achsen-Oszillationskurvenform, mit der X-Achsen-Feedback-Kurvenform, die die Informationen beschreibt, die von dem Detektor 92 erhalten werden, der die Position und die Geschwindigkeit des Rotors des Servomotors 91 für die X-Achse erfasst. Die Vergleichseinheit 383 vergleicht auch die Oszillationskurvenform, die die Komponente entlang der Y-Achse darstellt, d. h. die Y-Achsen-Oszillationskurvenform, mit der Y-Achsen-Feedback-Kurvenform, die die Informationen beschreibt, die von dem Detektor 92 erhalten werden, der die Position und die Geschwindigkeit des Rotors des Servomotors 91 für die Y-Achse erfasst.
-
Die Oszillationsbefehlskurvenform-Anpassungseinheit 384X nimmt basierend auf dem Vergleichsergebnis der Vergleichseinheit 383 eine später beschriebene Anpassung der Oszillationsbefehlskurvenform vor.
-
Die Oszillationsbewegungsstrecken-Berechnungseinheit 386 erzeugt eine X-Achsen-Oszillationsbefehlskurvenform, die die Bewegungsbahn des Werkzeugs entlang der X-Achse repräsentiert, und eine Y-Achsen-Oszillationsbefehlskurvenform, die die Bewegungsbahn des Werkzeugs entlang der Y-Achse repräsentiert, basierend auf der Oszillationskurvenform, die von der Oszillationskurvenform-Erzeugungseinheit 385 erzeugt wird, und basierend auf dem Verhältnis, das von der Zuordnungsverhältnis-Bestimmungseinheit 381 bestimmt wird. Die Oszillationsbewegungsstrecken-Berechnungseinheit 386 berechnet dann die Bewegungsstrecke des Werkzeugs pro Zeiteinheit, wenn die Vibrationsschneidbearbeitung während der Oszillation des Werkzeugs durchgeführt wird, basierend auf den in Bezug auf die jeweiligen Achsen erzeugten Oszillationsbefehlskurvenformen. Die Oszillationsbewegungsstrecken-Berechnungseinheit 386 berechnet für jede Antriebsachse die Oszillationsbewegungsstrecke, d. h. die Bewegungsstrecke des Werkzeugs pro Zeiteinheit. Die Oszillationsbewegungsstrecken-Berechnungseinheit 386 berechnet demnach die Oszillationsbewegungsstrecke des Werkzeugs entlang der X-Achse und die Oszillationsbewegungsstrecke des Werkzeugs entlang der Y-Achse auf Basis der den jeweiligen Antriebsachsen entsprechenden Oszillationsbefehlskurvenformen.
-
Die Beschleunigungs-/Verzögerungsverarbeitungseinheit 39 wandelt die Bewegungsstrecke pro Zeiteinheit entlang jeder der Antriebsachsen, die von der Oszillationsbewegungsstrecken-Berechnungseinheit 386 der Interpolationsverarbeitungseinheit 38X empfangen wurde, in einen Bewegungsbefehl pro Zeiteinheit um, der die Beschleunigung und die Verzögerung auf Basis eines vorgegebenen Beschleunigungs-/Verzögerungsmusters berücksichtigt.
-
Die Achsendateneingabe-/-ausgabeeinheit 40 gibt die von der Beschleunigungs-/Verzögerungsverarbeitungseinheit 39 ausgegebenen Bewegungsbefehle pro Zeiteinheit an die Servosteuerungseinheiten 93 aus, die die Antriebsachsen steuern. Ferner erhält die Achsendateneingabe-/-ausgabeeinheit 40 von der Antriebseinheit 90 Daten, die die Position und die Drehzahl jedes der Servomotoren 91 angeben.
-
Es wird nun eine Vibrationsschneidbearbeitung, die von der in 3 dargestellten numerischen Steuerung 1X während des Gewindeschneidens durchgeführt wird, kurz beschrieben.
-
Die Analyseverarbeitungseinheit 37 der numerischen Steuerung 1X liest einen Block aus dem Bearbeitungsprogramm 343 aus, der dann von der Bewegungsbefehl-Analyseeinheit 371 analysiert wird, wenn der gelesene Block ein Gewindeschneidbefehl ist, oder von der Oszillationsbefehl-Analyseeinheit 372 analysiert wird, wenn der gelesene Block ein Oszillationsbefehl ist. Die Analyseverarbeitungseinheit 37 stellt beispielsweise fest, dass der gelesene Block ein Gewindeschneidbefehl ist, wenn der Block ein G33-Code ist, und dass der gelesene Block ein Oszillationsbefehl ist, wenn der Block ein G165 -Code ist.
-
Ein Gewindeschneidbefehl enthält ein Argument, das die Bewegungsbahn des Werkzeugs in einem einzelnen Gewindeschneidvorgang angibt. Ein Gewindeschneidbefehl umfasst beispielsweise ein Argument, das die Position zum Starten eines Gewindeschneidvorgangs spezifiziert, ein Argument, das die Position zum Beenden des Gewindeschneidvorgangs spezifiziert, und ein Argument, das die Bewegungsstrecke des Werkzeugs pro Werkstückumdrehung (d. h. die Steigung) spezifiziert. Es wird dabei davon ausgegangen, dass das beim Gewindeschneiden verwendete Werkzeug durch einen Befehl zum Spezifizieren des zu verwendenden Werkzeugs vorgegeben ist, ein Argument zur Angabe des zu verwendenden Werkzeugs kann jedoch auch in den Gewindeschneidbefehl aufgenommen werden.
-
Wenn beim Gewindeschneiden eine Vibrationsschneidbearbeitung durchgeführt wird, wird das Gewindeschneiden durchgeführt, während das Werkzeug in einer Richtung senkrecht zur Bearbeitungsrichtung des Gewindeschneidens in Oszillation versetzt wird, d. h. in einer Richtung senkrecht zur Rotationsachse des Werkstücks (siehe 4), im Unterschied zu dem Fall, bei dem das Vibrationsschneiden während einer üblichen Werkstückbearbeitung durchgeführt wird. 4 zeigt eine Darstellung zur Veranschaulichung der Oszillationsrichtung des Werkzeugs, wenn bei einer Gewindeschneidbearbeitung ein Vibrationsschneiden durchgeführt wird. Es wird angenommen, dass die X-Achse und die Z-Achse senkrecht zueinander verlaufen. Wie in 4 dargestellt ist, wird das Werkzeug beim Vibrationsschneiden in X-Achsenrichtung in Oszillation versetzt, wobei die Bearbeitungsrichtung die Z-Achsenrichtung ist.
-
Nachdem die Oszillationsbefehl-Analyseeinheit 372 einen Oszillationsbefehl analysiert hat, erhält die Oszillationskurvenform-Erzeugungseinheit 385 das Ergebnis der Analyse des Oszillationsbefehls über den gemeinsam genutzten Bereich 344 und erzeugt eine Oszillationskurvenform, bei der es sich um eine Oszillationsgrundkurvenform handelt, auf Basis des erhaltenen Analyseergebnisses. Die Oszillationsbewegungsstrecken-Berechnungseinheit 386 berechnet beispielsweise die Oszillationsbewegungsstrecke entlang der X-Achse unter Verwendung der von der Oszillationskurvenform-Erzeugungseinheit 385 erzeugten Oszillationskurvenform und unter Verwendung der Bewegungsbahn des Werkzeugs. Konkret berechnet die Oszillationsbewegungsstrecken-Berechnungseinheit 386 eine Oszillationsvorlaufposition, die durch Addition der Amplitude der Oszillationskurvenform zu der Bewegungsbahn des Werkzeugs erhalten wird, und eine Oszillationsrücklaufposition, die durch Subtraktion der Amplitude der Oszillationskurvenform von der Bewegungsbahn des Werkzeugs erhalten wird, um so die Oszillationsbewegungsstrecke entlang der X-Achse zu erzeugen. Die Bewegungsbahn des Werkzeugs erhält man aus dem Ergebnis der Analyse des Gewindeschneidbefehls durch die Bewegungsbefehl-Analyseeinheit 371.
-
Die von der Oszillationsbewegungsstrecken-Berechnungseinheit 386 berechneten Oszillationsbewegungsstrecken werden über die Beschleunigungs-/Verzögerungsverarbeitungseinheit 39 und über die Achsendateneingabe-/-ausgabeeinheit 40 an die Antriebseinheit 90 gesendet. In der Antriebseinheit 90 steuert die X-Achsen-Servosteuerungseinheit 93X den Servomotor 91 für die X-Achse auf Basis der Oszillationsbewegungsstrecke, die von der Oszillationsbewegungsstrecken-Berechnungseinheit 386 empfangen wird. Die Antriebseinheit 90 führt demnach bei der Gewindeschneidbearbeitung ein Vibrationsschneiden durch. 5 veranschaulicht das Prinzip des Vibrationsschneidens bei einer Gewindeschneidbearbeitung schematisch. In 5 zeigt ein dunkler Bereich einen tief geschnittenen Bereich des Werkstücks, der aus einem großen Schnittvolumen während der Oszillation des Werkzeugs resultiert, wobei ein heller Bereich einen leicht geschnittenen Bereich des Werkstücks zeigt. Durch eine Phasenverschiebung von beispielsweise 180 Grad zwischen der in 4 dargestellten Oszillation entlang der X-Achsenrichtung bei der ersten Umdrehung des Gewindeschneidvorgangs und der Oszillation entlang der X-Achsenrichtung bei der zweiten Umdrehung des Gewindeschneidvorgangs kann der bei der ersten Umdrehung tief geschnittene Bereich in der zweiten Umdrehung leicht geschnitten werden, wobei in diesem Bereich Späne gebrochen werden. Demnach werden zerkleinerte Späne ausgetragen.
-
6 zeigt ein Flussdiagramm zur Veranschaulichung eines Beispiels für eine Prozedur, bei der die numerische Steuerung 1X gemäß der ersten Ausführungsform einen Gewindeschneidvorgang ausführt, während ein Werkzeug mittels Imaginärachsensteuerung in Oszillation versetzt wird. Wenn bei dieser Prozedur eine Imaginärachsensteuerung durchgeführt werden soll, enthält das Bearbeitungsprogramm 343 einen Imaginärachsensteuerbefehl, der eine Anweisung zum Starten der Imaginärachsensteuerung angibt. Wenn das Werkzeug entlang einer imaginären Achse durch eine Imaginärachsensteuerung in Oszillation versetzt werden soll, erzeugt der Ersteller des Bearbeitungsprogramms 343 demnach ein Bearbeitungsprogramm 343, das die numerische Steuerung 1X veranlasst, zuerst einen Imaginärachsensteuerbefehl und dann anschließend einen Oszillationsbefehl auszuführen. Ein Imaginärachsensteuerbefehl umfasst verschiedene Argumente, die die Beziehung zwischen dem imaginären Maschinenkoordinatensystem, das bei der Imaginärachsensteuerung verwendet werden soll, und dem realen Maschinenkoordinatensystem spezifizieren. Beispiele für Argumente, die in einem Imaginärachsensteuerbefehl enthalten sind, umfassen ein Argument, das den Drehwinkel angibt, der bei der Festlegung des imaginären Maschinenkoordinatensystems durch Drehung des realen Maschinenkoordinatensystems zu verwenden ist, d. h. den Drehwinkel, der angibt, wie weit die realen Achsen des realen Maschinenkoordinatensystems gedreht werden müssen, um das imaginäre Maschinenkoordinatensystem festzulegen; und ein Argument, das angibt, wie weit das reale Maschinenkoordinatensystem bei der Festlegung des imaginären Maschinenkoordinatensystems in den Richtungen der jeweiligen realen Achsen verschoben werden muss. Hinsichtlich eines die Oszillationsrichtung in einem Oszillationsbefehl spezifizierenden Arguments spezifiziert ein solches Argument in einem Oszillationsbefehl, der nach dem Start der Imaginärachsensteuerung ausgeführt wird, die Oszillationsrichtung im imaginären Maschinenkoordinatensystem. Wenn beispielsweise ein Oszillationsbefehl, der ein Argument enthält, das eine Oszillation entlang der X-Achsenrichtung spezifiziert, nach dem Start der Imaginärachsensteuerung ausgeführt wird, wird die durch das Argument dieses Oszillationsbefehls spezifizierte Oszillationsrichtung als die imaginäre X-Achsenrichtung gelesen.
-
Zu Beginn der in 6 dargestellten Prozedur erhält die Analyseverarbeitungseinheit 37 einen Drehwinkel von einem Imaginärachsensteuerbefehl aus den in dem Bearbeitungsprogramm 343 enthaltenen Befehlen (Schritt S1). Es wird darauf hingewiesen, dass der Drehwinkel hier als von einem Imaginärachsensteuerbefehl erhalten beschrieben wird, die Analyseverarbeitungseinheit 37 den Drehwinkel jedoch auch auf Basis eines Befehls erhalten kann, der das zu verwendende Werkzeug spezifiziert. Bei der vorliegenden Ausführungsform wird wie in 2 dargestellt davon ausgegangen, dass sich die beim Gewindeschneiden verwendeten Werkzeuge während der Bearbeitung in vorgegebenen Richtungen bewegen. Beispielsweise bilden die imaginäre X-Achse, die parallel zur Oszillationsrichtung des Schneidwerkzeugs T2 verläuft, und die reale X-Achse einen Winkel von 45 Grad. Der Drehwinkel beträgt daher 45 Grad, wenn das Schneidwerkzeug T2 als das zu verwendende Werkzeug festgelegt wird. Alternativ dazu beträgt der Drehwinkel 90 Grad, wenn das Schneidewerkzeug T1 als das zu verwendende Werkzeug spezifiziert wird. Die Wahl des zu verwendenden Werkzeugs bestimmt somit den Winkel zwischen der imaginären Achse und der realen Achse, d. h. den Drehwinkel.
-
Als Nächstes zerlegt die Interpolationsverarbeitungseinheit 38X die Oszillationskurvenform auf Basis des Drehwinkels vektoriell in Komponenten entlang der realen Achsen (Schritt S2). In Schritt S2 bestimmt die Zuordnungsverhältnis-Bestimmungseinheit 381 zunächst das Verhältnis (im Folgenden als Zuordnungsverhältnis bezeichnet), in dem die von der Oszillationskurvenform-Erzeugungseinheit 385 erzeugte Oszillationskurvenform basierend auf dem in Schritt S1 erhaltenen Drehwinkel vektoriell in eine reale X-Achsen-Komponente und eine reale Y-Achsen-Komponente zu zerlegen ist. Die Zuordnungsverhältnis-Bestimmungseinheit 381 teilt der Oszillationsbewegungsstrecken-Berechnungseinheit 386 das bestimmte Zuordnungsverhältnis mit. Die Oszillationskurvenform-Erzeugungseinheit 385 erzeugt eine Oszillationskurvenform basierend auf dem Ergebnis der Analyse des Oszillationsbefehls und übergibt die Oszillationskurvenform an die Oszillationsbewegungsstrecken-Berechnungseinheit 386. Die Oszillationsbewegungsstrecken-Berechnungseinheit 386 erzeugt Oszillationsbefehlskurvenformen für die jeweiligen Achsen auf Basis der von der Oszillationskurvenform-Erzeugungseinheit 385 erzeugten Oszillationskurvenform und des von der Zuordnungsverhältnis-Bestimmungseinheit 381 bestimmten Zuordnungsverhältnisses. Die Oszillationsbewegungsstrecken-Berechnungseinheit 386 zerlegt die von der Oszillationskurvenform-Erzeugungseinheit 385 erzeugte Oszillationskurvenformkomponente demnach vektoriell in Komponenten entlang der jeweiligen realen Achsen auf Basis des Zuordnungsverhältnisses, um die Oszillationsbefehlskurvenformen für die jeweiligen Achsen zu erzeugen. Bei der vorliegenden Ausführungsform erzeugt die Oszillationsbewegungsstrecken-Berechnungseinheit 386 eine Oszillationsbefehlskurvenform für die reale X-Achse und eine Oszillationsbefehlskurvenform für die reale Y-Achse. Dann addiert die Oszillationsbewegungsstrecken-Berechnungseinheit 386 den Wert der Oszillationsbefehlskurvenform für die reale X-Achse zur Bewegungsstrecke des Werkzeugs entlang der realen X-Achse und den Wert der Oszillationsbefehlskurvenform für die reale Y-Achse zur Bewegungsstrecke des Werkzeugs entlang der realen Y-Achse, um die Oszillationsbewegungsstecken entlang der jeweiligen Achsen zu erzeugen. Die von der Oszillationsbewegungsstrecken-Berechnungseinheit 386 erzeugten Oszillationsbewegungsstrecken entlang der jeweiligen Achsen werden über die Beschleunigungs-/Verzögerungsverarbeitungseinheit 39 und über die Achsendateneingabe-/-ausgabeeinheit 40 an die Servosteuerungseinheiten 93 für die jeweiligen Wellen (d. h. die X-Achsen-Servosteuerungseinheit 93X, die Y-Achsen-Servosteuerungseinheit 93Y, ... ) der Antriebseinheit 90 übertragen. Die Servosteuerungseinheiten 93 für die jeweiligen Wellen steuern die jeweiligen Servomotoren 91 unter deren Kontrolle auf Basis der von der Oszillationsbewegungsstrecken-Berechnungseinheit 386 empfangenen Oszillationsbewegungsstrecken.
-
In dem in 2 dargestellten Beispiel wird das Schneidwerkzeug T2 ausgewählt, wobei der Drehwinkel der imaginären X-Achse, der der Oszillationsrichtung des Schneidwerkzeugs T2 entspricht, 45 Grad beträgt. In diesem Fall ist das Zuordnungsverhältnis der Oszillationskurvenform 1/2 für die reale X-Achse und 1/2 für die reale Y-Achse. 7 zeigt ein Beispiel für die Oszillationsbefehlskurvenform für die reale X-Achse und die Oszillationsbefehlskurvenform für die reale Y-Achse, wenn das in 2 dargestellte Schneidwerkzeug T2 ausgewählt und eine Gewindeschneidbearbeitung mit Vibrationsschneiden durchgeführt wird. 7 zeigt eine Darstellung zur Veranschaulichung eines Beispiels für Oszillationsbefehlskurvenformen, die von der Oszillationskurvenform-Erzeugungseinheit 385 einer numerischen Steuerung 1X gemäß der ersten Ausführungsform erzeugt werden. Teil (a) von 7 veranschaulicht die Oszillationsbefehlskurvenform für die reale X-Achse, und Teil (b) von 7 veranschaulicht die Oszillationsbefehlskurvenform für die reale Y-Achse. Zur Vereinfachung der Darstellung zeigt 7 die Oszillationsbefehlskurvenformen ohne Berücksichtigung der Bewegungsstrecken der jeweiligen Achsen, d. h. die Oszillationskurvenformen, wenn die Bewegungsstrecken der jeweiligen Achsen 0 sind. Gemäß dem Zuordnungsverhältnis der Oszillationskurvenform, das 1/2 für die reale X-Achse und 1/2 für die reale Y-Achse beträgt, weisen die Oszillationsbefehlskurvenform für die reale X-Achse und die Oszillationsbefehlskurvenform für die reale Y-Achse die gleiche Amplitude und die gleiche Frequenz auf. Ein von 45 Grad verschiedener Drehwinkel führt zu einer Oszillationsbefehlskurvenform für die reale X-Achse und Oszillationsbefehlskurvenform für die reale Y-Achse, deren Amplituden sich in der Größe voneinander unterscheiden. Es wird darauf hingewiesen, dass die Frequenz der Oszillationsbefehlskurvenform für die reale X-Achse und die Frequenz der Oszillationsbefehlskurvenform für die reale Y-Achse auch dann gleich sind, wenn der Drehwinkel von 45 Grad abweicht.
-
Zurückkommend auf die Beschreibung von 6 erhält die Kurvenforminformationsbezugseinheit 382 anschließend Feedback-Oszillationskurvenformen (im Folgenden als FB-Oszillationskurvenformen bezeichnet) für die jeweiligen Achsen auf Basis von Daten, die von den an den jeweiligen Servomotoren 91 angebrachten Detektoren 92 ausgegeben werden (Schritt S3). Bei einer FB-Oszillationskurvenform handelt es sich um eine tatsächliche Oszillationskurvenform des Werkzeugs, das bei der Bearbeitung verwendet wird.
-
Als Nächstes vergleicht die Vergleichseinheit 383 die Oszillationsbefehlskurvenformen für die jeweiligen Achsen, die von der Oszillationsbewegungsstrecken-Berechnungseinheit 386 erzeugt wurden, mit den FB-Oszillationskurvenformen für die jeweiligen Achsen, die in Schritt S3 erhalten wurden (Schritt S4). Die Oszillationsbefehlskurvenformen werden mit den FB-Oszillationskurvenformen auf einer pro-Achsen-Basis verglichen. Wenn es sich beispielsweise bei den Oszillationsbefehlskurvenformen für die jeweiligen Achsen, die von der Oszillationsbewegungsstrecken-Berechnungseinheit 386 erzeugt wurden, um die Kurvenformen handelt, die in 8 durch durchgezogene Linien dargestellt sind, und die FB-Oszillationskurvenformen für die jeweiligen Achsen die Kurvenformen sind, die in 8 durch gestrichelte Linien dargestellt sind, bestimmt die Vergleichseinheit 383, dass die Oszillationsbefehlskurvenform für die reale X-Achse und FB-Oszillationsbefehlskurvenform für die reale X-Achse unterschiedliche Amplituden haben und dass die Oszillationsbefehlskurvenform für die reale Y-Achse und die FB-Oszillationskurvenform für die reale Y-Achse unterschiedliche Amplituden und unterschiedliche Phasen aufweisen. Die Vergleichseinheit 383 bestimmt, ob die Amplituden gleich sind, indem sie beispielsweise den Maximalwert der Amplitude der Oszillationsbefehlskurvenform mit dem Maximalwert der Amplitude der FB-Oszillationskurvenform vergleicht. Ferner bestimmt die Vergleichseinheit 383, ob die Phasen gleich sind, indem sie beispielsweise die Position des Peaks der Amplitude der Oszillationsbefehlskurvenform mit der Position des Peaks der Amplitude der FB-Oszillationskurvenform vergleicht. Die Vergleichseinheit 383 kann bestimmen, dass die Amplituden gleich sind, wenn die Differenz zwischen der Amplitude der Oszillationsbefehlskurvenform und der Amplitude der FB-Oszillationskurvenform kleiner oder gleich einem festgelegten Wert ist, und sie kann bestimmen, dass die Phasen gleich sind, wenn die Differenz zwischen der Phase der Oszillationsbefehlskurvenform und der Phase der FB-Oszillationskurvenform kleiner oder gleich einem festgelegten Wert ist.
-
Wenn die Amplituden bei beiden Paaren aus Oszillationsbefehlskurvenform und FB-Oszillationskurvenform für die jeweiligen Achsen gleich sind (Schritt S5: Ja), setzt die Interpolationsverarbeitungseinheit 38X die Prozedur mit Schritt S7 fort. Wenn die Amplituden bei beiden Paaren aus Oszillationsbefehlskurvenform und FB-Oszillationskurvenform für die jeweiligen Achsen nicht gleich sind, d. h. wenn die Amplituden bei zumindest einem der Paare aus Oszillationsbefehlskurvenform und FB-Oszillationskurvenform entweder für die reale X-Achse oder die reale Y-Achse nicht gleich sind (Schritt S5: Nein), passt die Oszillationsbefehlskurvenform-Anpassungseinheit 384X die Oszillationsbefehlskurvenform an, um den Amplitudenunterschied zwischen der Oszillationsbefehlskurvenform und der FB-Oszillationskurvenform des Paares mit unterschiedlichen Amplituden auf nahezu Null zu reduzieren (Schritt S6). In dem in 8 dargestellten Beispiel sind die Amplituden weder für die reale X-Achse noch für die reale Y-Achse gleich. Daher passt die Oszillationsbefehlskurvenform-Anpassungseinheit 384X die Amplitude der Oszillationsbefehlskurvenform für die reale X-Achse und die Amplitude der Oszillationsbefehlskurvenform für die reale Y-Achse an. Beispielsweise berechnet die Oszillationsbefehlskurvenform-Anpassungseinheit 384X an jedem von mehreren Punkten die Differenz zwischen dem Maximalwert der Oszillationsbefehlskurvenform und dem Maximalwert der FB-Oszillationskurvenform, wobei deren Mittelwert zur Anpassung der Amplitude zu dem Maximalwert der Oszillationsbefehlskurvenform, die zum nächsten Zeitpunkt erzeugt wird, addiert oder davon subtrahiert wird. Der Anpassungswert, der bei der Anpassung der Amplitude einer Oszillationsbefehlskurvenform verwendet wird, wird hier als Oszillationsamplitudenanpassungswert bezeichnet.
-
Wenn die Phasen bei beiden Paaren aus Oszillationsbefehlskurvenform und FB-Oszillationskurvenform für die jeweiligen Achsen gleich sind (Schritt S7: Ja), setzt die Interpolationsverarbeitungseinheit 38X die Prozedur mit Schritt S3 fort. Wenn die Phasen bei beiden Paaren aus Oszillationsbefehlskurvenform und FB-Oszillationskurvenform für die jeweiligen Achsen nicht gleich sind, d. h. wenn die Phasen bei zumindest einem der Paare aus Oszillationsbefehlskurvenform und FB-Oszillationskurvenform entweder für die reale X-Achse oder die reale Y-Achse nicht gleich sind (Schritt S7: Nein), passt die Oszillationsbefehlskurvenform-Anpassungseinheit 384X die Oszillationsbefehlskurvenform an, um die Abweichung der Phase zwischen der Oszillationsbefehlskurvenform und der FB-Oszillationskurvenform des Paares mit unterschiedlichen Phasen auf nahezu Null zu reduzieren (Schritt S8). Bei dem in 8 dargestellten Beispiel weisen die Oszillationsbefehlskurvenform für die reale X-Achse und die FB-Oszillationskurvenform für die reale X-Achse die gleiche Phase auf, wobei die Oszillationsbefehlskurvenform für die reale Y-Achse und die FB-Oszillationskurvenform für die reale Y-Achse unterschiedliche Phasen haben. Daher passt die Oszillationsbefehlskurvenform-Anpassungseinheit 384X die Phase der Oszillationsbefehlskurvenform für die reale Y-Achse an. Wenn es eine Phasenabweichung zwischen der Oszillationsbefehlskurvenform und der FB-Oszillationskurvenform gibt, ist die Phase der FB-Oszillationskurvenform normalerweise gegenüber der Phase der Oszillationsbefehlskurvenform verzögert. Um die Ansprechempfindlichkeit des entsprechenden Servomotors 91 zu erhöhen und die Phasenabweichung auf nahezu Null zu reduzieren, passt die Oszillationsbefehlskurvenform-Anpassungseinheit 384X einen Servoparameter oder mehrere Servoparameter (im Folgenden allgemeiner als Servoparameter bezeichnet) an, wie beispielsweise die Schleifenverstärkung für den Strom und/oder die Schleifenverstärkung für die Drehzahl. Diese Servoparameter sind in den Parameterdaten 341 enthalten, die in der Speichereinheit 34 gespeichert sind. Die Oszillationsbefehlskurvenform-Anpassungseinheit 384X nimmt eine Anpassung vor, indem sie von den in den Parameterdaten 341 enthaltenen Servoparametern jeden der Servoparameterwerte, die zur Anpassung der Phase erforderlich sind, beispielsweise um „5“ erhöht. Die angepassten Parameter werden über die Beschleunigungs-/Verzögerungsverarbeitungseinheit 39 und über die Achsendateneingabe-/-ausgabeeinheit 40 an die X-Achsen-Servosteuerungseinheit 93X, die Y-Achsen-Servosteuerungseinheit 93Y, ... übertragen, wodurch die Schleifenverstärkung für den Strom, die Schleifenverstärkung für die Drehzahl und/oder dergleichen des entsprechenden Servomotors 91 angepasst werden kann. Auch wenn der Anpassungswert eines Servoparameters hier mit „5“ angegeben ist, kann der Anpassungswert ein anderer Wert sein. Nach der Durchführung von Schritt S8 kehrt die Interpolationsverarbeitungseinheit 38X zur Prozedur von Schritt S3 zurück.
-
Die Durchführung der in 6 dargestellten Prozedur zur Anpassung der Oszillationsbefehlskurvenformen bewirkt, dass sich die kombinierte Oszillationskurvenform, die durch Kombination der Oszillationsbefehlskurvenform für die reale X-Achse und der Oszillationsbefehlskurvenform für die reale Y-Achse erhalten wird, von der in 9 dargestellten zu der in 10 dargestellten ändert. Bei der in 9 dargestellten kombinierten Oszillationskurvenform handelt es sich um die kombinierte Oszillationskurvenform, bevor eine Anpassung der Amplituden und der Phasen der Oszillationsbefehlskurvenformen für die jeweiligen Achsen vorgenommen wird. Die in 10 dargestellte kombinierte Oszillationskurvenform ist die kombinierte Oszillationskurvenform, nachdem eine Anpassung der Amplituden und Phasen der Oszillationsbefehlskurvenformen für die jeweiligen Achsen vorgenommen wurde.
-
Indem die in 6 dargestellte Prozedur durchgeführt wird, d. h. die Prozedur zur Anpassung der Amplituden und der Phasen der Oszillationsbefehlskurvenformen für die jeweiligen Achsen auf Basis der FB-Oszillationskurvenformen für die jeweiligen Achsen, entlang derer das Werkzeug bewegt wird, kann die kombinierte Oszillationskurvenform eine normalere Form aufweisen, selbst wenn sich die Ansprechempfindlichkeiten der Servomotoren 91 der jeweiligen Wellen voneinander unterscheiden. Auf diese Weise wird bei der Vibrationsschneidbearbeitung mittels Imaginärachsensteuerung das Brechen von Spänen sichergestellt.
-
Auch wenn die vorliegende Ausführungsform in Bezug auf den Fall der Anwendung der Imaginärachsensteuerung auf die Vibrationsschneidbearbeitung beschrieben wurde, ist die in 11 dargestellte Schrägachsensteuerung ebenfalls anwendbar. Die in 11 dargestellte Schrägachsensteuerung wird bei der Steuerung einer Werkzeugmaschine mit der in 12 dargestellten Konfiguration verwendet, d. h. einer Werkzeugmaschine, bei der der Winkel zwischen den Achsen, an denen die Servomotoren befestigt sind (d. h in den 11 und 12 X-Achse und Y-Achse), nicht 90 Grad beträgt. In dem in 11 dargestellten Beispiel bilden die reale Y-Achse und die Y-Achse im Programm (y-Achse wie dargestellt) einen schiefen Winkel θ. Um das Werkzeug in Richtung der y-Achse in Oszillation zu versetzen, ist eine synchrone Steuerung der Servomotoren der realen X-Achse und der realen Y-Achse erforderlich. Ähnlich wie bei der Anwendung der vorstehenden Imaginärachsensteuerung kann dies durch Erzeugung von Oszillationsbefehlskurvenformen für die reale X-Achse und die reale Y-Achse erreicht werden, indem eine Oszillationskurvenform für die y-Achse erzeugt wird und diese Oszillationskurvenform auf Basis des schiefen Winkels θ vektoriell in Komponenten entlang der realen X-Achse und entlang der realen Y-Achse zerlegt wird.
-
Ferner kann die Vibrationsschneidbearbeitung auch unter Verwendung einer Werkzeugmaschine durchgeführt werden, die eine in 13 dargestellte Konfiguration aufweist. Die in 13 dargestellte Werkzeugmaschine ist so ausgebildet, dass sie ein Werkzeug dreht, positioniert und dann einsetzt. Darüber hinaus ist die Bewegungsrichtung des Werkzeugs nicht mit einer der Steuerungsachsen (X-Achse und Z-Achse, wie dargestellt) der Werkzeugmaschine ausgerichtet. Dies erfordert eine synchrone Steuerung der Servomotoren mehrerer Achsen, um das Werkzeug in Oszillation zu versetzen. Dies kann ähnlich wie im Fall der oben beschriebenen Imaginärachsensteuerung und Schrägachsensteuerung durch die Erzeugung von Oszillationsbefehlskurvenformen für die jeweiligen mehreren Achsen erreicht werden.
-
Es wird darauf hingewiesen, dass bei Verwendung der in 2 dargestellten Schneidwerkzeuge T1, T3 und T5 kein Imaginärachsensteuerbefehl, sondern ein Oszillationsbefehl ausgeführt wird. Dabei bestimmt die Zuordnungsverhältnis-Bestimmungseinheit 381 der Interpolationsverarbeitungseinheit 38X das Zuweisungsverhältnis unter Verwendung eines Drehwinkels von 90 Grad, wenn das Schneidwerkzeug T1 verwendet wird, eines Drehwinkels von 0 Grad, wenn das Schneidwerkzeug T3 verwendet wird, und eines Drehwinkels von -90 Grad, wenn das Schneidwerkzeug T5 verwendet wird.
-
Als Nächstes wird die Hardwarekonfiguration der Steuerungsberechnungseinheit 2X beschrieben, die in einer numerischen Steuerung 1X enthalten ist. 14 zeigt eine Darstellung zur Veranschaulichung eines Beispiels für die Hardwarekonfiguration der Steuerungsberechnungseinheit 2X in einer numerischen Steuerung 1X gemäß der ersten Ausführungsform.
-
Die Steuerungsberechnungseinheit 2X kann durch einen Prozessor 101 und einen Speicher 102 implementiert werden, die in 14 dargestellt sind. Ein Beispiel für den Prozessor 101 ist eine Zentraleinheit (CPU) (auch bekannt als Verarbeitungseinheit, Berechnungseinheit, Mikroprozessor, Mikrocomputer und digitaler Signalprozessor (DSP)) oder ein LSI (Large Scale Integration)-System. Ein Beispiel für einen Speicher 102 ist ein Direktzugriffsspeicher (RAM) oder ein Festwertspeicher (ROM).
-
Die Steuerungsberechnungseinheit 2X wird von dem Prozessor 101 implementiert, indem ein im Speicher 102 gespeichertes Programm zur Durchführung einer Prozedur der Steuerungsberechnungseinheit 2X gelesen und ausgeführt wird. Anders ausgedrückt kann das Programm einen Computer veranlassen, eine Prozedur oder ein Verfahren der Steuerungsberechnungseinheit 2X auszuführen. Der Speicher 102 wird auch als temporärer Speicher verwendet, wenn der Prozessor 101 verschiedene Verarbeitungsaufgaben ausführt.
-
Ein vom Prozessor 101 auszuführendes Programm kann ein Computerprogrammprodukt sein, das ein computerlesbares, nicht flüchtiges Aufzeichnungsmedium mit mehreren computerausführbaren Anweisungen zur Datenverarbeitung umfasst. Ein vom Prozessor 101 auszuführendes Programm umfasst mehrere Anweisungen, die einen Computer veranlassen, eine Datenverarbeitung durchzuführen.
-
Die Steuerungsberechnungseinheit 2X kann alternativ als dediziertes Hardwareelement implementiert sein. Ferner kann die Funktionalität der Steuerungsberechnungseinheit 2X teilweise durch ein dediziertes Hardwareelement und teilweise durch Software oder Firmware implementiert sein.
-
Wie oben beschrieben wurde, umfasst die numerische Steuerung 1X gemäß der vorliegenden Ausführungsform die Oszillationskurvenform-Erzeugungseinheit 385, die eine Oszillationskurvenform erzeugt, die eine Bewegungsbahn eines Werkzeugs während der Oszillation des Werkzeugs repräsentiert; die Zuordnungsverhältnis-Bestimmungseinheit 381, die ein Zuordnungsverhältnis, in dem die Oszillationskurvenform bei der Oszillation des Werkzeugs vektoriell in Komponenten entlang der jeweiligen Steuerreferenzachsen zu zerlegen ist, auf Basis des Drehwinkels eines realen Maschinenkoordinatensystems bestimmt, der zum Festlegen eines imaginären Maschinenkoordinatensystems durch Drehung des realen Maschinenkoordinatensystems verwendet wird; und die Oszillationsbewegungsstrecken-Berechnungseinheit 386, die auf Basis der Oszillationskurvenform und des Zuordnungsverhältnisses Oszillationskurvenformen des Werkzeugs für die jeweiligen Steuerreferenzachsen erzeugt und die Oszillationsbewegungsstrecken entlang der jeweiligen Steuerreferenzachsen auf Basis der erzeugten Oszillationskurvenformen berechnet. Dies ermöglicht die Durchführung des Vibrationsschneidens auch dann, wenn das Werkzeug in Richtung einer imaginären Achse mittels synchroner Steuerung mehrerer Antriebsachsen in Oszillation versetzt werden soll. Die numerische Steuerung 1X umfasst auch die Vergleichseinheit 383, die die tatsächliche Oszillationskurvenform des Werkzeugs für jede der jeweiligen Steuerreferenzachsen mit der Oszillationskurvenform des Werkzeugs für jede der Steuerreferenzachsen vergleicht, die von der Oszillationsbewegungsstrecken-Berechnungseinheit 386 erzeugt wird; und die Oszillationsbefehlskurvenform-Anpassungseinheit 384X, die die Oszillationskurvenform des Werkzeugs für jede der Steuerreferenzachsen, die durch die Oszillationsbewegungsstrecken-Berechnungseinheit 386 erzeugt wird, auf Basis des Vergleichsergebnisses von der Vergleichseinheit 383 anpasst. Auf diese Weise wird das Brechen von Spänen auch dann gewährleistet, wenn die Ansprechempfindlichkeiten der Servomotoren 91 der jeweiligen Steuerreferenzachsen voneinander abweichen.
-
Zweite Ausführungsform
-
15 zeigt eine Darstellung zur Veranschaulichung eines Konfigurationsbeispiels für eine numerische Steuerung gemäß einer zweiten Ausführungsform. In 15 sind Elemente, die mit den entsprechenden Elementen der numerischen Steuerung 1X gemäß der ersten Ausführungsform identisch sind, mit den gleichen Bezugszeichen versehen.
-
Die numerische Steuerung 1Y gemäß der zweiten Ausführungsform ist so ausgebildet, dass sie eine Steuerungsberechnungseinheit 2Y anstelle der Steuerungsberechnungseinheit 2X der numerischen Steuerung 1X gemäß der ersten Ausführungsform aufweist. Die Steuerungsberechnungseinheit 2Y ist so ausgebildet, dass sie eine Interpolationsverarbeitungseinheit 38Y anstelle der Interpolationsverarbeitungseinheit 38X der Steuerungsberechnungseinheit 2X gemäß der ersten Ausführungsform und zusätzlich eine Maschinenlernvorrichtung 50 umfasst. Abgesehen von der Interpolationsverarbeitungseinheit 38Y und der Maschinenlernvorrichtung 50 der Steuerungsberechnungseinheit 2Y sind die anderen Elemente mit den entsprechenden Elementen der Steuerungsberechnungseinheit 2X gemäß der ersten Ausführungsform identisch und ihre Beschreibung wird daher weggelassen.
-
Die Interpolationsverarbeitungseinheit 38Y ist so ausgebildet, dass sie anstelle der Oszillationsbefehlskurvenform-Anpassungseinheit 384X der Interpolationsverarbeitungseinheit 38X eine Oszillationsbefehlskurvenform-Anpassungseinheit 384Y aufweist. Die Oszillationsbefehlskurvenform-Anpassungseinheit 384Y korrigiert die Oszillationsbefehlskurvenformen auf Basis von Oszillationskurvenform-Korrekturinformationen, die von der Maschinenlernvorrichtung 50 ausgegeben werden. Die Maschinenlernvorrichtung 50 umfasst eine Lerneinheit 51 und eine Zustandsbeobachtungseinheit 52.
-
Die Maschinenlernvorrichtung 50 führt maschinelles Lernen unter Verwendung von auf jede der Achsen bezogenen Trägheitsinformationen, die in dem gemeinsam genutzten Bereich 344 gespeichert sind, einer auf jede der Achsen bezogenen Oszillationskurvenformabweichung, die durch den von der Vergleichseinheit 383 vorgenommenen Vergleich der Oszillationskurvenform mit der FB-Oszillationskurvenform für jede der Achsen erhalten wird, und Informationen über die Modifikation von Servoparametern für jede der Achsen durch, die in den Parameterdaten 341 enthalten sind. Die Maschinenlernvorrichtung 50 erzeugt dann Oszillationskurvenform-Korrekturinformationen, die von der Oszillationsbefehlskurvenform-Anpassungseinheit 384Y zur Korrektur der Oszillationsbefehlskurvenformen zu verwenden sind.
-
Bei der Oszillationskurvenformabweichung, die von der Maschinenlernvorrichtung 50 beim Lernen für die Vorhersage der Oszillationskurvenform-Korrekturinformationen verwendet wird, handelt es sich um einen Satz aus der Differenz zwischen den Amplituden und der Differenz zwischen den Phasen der Oszillationskurvenform und der FB-Oszillationskurvenform. Die Differenz zwischen den Amplituden der Oszillationskurvenform und der FB-Oszillationskurvenform ist der oben beschriebene Oszillationsamplitudenanpassungswert. Ferner bezieht sich der Ausdruck „Servoparameter für jede der Achsen“ in der Formulierung „Informationen über die Modifikation von Servoparametern für jede der Achsen“ auf Servoparameter wie die Schleifenverstärkung für den Strom, die Schleifenverstärkung für die Drehzahl und/oder dergleichen, die modifiziert werden, um die Phasenabweichung in Schritt S8 von 6 wie oben beschrieben auf nahezu Null zu reduzieren. Die Informationen über die Modifikation von Servoparametern sind Informationen, die die Details der an den Servoparametern vorgenommenen Modifikation repräsentieren.
-
Zudem sind im Hinblick auf die auf jede der Achsen bezogenen Trägheitsinformationen die Servomotoren 91 der jeweiligen Achsen über einen Verbindungsmechanismus wie eine Kupplung mit einer Kugelumlaufspindel der Werkzeugmaschine verbunden. Die Kugelumlaufspindel ist auch an einer Werkzeugmaschinenstruktur montiert, wobei in der Regel für verschiedene Achsen unterschiedliche Strukturen verwendet werden. Dies führt dazu, dass aufgrund der unterschiedlichen Strukturen, die mit den Servomotoren 91 verbunden sind, auf die verschiedenen Servomotoren 91 unterschiedliche Trägheitsmomente ausgeübt werden, selbst wenn die Servomotoren 91 die gleiche Leistung haben. Damit die Servomotoren jeweils das richtige Drehmoment liefern, werden beim Einrichten einer neuen Werkzeugmaschine Einstellarbeiten an den Servomotoren durchgeführt. Diese Einstellarbeiten erfordern Informationen über die auf die Servomotoren wirkende Trägheit. Es wird hier davon ausgegangen, dass die numerische Steuerung 1Y gemäß der vorliegenden Ausführungsform über eine Funktionalität zur Messung der auf die Servomotoren 91 der jeweiligen Achsen wirkenden Trägheit verfügt und dass die vorab mit Hilfe dieser Funktionalität gemessenen Trägheitsinformationen bereits im gemeinsam genutzten Bereich 344 gespeichert wurden. Es wird darauf hingewiesen, dass die numerische Steuerung 1 Y für die Ausführung der vorliegenden Erfindung nicht unbedingt über eine Funktionalität zur Trägheitsmessung verfügen muss. Die Maschinenlernvorrichtung 50 kann das Lernen gemäß einem Verfahren durchführen, bei dem die Arbeitskraft, die die Werkzeugmaschine einrichtet, die Trägheitswerte für die jeweiligen Achsen misst, Trägheitsinformationen erzeugt und die erzeugten Trägheitsinformationen vorab in dem gemeinsam genutzten Bereich 344 oder in einem anderen Bereich der Speichereinheit 34 speichert.
-
Die Zustandsbeobachtungseinheit 52 gibt einen Datensatz, der aus der Datenbeobachtung resultiert, an die Lerneinheit 51 aus. Die Lerneinheit 51 lernt die Oszillationskurvenform-Korrekturinformationen auf Basis des von der Zustandsbeobachtungseinheit 52 eingegebenen Datensatzes. Die Zustandsbeobachtungseinheit 52 beobachtet demnach als Zustandsvariablen die auf jede der Achsen bezogenen Trägheitsinformationen, die in dem gemeinsam genutzten Bereich 344 gespeichert sind, Informationen über die Modifikation (Modifikationsinformationen), die die Details der Modifikation repräsentieren, die an den Servoparametern für jede der Achsen von der Oszillationsbefehlskurvenform-Anpassungseinheit 384Y vorgenommen wurde, und die Oszillationskurvenformabweichung in Bezug auf jede der Achsen, die durch die Vergleichseinheit 383 erzeugt wird. Die Zustandsbeobachtungseinheit 52 gibt dann einen auf Basis der Zustandsvariablen erzeugten Datensatz an die Lerneinheit 51 aus. Die Lerneinheit 51 lernt die Oszillationskurvenform-Korrekturinformationen auf Basis des von der Zustandsbeobachtungseinheit 52 ausgegebenen Datensatzes. Bei dieser Prozedur ist der Datensatz ein Satz von Daten, der den Oszillationsamplitudenanpassungswert, die auf jede der Achsen bezogenen Trägheitsinformationen, die auf jede der Achsen bezogenen Servoparametermodifikationsinformationen und die auf jede der Achsen bezogene Oszillationskurvenformabweichung enthält, die miteinander verknüpft sind. Der Ausdruck „Oszillationskurvenform-Korrekturinformationen“ bezieht sich auf den Amplitudenkorrekturwert, der bei der Korrektur der Oszillationsbefehlskurvenform erstellt wird, um zu bewirken, dass die Oszillationsbefehlskurvenform und die FB-Oszillationskurvenform ähnlicher werden, d. h. den Oszillationsamplitudenanpassungswert; und die Details der an den Servoparametern vorzunehmenden Anpassung, um zu bewirken, dass die Oszillationsbefehlskurvenform für jede der Achsen und die FB-Oszillationskurvenform für jede der Achsen ähnlicher werden, wie bei der ersten Ausführungsform beschrieben wurde.
-
Es ist zu beachten, dass die Maschinenlernvorrichtung 50 beispielsweise eine von der numerischen Steuerung 1X getrennte Vorrichtung sein kann, die mit der numerischen Steuerung 1X gemäß der ersten Ausführungsform über ein Netzwerk verbunden ist. In diesem Fall kann sich die Maschinenlernvorrichtung 50 in einem Cloud-Server befinden. Alternativ kann die Maschinenlernvorrichtung 50 in die numerische Steuerung 1Y integriert sein, wie in 15 dargestellt ist.
-
Die Lerneinheit 51 lernt aus dem Datensatz, der die auf jede der Achsen bezogenen Trägheitsinformationen, die auf jede der Achsen bezogenen Servoparametermodifikationsinformationen und die auf jede der Achsen bezogene Oszillationskurvenformabweichung enthält, die miteinander verknüpft sind, indem beispielsweise sogenanntes überwachtes Lernen auf Basis eines neuronalen Netzwerkmodells eingesetzt wird. Hierbei handelt es sich bei überwachtem Lernen um ein Modell, das bei einer großen Anzahl von Datenpaaren, die jeweils eine Eingabe und ein Ergebnis für eine Lernvorrichtung umfassen, ein Feature des Datensatzes lernt und aus einer Eingabe ein Ergebnis ableitet. Bei der numerischen Steuerung 1Y gemäß der vorliegenden Ausführungsform dient die Oszillationskurvenformabweichung in Bezug auf jede der Achsen als gelabelte Trainingsdaten.
-
Ein neuronales Netzwerk umfasst eine aus mehreren Neuronen bestehende Eingabeschicht, eine aus mehreren Neuronen bestehende mittlere Schicht und eine aus mehreren Neuronen bestehende Ausgabeschicht. Die mittlere Schicht wird auch als versteckte Schicht bezeichnet. Es kann eine, zwei oder mehr mittlere Schichten geben.
-
Wenn beispielsweise in einem dreischichtigen neuronalen Netzwerk mehrere Eingaben in die Eingabeschicht eingegeben werden, werden deren Werte mit Gewichtungen multipliziert, und die Ergebnisse werden in die mittlere Schicht eingegeben. Die Ergebnisse werden weiter mit Gewichtungen multipliziert, und die resultierenden Werte werden von der Ausgabeschicht ausgegeben. Die Ausgabeergebnisse variieren je nach den Werten der Gewichtungen.
-
Bei der Maschinenlernvorrichtung 50 gemäß der vorliegenden Ausführungsform lernt das neuronale Netzwerk die Oszillationskurvenform-Korrekturinformationen auf Basis des von der Zustandsbeobachtungseinheit 52 erzeugten Datensatzes unter Verwendung des sogenannten überwachten Lernens.
-
Der Datensatz, der die auf jede der Achsen bezogenen Trägheitsinformationen, die auf jede der Achsen bezogenen Servoparametermodifikationsinformationen und die auf jede der Achsen bezogene Oszillationskurvenformabweichung enthält, die miteinander verknüpft sind, wird demnach in die Eingabeschicht des neuronalen Netzwerkes eingegeben. Jedes Mal, wenn der Datensatz eingegeben wird, lernt das neuronale Netzwerk, indem es die vorstehenden Gewichtungen einzeln anpasst, um die auf jede der Achsen bezogene Oszillationskurvenformabweichung, die von der Oszillationsbefehlskurvenform-Anpassungseinheit 384Y verwendet wurde, um die Oszillationsbefehlskurvenform auf Basis der von der Ausgabeschicht ausgegebenen Oszillationskurvenform-Korrekturinformationen anzupassen, auf nahezu Null zu reduzieren.
-
Es wird darauf hingewiesen, dass das neuronale Netzwerk die Oszillationskurvenform-Korrekturinformationen auch durch sogenanntes unüberwachtes Lernen lernen kann. Unüberwachtes Lernen ist eine Technik, bei der die Verteilung von Eingabedaten gelernt wird, indem der Maschinenlernvorrichtung 50 lediglich eine große Menge an Eingabedaten zur Verfügung wird und eine Vorrichtung gelernt wird, die Codierung, Klassifizierung, Transformation und/oder dergleichen an den Eingabedaten durchführt, ohne dass entsprechende gelabelte Trainingsausgabedaten vorgegeben werden. Durch unüberwachtes Lernen können Features eines Eingabedatensatzes in Gruppen geclustert werden, die jeweils ein ähnliches Feature aufweisen. Anhand des Ergebnisses des Clusterns kann durch unüberwachtes Lernen eine Vorhersage für Ausgaben getroffen werden, indem ein bestimmtes Kriterium festgelegt und die Ausgaben so zugeordnet werden, dass dieses Kriterium optimiert wird.
-
Ferner kann die Lerneinheit 51 in einem Fall, in dem die Maschinenlernvorrichtung 50 nicht in die numerische Steuerung 1Y integriert ist, die Oszillationskurvenform-Korrekturinformationen auf Basis von Datensätzen lernen, die für mehrere numerische Steuerungen 1Y erzeugt wurden, und diese Oszillationskurvenform-Korrekturinformationen dann als Lernergebnis ausgeben. Die Lerneinheit 51 kann dabei einen Datensatz von mehreren numerischen Steuerungen 1Y, die an einem Standort eingesetzt werden, erhalten oder einen Datensatz verwenden, der von numerischen Steuerungen 1Y mehrerer Werkzeugmaschinen gesammelt wurde, die unabhängig voneinander an verschiedenen Standorten betrieben werden. Zudem ermöglicht es eine solche Konfiguration auch, dass eine numerische Steuerung 1Y, die zum Sammeln eines Datensatzes verwendet wird, während des Betriebs zu einer Gruppe hinzugefügt wird, die sammeln soll, oder im Gegenteil davon getrennt werden kann. Ferner kann eine Maschinenlernvorrichtung 50, die unter Verwendung eines Datensatzes gelernt hat, der von einer bestimmten numerischen Steuerung 1Y erhalten wurde, in einer anderen numerischen Steuerung 1Y installiert werden, wobei sie einen Datensatz von der anderen numerischen Steuerung 1Y erhalten kann, um den Datensatz erneut zu lernen und das Lernergebnis zu aktualisieren.
-
Darüber hinaus kann es sich bei dem in der Lerneinheit 51 verwendeten Lernalgorithmus um Deep Learning handeln, bei dem die Extraktion von Features selbst gelernt wird. Das maschinelle Lernen kann auch mit einer anderen bekannten Methode durchgeführt werden, wie z. B. genetischer Programmierung, funktionaler Logikprogrammierung oder einer Support-Vector-Machine.
-
Die von der Maschinenlernvorrichtung 50 ausgegebenen Oszillationskurvenform-Korrekturinformationen werden in die Oszillationsbefehlskurvenform-Anpassungseinheit 384Y eingegeben. Die Oszillationsbefehlskurvenform-Anpassungseinheit 384Y passt die Oszillationsbefehlskurvenformen für die jeweiligen Achsen auf Basis der Oszillationskurvenform-Korrekturinformationen an.
-
Wie oben beschrieben wurde, umfasst die numerische Steuerung 1Y gemäß der vorliegenden Ausführungsform die Maschinenlernvorrichtung 50, die maschinelles Lernen unter Verwendung der auf jede der Achsen bezogenen Trägheitsinformationen, der auf jede der Achsen bezogenen Oszillationskurvenformabweichung, des Oszillationsamplitudenanpassungswerts und der auf jede der Achsen bezogenen Servoparametermodifikationsinformationen ausführt. Die Oszillationsbefehlskurvenform-Anpassungseinheit 384Y passt die Oszillationsbefehlskurvenformen für die jeweiligen Achsen auf Basis der von der Maschinenlernvorrichtung 50 durch maschinelles Lernen erzeugten Oszillationskurvenform-Korrekturinformationen an. Dadurch wird das Brechen von Spänen auch dann sichergestellt, wenn die Ansprechempfindlichkeiten der Servomotoren 91 der jeweiligen Steuerreferenzachsen voneinander abweichen.
-
Es wird darauf hingewiesen, dass die Steuerungsberechnungseinheit 2Y und die Maschinenlernvorrichtung 50, die in der numerischen Steuerung 1Y gemäß der zweiten Ausführungsform enthalten sind, ähnlich wie die Steuerungsberechnungseinheit 2X, die in der numerischen Steuerung 1X gemäß der ersten Ausführungsform enthalten ist, durch den in 14 dargestellten Prozessor 101 und Speicher 102 implementiert werden können.
-
Bezugszeichenliste
-
- 1X, 1Y
- numerische Steuerung;
- 2X, 2Y
- Steuerungsberechnungseinheit;
- 3
- Eingabeeinheit;
- 4
- Anzeigeeinheit;
- 31
- Anzeigebildverarbeitungseinheit;
- 32
- Eingabesteuerungseinheit;
- 33
- Dateneinstelleinheit;
- 34
- Speichereinheit;
- 35
- Steuersignalverarbeitungseinheit;
- 36
- SPS;
- 37
- Analyseverarbeitungseinheit;
- 38X, 38Y
- Interpolationsverarbeitungseinheit;
- 39
- Beschleunigungs-/Verzögerungsverarbeitungseinheit;
- 40
- Achsendateneingabe-/-ausgabeeinheit;
- 50
- Maschinenlernvorrichtung;
- 51
- Lerneinheit;
- 52
- Zustandsbeobachtungseinheit;
- 90
- Antriebseinheit;
- 91
- Servomotor;
- 92, 95
- Detektor;
- 93X
- X-Achsen-Servosteuerungseinheit;
- 93Y
- Y-Achsen-Servosteuerungseinheit;
- 94
- Spindelmotor;
- 96
- Spindelsteuerungseinheit;
- 341
- Parameterdaten;
- 342
- Anzeigedaten;
- 343
- Bearbeitungsprogramm;
- 344
- gemeinsam genutzter Bereich;
- 371
- Bewegungsbefehl-Analyseeinheit;
- 372
- Oszillationsbefehl-Analyseeinheit;
- 381
- Zuordnungsverhältnis-Bestimmungseinheit;
- 382
- Kurvenforminformationsbezugseinheit;
- 383
- Vergleichseinheit;
- 384X, 384Y
- Oszillationsbefehlskurvenform-Anpassungseinheit;
- 385
- Oszillationskurvenform-Erzeugungseinheit;
- 386
- Oszillationsbewegungsstrecken-Berechnungseinheit.