DE112021007584T5 - NUMERICAL CONTROL, LEARNING APPARATUS AND METHOD FOR SUPPRESSING CHATTER VIBRATIONS - Google Patents

NUMERICAL CONTROL, LEARNING APPARATUS AND METHOD FOR SUPPRESSING CHATTER VIBRATIONS Download PDF

Info

Publication number
DE112021007584T5
DE112021007584T5 DE112021007584.5T DE112021007584T DE112021007584T5 DE 112021007584 T5 DE112021007584 T5 DE 112021007584T5 DE 112021007584 T DE112021007584 T DE 112021007584T DE 112021007584 T5 DE112021007584 T5 DE 112021007584T5
Authority
DE
Germany
Prior art keywords
spindle
unit
drive command
command
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112021007584.5T
Other languages
German (de)
Inventor
Ryosuke IKEDA
Kazuki TAKAHEI
Tomoya Fujita
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112021007584T5 publication Critical patent/DE112021007584T5/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/404Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q15/00Automatic control or regulation of feed movement, cutting velocity or position of tool or work
    • B23Q15/007Automatic control or regulation of feed movement, cutting velocity or position of tool or work while the tool acts upon the workpiece
    • B23Q15/12Adaptive control, i.e. adjusting itself to have a performance which is optimum according to a preassigned criterion
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41115Compensation periodical disturbance, like chatter, non-circular workpiece
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41256Chattering control

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Automatic Control Of Machine Tools (AREA)
  • Numerical Control (AREA)

Abstract

Eine numerische Steuerung (1) beinhaltet eine Antriebsbefehlseinheit (12), die einen Antriebsbefehl (103) an eine Spindel (17) und eine Vorschubstange (18) einer Werkzeugmaschine (16) abgibt, und beinhaltet ferner eine Merkmalsberechnungseinheit (10) und eine Schwingungssteuereinheit (11). Die Merkmalsberechnungseinheit (10) berechnet Merkmalsinformationen (102) von Ratterschwingungen auf Grundlage eines Sensorsignals (100), das durch Ermitteln von Schwingungen eines Werkzeugs oder eines an der Werkzeugmaschine (16) befestigten Werkstücks erhalten wird, und eines Spindelantriebsbefehls (101), das heißt des Antriebsbefehls für die Spindel (17). Die Schwingungssteuereinheit (11) gibt einen Antriebskorrekturwert (104) zum Korrigieren des Antriebsbefehls (103) an die Antriebsbefehlseinheit (12) aus, bis die Merkmalsinformationen (102) einen Wert innerhalb eines Sollbereichs erreichen.A numerical control (1) includes a drive command unit (12), which issues a drive command (103) to a spindle (17) and a feed rod (18) of a machine tool (16), and further includes a feature calculation unit (10) and a vibration control unit ( 11). The feature calculation unit (10) calculates feature information (102) of chatter vibrations based on a sensor signal (100) obtained by detecting vibrations of a tool or a workpiece attached to the machine tool (16), and a spindle drive command (101), that is, the Drive command for the spindle (17). The vibration control unit (11) outputs a drive correction value (104) for correcting the drive command (103) to the drive command unit (12) until the feature information (102) reaches a value within a target range.

Description

GebietArea

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.The present disclosure relates to a numerical controller for suppressing chatter vibrations in a machine tool, a learning device and a method for suppressing chatter vibrations.

Hintergrundbackground

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.A machine tool is a mechanical device that performs machining on a workpiece to obtain the workpiece having a desired shape by changing a relative position between the workpiece and a tool. The machine tool, represented by a milling machine and a lathe, performs machining by attaching the tool or workpiece to a spindle and rotating the spindle. Vibrations that are referred to as “chatter vibrations” can occur during machining. The occurrence of chatter vibrations reduces the accuracy of a machined surface and/or causes the tool to become damaged.

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.In Patent Literature 1 below, a method for searching and obtaining an optimal spindle speed to suppress chatter vibration, i.e., is disclosed. H. To reduce or eliminate chatter vibrations is discussed. The optimal spindle speed is calculated based on a gradient of phase difference. The phase difference gradient is a ratio of a variation of the phase difference to a variation of the spindle speed, that is, a slope of the phase difference. This phase difference is calculated as a parameter representing a characteristic of chatter vibrations by a known equation that includes chatter vibrations, the number of knives on a tool and the spindle speed. Patent Literature 1 measures the phase difference when changing the spindle speed and calculates the gradient of the phase difference based on the measured phase difference.

Entgegenhaltungslistecitation list

PatentliteraturPatent literature

Patentliteratur 1: JP 2018-118366 A Patent literature 1: JP 2018-118366 A

KurzdarstellungShort presentation

Technisches ProblemTechnical 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.However, the technique described in Patent Literature 1 has a problem that when a characteristic of a vibration system that causes chatter vibration to occur changes during the search for the optimal spindle speed, it is necessary to abort the search and restart the processing to restart. The characteristic of the vibration system that causes chatter vibration to occur changes easily due to a decrease in the mass of the workpiece caused by machining or a change in a portion of the workpiece to be machined. Accordingly, in the technique of Patent Literature 1, if the characteristic of the vibration system that causes chatter vibration to occur changes before the search for the optimal spindle speed is completed, the optimal spindle speed cannot be calculated, making it difficult to detect the chatter vibration to reduce or eliminate.

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.The present disclosure is made in view of the foregoing, and an object of the present disclosure is to provide a numerical controller capable of suppressing chatter vibrations even when a characteristic of a vibration system changes while the chatter vibrations are suppressed.

Lösung des Problemsthe solution of the problem

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.In order to solve the problem described above and achieve the object, a numerical controller according to the present disclosure includes a drive command unit that issues a drive command to a spindle and a feed rod of a machine tool, and further includes a feature calculation unit and a vibration control unit. The feature calculation unit calculates feature information of chatter vibrations based on a sensor signal obtained by detecting vibrations of a tool or workpiece attached to the machine tool and a spindle drive command, that is, the drive command for the spindle. The vibration control unit outputs a correction value for correcting the drive command to the drive command unit until the feature information reaches a value within a target range.

Vorteilhafte Wirkungen der ErfindungAdvantageous effects of the invention

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.The numerical control according to the present disclosure has a we kung that it is capable of suppressing chatter vibrations even if the property of the vibration system changes while the chatter vibrations are suppressed.

Kurze Beschreibung der ZeichnungenBrief description of the drawings

  • 1 ist eine Darstellung, die eine funktionelle Konfiguration einer numerischen Steuerung gemäß einer ersten Ausführungsform veranschaulicht. 1 is a diagram illustrating a functional configuration of a numerical controller according to a first embodiment.
  • 2 ist eine Darstellung, die eine funktionelle Konfiguration einer Merkmalberechnungseinheit, die in 1 veranschaulicht ist, veranschaulicht. 2 is a representation that shows a functional configuration of a feature calculation unit, which is in 1 is illustrated, illustrated.
  • 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. 3 is a group of diagrams showing a relationship between a clock signal coming from an in 2 illustrated clock signal generation unit is output, and a spindle angle command.
  • 4 ist ein Diagramm, das dimensionslose Größen veranschaulicht, die von einer in 2 veranschaulichten Phasendifferenzberechnungseinheit berechnet werden. 4 is a diagram illustrating dimensionless quantities derived from an in 2 illustrated phase difference calculation unit can be calculated.
  • 5 ist ein Ablaufdiagramm, das einen Verarbeitungsablauf veranschaulicht, der durch eine Schwingungssteuereinheit und eine Antriebsbefehlseinheit, die in 1 veranschaulicht sind, durchgeführt wird. 5 is a flowchart illustrating a processing flow performed by a vibration control unit and a drive command unit shown in 1 are illustrated.
  • 6 ist eine Gruppe von Diagrammen, die ein Beispiel für einen konkreten Betrieb durch die Schwingungssteuereinheit und die in 1 veranschaulichte Antriebsbefehlseinheit veranschaulichen. 6 is a group of diagrams showing an example of concrete operation by the vibration control unit and the in 1 illustrated drive command unit.
  • 7 ist eine Darstellung, die ein Beispiel für eine weitere Konfiguration zum Umsetzen der Funktion der in 1 veranschaulichten Schwingungssteuereinheit veranschaulicht. 7 is a representation that is an example of another configuration for implementing the function of the in 1 illustrated vibration control unit.
  • 8 ist eine Darstellung, die ein Beispiel für eine Konfiguration eines Inferenzmodells unter Verwendung eines allgemeinen neuronalen Netzwerks veranschaulicht. 8th is a diagram illustrating an example of an inference model configuration using a general neural network.
  • 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. 9 is a diagram illustrating an example configuration of a learning device that learns an inference model derived from the in 7 illustrated vibration control unit is used.
  • 10 ist eine Darstellung, die eine funktionelle Konfiguration einer numerischen Steuerung gemäß einer zweiten Ausführungsform veranschaulicht. 10 is a diagram illustrating a functional configuration of a numerical controller according to a second embodiment.
  • 11 ist ein Ablaufdiagramm, das einen Verarbeitungsablauf veranschaulicht, der durch eine Schwingungssteuereinheit, die in 10 veranschaulicht ist, durchgeführt wird. 11 is a flowchart illustrating a processing flow performed by a vibration control unit included in 10 is illustrated.
  • 12 ist eine Darstellung, die eine funktionelle Konfiguration einer numerischen Steuerung gemäß einer dritten Ausführungsform veranschaulicht. 12 is a diagram illustrating a functional configuration of a numerical controller according to a third embodiment.
  • 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. 13 is a diagram illustrating an example of a configuration of a control system that implements the function of a vibration control unit according to the third embodiment.
  • 14 ist eine Darstellung, die eine funktionelle Konfiguration einer numerischen Steuerung gemäß einer vierten Ausführungsform veranschaulicht. 14 is a diagram illustrating a functional configuration of a numerical controller according to a fourth embodiment.
  • 15 ist ein Ablaufdiagramm, das einen Verarbeitungsablauf veranschaulicht, der durch eine Schwingungssteuereinheit, die in 14 veranschaulicht ist, durchgeführt wird. 15 is a flowchart illustrating a processing flow performed by a vibration control unit included in 14 is illustrated.
  • 16 ist eine Darstellung, die eine funktionelle Konfiguration einer numerischen Steuerung gemäß einer fünften Ausführungsform veranschaulicht. 16 is a diagram illustrating a functional configuration of a numerical controller according to a fifth embodiment.
  • 17 ist eine Darstellung, die eine funktionelle Konfiguration einer Merkmalberechnungseinheit, die in 16 veranschaulicht ist, veranschaulicht. 17 is a representation that shows a functional configuration of a feature calculation unit, which is in 16 is illustrated, illustrated.
  • 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. 18 is a group of diagrams showing a relationship between a clock signal coming from an in 17 illustrated clock signal generation unit is output, and a spindle angle command.
  • 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. 19 is a block diagram illustrating an example of a hardware configuration that implements the functions of the numerical controllers described in the first to fifth embodiments.
  • 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. 20 is a block diagram illustrating another example of a hardware configuration that implements the functions of the numerical controllers described in the first to fifth embodiments.

Beschreibung von AusführungsformenDescription of embodiments

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.Below, a numerical controller, a learning device and a method for suppressing shaking vibrations according to embodiments of the present disclosure will be described in more detail with reference to the drawings.

Erste Ausführungsform.First embodiment.

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. 1 is a diagram illustrating a functional configuration of a numerical controller 1 according to a first embodiment. The numerical control 1 gives one Drive command 103 to a machine tool 16 to control the machine tool 16 numerically.

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.The machine tool 16 includes a spindle 17 and a feed rod 18, each of which includes a motor driven by the drive command 103. In the first embodiment, a workpiece is placed on the spindle 17 and a tool is placed on the feed rod 18. In addition, the machine tool 16 outputs operating information 105 to the numerical controller 1, the operating information 105 including at least information related to positions of the spindle 17 and the feed rod 18 and information related to speed and motor current.

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.A sensor 19 is attached to the machine tool 16. The sensor 19 outputs a sensor signal 100 obtained by detecting vibrations of the tool or the workpiece to the numerical controller 1. The sensor 19 is attached to a structure of the spindle 17 or the feed rod 18 of the machine tool 16. The sensor 19 may be mounted at any position where vibrations of the tool or workpiece can be detected, but more preferably it is mounted near a point where the tool and workpiece come into contact with each other.

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.The sensor 19 can be any type of sensor that can detect vibrations of the tool or the workpiece. Examples of the sensor 19 include a displacement sensor, a speed sensor, an acceleration sensor and an angular velocity sensor. Alternatively, the sensor 19 may be a force sensor that detects a reaction force against cutting, or a microphone that detects a cutting noise during machining. As a further alternative, instead of using the sensor 19, at least one or more of the positions of the spindle 17 and the feed rod 18, the rotational speeds and the motor currents included in the operating information 105 may be used to detect vibrations of the tool or workpiece that occur during machining and information indicating the detected vibrations can be output as the sensor signal 100.

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.The numerical controller 1 includes a feature calculation unit 10, a vibration control unit 11 and a drive command unit 12. The drive command unit 12 receives the operation information 105 from the machine tool 16 and gives the drive command 103 based on the received operation information 105 to the spindle 17 and the feed rod 18 of the machine tool 16 away.

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.The drive command unit 12 further receives a drive correction value 104 from the vibration control unit 11. The drive command unit 12 outputs the drive command 103 generated based on the operation information 105 and the drive correction value 104 to the machine tool 16 and the vibration control unit 11. In addition, the drive command unit 12 outputs a spindle drive command 101 included in the generated drive command 103 to the feature calculation unit 10. It is noted that the spindle drive command 101 is a signal that includes at least a spindle angle command, that is, an angle command to the spindle 17.

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.It is noted that the spindle drive command 101 may include a spindle speed command, a spindle angle, or a spindle speed in addition to the spindle angle command. The spindle speed command is a speed command to the spindle 17. The spindle angle is an actual angle of the spindle 17 with respect to the spindle angle command. The spindle speed is an actual speed of the spindle 17 with respect to the spindle speed command. In addition, the drive command 103 includes at least one of the spindle angle command or the spindle speed command and at least one of a feed rod position command or a feed rod speed command. The push rod position command is a position command to the push rod 18. The push rod speed command is a speed command to the push rod 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.The feature calculation unit 10 receives the sensor signal 100 from the machine tool 16 and receives the spindle drive command 101 from the drive command unit 12. The feature calculation unit 10 calculates feature information 102 based on the sensor signal 100 and the spindle drive command 101, and outputs the calculated feature information 102 to the vibration control unit 11. The feature information 102 includes at least information about a phase difference, that is, a feature of chatter vibrations.

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. 2 is a representation showing a functional configuration of the feature calculation unit 10 shown in 1 is illustrated, illustrated. The feature calculation unit 10 includes a sensor signal processing unit 13, a phase difference calculation unit 15 and a clock signal generation unit 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.The sensor signal processing unit 13 generates a plurality of kinds of state quantities based on the sensor signal 100 and outputs a state quantity signal 110 indicating the generated plurality of kinds of state quantities to the phase difference calculation unit 15. The state variable signal 110 is a signal that includes a first state variable and a second state variable. Specifically, the state variable signal 110 is a signal that includes a state variable represented by the sensor signal 100 and a state variable obtained by applying time differentiation or time integration to the sensor signal 100. For example, the first state variable is the sensor signal 100 and the second state variable is the state variable obtained by time-differentiating the sensor signal 100 once. It should be noted that the first state variable itself can also be a state variable obtained by time differentiation.

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.The sensor signal processing unit 13 generates the state variable signal 110 by making the sensor signal 100 and the signal obtained by time-differentiating the sensor signal 100 once into simultaneous time series signals. Here, time differentiation means processing for calculating a deviation of the state variable per unit of time and time integration means processing for calculating a cumulative amount per unit of time.

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.Note that any combination of the number of times of differentiating the first state quantity and the number of times of differentiating the second state quantity can be used as long as a difference between the numbers of times is an odd number. For example, assume that the first state variable is a state variable obtained by time-differentiating the sensor signal 100 "P" times, and the second state variable is a state variable obtained by time-differentiating the sensor signal 100 "Q" times. Here “P” and “Q” are integers. In this case, a difference between “P” and “Q” can only be an odd number.

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.Furthermore, the dimension of the first state variable or the second state variable may be a dimension obtained by time integrating the sensor signal 100. As a concrete example, the first state variable can be an acceleration and the second state variable can be a speed. Alternatively, the first state variable may be the jerk, i.e. a derivative value of the acceleration, and the second state variable may be a position, i.e. an integer value of the speed. For example, the sensor signal processing unit 13 may generate two or more kinds of state quantities that include the sensor signal 100 and at least one of the state quantity obtained by time-differentiating the sensor signal 100 or the state quantity obtained by time-integrating the sensor signal 100.

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.The clock signal generation unit 14 outputs a clock signal 111 to the phase difference calculation unit 15 when it is determined that the spindle angle command has exceeded a predetermined angle based on the spindle drive command 101 output from the drive command unit 12. Here, a method for generating the clock signal 111 will be described in more detail.

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. 3 is a group of diagrams showing a relationship between the clock signal 111 supplied by the in 2 illustrated clock signal generation unit 14 is output, and the spindle angle command. The spindle angle command is included in the spindle drive command 101 output by the drive command unit 12. As in 3 As illustrated, the spindle angle command is a signal that takes a value from 0 [rad] to 2π [rad] and returns to 0 [rad] when it reaches 2π [rad]. The clock signal generating unit 14 outputs the clock signal 111 every time the spindle angle command exceeds a set angle φ1, and does not output the clock signal 111 otherwise. As a result, the clock signal 111 is periodically output in a clock synchronous with the rotation of the spindle 17 of the machine tool 16. The angle φ1 only needs to be adjusted at a point while the spindle 17 is rotating, and can be any angle. The angle φ1 can, for example, be an angle of the spindle 17 at the time of the alignment of the spindle 17. Here, the orientation of the spindle 17 corresponds to a reference angle at which the spindle 17 is stopped.

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. T 1 = 60 /s

Figure DE112021007584T5_0001
Alternatively, the clock signal generating unit 14 may generate the clock signal 111 using the spindle speed command included in the spindle drive command 101. In this case, the clock signal generating unit 14 outputs the clock signal 111 at each time T1, which is calculated from a spindle speed command S [RPM] using the following expression (1) with an initial time t0 as a reference time. The clock signal generation unit 14 can also use the spindle angle command and the spindle speed command together. T 1 = 60 /s
Figure DE112021007584T5_0001

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.Note that the clock signal generation unit 14 in the above description generates the clock signal 111 using the spindle drive command 101, but the present disclosure is not limited to this. Instead of the spindle drive command 101 or in addition to the spindle drive command 101, the clock signal generating unit 14 may use a feed rod drive command, which is a drive command for the feed rod 18, to generate the clock signal 111.

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.The phase difference calculation unit 15 receives the clock signal 111 output from the clock signal generation unit 14 and the state quantity signal 110 output from the sensor signal processing unit 13. Based on the clock signal 111 and the state quantity signal 110, the phase difference calculation unit 15 normalizes each of the plurality of types of state quantities included in the state quantity signal 110 at each clock signal 111 to make the state quantities dimensionless. The phase difference calculation unit 15 calculates a phase difference indicating a difference between phases of the dimensionless state quantity signal in a state space including the dimensionless state quantities, and outputs the calculated phase difference as the feature information 102 to the vibration control unit 11. It should be noted that the state space mentioned here will be described in detail below.

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.The phase difference calculation unit 15 normalizes each of the plurality of types of state quantities included in the state quantity signal 110 by dividing each state quantity by a predetermined maximum value of each state quantity. The maximum value used here may be a maximum value of each state quantity obtained in a preliminary machining experiment, or may be a maximum value of each state quantity obtained in a preliminary simulation.

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.It is assumed that the phase difference calculation unit 15 receives the clock signal 111 at a time t1 and a time t2, and that a time t2 is later than a time t1. At this time, the phase difference calculation unit 15 normalizes the state quantity signal 110 at the time t1 and sets the normalized value as a first dimensionless quantity N1. Furthermore, the phase difference calculation unit 15 normalizes the state quantity signal 110 at the time t2 similarly to that at the time t1, and sets the normalized value as a second dimensionless quantity N2.

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. 4 is a diagram illustrating the dimensionless quantities used by the in 2 illustrated phase difference calculation unit 15 can be calculated. 4 illustrates the first dimensionless quantity N1 and the second dimensionless quantity N2 in the state space represented by the first state quantity and the second state quantity included in the state quantity signal 110. Both the first and second state variables are vector variables. In 4 a first axis as a horizontal axis represents a direction of the first state variable, a second axis as a vertical axis represents a direction of the second state variable, and the first axis and the second axis are orthogonal to one another. As in 4 As illustrated, a vector space may be defined with the first axis as the horizontal axis and the second axis as the vertical axis. In the present description this vector space is referred to as the “state space”.

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.The phase difference calculation unit 15 calculates an angle θ formed by the first dimensionless quantity N1, the origin of the state space and the second dimensionless quantity N2, as a phase difference between the first dimensionless quantity N1 and the second dimensionless quantity N2, where the first dimensionless quantity N1 is the dimensionless quantity in the previous processing and the second dimensionless quantity N2 is the dimensionless quantity in the current processing. The phase difference calculation unit 15 performs the above calculation on each clock signal 111 to calculate the phase difference between the dimensionless quantity in the current processing and the dimensionless quantity in the previous processing. The phase difference calculation unit 15 outputs the feature information 102, which includes at least the calculated phase difference, to the vibration control unit 11. It should be noted that in the first embodiment, the phase difference takes a value between -π [rad] and +π [rad].

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.The vibration control unit 11 receives the feature information 102 from the feature calculation unit 10 and receives the drive command 103 from the drive command unit 12. The vibration control unit 11 generates the drive correction value 104 based on the feature information 102 and the drive command 103 and outputs the generated drive correction value 104 to the drive command unit 12. The drive correction value 104 is a correction value for correcting the drive command 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. 5 is a flowchart illustrating a processing flow performed by the Vibration control unit 11 and the drive command unit 12, which in 1 are illustrated. 5 illustrates the processing flow in which the phase difference from the information included in the feature information 102 is used as a criterion and the spindle speed command is to be controlled among the various commands included in the drive command 103. The vibration control unit 11 corrects the drive command 103 in the following steps.

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.First, the vibration control unit 11 determines whether or not the phase difference is outside a phase difference target range in step S101. The phase difference target range is a target range of the phase difference having a preset range value. In the first embodiment, as an example, a target value of the phase difference is set to zero radians, and the phase difference target range is set to a range of -0.1 [rad] to +0.1 [rad]. It should be noted that the phase difference target range can be set to a value sufficiently larger than noise of the phase difference.

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.If the phase difference is within the phase difference target range in step S101 (No in step S101), processing proceeds to step S102 and the current spindle speed is maintained. That is, in step S102, the drive command unit 12 does not change the current spindle speed command and outputs the original spindle speed command. On the other hand, if the phase difference is outside the phase difference target range (Yes in step S101), the processing proceeds to step S103.

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.In step S103, the vibration control unit 11 determines whether or not the phase difference is greater than or equal to a phase difference threshold value. The phase difference threshold is an arbitrary value that is set in advance. In the first embodiment, as an example, zero -[rad] is set as a phase difference threshold. If the phase difference is greater than or equal to the phase difference threshold (Yes in step S103), processing proceeds to step S104, or if the phase difference is smaller than the phase difference threshold (No in step S103), processing proceeds to step S105.

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.Note that in step S103, the case where the phase difference is equal to the phase difference threshold is determined as "Yes", but may be determined as "No". That is, the case where the phase difference is equal to the phase difference threshold can be determined as either “Yes” or “No”.

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 step S104, the spindle speed command is reduced by a predetermined amount (or a predetermined decrement width). That is, if it is determined in step S103 that the phase difference is greater than or equal to the phase difference threshold, in step S104 the value of the spindle speed command is reduced by the predetermined amount. On the other hand, in step S105, the spindle speed command is increased by a predetermined amount (or a predetermined decrement width). That is, if it is determined in step S103 that the phase difference is smaller than the phase difference threshold, in step S105 the value of the spindle speed command is increased by the predetermined amount. It should be noted that the amount by which the spindle speed command is increased or decreased may be a ratio with respect to the current spindle speed command or may be a fixed value independent of the spindle speed command.

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.In step S106, the vibration control unit 11 determines whether the processing is completed or not. When the processing is completed (Yes in step S106), the vibration control unit 11 completes the processing 5 away. On the other hand, if the processing is not completed (No in step S106), the processing returns to step S101. In the 5 Processing illustrated is carried out continuously while the editing is being performed.

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.It should be noted that, although 5 illustrates the case where the phase difference included in the feature information 102 is used as the criterion and the spindle speed command included in the drive command 103 is set as the object to be controlled, but even in a case where If other feature information 102 other than the phase difference is used as the criterion and something other than the spindle speed command is set as the object to be controlled, the processing can be performed in a similar flow to that in 5 shown. That is, the vibration control unit 11 performs control to output the drive correction value 104 for correcting the drive command 103 output by the drive command unit 12 until the feature information 102 reaches a value within the target range. In addition, the drive command unit 12 corrects the drive command 103 based on the drive correction value 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. 6 is a group of diagrams showing an example of a concrete operation by the vibration control unit 11 and the in 1 illustrated drive command unit 12 illustrates chen. 6 is the set of graphs illustrating a relationship between the phase difference and the spindle speed at any point in time. The upper part of 6 illustrates the phase difference and the lower part illustrates the spindle speed. In addition, the horizontal axes are in 6 represents the time.

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.Between time t60 and time t61, the phase difference assumes values within the phase difference target range, and thus the spindle speed has a constant value. Between time t61 and time t62, the phase difference is outside the phase difference target range and has a value less than zero [rad], which is the phase difference threshold. Therefore, the spindle speed is increased by a predetermined set value.

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.Next, the phase difference between time t62 and time t63 takes values within the phase difference target range, and thus the spindle speed has a constant value. Between time t63 and time t64, the phase difference is outside the phase difference target range and has a value that exceeds zero [rad], which is the phase difference threshold. Therefore, the spindle speed is reduced by a predetermined set value. After time t64, the phase difference assumes values within the phase difference target range, and thus the spindle speed has a constant value.

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.As described above, the drive command unit 12 changes the drive command 103 according to the value of the phase difference. At this time, the vibration control unit 11 outputs the drive correction value 104 to the drive command unit 12 based on the value of the phase difference.

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.As described above, according to the first embodiment, time series data of the plurality of types of state variables are generated based on the sensor signal 100 obtained by detecting vibrations of the tool or the workpiece attached to the machine tool 16. Then, in the state space, the dimensionless quantities indicating the plurality of types of state quantities are generated at each clock signal 111, and the phase difference indicating the angle θ as the difference between the phases of the dimensionless quantities is calculated. The drive command 103 is corrected based on the value of the phase difference.

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.In the technique of the first embodiment, the phase difference is calculated at each clock signal 111 and the drive command 103 is corrected based on the calculated phase difference. That is, in the technique of the first embodiment, for the spindle speed under a variety of conditions, the spindle speed can be corrected without measuring the phase difference in advance. Therefore, for example, even in a case where a property changes the chatter vibrations during machining of the workpiece, the chatter vibrations can be suppressed, i.e. H. be reduced or eliminated.

Es ist anzumerken, dass die Merkmalsberechnungseinheit 10 als ein anderes Beispiel die Phasendifferenz auf Grundlage der folgenden Ausdrücke (2) und (3) berechnen kann. k = { 60 × f / ( n × S ) }

Figure DE112021007584T5_0002
Phasendifferenz = ( k [ k ] ) × 2 π
Figure DE112021007584T5_0003
Note that, as another example, the feature calculation unit 10 may calculate the phase difference based on the following expressions (2) and (3). k = { 60 × f / ( n × S ) }
Figure DE112021007584T5_0002
Phase difference = ( k [ k ] ) × 2 π
Figure DE112021007584T5_0003

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.In the above expression (2), “f” represents the frequency of chatter vibrations and “n” represents the number of knives on the tool. Here, the frequency “f” of the chatter vibrations can be obtained by performing a frequency analysis represented by fast Fourier transform (FFT) on the sensor signal 100 and calculating a frequency at which the gain peaks become. Further, in the above expression (2), the function [k] is a function for converting the value of “k” into an integer and a function for rounding decimal places of the value of “k” toward zero.

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.As described above, according to the numerical controller 1 and the method for suppressing chatter vibrations carried out using the numerical controller 1 according to the first embodiment, the feature information 102 of the chatter vibrations is based on the sensor signal 100 obtained by detecting vibrations of the tool or of the workpiece attached to the machine tool 16 is obtained, and the spindle drive command 101 is calculated as the drive command for the spindle 17. Then, the drive correction value 104 is output to the drive command unit 12 as the correction value for correcting the drive command 103 until the feature information 102 reaches the value within the target range. As a result, chatter vibrations can be reduced or eliminated even if the characteristic of the vibration system changes while the chatter vibrations are reduced or eliminated. In addition, the technique of the first embodiment does not perform drive command value optimization that has been conventionally performed. As a result, the time required to reduce or eliminate the chatter vibrations can increase can be shortened and the chatter vibrations can be suppressed more quickly.

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.As described above, the technique of the first embodiment can calculate the feature information 102 without using the frequency analysis represented by FFT. This can reduce the time from the occurrence of the chatter vibrations to the suppression of the chatter vibrations. As a result, it is possible to obtain the suppression of high-speed chatter vibrations.

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.Note that the machine tool 16 according to the first embodiment has the configuration in which the workpiece is placed on the spindle 17, but is not limited to this configuration. As an alternative configuration, if the tool is placed on the spindle 17, such as represented by a milling machine and a lathe, a similar effect can be achieved.

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.Furthermore, the first embodiment uses a sensor 19, but the sensors 19 may be installed in a variety of locations in the machine tool 16. In this case, the processing described in the first embodiment is performed on all sensors 19 installed to be able to determine the occurrence of chatter vibration. In the case where the sensors 19 are installed at the plurality of locations, chatter vibration can be suppressed even if the chatter vibration occurs at a plurality of locations during machining.

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.As another example, the vibration control unit 11 may further reduce or eliminate the chatter vibrations using an inference model that has previously performed machine learning to reduce or eliminate chatter vibrations. This example is in 7 illustrated. That means, 7 is a representation that is an example of another configuration for implementing the function of the in 1 illustrated vibration control unit 11 illustrated.

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.In 7 The vibration control unit 11 includes an information observation unit 201 and an inference unit 202. The vibration control unit 11 receives an input of the feature information 102 and the drive command 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.The information observation unit 201 observes the feature information 102 and the drive command 103 for a predetermined number of samples as time series data, and generates an inference data set 203 based on the time series data. The inference unit 202 inputs the drive correction value 104 by inputting the inference data set 203 generated by the information observation unit 201 into the inference model that has performed machine learning in advance to output the drive correction value 104 for reducing or eliminating chatter vibration.

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.The inference unit 202 can use the inference model of any algorithm. As an example, the inference model using a neural network is described. 8th is a diagram illustrating an example of an inference model configuration using a general neural network.

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.In the in 8th In the illustrated example, the neural network includes input layers x1, x2,... and xn having "n" neurons, hidden layers y1, y2,... and ym having "m" neurons, and an output layer z1 having a neuron has. It should be noted that, although 8th the example illustrates where the output layer is one layer, two or more output layers may be provided.

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.The input layers x1, x2,... and xn are connected to the hidden layers y1, y2,... and ym, and the hidden layers y1, y2,... and ym are connected to the output layer z1. It should be noted that the in 8th illustrated connection between the input layers and the hidden layers is an example and the input layers x1, x2,... and xn may each be connected to any of the hidden layers y1, y2,... and ym.

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.In the case of the three-layer neural network, as in 8th As illustrated, when a plurality of inputs are input into the input layers x1, x2,... and xn, the values of the inputs are multiplied by the weights A1 to Aa and input into the hidden layers y1, y2,... and ym . The values input to the hidden layers y1, y2,... and ym are further multiplied by the weights B1 to Bb to be input to the output layer z1 and output from the output layer z1. It should be noted that the subscripts “a” and “b” are each a natural number and in the in 8th illustrated example a=n and b=m. It is understood that the output result varies depending on the values of the weights A1 to Aa and B1 to Bb.

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. 9 is a diagram illustrating an example of a configuration of a learning device 300 that learns the inference model provided by the in 7 illustrated vibration control unit 11 is used. The learning device 300 includes a learning data acquisition unit 301 and a learning processing unit 302. The learning device 300 can be applied to the numerical controller 1, which includes the drive command unit 12 that outputs the drive command 103 to the spindle 17 and the feed rod 18 of the machine tool 16, as shown in 1 illustrated.

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.The learning data acquisition unit 301 acquires a learning data set 304 in which the feature information 102 and the drive command 103 acquired during the actual machining are associated with the presence/absence of chatter vibration information 303 indicating the presence or absence of chatter vibration. The chatter presence/absence information 303 included in the learning data set 304 may be expressed using different numerical values depending on whether chatter has occurred or not. For example, a case in which chatter vibration has occurred can be expressed by a numerical value of "1", and a case in which chatter vibration has not occurred can be expressed by a numerical value of "0". Alternatively, the chatter presence/absence information 303 may use, for example, a result determined by assessment of a machined surface after machining.

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.The learning processing unit 302 includes the learning data set 304 and an inference model 305. The learning processing unit 302 performs learning using the feature information 102 and the drive command 103 included in the learning data set 304 as input data. Specifically, the learning processing unit 302 performs so-called supervised learning so that the output of the inference model 305 matches the numerical value of the chatter presence/absence information 303. The inference model 305 receives an input of the feature information 102 and the drive command 103 and outputs an output value corresponding to the presence or absence of chatter vibrations.

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.The learning processing unit 302 inputs the feature information 102 and the drive command 103 into the input layer and adjusts the weights A1 to Aa and B1 to Bb so that the value output from the output layer approaches the numerical value indicating the presence or absence of chatter. Learning the inference model 305 is performed by adjusting the weights A1 to Aa and B1 to Bb.

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.The learning processing unit 302 may use a backpropagation method as a supervised learning method used at the time of learning the inference model 305. In order to improve the generalization performance of the inference model 305, the learning processing unit 302 may also use a method such as "dropout", which randomly excludes neurons at the time of learning, or "early stopping", which monitors errors and stops learning early. The learning processing unit 302 outputs the inference model 305 whose learning is completed as a learned inference model. The learned inference model output by the learning processing unit 302 can be in the in 7 illustrated inference unit 202 can be used.

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.As described above, the learning device 300 according to the first embodiment includes the inference model 305 and the learning data set 304. The learning data set 304 includes the presence/absence of chatter vibration information 303, which indicates the presence or absence of chatter vibration in association with the feature information 102 and the drive command 103. The inference model 305 receives an input of the feature information 102, the drive command 103, and the presence/absence of chatter vibration information 303. The inference model 305 performs machine learning so that upon receiving an input of the feature information 102 and the drive command 103, the output value corresponding to the presence or absence of chatter is output. When such a learning device 300 is applied to the numerical controller 1, the driving correction value 104 can be output using the inference model 305 that has performed machine learning in advance, making it possible to obtain the suppression of high-speed chatter vibrations.

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.Note that the above description has described the case where the neural network is used for the inference model 305, but the present disclosure is not limited to this. The inference model 305 may be configured using another known method, such as a recurrent neural network (RNN), a long short-term memory (LSTM), or a support vector machine (SVM). .

Zweite Ausführungsform.Second embodiment.

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. 10 is a diagram illustrating a functional configuration of a numerical controller 2 according to a second embodiment. The numerical controller 2 includes the feature calculation unit 10, a vibration control unit 11-1, the drive command unit 12 and an input device 20. Parts different from the numerical controller 1 will be mainly described below.

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.The numerical controller 2 includes the input device 20 in addition to the configuration described for the numerical controller 1 according to the first embodiment. An operator gives information regarding an upper limit value and a lower limit value of the driving command 103 issued by the vibration control unit 11-1 is to be corrected into the input device 20 before the processing is carried out.

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.The input device 20 outputs limit information 106 including at least the input upper limit and lower limit of the drive command 103 to the vibration control unit 11-1. It should be noted that instead of this method, the vibration control unit 11-1 may refer to a machining program that describes the upper limit and the lower limit of the drive command 103, and may detect the upper limit and the lower limit.

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.The vibration control unit 11-1 receives the feature information 102 from the feature calculation unit 10, receives the drive command 103 from the drive command unit 12, and receives the limit information 106 from the input device 20. The vibration control unit 11-1 generates the drive correction value 104 based on the feature information 102, the drive command 103 and the limit information 106 and outputs the generated drive correction value 104 to the drive command unit 12.

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. 11 is a flowchart illustrating a processing flow performed by the vibration control unit 11-1 shown in FIG 10 is illustrated. The vibration control unit 11-1 corrects the drive command in the following steps. It should be noted that in 11 a processing that corresponds to the in 5 Illustrated processing is identical or equivalent, is provided with the same reference numeral as in the processing in 5 . As in 5 , illustrated 11 also the processing flow in which the phase difference is used as the criterion for controlling the spindle speed command. Below are mainly parts that differ from 5 differentiate, described.

Die Verarbeitung in den Schritten S101 bis S105 ist identisch oder äquivalent zu jener in 5 und wird hier nicht beschrieben.The processing in steps S101 to S105 is identical or equivalent to that in 5 and is not described here.

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 step S201, the spindle speed command processed in step S104 is limited within the range of a predetermined lower limit of the spindle speed command. Specifically, when the spindle speed command processed in step S104 is smaller than the lower limit of the spindle speed command (No in step S201), processing proceeds to step S202, changes the spindle speed command to the lower limit of the spindle speed command, and then proceeds to step S106. If the spindle speed command is greater than or equal to the lower limit of the spindle speed command (Yes in step S201), processing proceeds to step S106 without changing the spindle speed command.

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 step S203, the spindle speed command processed in step S105 is limited within the range of a predetermined upper limit of the spindle speed command. Specifically, when the spindle speed command processed in step S105 exceeds the upper limit of the spindle speed command (No in step S203), processing proceeds to step S204, changes the spindle speed command to the upper limit of the spindle speed command, and then proceeds to step S106. If the spindle speed command is less than or equal to the upper limit of the spindle speed command (Yes in step S203), processing proceeds to step S106 without changing the spindle speed command.

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.In step S106, the vibration control unit 11-1 determines whether the processing is completed or not. When the processing is completed (Yes in step S106), the vibration control unit 11-1 excludes the processing 11 away. On the other hand, if the processing is not completed (No in step S106), the processing returns to step S101. In the 11 Processing illustrated is carried out continuously while the editing is being performed.

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.It should be noted that, although 11 illustrates the case where the phase difference included in the feature information 102 is used as the criterion and the spindle speed command included in the drive command 103 is set as the object to be controlled, even in a case where others Feature information 102 other than the phase difference is used as the criterion and something other than the spindle speed command is set as the object to be controlled, the processing can be carried out with a similar flow to that in 11 shown.

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.According to the second embodiment, the vibration control unit 11-1 receives an input of the limit information 106 including the upper limit and the lower limit of the drive command 103, and increases or decreases the drive command 103 within the range between the input upper limit and the lower limit. This prevents the vibration control unit 11-1 from outputting the drive correction value 104 to the drive command unit 12 outside the cutting conditions defined by the tool and the machine tool. As a result, a situation in which the driving command 103 that has been corrected has a value that is not expected by the operator can be prevented. This leads to a further effect in that the occurrence of unintentional machining errors can be prevented.

Dritte Ausführungsform.Third embodiment.

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. 12 is a diagram illustrating a functional configuration of a numerical controller 3 according to a third embodiment. Compared to the configuration 1 is in 12 the numerical controller 1 is replaced by the numerical controller 3 and the vibration control unit 11 is replaced by a vibration control unit 11-2. The vibration control unit 11-2 receives an input of the operation information 105 in addition to the drive command 103. The remaining configuration is identical or equivalent to that in 1 , and the identical or equivalent components are given the same reference numerals as the corresponding components in 1 Mistake. The following mainly describes parts different from the numerical controller 1.

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.The vibration control unit 11-2 receives the feature information 102 from the feature calculation unit 10, receives the drive command 103 from the drive command unit 12, and receives the operation information 105 from the machine tool 16. The vibration control unit 11-2 generates the drive correction value 104 based on the feature information 102, the drive command 103 and the operation information 105 and outputs the generated drive correction value 104 to the drive command unit 12.

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.In the third embodiment, the vibration control unit 11-2 performs control so that the feature information 102 reaches a target feature value set in advance. Specifically, a tax system like that in 13 is illustrated, configured. 13 is a diagram illustrating an example of a configuration of the control system that implements the function of the vibration control unit 11-2 according to the third embodiment. 13 illustrates, as an example, the configuration of the control system that performs proportional-integral-derivative (PID) control.

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.First, a feature deviation 125 is generated, which is obtained by subtracting the feature information 102 from the target feature value. Here, “0” is set as an example of the target feature value. In the third embodiment, the feature information 102 is the phase difference calculated by the phase difference calculation unit 15 in 2 is calculated. It is well known that the phase difference is zero in the absence of chatter. Accordingly, chatter vibrations can be suppressed by setting the target feature value to “0”.

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.The feature deviation 125 is divided into three branches, one of which is multiplied by a proportional gain 122. One of the remaining two branches passes through an integrator 120 and is then multiplied by an integral gain 123. That is, a time integral value of the feature deviation 125 is multiplied by the integral gain 123. The other of the remaining two branches passes through a differentiator 121 and is then multiplied by a differential gain 124. That is, a time difference value of the feature deviation 125 is multiplied by the difference gain 124. These three types of gain values are added to give a feature correction amount 126. The feature correction amount 126 is further added to the spindle speed and output to the drive command unit 12 as the drive correction value 104.

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.The proportional gain 122, the integral gain 123 and the differential gain 124 are preset values and are provided before editing. In addition, these three types of gain values can be adjusted by performing trial processing. By appropriately setting these three kinds of gain values, chatter vibration can be suppressed more quickly than in the first embodiment.

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.As described above, the vibration control unit 11-2 according to the third embodiment includes the control system that causes the feature information 102 to coincide with the target feature value, whereby chatter vibration can be suppressed more quickly.

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.It should be noted that in the tax system 13 the feature deviation 125 is multiplied by the proportional gain 122, the time integral value of the feature deviation 125 is multiplied by the integral gain 123, and the time difference value of the feature deviation 125 is multiplied by the differential gain 124, but the present disclosure is not limited to this configuration. It is sufficient that at least one of the feature deviation 125, the time integral value of the feature deviation 125 and the time difference value of the feature deviation 125 is multiplied by the gain, and a control system having a desired characteristic or a control system having a characteristic close to the desired characteristic, can be configured.

Vierte Ausführungsform.Fourth embodiment.

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. 14 is a diagram illustrating a functional configuration of a numerical controller 4 according to a fourth embodiment. Compared to the configuration 1 is in 14 the numerical controller 1 is replaced by the numerical controller 4 and the vibration control unit 11 is replaced by a vibration control unit 11-3. Furthermore, the drive correction value 104 input to the drive command unit 12 is replaced with a drive correction value 104-1. The remaining configuration is identical or equivalent to that in 1 , and the identical or equivalent components are given the same reference numerals as the corresponding components in 1 Mistake. The following mainly describes parts different from the numerical controller 1.

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.The vibration control unit 11-3 receives the feature information 102 from the feature calculation unit 10 and receives the drive command 103 from the drive command unit 12. The vibration control unit 11-3 generates the drive correction value 104-1 based on the feature information 102 and the drive command 103 and outputs the generated drive correction value 104-1. 1 to the drive command unit 12.

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. 15 is a flowchart illustrating a processing flow performed by the vibration control unit 11-3 shown in FIG 14 is illustrated. The vibration control unit 11-3 corrects the drive command in the following steps. It should be noted that in 15 a processing that corresponds to the in 5 Illustrated processing is identical or equivalent, is provided with the same reference numeral as in the processing in 5 . 15 also illustrates the processing flow in which the phase difference is used as the criterion for controlling the spindle speed command and the feed rod speed command, that is, the speed command for the feed rod 18. Below are mainly parts that differ from 5 differentiate, described.

Die Verarbeitung in den Schritten S101 bis S105 ist identisch oder äquivalent zu jener in 5 und wird hier nicht beschrieben.The processing in steps S101 to S105 is identical or equivalent to that in 5 and is not described here.

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 step S301, the feed rod speed command is changed after the spindle speed command is changed in step S104 or S105. Specifically, in step S301, the feed rod speed command is changed so that the feed amount per revolution of the spindle 17 does not change. Here, the feed amount per revolution of the spindle 17 is a value obtained by dividing the feed rod speed, which is the speed of the feed rod 18, by the spindle speed. For example, in a case where the spindle speed command is reduced by 10% in step S104, the feed rod speed command is also reduced by the same rate, that is, 10%. Furthermore, in a case where the spindle speed command is increased by 10% in step S105, the feed rod speed command is also increased by the same rate, that is, 10%.

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.In step S106, the vibration control unit 11-3 determines whether the processing is completed or not. When the processing is completed (Yes in step S106), the vibration control unit 11-3 excludes the processing 15 away. On the other hand, if the processing is not completed (No in step S106), the processing returns to step S101. In the 15 Processing illustrated is carried out continuously while the editing is being performed.

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.It should be noted that, although 15 illustrates the case where the phase difference included in the feature information 102 is used as the criterion, even in a case where other feature information 102 other than the phase difference is used, the processing can be performed with a similar flow as the in 15 shown.

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.According to the fourth embodiment, the vibration control unit 11-3 outputs the correction value for correcting the feed rod speed command to the drive command unit 12 in synchronization with the increase or decrease of the spindle speed command. In this control, the vibration control unit 11-3 changes the spindle speed command and the feed rod speed command according to the value of the phase difference, so that the feed amount per revolution of the spindle 17 does not change. This control results in the feed amount per revolution of the spindle 17 being constant, thereby producing cutting marks at equal intervals on a machining surface. As a result, in addition to the effect of the first embodiment, an effect of improving the machining surface quality can be obtained.

Fünfte Ausführungsform.Fifth embodiment.

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. 16 is a diagram illustrating a functional configuration of a numerical controller 5 according to a fifth embodiment. Compared to the configuration 1 is in 16 the numerical control 1 is replaced by the numerical control 5 and the feature calculation unit 10 is replaced by a feature calculation unit 10-1. Furthermore, in 16 a tool information recording unit 21 that generates tool information 113 is added. The feature calculation unit 10-1 receives an input of the tool information 113 in addition to the sensor signal 100 and the spindle drive command 101. The remaining configuration is identical or equivalent to that of 1 , and the identical or equivalent components are given the same reference numerals as the corresponding components in 1 Mistake. The following mainly describes parts different from the numerical controller 1.

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.The tool information recording unit 21 records the tool information 113, that is, information related to a tool installed in the machine tool 16, and outputs the recorded tool information 113 to the feature calculation unit 10-1. The tool information 113 includes at least information related to the number of knives on the tool. The tool information 113 may further include information about the type of tool, such as an end mill or a cutting tool, and the shape of the tool, such as a length of the tool or a diameter of the tool. Note that in a case where a turning tool is installed, the tool information recording unit 21 outputs the tool information 113 indicating that the number of knives on the tool is one. In addition, even in the case where the rotary tool is installed, when a plurality of the tools perform cutting at the same time, the number of knives is equal to the number of tools. For example, in a case where the machine tool 16 includes a lower tool holder and an upper tool holder and performs machining with a turning tool installed on each of the two tool holders, the tool information recording unit 21 outputs the tool information 113 indicating that the number of knives is two.

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.The feature calculation unit 10-1 receives the sensor signal 100 from the machine tool 16, receives the spindle drive command 101 from the drive command unit 12, and receives the tool information 113 from the tool information recording unit 21. Based on the sensor signal 100, the spindle drive command 101 and the tool information 113, the feature calculation unit 10-1 generates 1 the feature information 102, which includes at least the phase difference, that is, the feature of chatter vibrations, and outputs the generated feature information 102 to the vibration control unit 11.

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. 17 is a diagram showing a functional configuration of the feature calculation unit 10-1 shown in 16 is illustrated, illustrated. The feature calculation unit 10-1 includes the sensor signal processing unit 13, the phase difference calculation unit 15 and a clock signal generation unit 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.The clock signal generating unit 14-1 determines that the spindle angle as the angle of the spindle 17 has exceeded a set value based on the spindle drive command 101 output by the drive command unit 12 and the tool information 113 output by the tool information recording unit 21 and outputs the clock signal 111 for the timing of the determination is sent to the phase difference calculation unit 15. A method for generating the clock signal 111 by the clock signal generating unit 14-1 will be described in more detail below. The following description assumes that a tool having “α” knives is placed on the spindle 17. However, it should be noted that “α” is a natural number of two or more.

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. φ β φ β 1 = 2 π / α

Figure DE112021007584T5_0004
18 is a group of diagrams showing a relationship between the clock signal 111 supplied by the in 17 illustrated clock signal generation unit 14-1 is output, and a spindle angle command. As in 18 As illustrated, the spindle angle command is a signal that takes a value from 0 [rad] to 2π [rad] and returns to 0 [rad] when it reaches 2π [rad]. The clock signal 111 is a signal that is output every time the spindle angle command exceeds a set angle φβ . Here “β” is a natural number of two or more and “α” or less. That is, the clock signal 111 is output "α" times while the spindle 17 makes one revolution. 18 is an example of α=2, where the clock signal 111 is output every time the spindle angle command exceeds set angles φ 1 and φ 2 and the clock signal 111 is not output otherwise. It is noted that the angle φ1 only needs to be adjusted at one point while the spindle 17 makes one revolution, and can be adjusted to any angle. However, there is a restriction between φβ and φβ-1 , which is expressed by the following expression (4). φ β φ β 1 = 2 π / α
Figure DE112021007584T5_0004

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. T 2 = 60 / ( S × α )

Figure DE112021007584T5_0005
Note that, as another example, the clock signal generating unit 14-1 may generate the clock signal 111 using the spindle speed command included in the spindle drive command 101. In this case, the clock signal generating unit 14-1 outputs the clock signal 111 at each time T2, which is calculated from the spindle speed command S [rpm] using the following expression (5). T 2 = 60 / ( S × α )
Figure DE112021007584T5_0005

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.As described above, the numerical controller 5 according to the fifth embodiment includes the tool information recording unit 21 which records the information related to the number of knives on the tool, and the feature calculation unit 10-1 calculates the feature information 102 taking into account the number of knives on the tool Tool. Then, based on the tool information 113 acquired by the tool information recording unit 21, every time the spindle 17 rotates, the clock signal generating unit 14-1 generates the clock signal 111 and outputs the clock signal 111 to the phase difference calculating unit 15. As a result, even in the case where the number of knives on the tool is two or more, the effect of suppressing chatter vibration can be obtained.

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.Next, a hardware configuration for implementing the functions of the numerical controllers 1 to 5 described in the first to fifth embodiments will be explained with reference to FIG 19 and 20 described. 19 is a block diagram illustrating an example of the hardware configuration that implements the functions of the numerical controllers 1 to 5 described in the first to fifth embodiments. 20 is a block diagram illustrating another example of the hardware configuration that implements the functions of the numerical controllers 1 to 5 described in the first to fifth embodiments.

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.When implementing the functions of numerical controls 1 to 5, as in 19 As illustrated, the hardware configuration may include a processor 701 that performs an arithmetic operation, a memory 702 that stores programs to be read by the processor 701, and an interface 704 that inputs and outputs signals.

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.The processor 701 may be an arithmetic device called a computing device, microprocessor, microcomputer, central processing unit (CPU), or digital signal processor (DSP). The memory 702 may, for example, be a non-volatile or volatile semiconductor memory, such as a random access memory (RAM), a read only memory (ROM), a flash memory, an erasable programmable ROM (EPROM). ) or an electrical EPROM (electrically EPROM - EEPROM (Registered Trademark)), a magnetic disk, a flexible disk, an optical disk, a compact disc, a mini disc or a digital versatile disc (DVD).

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.The memory 702 stores the programs for executing the functions of the numerical controllers 1 to 5. The processor 701 transmits and receives necessary information through the interface 704, executes the programs stored in the memory 702, and refers to a table stored in the memory 702, whereby he is able to carry out the processing described above. A result of the arithmetic operation from the processor 701 may be stored in the memory 702.

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.In addition, if the functions of the numerical controls 1 to 5 are implemented, the in 20 illustrated processing circuit 703 can be used. The processing circuit 703 corresponds to a single circuit, a complex circuit, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or a combination thereof. Information to be input into the processing circuit 703 and information to be output from the processing circuit 703 can be obtained via the interface 704.

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.It should be noted that part of the processing of the numerical controls 1 to 5 is implemented by the processing circuit 703 and processing that is not implemented by the processing circuit 703 can be implemented by the processor 701 and the memory 702.

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.The configurations illustrated in the above embodiments are merely illustrative of examples, so that another known technique may be combined, the embodiments may be combined with each other, or the configurations may be partially omitted and/or modified without departing from the scope of the present disclosure.

Liste der BezugszeichenList of reference symbols

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.1, 2, 3, 4, 5 numerical control; 10, 10-1 feature calculation unit; 11, 11-1, 11-2, 11-3 vibration control unit; 12 drive command unit; 13 sensor signal processing unit; 14, 14-1 clock signal generation unit; 15 phase difference calculation unit; 16 machine tool; 17 spindle; 18 feed rod; 19 sensor, 20 input device; 21 tool information recording unit; 100 sensor signal; 101 spindle drive command; 102 feature information; 103 drive command; 104, 104-1 drive correction value; 105 operational information; 106 border information; 110 state variable signal; 111 clock signal; 113 tool information; 120 integrator; 121 differentiator; 122 proportional gain; 123 integral gain; 124 differential gain; 125 feature deviation; 126 feature correction amount; 201 Information Observation Unit; 202 inference unit; 203 inference dataset; 300 learning device; 301 learning data acquisition unit; 302 learning processing unit; 303 Information about the presence/absence of chatter vibrations; 304 learning data set; 305 inference model; 701 processor; 702 memory; 703 processing circuit; 704 interface.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION

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.This list of documents listed by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • JP 2018118366 A [0004]JP 2018118366 A [0004]

Claims (12)

Numerische Steuerung, die eine Antriebsbefehlseinheit beinhaltet, um einen Antriebsbefehl an eine Spindel und eine Vorschubstange einer Werkzeugmaschine abzugeben, wobei die numerische Steuerung Folgendes umfasst: eine Merkmalsberechnungseinheit, um Merkmalsinformationen von Ratterschwingungen auf Grundlage eines Sensorsignals und eines Spindelantriebsbefehls, das heißt des Antriebsbefehls für die Spindel, zu berechnen, wobei das Sensorsignal durch Ermitteln von Schwingungen eines Werkzeugs oder eines an der Werkzeugmaschine befestigten Werkstücks erhalten wird; und eine Schwingungssteuereinheit, um einen Korrekturwert zum Korrigieren des Antriebsbefehls an die Antriebsbefehlseinheit auszugeben, bis die Merkmalsinformationen einen Wert innerhalb eines Sollbereichs erreichen.A numerical controller including a drive command unit for issuing a drive command to a spindle and a feed rod of a machine tool, the numerical controller comprising: a feature calculation unit for calculating feature information of chatter vibrations based on a sensor signal and a spindle drive command, that is, the drive command for the spindle, the sensor signal being obtained by detecting vibrations of a tool or a workpiece attached to the machine tool; and a vibration control unit for outputting a correction value for correcting the drive command to the drive command unit until the feature information reaches a value within a target range. Numerische Steuerung nach Anspruch 1, wobei die Merkmalsberechnungseinheit Folgendes beinhaltet: eine Sensorsignalverarbeitungseinheit, um eine Vielzahl von Arten von Zustandsgrößen auf Grundlage des Sensorsignals zu erzeugen; eine Taktsignalerzeugungseinheit, um periodisch ein Taktsignal bei einem Takt, der mit der Drehung der Spindel synchronisiert ist, zu erzeugen und auszugeben; und eine Phasendifferenzberechnungseinheit, um die Vielzahl von Arten von Zustandsgrößen jedes Mal, wenn das Taktsignal ausgegeben wird, durch Normalisierung dimensionslos zu machen, und eine Phasendifferenz zu berechnen, die eine Differenz zwischen Phasen eines dimensionslosen Zustandsgrößensignals in einem Zustandsraum angibt, der aus den dimensionslos gemachten Zustandsgrößen besteht.Numerical control according to Claim 1 , wherein the feature calculation unit includes: a sensor signal processing unit for generating a plurality of types of state variables based on the sensor signal; a clock signal generating unit for periodically generating and outputting a clock signal at a clock synchronized with the rotation of the spindle; and a phase difference calculation unit for making the plurality of types of state quantities dimensionless by normalization every time the clock signal is output, and calculating a phase difference indicating a difference between phases of a dimensionless state quantity signal in a state space consisting of the dimensionless ones State variables exist. Numerische Steuerung nach Anspruch 2, die ferner Folgendes umfasst: eine Werkzeuginformationsaufzeichnungseinheit, um Informationen über das an der Werkzeugmaschine angebrachte Werkzeug aufzuzeichnen, wobei die Taktsignalerzeugungseinheit das Taktsignal jedes Mal, wenn sich die Spindel dreht, auf Grundlage der Informationen über das Werkzeug, die von der Werkzeuginformationsaufzeichnungseinheit erhalten werden, ausgibt.Numerical control according to Claim 2 , further comprising: a tool information recording unit for recording information about the tool attached to the machine tool, wherein the clock signal generating unit outputs the clock signal every time the spindle rotates based on the information about the tool obtained from the tool information recording unit . Numerische Steuerung nach Anspruch 2 oder 3, wobei die Sensorsignalverarbeitungseinheit zwei oder mehr Arten der Zustandsgrößen aus dem Sensorsignal, der Zustandsgröße, die durch Berechnen einer Variation pro Zeiteinheit des Sensorsignals erhalten wird, und der Zustandsgröße, die durch Berechnen eines kumulativen Betrags pro Zeiteinheit des Sensorsignals erhalten wird, erzeugt.Numerical control according to Claim 2 or 3 , wherein the sensor signal processing unit generates two or more kinds of the state quantities from the sensor signal, the state quantity obtained by calculating a variation per unit time of the sensor signal, and the state quantity obtained by calculating a cumulative amount per unit time of the sensor signal. Numerische Steuerung nach einem der Ansprüche 2 bis 4, wobei die Taktsignalerzeugungseinheit das Taktsignal auf Grundlage von mindestens einem von einem Winkelbefehl für die Spindel, einem Drehzahlbefehl für die Spindel, einem Spindelwinkel, der ein Ist-Winkel der Spindel ist, oder einer Spindeldrehzahl, die eine Ist-Drehzahl der Spindel ist, erzeugt.Numerical control according to one of the Claims 2 until 4 , wherein the clock signal generating unit generates the clock signal based on at least one of an angle command for the spindle, a speed command for the spindle, a spindle angle that is an actual angle of the spindle, or a spindle speed that is an actual speed of the spindle . Numerische Steuerung nach einem der Ansprüche 2 bis 5, wobei der Antriebsbefehl einen Spindeldrehzahlbefehl, das heißt einen Drehzahlbefehl für die Spindel, und einen Vorschubstangendrehzahlbefehl, das heißt einen Drehzahlbefehl für die Vorschubstange, beinhaltet, und die Schwingungssteuereinheit einen Korrekturwert, der den Vorschubstangendrehzahlbefehl synchron mit einer Erhöhung oder Verringerung des Spindeldrehzahlbefehls korrigiert, an die Antriebsbefehlseinheit ausgibt.Numerical control according to one of the Claims 2 until 5 , wherein the drive command includes a spindle speed command, that is, a speed command for the spindle, and a feed rod speed command, that is, a speed command for the feed rod, and the vibration control unit sends a correction value that corrects the feed rod speed command in synchronism with an increase or decrease in the spindle speed command to the Drive command unit outputs. Numerische Steuerung nach Anspruch 6, wobei die Schwingungssteuereinheit den Spindeldrehzahlbefehl und den Vorschubstangendrehzahlbefehl gemäß einem Wert der Phasendifferenz ändert, sodass sich ein Vorschubbetrag pro Umdrehung der Spindel nicht ändert.Numerical control according to Claim 6 , wherein the vibration control unit changes the spindle speed command and the feed rod speed command according to a value of the phase difference so that a feed amount per revolution of the spindle does not change. Numerische Steuerung nach einem der Ansprüche 1 bis 7, wobei die Schwingungssteuereinheit eine Eingabe von Grenzinformationen empfängt, die einen oberen Grenzwert und einen unteren Grenzwert des Antriebsbefehls beinhalten, und die Schwingungssteuereinheit den Antriebsbefehl innerhalb eines Bereichs zwischen dem oberen Grenzwert und dem unteren Grenzwert, die eingegeben wurden, erhöht oder verringert.Numerical control according to one of the Claims 1 until 7 , wherein the vibration control unit receives an input of limit information including an upper limit value and a lower limit value of the drive command, and the vibration control unit increases or decreases the drive command within a range between the upper limit value and the lower limit value that have been input. Numerische Steuerung nach einem der Ansprüche 1 bis 8, wobei die Schwingungssteuereinheit auf Grundlage eines Werts, der durch Multiplizieren mindestens eines von einer Abweichung zwischen einem Sollwert der Merkmalsinformationen und den Merkmalsinformationen, einem Zeitintegralwert der Abweichung oder einem Zeitdifferenzwert der Abweichung mit einer Verstärkung erhalten wird, einen Antriebskorrekturwert erzeugt.Numerical control according to one of the Claims 1 until 8th , wherein the vibration control unit generates a drive correction value based on a value obtained by multiplying at least one of a deviation between a target value of the feature information and the feature information, a time integral value of the deviation, or a time difference value of the deviation by a gain. Numerische Steuerung nach einem der Ansprüche 1 bis 9, wobei die Schwingungssteuereinheit Folgendes beinhaltet: eine Informationsbeobachtungseinheit, um den Spindelantriebsbefehl und die Merkmalsinformationen als Zeitreihendaten zu beobachten und einen Inferenzdatensatz auf Grundlage der beobachteten Zeitreihendaten zu erzeugen; und eine Inferenzeinheit, um den Korrekturwert durch Eingeben des Inferenzdatensatzes, der von der Informationsbeobachtungseinheit erzeugt wird, an ein Inferenzmodell, das im Voraus maschinelles Lernen durchgeführt hat, auszugeben.Numerical control according to one of the Claims 1 until 9 , wherein the vibration control unit includes: an information observation unit for observing the spindle drive command and the feature information as time series data, and an inference data set based on the observed to generate time series data; and an inference unit for outputting the correction value by inputting the inference data set generated by the information observation unit to an inference model that has performed machine learning in advance. Lernvorrichtung, die dazu konfiguriert ist, auf eine numerische Steuerung anwendbar zu sein, die eine Antriebsbefehlseinheit beinhaltet, die einer Spindel und einer Vorschubstange einer Werkzeugmaschine einen Antriebsbefehl gibt, wobei die Lernvorrichtung Folgendes umfasst: eine Merkmalsberechnungseinheit, um Merkmalsinformationen von Ratterschwingungen auf Grundlage eines Sensorsignals und eines Spindelantriebsbefehls, das heißt des Antriebsbefehls für die Spindel, zu berechnen, wobei das Sensorsignal durch Ermitteln von Schwingungen eines Werkzeugs oder eines an der Werkzeugmaschine befestigten Werkstücks erhalten wird; eine Lerndatenerfassungseinheit, um einen Lerndatensatz zu erfassen, in dem Informationen über das Vorhandensein/die Abwesenheit von Ratterschwingungen, die das Vorhandensein oder die Abwesenheit der Ratterschwingungen angeben, mit den Merkmalsinformationen und dem Antriebsbefehl verknüpft sind; und eine Lernverarbeitungseinheit, die den Lerndatensatz, der durch die Lerndatenerfassungseinheit erfasst wird, und ein Inferenzmodell, um maschinelles Lernen des Inferenzmodells durchzuführen, beinhaltet, sodass, wenn die Merkmalsinformationen und der Antriebsbefehl in das Inferenzmodell eingegeben werden, ein Ausgabewert, der dem Vorhandensein oder der Abwesenheit der Ratterschwingungen entspricht, aus dem Inferenzmodell ausgegeben wird.A learning device configured to be applicable to a numerical controller including a drive command unit that gives a drive command to a spindle and a feed rod of a machine tool, the learning device comprising: a feature calculation unit for calculating feature information of chatter vibrations based on a sensor signal and a spindle drive command, that is, the drive command for the spindle, the sensor signal being obtained by detecting vibrations of a tool or a workpiece attached to the machine tool; a learning data acquisition unit for acquiring a learning data set in which chatter presence/absence information indicating the presence or absence of the chatter vibrations is associated with the feature information and the drive command; and a learning processing unit that includes the learning data set acquired by the learning data acquisition unit and an inference model for performing machine learning of the inference model, so that when the feature information and the driving command are input into the inference model, an output value corresponding to the presence or absence which corresponds to chatter vibrations, is output from the inference model. Verfahren zur Unterdrückung von Ratterschwingungen, das unter Verwendung einer numerischen Steuerung auszuführen ist, die eine Antriebsbefehlseinheit beinhaltet, die einen Antriebsbefehl an eine Spindel und eine Vorschubstange einer Werkzeugmaschine abgibt, wobei das Verfahren zur Unterdrückung von Ratterschwingungen Folgendes umfasst: einen Schritt des Berechnens von Merkmalsinformationen der Ratterschwingungen auf Grundlage eines Sensorsignals und eines Spindelantriebsbefehls, das heißt des Antriebsbefehls für die Spindel, wobei das Sensorsignal durch Ermitteln von Schwingungen eines Werkzeugs oder eines an der Werkzeugmaschine befestigten Werkstücks erhalten wird; und einen Schritt des Ausgebens eines Korrekturwerts zum Korrigieren des Antriebsbefehls an die Antriebsbefehlseinheit, bis die Merkmalsinformationen einen Wert innerhalb eines Sollbereichs erreichen.A chatter vibration suppression method to be carried out using a numerical controller including a drive command unit that issues a drive command to a spindle and a feed rod of a machine tool, the chatter vibration suppression method comprising: a step of calculating feature information of the chatter vibrations based on a sensor signal and a spindle drive command, that is, the drive command for the spindle, the sensor signal being obtained by detecting vibrations of a tool or a workpiece attached to the machine tool; and a step of outputting a correction value for correcting the drive command to the drive command unit until the feature information reaches a value within a target range.
DE112021007584.5T 2021-04-26 2021-04-26 NUMERICAL CONTROL, LEARNING APPARATUS AND METHOD FOR SUPPRESSING CHATTER VIBRATIONS Pending DE112021007584T5 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/016599 WO2022230008A1 (en) 2021-04-26 2021-04-26 Numerical control device, learning device, and chattering vibration suppressing method

Publications (1)

Publication Number Publication Date
DE112021007584T5 true DE112021007584T5 (en) 2024-02-15

Family

ID=83846767

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021007584.5T Pending DE112021007584T5 (en) 2021-04-26 2021-04-26 NUMERICAL CONTROL, LEARNING APPARATUS AND METHOD FOR SUPPRESSING CHATTER VIBRATIONS

Country Status (4)

Country Link
JP (1) JP7179198B1 (en)
CN (1) CN117120946A (en)
DE (1) DE112021007584T5 (en)
WO (1) WO2022230008A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018118366A (en) 2017-01-27 2018-08-02 オークマ株式会社 Method and device for suppressing vibration of machine tool

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5170358A (en) * 1990-12-06 1992-12-08 Manufacturing Laboratories, Inc. Method of controlling chatter in a machine tool
JP5105102B2 (en) * 2009-04-10 2012-12-19 エヌティーエンジニアリング株式会社 Chatter control method and apparatus for work machine
TWI472402B (en) * 2012-02-10 2015-02-11 中原大學 Tool flutter monitoring method
JP6021632B2 (en) * 2012-12-20 2016-11-09 三菱重工業株式会社 Processing device control device, processing device, processing device control program, processing device control method, and processing method
JP2014140918A (en) * 2013-01-23 2014-08-07 Hitachi Ltd Cutting vibration inhibition method, arithmetic control device, and machine tool
JP6625794B2 (en) * 2014-05-21 2019-12-25 Dmg森精機株式会社 A method for calculating a spindle stable rotational speed capable of suppressing chatter vibration, a method for notifying the method, a method for controlling a spindle rotational speed, an NC program editing method, and an apparatus therefor.
JP6257481B2 (en) * 2014-09-02 2018-01-10 三菱電機株式会社 Numerical controller
JP2016191981A (en) * 2015-03-30 2016-11-10 アズビル株式会社 Feedback control device, feedback control method, and feedback control program
JP6450738B2 (en) * 2016-12-14 2019-01-09 ファナック株式会社 Machine learning device, CNC device, and machine learning method for detecting sign of occurrence of tool vibration in machine tool
JP6959278B2 (en) * 2019-02-27 2021-11-02 ファナック株式会社 Chatter vibration judgment device, machine learning device and system
WO2020208685A1 (en) * 2019-04-08 2020-10-15 三菱電機株式会社 Numerical control device and chattering identification method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018118366A (en) 2017-01-27 2018-08-02 オークマ株式会社 Method and device for suppressing vibration of machine tool

Also Published As

Publication number Publication date
JP7179198B1 (en) 2022-11-28
JPWO2022230008A1 (en) 2022-11-03
CN117120946A (en) 2023-11-24
WO2022230008A1 (en) 2022-11-03

Similar Documents

Publication Publication Date Title
DE102017205214B4 (en) SERVO CONTROL UNIT, CONTROL METHOD AND COMPUTER PROGRAM FOR A MACHINE TOOL USED FOR OSCILLATING CUTTING
DE102018003786B4 (en) Display device and processing system for oscillation cutting
DE102018002566B4 (en) Control device for an oscillation cutting machine tool
DE112015000231B4 (en) Machine tool system
DE69119573T2 (en) Control system with sliding action
DE112019007578B4 (en) Numerical control, numerical control method and machine learning device
DE102017208060A1 (en) SERVO CONTROL, CONTROL METHOD, AND COMPUTER PROGRAM FOR A TOOL MACHINE FOR OSCILLATION CUTTING
DE102019209775A1 (en) Machine tool controller
DE102018003051B4 (en) Control device for a machine tool that performs vibratory cutting
DE112013007130T5 (en) Frequency response measurement device
DE112012004278T5 (en) Servo-esterification device
DE112020007163T5 (en) Numerical control and numerical control method
DE69119562T2 (en) Control system with sliding action
DE102020200635A1 (en) Machine learning system, control device and machine learning method for optimizing filter coefficients
DE112019007434T5 (en) Numerical control, machine learning apparatus and numerical control method
DE112021005641T5 (en) Numerical control device, learning device, inference device and numerical control method
EP3329335B1 (en) Damping of load swinging without additional measurement means on the load side
DE112020001795T5 (en) NUMERICAL CONTROL DEVICE AND LEARNING DEVICE
EP0739500B1 (en) Control process
DE69113249T2 (en) METHOD FOR CONTROLLING A SERVO MOTOR WITH FORWARD CLUTCH.
DE112021007584T5 (en) NUMERICAL CONTROL, LEARNING APPARATUS AND METHOD FOR SUPPRESSING CHATTER VIBRATIONS
EP3984688A1 (en) Method, computer program and laser cutting system for smart corner cutting
DE112020006573B4 (en) Control system, motor control device and machine learning device
DE112017001162T5 (en) Servo control device
DE112016007507T5 (en) NUMERICAL CONTROL DEVICE

Legal Events

Date Code Title Description
R012 Request for examination validly filed