-
Gebiet
-
Die vorliegende Offenbarung betrifft eine numerische Steuerung zum Unterdrücken von Ratterschwingungen in einer Werkzeugmaschine, eine Lernvorrichtung und ein Verfahren zur Unterdrückung von Ratterschwingungen.
-
Hintergrund
-
Eine Werkzeugmaschine ist eine mechanische Vorrichtung, die eine spanende Bearbeitung an einem Werkstück durchführt, um das eine gewünschte Form aufweisende Werkstück zu erhalten, indem eine relative Position zwischen dem Werkstück und einem Werkzeug verändert wird. Die Werkzeugmaschine, die durch eine Fräsmaschine und eine Drehmaschine repräsentiert wird, führt eine Bearbeitung durch, indem das Werkzeug oder das Werkstück an einer Spindel befestigt wird und die Spindel gedreht wird. Während der Bearbeitung können Schwingungen auftreten, die als „Ratterschwingungen“ bezeichnet werden. Das Auftreten von Ratterschwingungen verringert die Genauigkeit einer bearbeiteten Fläche und/oder führt dazu, dass das Werkzeug beschädigt wird.
-
In der nachstehenden Patentliteratur 1 wird ein Verfahren zum Suchen nach und Erhalten von einer optimalen Spindeldrehzahl, um Ratterschwingungen zu unterdrücken, d. h. Ratterschwingungen zu verringern oder zu beseitigen, erörtert. Die optimale Spindeldrehzahl wird auf Grundlage eines Gradienten einer Phasendifferenz berechnet. Der Gradient der Phasendifferenz ist ein Verhältnis einer Variation der Phasendifferenz zu einer Variation der Spindeldrehzahl, das heißt einer Steigung der Phasendifferenz. Diese Phasendifferenz wird als ein Parameter, der ein Merkmal der Ratterschwingungen darstellt, durch eine bekannte Gleichung berechnet, die Ratterschwingungen, die Anzahl der Messer an einem Werkzeug und die Spindeldrehzahl beinhaltet. Patentliteratur 1 misst die Phasendifferenz beim Ändern der Spindeldrehzahl und berechnet den Gradienten der Phasendifferenz auf Grundlage der gemessenen Phasendifferenz.
-
Entgegenhaltungsliste
-
Patentliteratur
-
Patentliteratur 1:
JP 2018-118366 A
-
Kurzdarstellung
-
Technisches Problem
-
Die in Patentliteratur 1 beschriebene Technik weist jedoch ein Problem auf, dass, wenn sich eine Eigenschaft eines Schwingungssystems, die dazu führt, dass Ratterschwingungen auftreten, während der Suche nach der optimalen Spindeldrehzahl ändert, es notwendig ist, die Suche abzubrechen und die Verarbeitung von Anfang an neu zu starten. Die Eigenschaft des Schwingungssystems, die dazu führt, dass Ratterschwingungen auftreten, ändert sich leicht aufgrund einer Abnahme der Masse des Werkstücks, die durch eine Bearbeitung oder eine Veränderung eines Abschnitts des zu bearbeitenden Werkstücks verursacht wird. Demnach kann bei der Technik aus Patentliteratur 1, wenn sich die Eigenschaft des Schwingungssystems, die dazu führt, dass Ratterschwingungen auftreten, ändert, bevor die Suche nach der optimalen Spindeldrehzahl abgeschlossen ist, die optimale Spindeldrehzahl nicht berechnet werden, was es schwierig macht, die Ratterschwingungen zu verringern oder zu beseitigen.
-
Die vorliegende Offenbarung erfolgt in Anbetracht des Vorstehenden und eine Aufgabe der vorliegenden Offenbarung besteht darin, eine numerische Steuerung bereitzustellen, die fähig ist, Ratterschwingungen selbst dann zu unterdrücken, wenn sich eine Eigenschaft eines Schwingungssystems ändert, während die Ratterschwingungen unterdrückt werden.
-
Lösung des Problems
-
Um das vorstehend beschriebene Problem zu lösen und die Aufgabe zu erfüllen, beinhaltet eine numerische Steuerung gemäß der vorliegenden Offenbarung eine Antriebsbefehlseinheit, die einen Antriebsbefehl an eine Spindel und eine Vorschubstange einer Werkzeugmaschine abgibt, und beinhaltet ferner eine Merkmalsberechnungseinheit und eine Schwingungssteuereinheit. Die Merkmalsberechnungseinheit berechnet Merkmalsinformationen von Ratterschwingungen auf Grundlage eines Sensorsignals, das durch Ermitteln von Schwingungen eines an der Werkzeugmaschine angebrachten Werkzeugs oder Werkstücks erhalten wird, und eines Spindelantriebsbefehls, das heißt des Antriebsbefehls für die Spindel. Die Schwingungssteuereinheit gibt einen Korrekturwert zum Korrigieren des Antriebsbefehls an die Antriebsbefehlseinheit aus, bis die Merkmalsinformationen einen Wert innerhalb eines Sollbereichs erreichen.
-
Vorteilhafte Wirkungen der Erfindung
-
Die numerische Steuerung gemäß der vorliegender Offenbarung weist eine dahingehende Wirkung auf, dass sie dazu in der Lage ist, selbst dann Ratterschwingungen zu unterdrücken, wenn sich die Eigenschaft des Schwingungssystems ändert, während die Ratterschwingungen unterdrückt werden.
-
Kurze Beschreibung der Zeichnungen
-
- 1 ist eine Darstellung, die eine funktionelle Konfiguration einer numerischen Steuerung gemäß einer ersten Ausführungsform veranschaulicht.
- 2 ist eine Darstellung, die eine funktionelle Konfiguration einer Merkmalberechnungseinheit, die in 1 veranschaulicht ist, veranschaulicht.
- 3 ist eine Gruppe von Diagrammen, die eine Beziehung zwischen einem Taktsignal, das von einer in 2 veranschaulichten Taktsignalerzeugungseinheit ausgegeben wird, und einem Spindelwinkelbefehl veranschaulichen.
- 4 ist ein Diagramm, das dimensionslose Größen veranschaulicht, die von einer in 2 veranschaulichten Phasendifferenzberechnungseinheit berechnet werden.
- 5 ist ein Ablaufdiagramm, das einen Verarbeitungsablauf veranschaulicht, der durch eine Schwingungssteuereinheit und eine Antriebsbefehlseinheit, die in 1 veranschaulicht sind, durchgeführt wird.
- 6 ist eine Gruppe von Diagrammen, die ein Beispiel für einen konkreten Betrieb durch die Schwingungssteuereinheit und die in 1 veranschaulichte Antriebsbefehlseinheit veranschaulichen.
- 7 ist eine Darstellung, die ein Beispiel für eine weitere Konfiguration zum Umsetzen der Funktion der in 1 veranschaulichten Schwingungssteuereinheit veranschaulicht.
- 8 ist eine Darstellung, die ein Beispiel für eine Konfiguration eines Inferenzmodells unter Verwendung eines allgemeinen neuronalen Netzwerks veranschaulicht.
- 9 ist eine Darstellung, die ein Beispiel für eine Konfiguration einer Lernvorrichtung veranschaulicht, die ein Inferenzmodell lernt, das von der in 7 veranschaulichten Schwingungssteuereinheit verwendet wird.
- 10 ist eine Darstellung, die eine funktionelle Konfiguration einer numerischen Steuerung gemäß einer zweiten Ausführungsform veranschaulicht.
- 11 ist ein Ablaufdiagramm, das einen Verarbeitungsablauf veranschaulicht, der durch eine Schwingungssteuereinheit, die in 10 veranschaulicht ist, durchgeführt wird.
- 12 ist eine Darstellung, die eine funktionelle Konfiguration einer numerischen Steuerung gemäß einer dritten Ausführungsform veranschaulicht.
- 13 ist eine Darstellung, die ein Beispiel für eine Konfiguration eines Steuersystems veranschaulicht, das die Funktion einer Schwingungssteuereinheit gemäß der dritten Ausführungsform umsetzt.
- 14 ist eine Darstellung, die eine funktionelle Konfiguration einer numerischen Steuerung gemäß einer vierten Ausführungsform veranschaulicht.
- 15 ist ein Ablaufdiagramm, das einen Verarbeitungsablauf veranschaulicht, der durch eine Schwingungssteuereinheit, die in 14 veranschaulicht ist, durchgeführt wird.
- 16 ist eine Darstellung, die eine funktionelle Konfiguration einer numerischen Steuerung gemäß einer fünften Ausführungsform veranschaulicht.
- 17 ist eine Darstellung, die eine funktionelle Konfiguration einer Merkmalberechnungseinheit, die in 16 veranschaulicht ist, veranschaulicht.
- 18 ist eine Gruppe von Diagrammen, die eine Beziehung zwischen einem Taktsignal, das von einer in 17 veranschaulichten Taktsignalerzeugungseinheit ausgegeben wird, und einem Spindelwinkelbefehl veranschaulichen.
- 19 ist ein Blockdiagramm, das ein Beispiel für eine Hardwarekonfiguration veranschaulicht, welche die Funktionen der numerischen Steuerungen umsetzt, die in der ersten bis fünften Ausführungsform beschrieben sind.
- 20 ist ein Blockdiagramm, das ein weiteres Beispiel für eine Hardwarekonfiguration veranschaulicht, welche die Funktionen der numerischen Steuerungen umsetzt, die in der ersten bis fünften Ausführungsform beschrieben sind.
-
Beschreibung von Ausführungsformen
-
Nachfolgend werden eine numerische Steuerung, eine Lernvorrichtung und ein Verfahren zur Unterdrückung von Rüttelschwingungen gemäß Ausführungsformen der vorliegenden Offenbarung unter Bezugnahme auf die Zeichnungen näher beschrieben.
-
Erste Ausführungsform.
-
1 ist eine Darstellung, die eine funktionelle Konfiguration einer numerischen Steuerung 1 gemäß einer ersten Ausführungsform veranschaulicht. Die numerische Steuerung 1 gibt einen Antriebsbefehl 103 an eine Werkzeugmaschine 16 ab, um die Werkzeugmaschine 16 numerisch zu steuern.
-
Die Werkzeugmaschine 16 beinhaltet eine Spindel 17 und eine Vorschubstange 18, die jeweils einen Motor beinhalten, der durch den Antriebsbefehl 103 angetrieben wird. In der ersten Ausführungsform wird ein Werkstück auf der Spindel 17 angeordnet und ein Werkzeug wird auf der Vorschubstange 18 angeordnet. Darüber hinaus gibt die Werkzeugmaschine 16 Betriebsinformationen 105 an die numerische Steuerung 1 aus, wobei die Betriebsinformationen 105 mindestens Informationen in Zusammenhang mit Positionen der Spindel 17 und der Vorschubstange 18 und Informationen in Zusammenhang mit Drehzahl und Motorstrom beinhalten.
-
Ein Sensor 19 ist an der Werkzeugmaschine 16 angebracht. Der Sensor 19 gibt ein Sensorsignal 100, das durch Ermitteln von Schwingungen des Werkzeugs oder des Werkstücks erhalten wird, an die numerische Steuerung 1 aus. Der Sensor 19 ist an einer Struktur der Spindel 17 oder der Vorschubstange 18 der Werkzeugmaschine 16 angebracht. Der Sensor 19 kann an einer beliebigen Position angebracht sein, an der Schwingungen des Werkzeugs oder des Werkstücks ermittelt werden können, stärker bevorzugt ist er jedoch in der Nähe eines Punkts angebracht, an dem das Werkzeug und das Werkstück miteinander in Berührung kommen.
-
Der Sensor 19 kann ein beliebiger Sensortyp sein, der Schwingungen des Werkzeugs oder des Werkstücks ermitteln kann. Beispiele für den Sensor 19 beinhalten einen Wegsensor, einen Drehzahlsensor, einen Beschleunigungssensor und einen Winkelgeschwindigkeitssensor. Alternativ kann der Sensor 19 ein Kraftsensor, der eine Reaktionskraft gegen das Schneiden ermittelt, oder ein Mikrofon sein, das ein Schneidgeräusch während der Bearbeitung ermittelt. Als weitere Alternative können anstelle der Verwendung des Sensors 19 mindestens eine oder mehrere der Positionen der Spindel 17 und der Vorschubstange 18, der Drehzahlen und der Motorströme, die in den Betriebsinformationen 105 beinhaltet sind, verwendet werden, um Schwingungen des Werkzeugs oder des Werkstücks zu ermitteln, die während der Bearbeitung auftreten, und Informationen, welche die ermittelten Schwingungen angeben, können als das Sensorsignal 100 ausgegeben werden.
-
Die numerische Steuerung 1 beinhaltet eine Merkmalsberechnungseinheit 10, eine Schwingungssteuereinheit 11 und eine Antriebsbefehlseinheit 12. Die Antriebsbefehlseinheit 12 empfängt die Betriebsinformationen 105 von der Werkzeugmaschine 16 und gibt den Antriebsbefehl 103 auf Grundlage der empfangenen Betriebsinformationen 105 an die Spindel 17 und die Vorschubstange 18 der Werkzeugmaschine 16 ab.
-
Die Antriebsbefehlseinheit 12 empfängt ferner einen Antriebskorrekturwert 104 von der Schwingungssteuereinheit 11. Die Antriebsbefehlseinheit 12 gibt den Antriebsbefehl 103, der auf Grundlage der Betriebsinformationen 105 und des Antriebskorrekturwerts 104 erzeugt wird, an die Werkzeugmaschine 16 und die Schwingungssteuereinheit 11 aus. Darüber hinaus gibt die Antriebsbefehlseinheit 12 einen Spindelantriebsbefehl 101, der in dem erzeugten Antriebsbefehl 103 beinhaltet ist, an die Merkmalsberechnungseinheit 10 aus. Es ist anzumerken, dass der Spindelantriebsbefehl 101 ein Signal ist, das mindestens einen Spindelwinkelbefehl, das heißt einen Winkelbefehl an die Spindel 17, beinhaltet.
-
Es ist anzumerken, dass der Spindelantriebsbefehl 101 zusätzlich zu dem Spindelwinkelbefehl einen Spindeldrehzahlbefehl, einen Spindelwinkel oder eine Spindeldrehzahl beinhalten kann. Der Spindeldrehzahlbefehl ist ein Drehzahlbefehl an die Spindel 17. Der Spindelwinkel ist ein Ist-Winkel der Spindel 17 in Bezug auf den Spindelwinkelbefehl. Die Spindeldrehzahl ist eine Ist-Drehzahl der Spindel 17 in Bezug auf den Spindeldrehzahlbefehl. Darüber hinaus beinhaltet der Antriebsbefehl 103 mindestens einen von dem Spindelwinkelbefehl oder dem Spindeldrehzahlbefehl und mindestens einen von einem Vorschubstangenpositionsbefehl oder einem Vorschubstangendrehzahlbefehl. Der Vorschubstangenpositionsbefehl ist ein Positionsbefehl an die Vorschubstange 18. Der Vorschubstangendrehzahlbefehl ist ein Drehzahlbefehl an die Vorschubstange 18.
-
Die Merkmalsberechnungseinheit 10 empfängt das Sensorsignal 100 von der Werkzeugmaschine 16 und empfängt den Spindelantriebsbefehl 101 von der Antriebsbefehlseinheit 12. Die Merkmalsberechnungseinheit 10 berechnet Merkmalsinformationen 102 auf Grundlage des Sensorsignals 100 und des Spindelantriebsbefehls 101 und gibt die berechneten Merkmalsinformationen 102 an die Schwingungssteuereinheit 11 aus. Die Merkmalsinformationen 102 beinhalten mindestens Informationen über eine Phasendifferenz, das heißt ein Merkmal von Ratterschwingungen.
-
2 ist eine Darstellung, die eine funktionelle Konfiguration der Merkmalberechnungseinheit 10, die in 1 veranschaulicht ist, veranschaulicht. Die Merkmalsberechnungseinheit 10 beinhaltet eine Sensorsignalverarbeitungseinheit 13, eine Phasendifferenzberechnungseinheit 15 und eine Taktsignalerzeugungseinheit 14.
-
Die Sensorsignalverarbeitungseinheit 13 erzeugt eine Vielzahl von Arten von Zustandsgrößen auf Grundlage des Sensorsignals 100 und gibt ein Zustandsgrößensignal 110, das die erzeugte Vielzahl von Arten von Zustandsgrößen angibt, an die Phasendifferenzberechnungseinheit 15 aus. Das Zustandsgrößensignal 110 ist ein Signal, das eine erste Zustandsgröße und eine zweite Zustandsgröße beinhaltet. Konkret ist das Zustandsgrößensignal 110 ein Signal, das eine Zustandsgröße, die durch das Sensorsignal 100 dargestellt wird, und eine Zustandsgröße, die durch Anwenden von Zeitdifferenzierung oder Zeitintegration auf das Sensorsignal 100 erhalten wird, beinhaltet. Zum Beispiel ist die erste Zustandsgröße das Sensorsignal 100 und die zweite Zustandsgröße ist die Zustandsgröße, die durch einmaliges Zeitdifferenzieren des Sensorsignals 100 erhalten wird. Es ist anzumerken, dass die erste Zustandsgröße selbst auch eine Zustandsgröße sein kann, die durch Zeitdifferenzierung erhalten wird.
-
Die Sensorsignalverarbeitungseinheit 13 erzeugt das Zustandsgrößensignal 110, indem sie das Sensorsignal 100 und das Signal, das durch einmaliges Zeitdifferenzieren des Sensorsignals 100 erhalten wird, zu gleichzeitigen Zeitreihensignalen macht. Hierbei bedeutet Zeitdifferenzierung Verarbeitung zum Berechnen einer Abweichung der Zustandsgröße pro Zeiteinheit und bedeutet Zeitintegration Verarbeitung zum Berechnen eines kumulativen Betrags pro Zeiteinheit.
-
Es ist anzumerken, dass eine beliebige Kombination aus der Anzahl von Malen des Differenzierens der ersten Zustandsgröße und der Anzahl von Malen des Differenzierens der zweiten Zustandsgröße verwendet werden kann, solange eine Differenz zwischen den Anzahlen von Malen eine ungerade Zahl ist. Zum Beispiel wird angenommen, dass die erste Zustandsgröße eine Zustandsgröße ist, die durch Zeitdifferenzieren des Sensorsignals 100 „P“-mal erhalten wird, und die zweite Zustandsgröße eine Zustandsgröße ist, die durch Zeitdifferenzieren des Sensorsignals 100 „Q“-mal erhalten wird. Hierbei sind „P“ und „Q“ ganze Zahlen. In diesem Fall darf eine Differenz zwischen „P“ und „Q“ nur eine ungerade Zahl sein.
-
Darüber hinaus kann die Dimension der ersten Zustandsgröße oder der zweiten Zustandsgröße eine Dimension sein, die durch Zeitintegrieren des Sensorsignals 100 erhalten wird. Als ein konkretes Beispiel kann die erste Zustandsgröße eine Beschleunigung sein und die zweite Zustandsgröße kann eine Drehzahl sein. Alternativ kann die erste Zustandsgröße der Ruck sein, das heißt ein Ableitungswert der Beschleunigung, und kann die zweite Zustandsgröße eine Position sein, das heißt ein ganzzahliger Wert der Drehzahl. Die Sensorsignalverarbeitungseinheit 13 kann zum Beispiel zwei oder mehr Arten von Zustandsgrößen erzeugen, die das Sensorsignal 100 und mindestens eine der Zustandsgröße, die durch Zeitdifferenzieren des Sensorsignals 100 erhalten wird, oder der Zustandsgröße, die durch Zeitintegrieren des Sensorsignals 100 erhalten wird, beinhalten.
-
Die Taktsignalerzeugungseinheit 14 gibt ein Taktsignal 111 an die Phasendifferenzberechnungseinheit 15 aus, wenn auf Grundlage des Spindelantriebsbefehls 101, das von der Antriebsbefehlseinheit 12 ausgegeben wird, bestimmt wird, dass der Spindelwinkelbefehl einen vorbestimmten Winkel überschritten hat. Hier wird ein Verfahren zum Erzeugen des Taktsignals 111 genauer beschrieben.
-
3 ist eine Gruppe von Diagrammen, die eine Beziehung zwischen dem Taktsignal 111, das von der in 2 veranschaulichten Taktsignalerzeugungseinheit 14 ausgegeben wird, und dem Spindelwinkelbefehl veranschaulichen. Der Spindelwinkelbefehl ist in dem Spindelantriebsbefehl 101, der durch die Antriebsbefehlseinheit 12 ausgegeben wird, beinhaltet. Wie in 3 veranschaulicht, ist der Spindelwinkelbefehl ein Signal, das einen Wert von 0 [rad] bis 2π [rad] annimmt und zu 0 [rad] zurückkehrt, wenn es 2π [rad] erreicht. Die Taktsignalerzeugungseinheit 14 gibt das Taktsignal 111 jedes Mal aus, wenn der Spindelwinkelbefehl einen eingestellten Winkel φ1 überschreitet, und gibt andernfalls das Taktsignal 111 nicht aus. Infolgedessen wird das Taktsignal 111 periodisch in einem Takt synchron mit der Drehung der Spindel 17 der Werkzeugmaschine 16 ausgegeben. Der Winkel φ1 muss lediglich an einem Punkt eingestellt werden, während die Spindel 17 eine Drehung vornimmt, und kann ein beliebiger Winkel sein. Der Winkel φ1 kann zum Beispiel ein Winkel der Spindel 17 zum Zeitpunkt der Ausrichtung der Spindel 17 sein. Hier entspricht die Ausrichtung der Spindel 17 einem Referenzwinkel, bei dem die Spindel 17 angehalten ist.
-
Alternativ kann die Taktsignalerzeugungseinheit 14 das Taktsignal 111 unter Verwendung des Spindeldrehzahlbefehls, der in dem Spindelantriebsbefehl 101 beinhaltet ist, erzeugen. In diesem Fall gibt die Taktsignalerzeugungseinheit 14 das Taktsignal 111 zu jedem Zeitpunkt T1 aus, der anhand eines Spindeldrehzahlbefehls S [U/min] unter Verwendung des folgenden Ausdrucks (1) mit einem Anfangszeitpunkt t0 als Referenzzeitpunkt berechnet wird. Die Taktsignalerzeugungseinheit 14 kann den Spindelwinkelbefehl und den Spindeldrehzahlbefehl auch zusammen verwenden.
-
Es ist anzumerken, dass die Taktsignalerzeugungseinheit 14 in der vorstehenden Beschreibung das Taktsignal 111 unter Verwendung des Spindelantriebsbefehls 101 erzeugt, die vorliegende Offenbarung jedoch nicht darauf beschränkt ist. Anstelle des Spindelantriebsbefehls 101 oder zusätzlich zu dem Spindelantriebsbefehl 101 kann die Taktsignalerzeugungseinheit 14 einen Vorschubstangenantriebsbefehl verwenden, bei dem es sich um einen Antriebsbefehl für die Vorschubstange 18 handelt, um das Taktsignal 111 zu erzeugen.
-
Die Phasendifferenzberechnungseinheit 15 empfängt das Taktsignal 111, das von der Taktsignalerzeugungseinheit 14 ausgegeben wird, und das Zustandsgrößensignal 110, das von der Sensorsignalverarbeitungseinheit 13 ausgegeben wird. Auf Grundlage des Taktsignals 111 und des Zustandsgrößensignals 110 normalisiert die Phasendifferenzberechnungseinheit 15 jede der Vielzahl von Arten von Zustandsgrößen, die in dem Zustandsgrößensignal 110 beinhaltet sind, bei jedem Taktsignal 111, um die Zustandsgrößen dimensionslos zu machen. Die Phasendifferenzberechnungseinheit 15 berechnet eine Phasendifferenz, die eine Differenz zwischen Phasen des dimensionslosen Zustandsgrößensignals in einem Zustandsraum angibt, der die dimensionslosen Zustandsgrößen beinhaltet, und gibt die berechnete Phasendifferenz als die Merkmalsinformationen 102 an die Schwingungssteuereinheit 11 aus. Es ist anzumerken, dass der hier erwähnte Zustandsraum nachstehend ausführlich beschrieben wird.
-
Die Phasendifferenzberechnungseinheit 15 normalisiert jede der Vielzahl von Arten von Zustandsgrößen, die in dem Zustandsgrößensignal 110 enthalten sind, indem sie jede Zustandsgröße durch einen im Voraus bestimmten Maximalwert jeder Zustandsgröße dividiert. Der hier verwendete Maximalwert kann ein Maximalwert jeder Zustandsgröße sein, die in einem vorbereitendem Bearbeitungsexperiment erhalten wird, oder kann ein Maximalwert jeder Zustandsgröße sein, die in einer vorbereitenden Simulation erhalten wird.
-
Es wird davon ausgegangen, dass die Phasendifferenzberechnungseinheit 15 das Taktsignal 111 zu einem Zeitpunkt t1 und Zeitpunkt t2 empfängt, und dass Zeitpunkt t2 später als Zeitpunkt t1 ist. Zu diesem Zeitpunkt normalisiert die Phasendifferenzberechnungseinheit 15 das Zustandsgrößensignal 110 zu dem Zeitpunkt t1 und stellt den normalisierten Wert als eine erste dimensionslose Größe N1 ein. Darüber hinaus normalisiert die Phasendifferenzberechnungseinheit 15 das Zustandsgrößensignal 110 zu dem Zeitpunkt t2 ähnlich wie zu dem Zeitpunkt t1 und stellt den normalisierten Wert als eine zweite dimensionslose Größe N2 ein.
-
4 ist ein Diagramm, das die dimensionslosen Größen veranschaulicht, die von der in 2 veranschaulichten Phasendifferenzberechnungseinheit 15 berechnet werden. 4 veranschaulicht die erste dimensionslose Größe N1 und die zweite dimensionslose Größe N2 in dem Zustandsraum, der durch die erste Zustandsgröße und die zweite Zustandsgröße dargestellt wird, die in dem Zustandsgrößensignal 110 beinhaltet sind. Sowohl die erste als auch die zweite Zustandsgröße sind Vektorgrößen. In 4 stellt eine erste Achse als eine horizontale Achse eine Richtung der ersten Zustandsgröße dar, stellt eine zweite Achse als eine vertikale Achse eine Richtung der zweiten Zustandsgröße dar und sind die erste Achse und die zweite Achse zueinander orthogonal. Wie in 4 veranschaulicht, kann ein Vektorraum mit der ersten Achse als die horizontale Achse und der zweiten Achse als die vertikale Achse definiert sein. In der vorliegenden Beschreibung wird dieser Vektorraum als der „Zustandsraum“ bezeichnet.
-
Die Phasendifferenzberechnungseinheit 15 berechnet einen Winkel θ, der durch die erste dimensionslose Größe N1, den Ursprung des Zustandsraums und die zweite dimensionslose Größe N2 gebildet wird, als Phasendifferenz zwischen der ersten dimensionslosen Größe N1 und der zweiten dimensionslosen Größe N2, wobei die erste dimensionslose Größe N1 die dimensionslose Größe in der vorherigen Verarbeitung ist und die zweite dimensionslose Größe N2 die dimensionslose Größe in der gegenwärtigen Verarbeitung ist. Die Phasendifferenzberechnungseinheit 15 führt die vorstehende Berechnung bei jedem Taktsignal 111 durch, um die Phasendifferenz zwischen der dimensionslosen Größe in der gegenwärtigen Verarbeitung und der dimensionslosen Größe in der vorherigen Verarbeitung zu berechnen. Die Phasendifferenzberechnungseinheit 15 gibt die Merkmalsinformationen 102, die mindestens die berechnete Phasendifferenz beinhalten, an die Schwingungssteuereinheit 11 aus. Es ist zu anzumerken, dass in der ersten Ausführungsform die Phasendifferenz einen Wert zwischen -π [rad] und +π [rad] annimmt.
-
Die Schwingungssteuereinheit 11 empfängt die Merkmalsinformationen 102 von der Merkmalsberechnungseinheit 10 und empfängt den Antriebsbefehl 103 von der Antriebsbefehlseinheit 12. Die Schwingungssteuereinheit 11 erzeugt den Antriebskorrekturwert 104 auf Grundlage der Merkmalsinformationen 102 und des Antriebsbefehls 103 und gibt den erzeugten Antriebskorrekturwert 104 an die Antriebsbefehlseinheit 12 aus. Der Antriebskorrekturwert 104 ist ein Korrekturwert zum Korrigieren des Antriebsbefehls 103.
-
5 ist ein Ablaufdiagramm, das einen Verarbeitungsablauf veranschaulicht, der durch die Schwingungssteuereinheit 11 und die Antriebsbefehlseinheit 12, die in 1 veranschaulicht sind, durchgeführt wird. 5 veranschaulicht den Verarbeitungsablauf, bei dem die Phasendifferenz aus den Informationen, die in den Merkmalsinformationen 102 beinhaltet sind, als ein Kriterium verwendet wird und der Spindeldrehzahlbefehl unter den verschiedenen Befehlen, die in dem Antriebsbefehl 103 beinhaltet sind, zu steuern ist. Die Schwingungssteuereinheit 11 korrigiert den Antriebsbefehl 103 in den folgenden Schritten.
-
Zuerst bestimmt die Schwingungssteuereinheit 11 in Schritt S101, ob die Phasendifferenz außerhalb eines Phasendifferenzsollbereichs liegt oder nicht. Der Phasendifferenzsollbereich ist ein Sollbereich der Phasendifferenz, der einen voreingestellten Bereichswert aufweist. In der ersten Ausführungsform ist als ein Beispiel ein Sollwert der Phasendifferenz auf null Radian eingestellt und ist der Phasendifferenzsollbereich auf einen Bereich von -0,1 [rad] bis +0,1 [rad] eingestellt. Es ist zu anzumerken, dass der Phasendifferenzsollbereich auf einen Wert eingestellt werden kann, der ausreichend größer als ein Rauschen der Phasendifferenz ist.
-
Wenn in Schritt S101 die Phasendifferenz innerhalb des Phasendifferenzsollbereichs liegt (Nein in Schritt S101), geht die Verarbeitung zu Schritt S102 über und die gegenwärtige Spindeldrehzahl wird beibehalten. Das heißt, in Schritt S102 ändert die Antriebsbefehlseinheit 12 den gegenwärtigen Spindeldrehzahlbefehl nicht und gibt den ursprünglichen Spindeldrehzahlbefehl aus. Wenn die Phasendifferenz andererseits außerhalb des Phasendifferenzsollbereichs liegt (Ja in Schritt S101), geht die Verarbeitung zu Schritt S103 über.
-
In Schritt S103 bestimmt die Schwingungssteuereinheit 11, ob die Phasendifferenz größer oder gleich eines Phasendifferenzschwellenwerts ist oder nicht. Der Phasendifferenzschwellenwert ist ein beliebiger Wert, der im Voraus eingestellt wird. In der ersten Ausführungsform wird als ein Beispiel null -[rad] als Phasendifferenzschwellenwert eingestellt. Wenn die Phasendifferenz größer oder gleich des Phasendifferenzschwellenwerts ist (Ja in Schritt S103), geht die Verarbeitung zu Schritt S104 über, oder wenn die Phasendifferenz kleiner als der Phasendifferenzschwellenwert ist (Nein in Schritt S103), geht die Verarbeitung zu Schritt S105 über.
-
Es ist anzumerken, dass in Schritt S103 der Fall, in dem die Phasendifferenz gleich dem Phasendifferenzschwellenwert ist, als „Ja“ bestimmt wird, aber als „Nein“ bestimmt werden kann. Das heißt, der Fall, in dem die Phasendifferenz gleich dem Phasendifferenzschwellenwert ist, kann entweder als „Ja“ oder „Nein“ bestimmt werden.
-
In Schritt S104 wird der Spindeldrehzahlbefehl um einen vorbestimmten Betrag (oder eine vorbestimmte Dekrementbreite) verringert. Das heißt, wenn in Schritt S103 bestimmt wird, dass die Phasendifferenz größer oder gleich des Phasendifferenzschwellenwerts ist, wird in Schritt S104 der Wert des Spindeldrehzahlbefehls um den vorbestimmten Betrag verringert. Andererseits wird in Schritt S105 der Spindeldrehzahlbefehl um einen vorbestimmten Betrag (oder eine vorbestimmte Dekrementbreite) erhöht. Das heißt, wenn in Schritt S103 bestimmt wird, dass die Phasendifferenz kleiner als der Phasendifferenzschwellenwert ist, wird in Schritt S105 der Wert des Spindeldrehzahlbefehls um den vorbestimmten Betrag erhöht. Es ist zu anzumerken, dass der Betrag, um das der Spindeldrehzahlbefehl erhöht oder verringert wird, ein Verhältnis in Bezug auf den gegenwärtigen Spindeldrehzahlbefehl sein kann oder ein fester Wert unabhängig von dem Spindeldrehzahlbefehl sein kann.
-
In Schritt S106 bestimmt die Schwingungssteuereinheit 11, ob die Bearbeitung abgeschlossen ist oder nicht. Wenn die Bearbeitung abgeschlossen ist (Ja in Schritt S106), schließt die Schwingungssteuereinheit 11 die Bearbeitung von 5 ab. Wenn andererseits die Bearbeitung nicht abgeschlossen ist (Nein in Schritt S106), kehrt die Verarbeitung zu Schritt S101 zurück. Die in 5 veranschaulichte Verarbeitung wird kontinuierlich ausgeführt, während die Bearbeitung durchgeführt wird.
-
Es ist zu anzumerken, dass, obwohl 5 den Fall veranschaulicht, bei dem die Phasendifferenz, die in den Merkmalsinformationen 102 beinhaltet ist, als das Kriterium verwendet wird und der Spindeldrehzahlbefehl, der in dem Antriebsbefehl 103 beinhaltet ist, als das zu steuernde Objekt eingestellt wird, jedoch selbst in einem Fall, in dem andere Merkmalsinformationen 102 außer der Phasendifferenz als das Kriterium verwendet werden und etwas anderes als der Spindeldrehzahlbefehl als das zu steuernde Objekt eingestellt wird, die Verarbeitung mit einem ähnlichen Ablauf durchgeführt werden kann, wie der in 5 gezeigte. Das heißt, die Schwingungssteuereinheit 11 führt eine Steuerung durch, um den Antriebskorrekturwert 104 zum Korrigieren des Antriebsbefehls 103, der durch die Antriebsbefehlseinheit 12 ausgegeben wird, auszugeben, bis die Merkmalsinformationen 102 einen Wert innerhalb des Sollbereichs erreichen. Zudem korrigiert die Antriebsbefehlseinheit 12 den Antriebsbefehl 103 auf Grundlage des Antriebskorrekturwerts 104.
-
6 ist eine Gruppe von Diagrammen, die ein Beispiel für einen konkreten Betrieb durch die Schwingungssteuereinheit 11 und die in 1 veranschaulichte Antriebsbefehlseinheit 12 veranschaulichen. 6 ist die Gruppe von Graphen, die eine Beziehung zwischen der Phasendifferenz und der Spindeldrehzahl zu jedem Zeitpunkt veranschaulicht. Der obere Teil von 6 veranschaulicht die Phasendifferenz und der untere Teil veranschaulicht die Spindeldrehzahl. Zudem stellen die horizontalen Achsen in 6 die Zeit dar.
-
Zwischen dem Zeitpunkt t60 und Zeitpunkt t61 nimmt die Phasendifferenz Werte innerhalb des Phasendifferenzsollbereichs an, und somit weist die Spindeldrehzahl einen konstanten Wert auf. Zwischen dem Zeitpunkt t61 und dem Zeitpunkt t62 liegt die Phasendifferenz außerhalb des Phasendifferenzsollbereichs und weist einen Wert kleiner als null [rad], was der Phasendifferenzschwellenwert ist, auf. Daher wird die Spindeldrehzahl um einen vorbestimmten eingestellten Wert erhöht.
-
Als nächstes nimmt die Phasendifferenz zwischen dem Zeitpunkt t62 und dem Zeitpunkt t63 Werte innerhalb des Phasendifferenzsollbereichs an, und somit weist die Spindeldrehzahl einen konstanten Wert auf. Zwischen dem Zeitpunkt t63 und dem Zeitpunkt t64 liegt die Phasendifferenz außerhalb des Phasendifferenzsollbereichs und weist einen Wert auf, der null [rad], was der Phasendifferenzschwellenwert ist, übersteigt. Daher wird die Spindeldrehzahl um einen vorbestimmten eingestellten Wert verringert. Nach dem Zeitpunkt t64 nimmt die Phasendifferenz Werte innerhalb des Phasendifferenzsollbereichs an, und somit weist die Spindeldrehzahl einen konstanten Wert auf.
-
Wie vorstehend beschrieben ändert die Antriebsbefehlseinheit 12 den Antriebsbefehl 103 gemäß dem Wert der Phasendifferenz. Zu diesem Zeitpunkt gibt die Schwingungssteuereinheit 11 den Antriebskorrekturwert 104 auf Grundlage des Werts der Phasendifferenz an die Antriebsbefehlseinheit 12 aus.
-
Wie vorstehend beschrieben werden gemäß der ersten Ausführungsform Zeitreihendaten der Vielzahl von Arten von Zustandsgrößen auf Grundlage des Sensorsignals 100 erzeugt, das durch Ermitteln von Schwingungen des Werkzeugs oder des Werkstücks, das an der Werkzeugmaschine 16 befestigt ist, erhalten wird. Dann werden in dem Zustandsraum die dimensionslosen Größen, welche die Vielzahl von Arten von Zustandsgrößen angeben, bei jedem Taktsignal 111 erzeugt und die Phasendifferenz, die den Winkel θ als die Differenz zwischen den Phasen der dimensionslosen Größen angibt, wird berechnet. Der Antriebsbefehl 103 wird auf Grundlage des Werts der Phasendifferenz korrigiert.
-
Bei der Technik der ersten Ausführungsform wird die Phasendifferenz bei jedem Taktsignal 111 berechnet und der Antriebsbefehl 103 wird auf Grundlage der berechneten Phasendifferenz korrigiert. Das heißt, bei der Technik der ersten Ausführungsform kann für die Spindeldrehzahl unter einer Vielzahl von Bedingungen die Spindeldrehzahl korrigiert werden, ohne dass die Phasendifferenz im Voraus gemessen wird. Daher können zum Beispiel selbst in einem Fall, in dem sich eine Eigenschaft die Ratterschwingungen während der Bearbeitung des Werkstücks ändert, die Ratterschwingungen unterdrückt, d. h. verringert oder beseitigt werden.
-
Es ist anzumerken, dass die Merkmalsberechnungseinheit 10 als ein anderes Beispiel die Phasendifferenz auf Grundlage der folgenden Ausdrücke (2) und (3) berechnen kann.
-
In dem vorstehenden Ausdruck (2) steht „f“ für die Frequenz von Ratterschwingungen und steht „n“ für die Anzahl der Messer an dem Werkzeug. Hier kann die Frequenz „f“ der Ratterschwingungen durch Durchführen einer Frequenz-Analyse, die durch schnelle Fourier-Transformation (fast Fourier transform - FFT) repräsentiert wird, an dem Sensorsignal 100 und Berechnen einer Frequenz, bei der die Verstärkung ihren Höhepunkt erreicht, erhalten werden. Ferner ist in dem vorstehenden Ausdruck (2) die Funktion [k] eine Funktion zum Umwandeln des Werts von „k“ in eine ganze Zahl und eine Funktion zum Runden von Dezimalstellen des Werts von „k“ in Richtung von null.
-
Wie vorstehend beschrieben werden gemäß der numerischen Steuerung 1 und dem Verfahren zur Unterdrückung von Ratterschwingungen, das unter Verwendung der numerischen Steuerung 1 gemäß der ersten Ausführungsform ausgeführt wird, die Merkmalsinformationen 102 der Ratterschwingungen auf Grundlage des Sensorsignals 100, das durch Ermitteln von Schwingungen des Werkzeugs oder des Werkstücks, das an der Werkzeugmaschine 16 befestigt ist, erhalten wird, und des Spindelantriebsbefehls 101 als Antriebsbefehl für die Spindel 17 berechnet. Dann wird der Antriebskorrekturwert 104 als der Korrekturwert zum Korrigieren des Antriebsbefehls 103 an die Antriebsbefehlseinheit 12 ausgegeben, bis die Merkmalsinformationen 102 den Wert innerhalb des Sollbereichs erreichen. Infolgedessen können Ratterschwingungen selbst dann verringert oder beseitigt werden, wenn sich die Eigenschaft des Schwingungssystems ändert, während die Ratterschwingungen verringert oder beseitigt werden. Zudem führt die Technik der ersten Ausführungsform keine Antriebsbefehlswertoptimierung durch, die herkömmlicherweise durchgeführt wurde. Infolgedessen kann die Zeit, die zum Verringern oder Beseitigen der Ratterschwingungen erforderlich ist, verkürzt werden, und die Ratterschwingungen können schneller unterdrückt werden.
-
Wie vorstehend beschrieben kann die Technik der ersten Ausführungsform die Merkmalsinformationen 102 ohne Verwendung der Frequenzanalyse, die durch FFT repräsentiert wird, berechnen. Dies kann die Zeit vom Auftreten der Ratterschwingungen bis zum Unterdrücken der Ratterschwingungen verringern. Infolgedessen ist es möglich, die Unterdrückung von Ratterschwingungen mit hoher Geschwindigkeit zu erhalten.
-
Es ist anzumerken, dass die Werkzeugmaschine 16 gemäß der ersten Ausführungsform die Konfiguration aufweist, in der das Werkstück auf der Spindel 17 angeordnet wird, jedoch nicht auf diese Konfiguration beschränkt ist. Als eine alternative Konfiguration kann, wenn das Werkzeug auf der Spindel 17, wie zum Beispiel durch eine Fräsmaschine und eine Drehmaschine repräsentiert, angeordnet wird, eine ähnliche Wirkung erzielt werden.
-
Darüber hinaus verwendet die erste Ausführungsform einen Sensor 19, aber die Sensoren 19 können an einer Vielzahl von Stellen in der Werkzeugmaschine 16 installiert sein. In diesem Fall wird die in der ersten Ausführungsform beschriebene Verarbeitung an allen Sensoren 19 durchgeführt, die installiert sind, um dazu in der Lage zu sein, das Auftreten von Ratterschwingungen zu bestimmen. In dem Fall, in dem die Sensoren 19 an der Vielzahl von Stellen installiert sind, können Ratterschwingungen sogar dann unterdrückt werden, wenn die Ratterschwingungen während der Bearbeitung an einer Vielzahl von Stellen auftreten.
-
Als ein weiteres Beispiel kann die Schwingungssteuereinheit 11 ferner die Ratterschwingungen unter Verwendung eines Inferenzmodells, das im Voraus maschinelles Lernen zum Verringern oder Eliminieren von Ratterschwingungen durchgeführt hat, verringern oder beseitigen. Dieses Beispiel ist in 7 veranschaulicht. Das heißt, 7 ist eine Darstellung, die ein Beispiel für eine weitere Konfiguration zum Umsetzen der Funktion der in 1 veranschaulichten Schwingungssteuereinheit 11 veranschaulicht.
-
In 7 beinhaltet die Schwingungssteuereinheit 11 eine Informationsbeobachtungseinheit 201 und eine Inferenzeinheit 202. Die Schwingungssteuereinheit 11 empfängt eine Eingabe der Merkmalsinformationen 102 und des Antriebsbefehls 103.
-
Die Informationsbeobachtungseinheit 201 beobachtet die Merkmalsinformationen 102 und den Antriebsbefehl 103 für eine vorbestimmte Anzahl von Abtastungen als Zeitreihendaten und erzeugt einen Inferenzdatensatz 203 auf Grundlage der Zeitreihendaten. Die Inferenzeinheit 202 gibt den Antriebskorrekturwert 104 durch Eingeben des Inferenzdatensatzes 203, der von der Informationsbeobachtungseinheit 201 erzeugt wird, in das Inferenzmodell ein, das im Voraus maschinelles Lernen durchgeführt hat, um den Antriebskorrekturwert 104 zum Verringern oder Beseitigen von Ratterschwingungen auszugeben.
-
Die Inferenzeinheit 202 kann das Inferenzmodell eines beliebigen Algorithmus verwenden. Als ein Beispiel wird das Inferenzmodell unter Verwendung eines neuronalen Netzwerks beschrieben. 8 ist eine Darstellung, die ein Beispiel für eine Konfiguration des Inferenzmodells unter Verwendung eines allgemeinen neuronalen Netzwerks veranschaulicht.
-
In dem in 8 veranschaulichten Beispiel beinhaltet das neuronale Netzwerk Eingabeschichten x1, x2,... und xn, die „n“ Neuronen aufweisen, verborgene Schichten y1, y2,... und ym, die „m“ Neuronen aufweisen, und eine Ausgabeschicht z1, die ein Neuron aufweist. Es ist zu anzumerken, dass, obwohl 8 das Beispiel veranschaulicht, in dem die Ausgabeschicht eine Schicht ist, zwei oder mehr Ausgabeschichten bereitgestellt werden können.
-
Die Eingabeschichten x1, x2,... und xn sind mit den verborgenen Schichten y1, y2,... und ym verbunden, und die verborgenen Schichten y1, y2,... und ym sind mit der Ausgabeschicht z1 verbunden. Es ist zu anzumerken, dass die in 8 veranschaulichte Verbindung zwischen den Eingabeschichten und den verborgenen Schichten ein Beispiel ist und die Eingabeschichten x1, x2,... und xn jeweils mit beliebigen der verborgenen Schichten y1, y2,... und ym verbunden sein können.
-
Im Falle des dreischichtigen neuronalen Netzwerks, wie in 8 veranschaulicht, werden, wenn eine Vielzahl von Eingaben in die Eingabeschichten x1, x2,... und xn eingegeben wird, die Werte der Eingaben mit den Gewichten A1 bis Aa multipliziert und in die verborgenen Schichten y1, y2,... und ym eingegeben. Die in die verborgenen Schichten y1, y2,... und ym eingegebenen Werte werden ferner mit den Gewichten B1 bis Bb multipliziert, um in die Ausgabeschicht z1 eingegeben und von der Ausgabeschicht z1 ausgegeben zu werden. Es ist anzumerken, dass die tiefgestellten „a“ und „b“ jeweils eine natürliche Zahl sind und in dem in 8 veranschaulichten Beispiel a=n und b=m. Es versteht sich, dass das Ausgabeergebnis in Abhängigkeit von den Werten der Gewichte A1 bis Aa und B1 bis Bb variiert.
-
9 ist eine Darstellung, die ein Beispiel für eine Konfiguration einer Lernvorrichtung 300 veranschaulicht, die das Inferenzmodell lernt, das von der in 7 veranschaulichten Schwingungssteuereinheit 11 verwendet wird. Die Lernvorrichtung 300 beinhaltet eine Lerndatenerfassungseinheit 301 und eine Lernverarbeitungseinheit 302. Die Lernvorrichtung 300 kann auf die numerische Steuerung 1 angewendet werden, welche die Antriebsbefehlseinheit 12 beinhaltet, die den Antriebsbefehl 103 an die Spindel 17 und die Vorschubstange 18 der Werkzeugmaschine 16 abgibt, wie in 1 veranschaulicht.
-
Die Lerndatenerfassungseinheit 301 erfasst einen Lerndatensatz 304, in dem die Merkmalsinformationen 102 und der Antriebsbefehl 103, die während der eigentlichen Bearbeitung erfasst werden, mit Informationen 303 über das Vorhandensein/die Abwesenheit von Ratterschwingungen verknüpft sind, die das Vorhandensein oder die Abwesenheit von Ratterschwingungen angeben. Die in dem Lerndatensatz 304 beinhalteten Informationen 303 über das Vorhandensein/die Abwesenheit von Ratterschwingungen können unter Verwendung unterschiedlicher Zahlenwerte in Abhängigkeit davon ausgedrückt werden, ob Ratterschwingungen aufgetreten sind oder nicht. Zum Beispiel kann ein Fall, in dem Ratterschwingungen aufgetreten sind, durch einen Zahlenwert von „1“ ausgedrückt werden, und ein Fall, in dem keine Ratterschwingungen aufgetreten sind, kann durch einen Zahlenwert von „0“ ausgedrückt werden. Alternativ können die Informationen 303 über das Vorhandensein/die Abwesenheit von Ratterschwingungen zum Beispiel ein Ergebnis verwenden, das durch eine Beurteilung einer bearbeiteten Fläche nach dem Bearbeiten bestimmt wird.
-
Die Lernverarbeitungseinheit 302 beinhaltet den Lerndatensatz 304 und ein Inferenzmodell 305. Die Lernverarbeitungseinheit 302 führt Lernen unter Verwendung der Merkmalsinformationen 102 und des Antriebsbefehls 103, die in dem Lerndatensatz 304 beinhaltet sind, als Eingabedaten durch. Konkret führt die Lernverarbeitungseinheit 302 so genanntes überwachtes Lernen durch, sodass die Ausgabe des Inferenzmodells 305 mit dem Zahlenwert der Informationen 303 über das Vorhandensein/die Abwesenheit von Ratterschwingungen übereinstimmt. Das Inferenzmodell 305 empfängt eine Eingabe der Merkmalsinformationen 102 und des Antriebsbefehls 103 und gibt einen Ausgabewert aus, der dem Vorhandensein oder der Abwesenheit von Ratterschwingungen entspricht.
-
Die Lernverarbeitungseinheit 302 gibt die Merkmalsinformationen 102 und den Antriebsbefehl 103 in die Eingabeschicht ein und passt die Gewichte A1 bis Aa und B1 bis Bb an, sodass sich der von der Ausgabeschicht ausgegebene Wert dem Zahlenwert nähert, der das Vorhandensein oder die Abwesenheit von Ratterschwingungen angibt. Das Lernen des Inferenzmodells 305 wird durch Anpassen der Gewichte A1 bis Aa und B1 bis Bb durchgeführt.
-
Die Lernverarbeitungseinheit 302 kann ein Rückpropagierungsverfahren als ein überwachtes Lernverfahren verwenden, das zum Zeitpunkt des Lernens des Inferenzmodells 305 verwendet wird. Um die Generalisierungsleistung des Inferenzmodells 305 zu verbessern, kann die Lernverarbeitungseinheit 302 auch ein Verfahren, wie etwa „Dropout“, das Neuronen zum Zeitpunkt des Lernens zufällig ausschließt, oder „early stopping“, das Fehler überwacht und das Lernen frühzeitig beendet, verwenden. Die Lernverarbeitungseinheit 302 gibt das Inferenzmodell 305, dessen Lernen abgeschlossen ist, als ein gelerntes Inferenzmodell aus. Das von der Lernverarbeitungseinheit 302 ausgegebene gelernte Inferenzmodell kann in der in 7 veranschaulichten Inferenzeinheit 202 verwendet werden.
-
Wie vorstehend beschrieben, beinhaltet die Lernvorrichtung 300 gemäß der ersten Ausführungsform das Inferenzmodell 305 und den Lerndatensatz 304. Der Lerndatensatz 304 enthält die Informationen 303 über das Vorhandensein/die Abwesenheit von Ratterschwingungen, die das Vorhandensein oder die Abwesenheit von Ratterschwingungen in Verknüpfung mit den Merkmalsinformationen 102 und dem Antriebsbefehl 103 angeben. Das Inferenzmodell 305 empfängt eine Eingabe der Merkmalsinformationen 102, des Antriebsbefehls 103 und der Informationen 303 über das Vorhandensein/die Abwesenheit von Ratterschwingungen. Das Inferenzmodell 305 führt maschinelles Lernen durch, sodass beim Empfangen einer Eingabe der Merkmalsinformationen 102 und des Antriebsbefehls 103 der Ausgabewert, der dem Vorhandensein oder der Abwesenheit von Ratterschwingungen entspricht, ausgegeben wird. Wenn eine derartige Lernvorrichtung 300 auf die numerische Steuerung 1 angewendet wird, kann der Antriebskorrekturwert 104 unter Verwendung des Inferenzmodells 305, das maschinelles Lernen im Voraus durchgeführt hat, ausgegeben werden, wodurch es möglich ist, die Unterdrückung von Ratterschwingungen mit hoher Geschwindigkeit zu erhalten.
-
Es ist anzumerken, dass die vorstehende Beschreibung den Fall beschrieben hat, in dem das neuronale Netzwerk für das Inferenzmodell 305 verwendet wird, die vorliegende Offenbarung jedoch nicht darauf beschränkt ist. Das Inferenzmodell 305 kann unter Verwendung eines anderen bekannten Verfahrens, wie etwa eines rekurrenten neuronalen Netzwerks (recurrent neural network - RNN), eines langen Kurzzeitgedächtnisses (long short-term memory - LSTM) oder einer Stützvektormaschine (support vector machine - SVM), konfiguriert sein.
-
Zweite Ausführungsform.
-
10 ist eine Darstellung, die eine funktionelle Konfiguration einer numerischen Steuerung 2 gemäß einer zweiten Ausführungsform veranschaulicht. Die numerische Steuerung 2 beinhaltet die Merkmalsberechnungseinheit 10, eine Schwingungssteuereinheit 11-1, die Antriebsbefehlseinheit 12 und eine Eingabevorrichtung 20. Nachfolgend werden hauptsächlich Teile beschrieben, die sich von der numerischen Steuerung 1 unterscheiden.
-
Die numerische Steuerung 2 beinhaltet zusätzlich zu der Konfiguration, die für die numerische Steuerung 1 gemäß der ersten Ausführungsform beschrieben ist, die Eingabevorrichtung 20. Ein Bediener gibt Informationen bezüglich eines oberen Grenzwerts und eines unteren Grenzwerts des Antriebsbefehls 103, der durch die Schwingungssteuereinheit 11-1 zu korrigieren ist, in die Eingabevorrichtung 20 ein, bevor die Bearbeitung durchgeführt wird.
-
Die Eingabevorrichtung 20 gibt Grenzinformationen 106, die mindestens den eingegebenen oberen Grenzwert und unteren Grenzwert des Antriebsbefehls 103 beinhalten, an die Schwingungssteuereinheit 11-1 aus. Es ist anzumerken, dass sich die Schwingungssteuereinheit 11-1 anstatt auf dieses Verfahren auf ein Bearbeitungsprogramm beziehen kann, das den oberen Grenzwert und den unteren Grenzwert des Antriebsbefehls 103 beschreibt, und den oberen Grenzwert und den unteren Grenzwert erfassen kann.
-
Die Schwingungssteuereinheit 11-1 empfängt die Merkmalsinformationen 102 von der Merkmalsberechnungseinheit 10, empfängt den Antriebsbefehl 103 von der Antriebsbefehlseinheit 12 und empfängt die Grenzinformationen 106 von der Eingabevorrichtung 20. Die Schwingungssteuereinheit 11-1 erzeugt den Antriebskorrekturwert 104 auf Grundlage der Merkmalsinformationen 102, des Antriebsbefehls 103 und der Grenzinformationen 106 und gibt den erzeugten Antriebskorrekturwert 104 an die Antriebsbefehlseinheit 12 aus.
-
11 ist ein Ablaufdiagramm, das einen Verarbeitungsablauf veranschaulicht, der durch die Schwingungssteuereinheit 11-1, die in 10 veranschaulicht ist, durchgeführt wird. Die Schwingungssteuereinheit 11-1 korrigiert den Antriebsbefehl in den folgenden Schritten. Es ist anzumerken, dass in 11 eine Verarbeitung, die mit der in 5 veranschaulichten Verarbeitung identisch oder äquivalent ist, mit dem gleichen Bezugszeichen versehen ist, wie bei der Verarbeitung in 5. Wie bei 5, veranschaulicht 11 auch den Verarbeitungsablauf, bei dem die Phasendifferenz als das Kriterium zum Steuern des Spindeldrehzahlbefehls verwendet wird. Nachfolgend werden hauptsächlich Teile, die sich von 5 unterscheiden, beschrieben.
-
Die Verarbeitung in den Schritten S101 bis S105 ist identisch oder äquivalent zu jener in 5 und wird hier nicht beschrieben.
-
In Schritt S201 wird der in Schritt S104 verarbeitete Spindeldrehzahlbefehl innerhalb des Bereichs eines vorbestimmten unteren Grenzwerts des Spindeldrehzahlbefehls begrenzt. Konkret geht die Verarbeitung, wenn der in Schritt S104 verarbeitete Spindeldrehzahlbefehl kleiner als der untere Grenzwert des Spindeldrehzahlbefehls ist (Nein in Schritt S201), zu Schritt S202 über, ändert den Spindeldrehzahlbefehl auf den unteren Grenzwert des Spindeldrehzahlbefehls und geht dann zu Schritt S106 über. Wenn der Spindeldrehzahlbefehl größer oder gleich dem unteren Grenzwert des Spindeldrehzahlbefehls ist (Ja in Schritt S201), geht die Verarbeitung zu Schritt S106 über, ohne den Spindeldrehzahlbefehl zu ändern.
-
In Schritt S203 wird der in Schritt S105 verarbeitete Spindeldrehzahlbefehl innerhalb des Bereichs eines vorbestimmten oberen Grenzwerts des Spindeldrehzahlbefehls begrenzt. Konkret geht die Verarbeitung, wenn der in Schritt S105 verarbeitete Spindeldrehzahlbefehl den oberen Grenzwert des Spindeldrehzahlbefehls übersteigt (Nein in Schritt S203), zu Schritt S204 über, ändert den Spindeldrehzahlbefehl auf den oberen Grenzwert des Spindeldrehzahlbefehls und geht dann zu Schritt S106 über. Wenn der Spindeldrehzahlbefehl kleiner oder gleich dem oberen Grenzwert des Spindeldrehzahlbefehls ist (Ja in Schritt S203), geht die Verarbeitung zu Schritt S106 über, ohne den Spindeldrehzahlbefehl zu ändern.
-
In Schritt S106 bestimmt die Schwingungssteuereinheit 11-1, ob die Bearbeitung abgeschlossen ist oder nicht. Wenn die Bearbeitung abgeschlossen ist (Ja in Schritt S106), schließt die Schwingungssteuereinheit 11-1 die Bearbeitung aus 11 ab. Wenn andererseits die Bearbeitung nicht abgeschlossen ist (Nein in Schritt S106), kehrt die Verarbeitung zu Schritt S101 zurück. Die in 11 veranschaulichte Verarbeitung wird kontinuierlich ausgeführt, während die Bearbeitung durchgeführt wird.
-
Es ist zu anzumerken, dass, obwohl 11 den Fall veranschaulicht, bei dem die Phasendifferenz, die in den Merkmalsinformationen 102 beinhaltet ist, als das Kriterium verwendet wird und der Spindeldrehzahlbefehl, der in dem Antriebsbefehl 103 beinhaltet ist, als das zu steuernde Objekt eingestellt wird, selbst in einem Fall, in dem andere Merkmalsinformationen 102 außer der Phasendifferenz als das Kriterium verwendet werden und etwas anderes als der Spindeldrehzahlbefehl als das zu steuernde Objekt eingestellt wird, die Verarbeitung mit einem ähnlichen Ablauf durchgeführt werden kann, wie der in 11 gezeigte.
-
Gemäß der zweiten Ausführungsform empfängt die Schwingungssteuereinheit 11-1 eine Eingabe der Grenzinformationen 106, die den oberen Grenzwert und den unteren Grenzwert des Antriebsbefehls 103 beinhalten, und erhöht oder verringert den Antriebsbefehl 103 innerhalb des Bereichs zwischen dem eingegebenen oberen Grenzwert und dem unteren Grenzwert. Dies verhindert, dass die Schwingungssteuereinheit 11-1 den Antriebskorrekturwert 104 außerhalb der von dem Werkzeug und der Werkzeugmaschine definierten Schneidbedingungen an die Antriebsbefehlseinheit 12 ausgibt. Infolgedessen kann eine Situation verhindert werden, in welcher der Antriebsbefehl 103, der korrigiert wurde, einen Wert aufweist, der von dem Bediener nicht erwartet wird. Dies führt zu eine weiteren Wirkung dahingehend, dass das Auftreten unbeabsichtigter Bearbeitungsfehler verhindert werden kann.
-
Dritte Ausführungsform.
-
12 ist eine Darstellung, die eine funktionelle Konfiguration einer numerischen Steuerung 3 gemäß einer dritten Ausführungsform veranschaulicht. Verglichen mit der Konfiguration aus 1 ist in 12 die numerische Steuerung 1 durch die numerische Steuerung 3 ersetzt und ist die Schwingungssteuereinheit 11 durch eine Schwingungssteuereinheit 11-2 ersetzt. Die Schwingungssteuereinheit 11-2 empfängt zusätzlich zu dem Antriebsbefehl 103 eine Eingabe der Betriebsinformationen 105. Die übrige Konfiguration ist identisch oder äquivalent mit jener aus 1, und die identischen oder äquivalenten Komponenten sind mit den gleichen Bezugszeichen wie die entsprechenden Komponenten in 1 versehen. Nachfolgend werden hauptsächlich Teile beschrieben, die sich von der numerischen Steuerung 1 unterscheiden.
-
Die Schwingungssteuereinheit 11-2 empfängt die Merkmalsinformationen 102 von der Merkmalsberechnungseinheit 10, empfängt den Antriebsbefehl 103 von der Antriebsbefehlseinheit 12 und empfängt die Betriebsinformationen 105 von der Werkzeugmaschine 16. Die Schwingungssteuereinheit 11-2 erzeugt den Antriebskorrekturwert 104 auf Grundlage der Merkmalsinformationen 102, des Antriebsbefehls 103 und der Betriebsinformationen 105 und gibt den erzeugten Antriebskorrekturwert 104 an die Antriebsbefehlseinheit 12 aus.
-
In der dritten Ausführungsform führt die Schwingungssteuereinheit 11-2 eine Steuerung durch, sodass die Merkmalsinformationen 102 einen im Voraus eingestellten Sollmerkmalswert erreichen. Konkret ist ein Steuersystem, wie es in 13 veranschaulicht ist, konfiguriert. 13 ist eine Darstellung, die ein Beispiel für eine Konfiguration des Steuersystems veranschaulicht, das die Funktion der Schwingungssteuereinheit 11-2 gemäß der dritten Ausführungsform umsetzt. 13 veranschaulicht als ein Beispiel die Konfiguration des Steuersystems, das eine Proportional-Integral-Differenzial-Regelung (PID) durchführt.
-
Zunächst wird eine Merkmalsabweichung 125 erzeugt, die durch Subtrahieren der Merkmalsinformationen 102 von dem Sollmerkmalswert erhalten wird. Hierbei wird „0“ als ein Beispiel für den Sollmerkmalswert eingestellt. In der dritten Ausführungsform sind die Merkmalsinformationen 102 die Phasendifferenz, die durch die Phasendifferenzberechnungseinheit 15 in 2 berechnet wird. Es ist allgemein bekannt, dass die Phasendifferenz bei Abwesenheit von Ratterschwingungen null ist. Demnach können Ratterschwingungen unterdrückt werden, indem der Sollmerkmalswert auf „0“ eingestellt wird.
-
Die Merkmalsabweichung 125 wird in drei Zweige aufgeteilt, von denen einer mit einer Proportionalverstärkung 122 multipliziert wird. Einer der verbleibenden zwei Zweige führt durch einen Integrator 120 und wird dann mit einer Integralverstärkung 123 multipliziert. Das heißt, ein Zeitintegralwert der Merkmalsabweichung 125 wird mit der Integralverstärkung 123 multipliziert. Der andere der verbleibenden zwei Zweige führt durch einen Differentiator 121 und wird dann mit einer Differenzverstärkung 124 multipliziert. Das heißt, ein Zeitdifferenzwert der Merkmalsabweichung 125 wird mit der Differenzverstärkung 124 multipliziert. Diese drei Arten von Verstärkungswerten werden addiert, um einen Merkmalskorrekturbetrag 126 zu ergeben. Der Merkmalskorrekturbetrag 126 wird ferner zu der Spindeldrehzahl addiert und als der Antriebskorrekturwert 104 an die Antriebsbefehlseinheit 12 ausgegeben.
-
Die Proportionalverstärkung 122, die Integralverstärkung 123 und die Differenzverstärkung 124 sind voreingestellte Werte und werden vor dem Bearbeiten abgegeben. Darüber hinaus können diese drei Arten von Verstärkungswerten durch Durchführen einer Versuchsbearbeitung angepasst werden. Indem diese drei Arten von Verstärkungswerten angemessen eingestellt werden, können Ratterschwingungen schneller unterdrückt werden als in der ersten Ausführungsform.
-
Wie vorstehend beschrieben, beinhaltet die Schwingungssteuereinheit 11-2 gemäß der dritten Ausführungsform das Steuersystem, das bewirkt, dass die Merkmalsinformationen 102 mit dem Sollmerkmalswert übereinstimmen, wodurch Ratterschwingungen schneller unterdrückt werden können.
-
Es ist anzumerken, dass in dem Steuersystem aus 13 die Merkmalsabweichung 125 mit der ProportionalVerstärkung 122 multipliziert wird, der Zeitintegralwert der Merkmalsabweichung 125 mit der Integralverstärkung 123 multipliziert wird und der Zeitdifferenzwert der Merkmalsabweichung 125 mit der Differenzverstärkung 124 multipliziert wird, die vorliegende Offenbarung jedoch nicht auf diese Konfiguration beschränkt ist. Es ist ausreichend, dass mindestens eine der Merkmalsabweichung 125, des Zeitintegralwerts der Merkmalsabweichung 125 und des Zeitdifferenzwerts der Merkmalsabweichung 125 mit der Verstärkung multipliziert wird und ein Steuersystem, das eine gewünschte Eigenschaft aufweist, oder ein Steuersystem, das eine Eigenschaft nahe der gewünschten Eigenschaft aufweist, konfiguriert werden kann.
-
Vierte Ausführungsform.
-
14 ist eine Darstellung, die eine funktionelle Konfiguration einer numerischen Steuerung 4 gemäß einer vierten Ausführungsform veranschaulicht. Verglichen mit der Konfiguration aus 1 ist in 14 die numerische Steuerung 1 durch die numerische Steuerung 4 ersetzt und ist die Schwingungssteuereinheit 11 durch eine Schwingungssteuereinheit 11-3 ersetzt. Darüber hinaus wird der Antriebskorrekturwert 104, der in die Antriebsbefehlseinheit 12 eingegeben wird, durch einen Antriebskorrekturwert 104-1 ersetzt. Die übrige Konfiguration ist identisch oder äquivalent mit jener aus 1, und die identischen oder äquivalenten Komponenten sind mit den gleichen Bezugszeichen wie die entsprechenden Komponenten in 1 versehen. Nachfolgend werden hauptsächlich Teile beschrieben, die sich von der numerischen Steuerung 1 unterscheiden.
-
Die Schwingungssteuereinheit 11-3 empfängt die Merkmalsinformationen 102 von der Merkmalsberechnungseinheit 10 und empfängt den Antriebsbefehl 103 von der Antriebsbefehlseinheit 12. Die Schwingungssteuereinheit 11-3 erzeugt den Antriebskorrekturwert 104-1 auf Grundlage der Merkmalsinformationen 102 und des Antriebsbefehls 103 und gibt den erzeugten Antriebskorrekturwert 104-1 an die Antriebsbefehlseinheit 12 aus.
-
15 ist ein Ablaufdiagramm, das einen Verarbeitungsablauf veranschaulicht, der durch die Schwingungssteuereinheit 11-3, die in 14 veranschaulicht ist, durchgeführt wird. Die Schwingungssteuereinheit 11-3 korrigiert den Antriebsbefehl in den folgenden Schritten. Es ist anzumerken, dass in 15 eine Verarbeitung, die mit der in 5 veranschaulichten Verarbeitung identisch oder äquivalent ist, mit dem gleichen Bezugszeichen versehen ist, wie bei der Verarbeitung in 5. 15 veranschaulicht zudem den Verarbeitungsablauf, bei dem die Phasendifferenz als das Kriterium zum Steuern des Spindeldrehzahlbefehls und des Vorschubstangendrehzahlbefehls, das heißt des Drehzahlbefehls für die Vorschubstange 18, verwendet wird. Nachfolgend werden hauptsächlich Teile, die sich von 5 unterscheiden, beschrieben.
-
Die Verarbeitung in den Schritten S101 bis S105 ist identisch oder äquivalent zu jener in 5 und wird hier nicht beschrieben.
-
In Schritt S301 wird der Vorschubstangendrehzahlbefehl geändert, nachdem der Spindeldrehzahlbefehl in Schritt S104 oder S105 geändert wurde. Konkret wird in Schritt S301 der Vorschubstangendrehzahlbefehl geändert, sodass sich der Vorschubbetrag pro Umdrehung der Spindel 17 nicht ändert. Hier ist der Vorschubbetrag pro Umdrehung der Spindel 17 ein Wert, der durch Teilen der Vorschubstangendrehzahl, bei der es sich um die Drehzahl der Vorschubstange 18 handelt, durch die Spindeldrehzahl erhalten wird. Beispielsweise wird in einem Fall, in dem der Spindeldrehzahlbefehl in Schritt S104 um 10 % verringert wird, der Vorschubstangendrehzahlbefehl ebenfalls um die gleiche Rate, das heißt 10 %, verringert. Darüber hinaus wird in einem Fall, in dem der Spindeldrehzahlbefehl in Schritt S105 um 10 % erhöht wird, der Vorschubstangendrehzahlbefehl ebenfalls um die gleiche Rate, das heißt 10 %, erhöht.
-
In Schritt S106 bestimmt die Schwingungssteuereinheit 11-3, ob die Bearbeitung abgeschlossen ist oder nicht. Wenn die Bearbeitung abgeschlossen ist (Ja in Schritt S106), schließt die Schwingungssteuereinheit 11-3 die Bearbeitung aus 15 ab. Wenn andererseits die Bearbeitung nicht abgeschlossen ist (Nein in Schritt S106), kehrt die Verarbeitung zu Schritt S101 zurück. Die in 15 veranschaulichte Verarbeitung wird kontinuierlich ausgeführt, während die Bearbeitung durchgeführt wird.
-
Es ist zu anzumerken, dass, obwohl 15 den Fall veranschaulicht, bei dem die Phasendifferenz, die in den Merkmalsinformationen 102 beinhaltet ist, als das Kriterium verwendet wird, selbst in einem Fall, in dem andere Merkmalsinformationen 102 außer der Phasendifferenz verwendet werden, die Verarbeitung mit einem ähnlichen Ablauf durchgeführt werden kann, wie der in 15 gezeigte.
-
Gemäß der vierten Ausführungsform gibt die Schwingungssteuereinheit 11-3 den Korrekturwert zum Korrigieren des Vorschubstangendrehzahlbefehls an die Antriebsbefehlseinheit 12 synchron mit der Erhöhung oder Verringerung des Spindeldrehzahlbefehls aus. Bei dieser Steuerung ändert die Schwingungssteuereinheit 11-3 den Spindeldrehzahlbefehl und den Vorschubstangendrehzahlbefehl gemäß dem Wert der Phasendifferenz, sodass sich der Vorschubbetrag pro Umdrehung der Spindel 17 nicht ändert. Diese Steuerung führt dazu, dass der Vorschubbetrag pro Umdrehung der Spindel 17 konstant ist, wodurch Schneidmarkierungen in gleichen Abständen auf einer Bearbeitungsfläche erzeugt werden. Infolgedessen kann zusätzlich zu der Wirkung der ersten Ausführungsform eine Wirkung des Verbesserns der Bearbeitungsflächenqualität erhalten werden.
-
Fünfte Ausführungsform.
-
16 ist eine Darstellung, die eine funktionelle Konfiguration einer numerischen Steuerung 5 gemäß einer fünften Ausführungsform veranschaulicht. Verglichen mit der Konfiguration aus 1 ist in 16 die numerische Steuerung 1 durch die numerische Steuerung 5 ersetzt und ist die Merkmalsberechnungseinheit 10 durch eine Merkmalsberechnungseinheit 10-1 ersetzt. Darüber hinaus ist in 16 eine Werkzeuginformationsaufzeichnungseinheit 21 hinzugefügt, die Werkzeuginformationen 113 erzeugt. Die Merkmalsberechnungseinheit 10-1 empfängt eine Eingabe der Werkzeuginformationen 113 zusätzlich zu dem Sensorsignal 100 und dem Spindelantriebsbefehl 101. Die übrige Konfiguration ist identisch oder äquivalent mit jener aus 1, und die identischen oder äquivalenten Komponenten sind mit den gleichen Bezugszeichen wie die entsprechenden Komponenten in 1 versehen. Nachfolgend werden hauptsächlich Teile beschrieben, die sich von der numerischen Steuerung 1 unterscheiden.
-
Die Werkzeuginformationsaufzeichnungseinheit 21 zeichnet die Werkzeuginformationen 113, das heißt Informationen in Zusammenhang mit einem in der Werkzeugmaschine 16 installierten Werkzeug, auf und gibt die aufgezeichneten Werkzeuginformationen 113 an die Merkmalsberechnungseinheit 10-1 aus. Die Werkzeuginformationen 113 beinhalten mindestens Informationen in Zusammenhang mit der Anzahl von Messern an dem Werkzeug. Die Werkzeuginformationen 113 können ferner Informationen über die Art des Werkzeugs, wie etwa einen Schaftfräser oder ein Schneidwerkzeug, und die Form des Werkzeugs, wie etwa eine Länge des Werkzeugs oder einen Durchmesser des Werkzeugs, beinhalten. Es ist anzumerken, dass in einem Fall, in dem ein Drehwerkzeug installiert ist, die Werkzeuginformationsaufzeichnungseinheit 21 die Werkzeuginformationen 113 ausgibt, die angeben, dass die Anzahl von Messern an dem Werkzeug eins ist. Zudem ist selbst in dem Fall, in dem das Drehwerkzeug installiert ist, wenn eine Vielzahl der Werkzeuge das Schneiden gleichzeitig durchführt, die Anzahl der Messer gleich der Anzahl der Werkzeuge. Zum Beispiel gibt die Werkzeuginformationsaufzeichnungseinheit 21 in einem Fall, in dem die Werkzeugmaschine 16 einen unteren Werkzeughalter und einen oberen Werkzeughalter beinhaltet und eine Bearbeitung mit einem an jedem der beiden Werkzeughalter installierten Drehwerkzeug durchführt, die Werkzeuginformationen 113 aus, die angeben, dass die Anzahl der Messer zwei ist.
-
Die Merkmalsberechnungseinheit 10-1 empfängt das Sensorsignal 100 von der Werkzeugmaschine 16, empfängt den Spindelantriebsbefehl 101 von der Antriebsbefehlseinheit 12 und empfängt die Werkzeuginformationen 113 von der Werkzeuginformationsaufzeichnungseinheit 21. Auf Grundlage des Sensorsignals 100, des Spindelantriebsbefehls 101 und der Werkzeuginformationen 113 erzeugt die Merkmalsberechnungseinheit 10-1 die Merkmalsinformationen 102, die mindestens die Phasendifferenz, das heißt das Merkmal von Ratterschwingungen, beinhalten und gibt die erzeugten Merkmalsinformationen 102 an die Schwingungssteuereinheit 11 aus.
-
17 ist eine Darstellung, die eine funktionelle Konfiguration der Merkmalberechnungseinheit 10-1, die in 16 veranschaulicht ist, veranschaulicht. Die Merkmalsberechnungseinheit 10-1 beinhaltet die Sensorsignalverarbeitungseinheit 13, die Phasendifferenzberechnungseinheit 15 und eine Taktsignalerzeugungseinheit 14-1.
-
Die Taktsignalerzeugungseinheit 14-1 bestimmt auf Grundlage des Spindelantriebsbefehls 101, der durch die Antriebsbefehlseinheit 12 ausgegeben wird, und der Werkzeuginformationen 113, die durch die Werkzeuginformationsaufzeichnungseinheit 21 ausgegeben werden, dass der Spindelwinkel als der Winkel der Spindel 17 einen eingestellten Wert überschritten hat, und gibt das Taktsignal 111 zum Takt der Bestimmung an die Phasendifferenzberechnungseinheit 15 aus. Nachfolgend wird ein Verfahren zum Erzeugen des Taktsignals 111 durch die Taktsignalerzeugungseinheit 14-1 näher beschrieben. Die folgende Beschreibung geht davon aus, dass ein Werkzeug, das „α“ Messer aufweist, auf der Spindel 17 angeordnet wird. Es ist jedoch zu anzumerken, dass „α“ eine natürliche Zahl von zwei oder mehr ist.
-
18 ist eine Gruppe von Diagrammen, die eine Beziehung zwischen dem Taktsignal 111, das von der in
17 veranschaulichten Taktsignalerzeugungseinheit 14-1 ausgegeben wird, und einem Spindelwinkelbefehl veranschaulichen. Wie in
18 veranschaulicht, ist der Spindelwinkelbefehl ein Signal, das einen Wert von 0 [rad] bis 2π [rad] annimmt und zu 0 [rad] zurückkehrt, wenn es 2π [rad] erreicht. Das Taktsignal 111 ist ein Signal, das jedes Mal ausgegeben wird, wenn der Spindelwinkelbefehl einen eingestellten Winkel φ
β überschreitet. Hier ist „β“ eine natürliche Zahl von zwei oder mehr und „α“ oder weniger. Das heißt, dass das Taktsignal 111 „α“-mal ausgegeben wird, während die Spindel 17 eine Umdrehung vollzieht.
18 ist ein Beispiel für α=2, wobei das Taktsignal 111 jedes Mal ausgegeben wird, wenn der Spindelwinkelbefehl eingestellte Winkel φ
1 und φ
2 überschreitet und das Taktsignal 111 nicht anderweitig ausgegeben wird. Es ist anzumerken, dass der Winkel φ1 lediglich an einem Punkt eingestellt werden muss, während die Spindel 17 eine Umdrehung ausführt, und auf einen beliebigen Winkel eingestellt werden kann. Es besteht jedoch eine Einschränkung zwischen φ
β und φ
β-1., die durch den folgenden Ausdruck (4) ausgedrückt wird.
-
Es ist anzumerken, dass die Taktsignalerzeugungseinheit 14-1 als weiteres Beispiel das Taktsignal 111 unter Verwendung des Spindeldrehzahlbefehls, der in dem Spindelantriebsbefehl 101 beinhaltet ist, erzeugen kann. In diesem Fall gibt die Taktsignalerzeugungseinheit 14-1 das Taktsignal 111 zu jedem Zeitpunkt T2 aus, der anhand des Spindeldrehzahlbefehls S [U/min] unter Verwendung des folgenden Ausdrucks (5) berechnet wird.
-
Wie vorstehend beschrieben, beinhaltet die numerische Steuerung 5 gemäß der fünften Ausführungsform die Werkzeuginformationsaufzeichnungseinheit 21, welche die Informationen in Zusammenhang mit der Anzahl von Messern an dem Werkzeug aufzeichnet, und die Merkmalsberechnungseinheit 10-1 berechnet die Merkmalsinformationen 102 unter Berücksichtigung der Anzahl von Messern an dem Werkzeug. Dann erzeugt die Taktsignalerzeugungseinheit 14-1 auf Grundlage der Werkzeuginformationen 113, die von der Werkzeuginformationsaufzeichnungseinheit 21 erfasst werden, jedes Mal, wenn sich die Spindel 17 dreht, das Taktsignal 111 und gibt das Taktsignal 111 an die Phasendifferenzberechnungseinheit 15 aus. Infolgedessen kann sogar in dem Fall, in dem die Anzahl von Messern an dem Werkzeug zwei oder mehr beträgt, die Wirkung des Unterdrückens von Ratterschwingungen erhalten werden.
-
Als Nächstes wird eine Hardwarekonfiguration zum Umsetzen der Funktionen der numerischen Steuerungen 1 bis 5, die in der ersten bis fünften Ausführungsform beschrieben sind, unter Bezugnahme auf die 19 und 20 beschrieben. 19 ist ein Blockdiagramm, das ein Beispiel für die Hardwarekonfiguration veranschaulicht, welche die Funktionen der numerischen Steuerungen 1 bis 5 umsetzt, die in der ersten bis fünften Ausführungsform beschrieben sind. 20 ist ein Blockdiagramm, das ein weiteres Beispiel für die Hardwarekonfiguration veranschaulicht, welche die Funktionen der numerischen Steuerungen 1 bis 5 umsetzt, die in der ersten bis fünften Ausführungsform beschrieben sind.
-
Beim Umsetzen der Funktionen der numerischen Steuerungen 1 bis 5, wie in 19 veranschaulicht, kann die Hardwarekonfiguration einen Prozessor 701, der eine arithmetische Operation durchführt, einen Speicher 702, der von dem Prozessor 701 zu lesende Programme speichert, und eine Schnittstelle 704, die Signale eingibt und ausgibt, beinhalten.
-
Der Prozessor 701 kann ein arithmetisches Mittel sein, das als Rechenvorrichtung, Mikroprozessor, Mikrocomputer, Zentraleinheit (CPU) oder digitaler Signalprozessor (DSP) bezeichnet wird. Der Speicher 702 kann zum Beispiel einen nicht flüchtigen oder flüchtigen Halbleiterspeicher, wie etwa einen Direktzugriffsspeicher (random access memory - RAM), einen Festwertspeicher (read only memory - ROM), einen Flash-Speicher, einen löschbaren programmierbaren ROM (erasable programmable ROM - EPROM) oder einen elektrischen EPROM (electrically EPROM - EEPROM (eingetragenes Markenzeichen)), eine Magnetplatte, eine flexible Platte, eine optische Platte, eine Compact Disc, eine Mini Disc oder eine Digital Versatile Disc (DVD) beinhalten.
-
Der Speicher 702 speichert die Programme zum Ausführen der Funktionen der numerischen Steuerungen 1 bis 5. Der Prozessor 701 überträgt und empfängt notwendige Informationen über die Schnittstelle 704, führt die im Speicher 702 gespeicherten Programme aus und bezieht sich auf eine im Speicher 702 gespeicherte Tabelle, wodurch er dazu in der Lage ist, die vorstehend beschriebene Verarbeitung durchzuführen. Ein Ergebnis der arithmetischen Operation von dem Prozessor 701 kann in dem Speicher 702 gespeichert werden.
-
Wenn darüber hinaus die Funktionen der numerischen Steuerungen 1 bis 5 umgesetzt werden, kann auch die in 20 veranschaulichte Verarbeitungsschaltung 703 verwendet werden. Die Verarbeitungsschaltung 703 entspricht einer Einzelschaltung, einer komplexen Schaltung, einer anwendungsspezifischen integrierten Schaltung (application specific integrated circuit - ASIC), einem feldprogrammierbaren Gate-Array (FPGA) oder einer Kombination davon. In die Verarbeitungsschaltung 703 einzugebende Informationen und von der Verarbeitungsschaltung 703 auszugebende Informationen können über die Schnittstelle 704 erhalten werden.
-
Es ist anzumerken, dass ein Teil der Verarbeitung der numerischen Steuerungen 1 bis 5 durch die Verarbeitungsschaltung 703 umgesetzt werden kann und eine Verarbeitung, die nicht durch die Verarbeitungsschaltung 703 umgesetzt wird, durch den Prozessor 701 und den Speicher 702 umgesetzt werden kann.
-
Die in den vorstehenden Ausführungsformen veranschaulichten Konfigurationen veranschaulichen lediglich ein Beispiel, sodass eine andere bekannte Technik kombiniert werden kann, die Ausführungsformen miteinander kombiniert werden können oder die Konfigurationen teilweise weggelassen und/oder modifiziert werden können, ohne vom Umfang der vorliegenden Offenbarung abzuweichen.
-
Liste der Bezugszeichen
-
1, 2, 3, 4, 5 numerische Steuerung; 10, 10-1 Merkmalsberechnungseinheit; 11, 11-1, 11-2, 11-3 Schwingungssteuereinheit; 12 Antriebsbefehlseinheit; 13 Sensorsignalverarbeitungseinheit; 14, 14-1 Taktsignalerzeugungseinheit; 15 Phasendifferenzberechnungseinheit; 16 Werkzeugmaschine; 17 Spindel; 18 Vorschubstange; 19 Sensor, 20 Eingabevorrichtung; 21 Werkzeuginformationsaufzeichnungseinheit; 100 Sensorsignal; 101 Spindelantriebsbefehl; 102 Merkmalsinformationen; 103 Antriebsbefehl; 104, 104-1 Antriebskorrekturwert; 105 Betriebsinformationen; 106 Grenzinformationen; 110 Zustandsgrößensignal; 111 Taktsignal; 113 Werkzeuginformationen; 120 Integrator; 121 Differentiator; 122 Proportionalverstärkung; 123 Integralverstärkung; 124 Differenzverstärkung; 125 Merkmalsabweichung; 126 Merkmalkorrekturbetrag; 201 Informationsbeobachtungseinheit; 202 Inferenzeinheit; 203 Inferenzdatensatz; 300 Lernvorrichtung; 301 Lerndatenerfassungseinheit; 302 Lernverarbeitungseinheit; 303 Informationen über das Vorhandensein/die Abwesenheit von Ratterschwingungen; 304 Lerndatensatz; 305 Inferenzmodell; 701 Prozessor; 702 Speicher; 703 Verarbeitungsschaltung; 704 Schnittstelle.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-