DE112019007578T5 - Numerical control, numerical control method and machine learning device - Google Patents

Numerical control, numerical control method and machine learning device Download PDF

Info

Publication number
DE112019007578T5
DE112019007578T5 DE112019007578.0T DE112019007578T DE112019007578T5 DE 112019007578 T5 DE112019007578 T5 DE 112019007578T5 DE 112019007578 T DE112019007578 T DE 112019007578T DE 112019007578 T5 DE112019007578 T5 DE 112019007578T5
Authority
DE
Germany
Prior art keywords
oscillation
tool
waveform
unit
axis
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.)
Granted
Application number
DE112019007578.0T
Other languages
German (de)
Inventor
Masakazu Sagasaki
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 DE112019007578T5 publication Critical patent/DE112019007578T5/en
Granted 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/4093Numerical 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 part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine

Landscapes

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

Abstract

Eine numerische Steuerung (IX), die eine Werkzeugmaschine steuert, die zum Bewegen eines Werkzeugs mehrere Antriebsachsen ansteuert, umfasst eine Oszillationskurvenform-Erzeugungseinheit (385), die eine Oszillationskurvenform erzeugt, die eine Oszillationsbahn des Werkzeugs repräsentiert, der während einer Bearbeitung eines Werkstücks gefolgt wird, während das Werkzeug in Oszillation versetzt wird, und eine Oszillationsbewegungsstrecken-Berechnungseinheit (386), die eine jeder der mehreren Antriebsachsen entsprechende Oszillationsbefehlskurvenform, die eine Bewegungsbahn des Werkzeugs entlang einer Richtung der entsprechenden der mehreren Antriebsachsen repräsentiert, basierend auf dem Winkel zwischen der Oszillationsrichtung des Werkzeugs während der Oszillation des Werkzeugs und der Richtung einer Referenzachse, bei der es sich um eine Achse parallel zu einer Antriebsachse der mehreren Antriebsachsen handelt, und basierend auf der Oszillationskurvenform erzeugt.A numerical controller (IX) that controls a machine tool that drives multiple drive axes to move a tool includes an oscillation waveform generation unit (385) that generates an oscillation waveform representing an oscillation trajectory of the tool followed during machining of a workpiece while the tool is oscillated, and an oscillation movement distance calculation unit (386) which calculates an oscillation command waveform corresponding to each of the plurality of drive axes, representing a movement trajectory of the tool along a direction of the corresponding one of the plurality of drive axes, based on the angle between the oscillation direction of the tool during the oscillation of the tool and the direction of a reference axis, which is an axis parallel to a driving axis of the plurality of driving axes, and generated based on the oscillation waveform.

Description

GebietArea

Die vorliegende Erfindung bezieht sich auf eine numerische Steuerung, die eine Werkzeugmaschine steuert, die eine Vibrationsschneidbearbeitung an einem Werkstück durchführt, auf ein numerisches Steuerverfahren und auf eine Vorrichtung zum maschinellen Lernen.The present invention relates to a numerical controller that controls a machine tool that performs vibration cutting processing on a workpiece, a numerical control method, and a machine learning apparatus.

Hintergrundbackground

Bei einer herkömmlichen numerischen Steuerung handelt es sich um eine numerische Steuerung, die eine Vibrationsschneidbearbeitung durchführen kann, bei der ein Werkstück bearbeitet wird, während ein Schneidwerkzeug mit niedriger Frequenz in Oszillation versetzt wird.A conventional numerical controller is a numerical controller that can perform vibration cutting processing in which a workpiece is processed while a cutting tool is oscillated at a low frequency.

In Patentdokument 1 wird eine numerische Steuerung beschrieben, bei der eine Vibrationsschneidbearbeitung beim Gewindeschneiden durchgeführt werden kann. Die in Patentdokument 1 beschriebene numerische Steuerung ermöglicht eine Bearbeitung, bei der eine Vibrationsschneidbearbeitung beim Gewindeschneiden angewendet wird, indem die Werkzeugmaschine so gesteuert wird, dass das Werkstück bearbeitet wird, während das Schneidwerkzeug entlang einer der Richtungen der Antriebsachsen senkrecht zur Spindel in Oszillation versetzt wird.Patent Document 1 describes a numerical controller in which vibration cutting processing can be performed in tapping. The numerical control described in Patent Document 1 enables machining in which vibration cutting machining is applied to tapping by controlling the machine tool to machine the workpiece while oscillating the cutting tool along one of the directions of the drive axes perpendicular to the spindle.

Ferner unterstützen einige numerische Steuerungen eine Imaginärachsensteuerung. Eine Imaginärachsensteuerung bezieht sich auf die Steuerung der Bewegung eines zu steuernden Objekts, beispielsweise eines Schneidwerkzeugs, entlang einer imaginären Achse (im Folgenden als Imaginärachse bezeichnet), die sich von allen Antriebsachsenrichtungen unterscheidet, indem eine Synchronsteuerung durchgeführt wird, bei der die Steuerung mehrerer Antriebsachsen miteinander synchronisiert erfolgt.Also, some numerical controllers support imaginary axis control. An imaginary axis control refers to controlling the movement of an object to be controlled, such as a cutting tool, along an imaginary axis (hereinafter referred to as imaginary axis) different from all driving axis directions by performing synchronous control in which the control of multiple driving axes is combined with each other synchronized.

Liste der Zitatelist of citations

Patentliteraturpatent literature

Patentdokument 1: Japanisches Patent Nr. 5851670 Patent Document 1: Japanese Patent No. 5851670

Kurzbeschreibungshort description

Technische ProblemstellungTechnical problem

Die in Patentdokument 1 beschriebene numerische Steuerung ist so ausgebildet, dass eine Bearbeitung durchgeführt wird, während das Schneidwerkzeug entlang der Richtung einer Antriebsachse in Oszillation versetzt wird. Ein Problem besteht darin, dass keine Vibrationsschneidbearbeitung durchgeführt werden kann, wenn das Schneidwerkzeug mittels Imaginärachsensteuerung bewegt wird, d. h., wenn das Schneidwerkzeug während des Gewindeschneidvorgangs entlang der Richtung einer imaginären Achse in Oszillation versetzt wird, wobei diese Oszillation durch synchrone Steuerung mehrerer Antriebsachsen erreicht werden kann.The numerical controller described in Patent Document 1 is configured so that machining is performed while oscillating the cutting tool along the direction of a driving axis. There is a problem that vibration cutting cannot be performed when the cutting tool is moved by imaginary axis control, i. That is, when the cutting tool is oscillated along the direction of an imaginary axis during the tapping operation, this oscillation can be achieved by synchronously controlling a plurality of drive axes.

Die vorliegende Erfindung entstand in Anbetracht der vorstehenden Ausführungen, wobei eine Aufgabe der vorliegenden Erfindung darin besteht, eine numerische Steuerung anzugeben, bei der die Durchführung einer Vibrationsschneidbearbeitung auch dann möglich ist, wenn das Schneidwerkzeug in einer Richtung in Oszillation versetzt werden soll, die sich von den Richtungen der Antriebsachsen unterscheidet.The present invention was made in view of the foregoing, and an object of the present invention is to provide a numerical controller capable of performing vibration cutting even when the cutting tool is to be oscillated in a direction different from the directions of the drive axles differs.

Lösung der Problemstellungsolution to the problem

Um das obige Problem zu lösen und die Aufgabe zu erfüllen, steuert eine numerische Steuerung gemäß der vorliegenden Erfindung eine Werkzeugmaschine, die mehrere Antriebsachsen ansteuert, um ein Werkzeug zu bewegen. Die numerische Steuerung umfasst: eine Oszillationskurvenform-Erzeugungseinheit zum Erzeugen einer Oszillationskurvenform, die eine Oszillationsbahn des Werkzeugs repräsentiert, der bei der Bearbeitung eines Werkstücks gefolgt wird, während das Werkzeug in Oszillation versetzt wird; und eine Oszillationsbewegungsstrecken-Berechnungseinheit, um eine jeder mehreren Antriebsachsen entsprechende Oszillationsbefehlskurvenform auf Basis des Winkel zwischen der Oszillationsrichtung des Werkzeugs während der Oszillation des Werkzeugs und der Richtung einer Referenzachse und auf Basis der Oszillationskurvenform zu erzeugen, wobei die Referenzachse parallel zu einer der Antriebsachsen verläuft und wobei die Oszillationsbefehlskurvenform eine Bewegungsbahn des Werkzeugs entlang der Richtung einer entsprechenden der Antriebsachsen repräsentiert.In order to solve the above problem and achieve the object, a numerical controller according to the present invention controls a machine tool that drives multiple drive axes to move a tool. The numerical controller includes: an oscillation waveform generation unit for generating an oscillation waveform representing an oscillation trajectory of the tool followed in machining a workpiece while the tool is oscillated; and an oscillating movement distance calculation unit for generating an oscillating command waveform corresponding to each of a plurality of driving axes based on the angle between the oscillating direction of the tool during the oscillation of the tool and the direction of a reference axis and based on the oscillating waveform, the reference axis being parallel to one of the driving axes and wherein the oscillation command waveform represents a trajectory of movement of the tool along the direction of a corresponding one of the drive axes.

Vorteilhafte Wirkungen der ErfindungAdvantageous Effects of the Invention

Eine numerische Steuerung gemäß der vorliegenden Erfindung bietet den Vorteil, dass eine Vibrationsschneidbearbeitung auch dann genutzt werden kann, wenn das Schneidwerkzeug in einer Richtung in Oszillation versetzt werden soll, die sich von allen Richtungen der Antriebsachsen unterscheidet.A numerical controller according to the present invention offers the advantage that vibration cutting processing can be used even when the cutting tool is to be oscillated in a direction different from all directions of the driving axes.

Figurenlistecharacter list

  • 1 zeigt eine Darstellung zur Beschreibung einer Imaginärachsensteuerung, die in numerischen Steuerungen gemäß den jeweiligen Ausführungsformen verwendet wird. 1 Fig. 12 shows an illustration for describing an imaginary axis control shown in numeri cal controls according to the respective embodiments is used.
  • 2 zeigt eine Darstellung zur Beschreibung eines Konfigurationsbeispiels einer Werkzeugmaschine, die mit Hilfe von numerischen Steuerungen gemäß den jeweiligen Ausführungsformen gesteuert wird. 2 12 is a diagram for describing a configuration example of a machine tool controlled using numerical controllers according to the respective embodiments.
  • 3 zeigt eine Darstellung zur Veranschaulichung eines Konfigurationsbeispiels einer numerischen Steuerung gemäß einer ersten Ausführungsform. 3 12 is a diagram showing a configuration example of a numerical controller according to a first embodiment.
  • 4 zeigt eine Darstellung zur Veranschaulichung der Oszillationsrichtung eines Werkzeugs, wenn bei einer Gewindeschneidbearbeitung ein Vibrationsschneiden durchgeführt wird. 4 Fig. 12 is a diagram showing the oscillating direction of a tool when vibration cutting is performed in tapping processing.
  • 5 zeigt eine Darstellung zur Veranschaulichung des Prinzipschemas einer Vibrationsschneidbearbeitung beim Gewindeschneiden. 5 Fig. 12 shows a diagram for explaining the principle scheme of vibration cutting processing in thread cutting.
  • 6 zeigt ein Flussdiagramm zur Veranschaulichung eines Beispiels für eine Prozedur, bei der eine numerische Steuerung gemäß der ersten Ausführungsform einen Gewindeschneidvorgang ausführt, während ein Werkzeug mittels Imaginärachsensteuerung in Oszillation versetzt wird. 6 12 is a flowchart showing an example of a procedure in which a numerical controller according to the first embodiment performs a tapping operation while oscillating a tool by imaginary axis control.
  • 7 zeigt eine Darstellung zur Veranschaulichung eines Beispiels für Oszillationsbefehlskurvenformen, die von einer Oszillationskurvenform-Erzeugungseinheit einer numerischen Steuerung gemäß der ersten Ausführungsform erzeugt werden. 7 12 is a diagram showing an example of oscillation command waveforms generated by an oscillation waveform generation unit of a numerical controller according to the first embodiment.
  • 8 zeigt eine Darstellung zur Veranschaulichung eines Beispiels für die Beziehungen zwischen Oszillationsbefehlskurvenformen und Feedback-Oszillationskurvenformen. 8th Fig. 12 is a diagram showing an example of the relationships between oscillation command waveforms and feedback oscillation waveforms.
  • 9 zeigt eine Darstellung zur Veranschaulichung eines Beispiels für eine kombinierte Oszillationskurvenform, die durch Kombination von nicht angepassten Oszillationsbefehlskurvenformen für die jeweiligen Achsen erhalten wird. 9 Fig. 12 is a diagram showing an example of a combined oscillation waveform obtained by combining unmatched oscillation command waveforms for the respective axes.
  • 10 zeigt eine Darstellung zur Veranschaulichung eines Beispiels für eine kombinierte Oszillationskurvenform, die durch Kombination von angepassten Oszillationsbefehlskurvenformen für die jeweiligen Achsen erhalten wird. 10 Fig. 12 is a diagram showing an example of a combined oscillation waveform obtained by combining adjusted oscillation command waveforms for the respective axes.
  • 11 zeigt eine Darstellung zur Beschreibung einer Schrägachsensteuerung. 11 Fig. 14 is an illustration for describing bent-axis control.
  • 12 zeigt eine Darstellung zur Veranschaulichung eines Konfigurationsbeispiels für eine Werkzeugmaschine mit Schrägachsensteuerung. 12 Fig. 12 is a diagram showing a configuration example of a bent-axis control machine tool.
  • 13 zeigt eine Darstellung zur Beschreibung der Konfiguration einer Werkzeugmaschine, die eine Vibrationsschneidbearbeitung durchführt. 13 FIG. 12 is an illustration for describing the configuration of a machine tool that performs vibration cutting processing.
  • 14 zeigt eine Darstellung zur Veranschaulichung eines Beispiels für die Hardwarekonfiguration einer Steuerungsberechnungseinheit, die in einer numerischen Steuerung gemäß der ersten Ausführungsform enthalten ist. 14 12 is a diagram showing an example of the hardware configuration of a control calculation unit included in a numerical controller according to the first embodiment.
  • 15 zeigt eine Darstellung zur Veranschaulichung eines Konfigurationsbeispiels einer numerischen Steuerung gemäß einer zweiten Ausführungsform. 15 12 is a diagram showing a configuration example of a numerical controller according to a second embodiment.

Beschreibung von AusführungsformenDescription of Embodiments

Im Folgenden werden unter Bezugnahme auf die Figuren eine numerische Steuerung, ein numerisches Steuerverfahren und eine Vorrichtung zum maschinellen Lernen gemäß Ausführungsformen der vorliegenden Erfindung detailliert beschrieben. Es ist zu beachten, dass die Ausführungsformen den Umfang der vorliegenden Erfindung nicht einschränken sollen.Hereinafter, a numerical controller, a numerical control method, and a machine learning apparatus according to embodiments of the present invention will be described in detail with reference to the figures. It should be noted that the embodiments are not intended to limit the scope of the present invention.

Bei jeder Ausführungsform wird eine Konfiguration beschrieben, bei der eine numerische Steuerung einen Gewindeschneidvorgang durchführt, während ein Schneidwerkzeug mittels Imaginärachsensteuerung in Oszillation versetzt wird. Daher werden zunächst die Imaginärachsensteuerung und die Werkzeugmaschine beschrieben, die von numerischen Steuerungen gemäß den jeweiligen Ausführungsformen gesteuert werden.In each embodiment, a configuration will be described in which a numerical controller performs tapping while oscillating a cutting tool by imaginary axis control. Therefore, the imaginary-axis controller and the machine tool controlled by numerical controllers according to the respective embodiments will first be described.

1 zeigt eine Darstellung zur Beschreibung einer Imaginärachsensteuerung, die in numerischen Steuerungen gemäß den jeweiligen Ausführungsformen eingesetzt wird. Eine Imaginärachsensteuerung ermöglicht die Steuerung eines zu steuernden Objekts unter Verwendung eines imaginären Maschinenkoordinatensystems, das durch Rotation und/oder dergleichen eines realen Maschinenkoordinatensystems erhalten wird, bei dem es sich um das Koordinatensystem der Werkzeugmaschine handelt, die von den numerischen Steuerungen gesteuert wird. Die Achsen des imaginären Maschinenkoordinatensystems werden jeweils als imaginäre Achsen bezeichnet. Bei dem in 1 dargestellten Beispiel wird ein imaginäres Maschinenkoordinatensystem verwendet, das durch Drehung eines eine X-Achse und eine Y-Achse aufweisenden realen Maschinenkoordinatensystems um 45 Grad im Uhrzeigersinn und anschließende Verschiebung des Ursprungs (in 1 als Ursprung des realen Maschinenkoordinatensystems bezeichnet) um -120 mm entlang der X-Achse und um -60 mm entlang der Y-Achse erhalten wird. 1 FIG. 12 is an illustration for describing an imaginary axis controller used in numerical controllers according to the respective embodiments. Imaginary axis control enables control of an object to be controlled using an imaginary machine coordinate system obtained by rotation and/or the like of a real machine coordinate system, which is the coordinate system of the machine tool controlled by the numerical controllers. The axes of the imaginary machine coordinate system are referred to as imaginary axes, respectively. At the in 1 The example shown uses an imaginary machine coordinate system obtained by rotating a real machine coordinate system having an X-axis and a Y-axis clockwise by 45 degrees and then shifting the origin (in 1 referred to as the origin of the real machine coordinate system) by -120 mm along the X-axis and by -60 mm along the Y-axis.

Eine Imaginärachsensteuerung unter Verwendung des in 1 dargestellten imaginären Maschinenkoordinatensystems wird beispielsweise eingesetzt, wenn das beim Gewindeschneiden verwendete Schneidwerkzeug in einer um 45 Grad zur X-Achse (in 1 als reale X-Achse bezeichnet) des realen Maschinenkoordinatensystems gedrehten Richtung in Oszillation versetzt werden soll. Durch eine Imaginärachsensteuerung kann das Schneidwerkzeug in einer Richtung parallel zur Richtung der imaginären X-Achse in Oszillation versetzt werden.An imaginary axis control using the in 1 For example, the imaginary machine coordinate system shown is used when the cutting tool used in threading is at a 45 degree to the X-axis (in 1 referred to as the real X-axis) of the real machine coordinate system rotated direction is to be set in oscillation. By imaginary axis control, the cutting tool can be oscillated in a direction parallel to the imaginary X-axis direction.

2 zeigt eine Darstellung zur Beschreibung eines Konfigurationsbeispiels für eine Werkzeugmaschine, die von numerischen Steuerungen gemäß den jeweiligen Ausführungsformen gesteuert wird. Wie in 2 dargestellt ist, ist die von den numerischen Steuerungen gemäß den Ausführungsformen gesteuerte Werkzeugmaschine so ausgebildet, dass sie einen Werkzeughalter mit fünf Arten von Schneidwerkzeugen T1 bis T5 umfasst, die daran befestigt sind, um ein Werkstück unter Verwendung eines der Schneidwerkzeuge zu bearbeiten. 2 zeigt einen Querschnitt des Werkzeughalters aus der Richtung der Drehachse des Werkstücks. Die Schneidwerkzeuge sind so angeordnet, dass die Schneidkanten dem Werkstück zugewandt sind. Die Schneidewerkzeuge werden so gesteuert, dass sie sich linear auf das Werkstück zubewegen. Die Schneidwerkzeuge bewegen sich jeweils entlang einer Linie, die durch das Zentrum des Werkstücks verläuft, wobei die numerische Steuerung einen X-Achsen-Servomotor, der den Werkzeughalter in der realen X-Achsenrichtung bewegt, sowie einen Y-Achsen-Servomotor steuert, der den Werkzeughalter in der realen Y-Achsenrichtung bewegt. Es wird darauf hingewiesen, dass die Anzahl der hier dargestellten Schneidwerkzeuge nur ein Beispiel ist und nicht auf fünf Stück beschränkt ist. 2 12 is a diagram for describing a configuration example of a machine tool controlled by numerical controllers according to the respective embodiments. As in 2 1, the machine tool controlled by the numerical controllers according to the embodiments is configured to include a tool post with five kinds of cutting tools T1 to T5 attached thereto to machine a workpiece using one of the cutting tools. 2 Fig. 12 shows a cross section of the tool holder viewed from the direction of the axis of rotation of the workpiece. The cutting tools are arranged so that the cutting edges face the workpiece. The cutting tools are controlled so that they move linearly towards the workpiece. The cutting tools each move along a line passing through the center of the workpiece, with the numerical control controlling an X-axis servo motor that moves the tool holder in the real X-axis direction and a Y-axis servo motor that moves the Tool holder moved in the real Y-axis direction. It should be noted that the number of cutting tools shown here is only an example and is not limited to five pieces.

Wenn die Vibrationsschneidbearbeitung mit einer Werkzeugmaschine durchgeführt werden soll, die die in 2 dargestellte Konfiguration aufweist, können die Schneidwerkzeuge entlang einer durch das Zentrum des Werkstücks verlaufenden Linie in Oszillation versetzt werden, indem ein Oszillationsbefehl, der sich auf die X-Achse und die Y-Achse bezieht, in das Bearbeitungsprogramm geschrieben wird. Die Durchführung der Vibrationsschneidbearbeitung unter Verwendung einer solchen Methode erhöht jedoch den Arbeitsaufwand für die Erstellung des Bearbeitungsprogramms. Bei den numerischen Steuerungen gemäß den Ausführungsformen kann deshalb eine Imaginärachsensteuerung zur Steuerung der Schneidwerkzeuge eingesetzt werden. Durch die Verwendung einer Imaginärachsensteuerung kann ein Werkzeug entlang einer imaginären Achse oszillieren. Ein Oszillationsbefehl für eine einzelne Achse kann demnach ein Schneidwerkzeug entlang einer imaginären Achse in Oszillation versetzen. Bei der Erstellung eines Bearbeitungsprogramms für die Vibrationsschneidbearbeitung muss der Ersteller des Bearbeitungsprogramms die Verwendung einer imaginären Achse nicht berücksichtigen, sondern kann die Oszillationsbedingungen unter Verwendung eines Oszillationsbefehls festlegen, der die Oszillation eines Schneidwerkzeugs entlang der Richtung einer Referenzachse bewirkt, die entweder die reale X-Achse oder die reale Y-Achse ist. Dadurch wird der Aufwand für die Erstellung eines Bearbeitungsprogramms zur Durchführung einer Vibrationsbearbeitung mit einer Werkzeugmaschine reduziert, die die in 2 dargestellte Konfiguration aufweist, d. h. einer Werkzeugmaschine mit einer Konfiguration, bei der das Schneidwerkzeug in einer Richtung oszilliert, die sich von den Richtungen der Antriebsachsen unterscheidet.If the vibration cutting machining is to be performed with a machine tool that has the in 2 having the configuration shown, the cutting tools can be oscillated along a line passing through the center of the workpiece by writing an oscillation command relating to the X-axis and the Y-axis in the machining program. However, performing the vibration cutting machining using such a method increases the labor for preparing the machining program. Therefore, in the numerical controllers according to the embodiments, an imaginary axis controller can be used to control the cutting tools. Using imaginary axis control allows a tool to oscillate along an imaginary axis. Thus, a single-axis oscillation command can oscillate a cutting tool along an imaginary axis. When creating a machining program for vibration cutting machining, the machining program creator does not need to consider the use of an imaginary axis, but can specify the oscillation conditions using an oscillation command that causes a cutting tool to oscillate along the direction of a reference axis, which is either the real X-axis or is the real Y axis. This reduces the effort required to create a machining program for performing vibration machining with a machine tool that has the in 2 configuration shown, that is, a machine tool having a configuration in which the cutting tool oscillates in a direction different from the directions of the drive axes.

Bei der Steuerung einer Werkzeugmaschine mit der in 2 dargestellten Konfiguration ändert die numerische Steuerung die Festlegung der imaginären Maschinenkoordinate jedes Mal, wenn das bei der Werkstückbearbeitung verwendete Schneidwerkzeug gewechselt wird. 2 veranschaulicht den Fall der Bearbeitung eines Werkstücks unter Verwendung des Schneidwerkzeugs T2, wobei die numerische Steuerung zunächst die imaginäre Maschinenkoordinate festlegt, um die Bewegungsrichtung des Schneidwerkzeugs T2 mit der Richtung der imaginären X-Achse auszurichten, und dann die Bewegung des Werkzeughalters unter Verwendung der imaginären Maschinenkoordinate steuert. Auch wenn ein Fall beschrieben wurde, bei dem das Schneidwerkzeug T2 verwendet wird, gilt dies ebenso für Fälle, in denen andere Schneidwerkzeuge verwendet werden. Wenn beispielsweise das Schneidwerkzeug T4 verwendet wird, ändert die numerische Steuerung die Festlegung der imaginären Maschinenkoordinate, um die Bewegungsrichtung des Schneidwerkzeugs T4 mit der Richtung der imaginären X-Achse auszurichten. Wenn das Schneidwerkzeug T3 verwendet wird, ändert die numerische Steuerung die Festlegung der verstellten Maschinenkoordinate, um die Bewegungsrichtung des Schneidwerkzeugs T3 mit der Richtung der imaginären X-Achse auszurichten, wobei die imaginäre X-Achse parallel zur realen X-Achse verläuft. Auch wenn bei dem in 2 dargestellten Beispiel davon ausgegangen wird, dass die Festlegung so vorgenommen wird, dass das Schneidwerkzeug in einer Richtung parallel zur Richtung der imaginären X-Achse oszilliert, kann die Einstellung auch so vorgenommen werden, dass das Schneidwerkzeug in einer Richtung parallel zur Richtung der imaginären Y-Achse oszilliert.When controlling a machine tool with the in 2 In the configuration shown, the numerical control changes the setting of the imaginary machine coordinate every time the cutting tool used in the workpiece machining is changed. 2 Fig. 12 illustrates the case of machining a workpiece using the cutting tool T2, where the numerical control first sets the imaginary machine coordinate to align the direction of movement of the cutting tool T2 with the direction of the imaginary X-axis, and then the movement of the tool holder using the imaginary machine coordinate controls. Although a case where the cutting tool T2 is used has been described, the same applies to cases where other cutting tools are used. For example, when the cutting tool T4 is used, the numerical controller changes the setting of the imaginary machine coordinate to align the moving direction of the cutting tool T4 with the imaginary X-axis direction. When the cutting tool T3 is used, the numerical control changes the setting of the offset machine coordinate to align the moving direction of the cutting tool T3 with the direction of the imaginary X-axis, the imaginary X-axis being parallel to the real X-axis. Even if at the in 2 For example, assuming that the setting is made so that the cutting tool oscillates in a direction parallel to the imaginary X-axis direction, the setting may be made so that the cutting tool oscillates in a direction parallel to the imaginary Y-axis direction. Axis oscillates.

Wie oben beschrieben wurde, legen die numerischen Steuerungen gemäß den Ausführungsformen die imaginäre Maschinenkoordinate so fest, dass das Schneidwerkzeug in einer Richtung parallel zur Richtung der imaginären X-Achse, die die X-Achse der imaginären Maschinenkoordinate ist, in Oszillation versetzt wird, oder das Schneidwerkzeug in einer Richtung parallel zur Richtung der imaginären Y-Achse, die die Y-Achse der imaginären Maschinenkoordinate ist, in Oszillation versetzt wird, und steuern die Wellen der Werkzeugmaschine dann unter Verwendung der imaginären Maschinenkoordinate. Die numerischen Steuerungen gemäß den Ausführungsformen verfahren die Schneidwerkzeuge T1 bis T5 entlang der realen X-Achsenrichtung und entlang der realen Y-Achsenrichtung, indem sie den in 2 dargestellten X-Achsen-Servomotor und Y-Achsen-Servomotor steuern. Es wird darauf hingewiesen, dass in der Beschreibung der Ausführungsformen ein Schneidwerkzeug als „Werkzeug“ bezeichnet wird. Außerdem kann sich die Beschreibung der Ausführungsformen auf die reale X-Achse als X-Achse und die reale Y-Achse als Y-Achse beziehen.As described above, the numerical controllers according to the embodiments set the imaginary machine coordinate so that the cutting tool is oscillated in a direction parallel to the imaginary X-axis direction which is the X-axis of the imaginary machine coordinate, or the cutting tool is oscillated in a direction parallel to the imaginary Y-axis direction which is the Y-axis of the imaginary machine coordinate is oscillated, and then control the shafts of the machine tool using the imaginary machine coordinate. The numerical controllers according to the embodiments move the cutting tools T1 to T5 along the X-axis real direction and along the Y-axis real direction by moving the cutting tools shown in FIG 2 X-axis servo motor and Y-axis servo motor shown. It is noted that a cutting tool is referred to as “tool” in the description of the embodiments. In addition, the description of the embodiments may refer to the real X-axis as the X-axis and the real Y-axis as the Y-axis.

Erste AusführungsformFirst embodiment

3 zeigt eine Darstellung zur Veranschaulichung eines Konfigurationsbeispiels einer numerischen Steuerung gemäß einer ersten Ausführungsform. Eine numerische Steuerung 1X gemäß der ersten Ausführungsform umfasst eine Eingabeeinheit 3, eine Anzeigeeinheit 4 und eine Steuerungsberechnungseinheit 2X. 3 veranschaulicht ferner eine Antriebseinheit 90, die in einer Werkzeugmaschine enthalten ist, die von der numerischen Steuerung 1X gesteuert wird. Die Elemente der Werkzeugmaschine sind abgesehen von der Antriebseinheit 90 in der Figur nicht dargestellt. 3 12 is a diagram showing a configuration example of a numerical controller according to a first embodiment. A numerical controller 1X according to the first embodiment includes an input unit 3, a display unit 4, and a controller calculation unit 2X. 3 further illustrates a drive unit 90 included in a machine tool controlled by the numerical controller 1X. Apart from the drive unit 90, the elements of the machine tool are not shown in the figure.

Bei der in der Werkzeugmaschine enthaltenen Antriebseinheit 90 handelt es sich um einen Mechanismus zum Antreiben eines Werkstücks, das ein zu bearbeitendes Objekt darstellt, und/oder eines Werkzeugs in zumindest zwei axialen Richtungen. Die Antriebseinheit 90 umfasst dabei mehrere Servomotoren 91, von denen jeder das Werkstück und/oder das Werkzeug in Richtung der entsprechenden Achse, die in der numerischen Steuerung 1X definiert ist, bewegt, und mehrere Detektoren 92, von denen jeder die Position und die Drehzahl des Rotors des entsprechenden Servomotors 91 erfasst. Die Antriebseinheit 90 umfasst auch eine X-Achsen-Servosteuerungseinheit 93X und eine Y-Achsen-Servosteuerungseinheit 93Y, ..., die die Servomotoren 91 auf Basis der von den Detektoren 92 erfassten Positionen und Drehzahlen steuern. Es wird darauf hingewiesen, dass die den jeweiligen Achsen entsprechenden Servosteuerungseinheiten (d. h. die X-Achsen-Servosteuerungseinheit 93X, die Y-Achsen-Servosteuerungseinheit 93Y, ...) im Folgenden jeweils einfach als Servosteuerungseinheit 93 bezeichnet werden, wenn keine Unterscheidung zwischen den Richtungen der Antriebsachsen getroffen werden muss. Die Antriebseinheit 90 umfasst ferner einen Spindelmotor 94, der die Spindel zum Drehen des Werkstücks dreht, einen Detektor 95, der die Position und die Drehfrequenz des Rotors des Spindelmotors 94 erfasst, und eine Spindelsteuerungseinheit 96, die den Spindelmotor 94 auf Basis der Position und der Drehfrequenz steuert, die von dem Detektor 95 erfasst wurden.The drive unit 90 included in the machine tool is a mechanism for driving a workpiece, which is an object to be machined, and/or a tool in at least two axial directions. The drive unit 90 thereby comprises a plurality of servomotors 91, each of which moves the workpiece and/or the tool in the direction of the corresponding axis defined in the numerical controller 1X, and a plurality of detectors 92, each of which detects the position and the rotational speed of the Rotor of the corresponding servo motor 91 detected. The drive unit 90 also includes an X-axis servo control unit 93X and a Y-axis servo control unit 93Y, ..., which control the servomotors 91 based on the positions and speeds detected by the detectors 92. It is noted that the servo control units corresponding to the respective axes (i.e., the X-axis servo control unit 93X, the Y-axis servo control unit 93Y, ...) are hereinafter each simply referred to as a servo control unit 93 if no distinction is made between the directions of the drive axles must be met. The drive unit 90 further includes a spindle motor 94 that rotates the spindle to rotate the workpiece, a detector 95 that detects the position and rotational frequency of the rotor of the spindle motor 94, and a spindle control unit 96 that controls the spindle motor 94 based on the position and the Rotational frequency controls, which were detected by the detector 95.

Zurückkehrend zur Beschreibung der numerischen Steuerung 1X stellt die Eingabeeinheit 3 eine Einrichtung zur Eingabe von Informationen in die numerische Steuerung 1X dar. Die Eingabeeinheit 3 umfasst eine Tastatur, eine Bedienungstaste, eine Maus und/oder dergleichen, um eine Eingabe für die numerische Steuerung 1X, wie z. B. einen Befehl, ein Bearbeitungsprogramm, einen Parameter und dergleichen, vom Benutzer zu erhalten und die Eingabe an die Steuerungsberechnungseinheit 2X weiterzugeben.Returning to the description of the numerical controller 1X, the input unit 3 is a device for inputting information into the numerical controller 1X. such as B. a command, a machining program, a parameter and the like from the user and give the input to the control calculation unit 2X.

Die Anzeigeeinheit 4 umfasst eine Flüssigkristallanzeige oder dergleichen zur Anzeige von Informationen, die durch eine von der Steuerungsberechnungseinheit 2X durchgeführte Verarbeitung erhalten wurden, und zur Durchführung ähnlicher Operationen.The display unit 4 includes a liquid crystal display or the like for displaying information obtained through processing performed by the control calculation unit 2X and performing similar operations.

Die Steuerungsberechnungseinheit 2X umfasst eine Eingabesteuerungseinheit 32, eine Dateneinstelleinheit 33, eine Speichereinheit 34, eine Anzeigebildverarbeitungseinheit 31, eine Steuersignalverarbeitungseinheit 35, eine speicherprogrammierbare Steuerung (SPS) 36, eine Analyseverarbeitungseinheit 37, eine Interpolationsverarbeitungseinheit 38X, eine Beschleunigungs-/Verzögerungsverarbeitungseinheit 39 und eine Achsendateneingabe-/-ausgabeeinheit 40. Es wird darauf hingewiesen, dass die SPS 36 außerhalb der Steuerungsberechnungseinheit 2X angeordnet sein kann.The control calculation unit 2X includes an input control unit 32, a data setting unit 33, a storage unit 34, a display image processing unit 31, a control signal processing unit 35, a programmable logic controller (PLC) 36, an analysis processing unit 37, an interpolation processing unit 38X, an acceleration/deceleration processing unit 39, and an axis data input /output unit 40. It is noted that the PLC 36 may be arranged outside of the control calculation unit 2X.

Die Eingabesteuerungseinheit 32 empfängt die mit der Eingabeeinheit 3 eingegebenen Informationen. Die Dateneinstelleinheit 33 speichert die von der Eingabesteuerungseinheit 32 empfangenen Informationen in der Speichereinheit 34. Wenn es sich bei den eingegebenen Informationen beispielsweise um eine Bearbeitung des in der Speichereinheit 34 gespeicherten Bearbeitungsprogramms 343 handelt, spiegelt die Dateneinstelleinheit 33 die Bearbeitung in dem Bearbeitungsprogramm 343 wider, das in der Speichereinheit 34 gespeichert ist. Alternativ dazu aktualisiert die Dateneinstelleinheit 33 die in der Speichereinheit 34 gespeicherten Parameterdaten 341, wenn ein Parameter eingegeben wird.The input control unit 32 receives the information entered with the input unit 3 . The data setting unit 33 stores the information received from the input control unit 32 in the storage unit 34. For example, when the input information is an edit of the machining program 343 stored in the storage unit 34, the data setting unit 33 reflects the editing in the machining program 343 that is stored in the storage unit 34 . Alternatively, the data setting unit 33 updates the parameter data 341 stored in the storage unit 34 when a parameter is input.

Die Speichereinheit 34 speichert Parameterdaten 341 zur Verwendung bei der Verarbeitung durch die Steuerungsberechnungseinheit 2X, Anzeigedaten 342, die an der Anzeigeeinheit 4 angezeigt werden sollen, das auszuführende Bearbeitungsprogramm 343 und dergleichen.The storage unit 34 stores parameter data 341 for use in processing by the control calculation unit 2X, display data 342 to be displayed on the display unit 4, the machining program 343 to be executed, and the like.

Die Speichereinheit 34 umfasst auch einen gemeinsam genutzten Bereich 344 zum Speichern von anderen Daten als den Parameterdaten 341, den Anzeigedaten 342 und dem Bearbeitungsprogramm 343. In dem gemeinsam genutzten Bereich 344 werden temporär Daten gespeichert, die während einer von der Steuerungsberechnungseinheit 2X durchgeführten Verarbeitung zur Steuerung der Antriebseinheit 90 erzeugt wurden. Die Anzeigebildverarbeitungseinheit 31 steuert die Anzeige der in der Speichereinheit 34 gespeicherten Anzeigedaten 342 an der Anzeigeeinheit 4.The storage unit 34 also includes a shared area 344 for storing data other than the parameter data 341, the display data 342 and the machining program 343. The shared area 344 temporarily stores data used during processing performed by the control calculation unit 2X for control of the drive unit 90 were generated. The display image processing unit 31 controls the display of the display data 342 stored in the storage unit 34 on the display unit 4.

Die Analyseverarbeitungseinheit 37 umfasst eine Bewegungsbefehl-Analyseeinheit 371 und eine Oszillationsbefehl-Analyseeinheit 372. Die Analyseverarbeitungseinheit 37 liest das einen oder mehrere Blöcke enthaltende Bearbeitungsprogramm 343 aus der Speichereinheit 34 aus und analysiert das ausgelesene Bearbeitungsprogramm 343 mit Hilfe der Bewegungsbefehl-Analyseeinheit 371 oder der Oszillationsbefehl-Analyseeinheit 372. Die Bewegungsbefehl-Analyseeinheit 371 analysiert einen im Bearbeitungsprogramm 343 enthaltenen Verfahrbefehl und schreibt das Analyseergebnis in den gemeinsam genutzten Bereich 344 der Speichereinheit 34. Die Oszillationsbefehl-Analyseeinheit 372 analysiert einen im Bearbeitungsprogramm 343 enthaltenen Oszillationsbefehl und schreibt das Analyseergebnis in den gemeinsam genutzten Bereich 344 der Speichereinheit 34. Ein Oszillationsbefehl enthält ein oder mehrere Argumente, die jeweils eine Bedingung dafür angeben, wie das Werkzeug bei der Vibrationsschneidbearbeitung in Oszillation versetzt werden soll. Ein Oszillationsbefehl enthält ein Argument zur Angabe der Oszillationsrichtung, d. h. der Achse, entlang der das Werkzeug oszillieren soll, ein Argument zur Angabe der Amplitude der Oszillation, ein Argument zur Angabe der Frequenz der Oszillation und/oder dergleichen. Die Frequenz der Oszillation wird beispielsweise durch die Anzahl der Oszillationen während einer Spindelumdrehung ausgedrückt. Ein Oszillationsbefehl wird beispielsweise durch einen G 165-Code angegeben.The analysis processing unit 37 includes a movement command analysis unit 371 and an oscillation command analysis unit 372. The analysis processing unit 37 reads out the machining program 343 including one or more blocks from the storage unit 34 and analyzes the read out machining program 343 using the movement command analysis unit 371 or the oscillation command analysis unit 371 or the oscillation command analysis unit. Analysis unit 372. The movement command analysis unit 371 analyzes a movement command included in the machining program 343 and writes the analysis result in the shared area 344 of the storage unit 34. The oscillation command analysis unit 372 analyzes an oscillation command included in the machining program 343 and writes the analysis result in the shared area 344 of the storage unit 34. An oscillating command contains one or more arguments, each specifying a condition for how the tool is to be used in the vibration cutting machining in Oscillation is to be offset. An oscillation command contains an argument specifying the oscillation direction, i.e. H. the axis along which the tool is to oscillate, an argument specifying the amplitude of the oscillation, an argument specifying the frequency of the oscillation, and/or the like. The frequency of the oscillation is expressed, for example, by the number of oscillations during one revolution of the spindle. An oscillation command is indicated by a G165 code, for example.

Wenn die Analyseverarbeitungseinheit 37 einen Hilfsbefehl liest, informiert die Steuersignalverarbeitungseinheit 35 die SPS 36, dass ein Hilfsbefehl ausgegeben wurde. Ein Hilfsbefehl ist ein Befehl für den Betrieb der Maschine, wobei Befehle für den Betrieb einer Antriebsachse, die eine numerisch gesteuerte Achse ist, nicht dazu gehören. Ein Beispiel für einen Hilfsbefehl ist ein M-Code oder T-Code.When the analysis processing unit 37 reads an auxiliary command, the control signal processing unit 35 informs the PLC 36 that an auxiliary command has been issued. An auxiliary command is a command for operating the machine, excluding commands for operating a drive axis which is a numerically controlled axis. An example of an auxiliary command is an M code or T code.

Nach Empfang der Meldung von der Steuersignalverarbeitungseinheit 35, dass ein Hilfsbefehl ausgegeben wurde, führt die SPS 36 einen diesem Hilfsbefehl entsprechenden Vorgang aus. Die SPS 36 enthält ein Kontaktplanprogramm, in dem eine Maschinenprozedur codiert ist. Bei Empfang eines T-Codes oder M-Codes, bei denen es sich um Hilfsbefehle handelt, führt die SPS 36 die dem Hilfsbefehl entsprechende Prozedur gemäß dem Kontaktplanprogramm aus. Nach der Durchführung der dem Hilfsbefehl entsprechenden Prozedur sendet die SPS 36 an die Steuersignalverarbeitungseinheit 35 ein Abschlusssignal, das den Abschluss der dem Hilfsbefehl entsprechenden Prozedur anzeigt, um die Ausführung des nächsten Blocks des Bearbeitungsprogramms 343 zu veranlassen.After receiving the notification from the control signal processing unit 35 that an auxiliary command has been issued, the PLC 36 executes a process corresponding to this auxiliary command. The PLC 36 contains a ladder diagram program in which a machine procedure is encoded. Upon receipt of a T code or M code, which are auxiliary commands, the PLC 36 executes the procedure corresponding to the auxiliary command according to the ladder program. After performing the procedure corresponding to the auxiliary command, the PLC 36 sends the control signal processing unit 35 a completion signal indicating the completion of the procedure corresponding to the auxiliary command to cause the next block of the machining program 343 to be executed.

In der Steuerungsberechnungseinheit 2X sind die Steuersignalverarbeitungseinheit 35, die Analyseverarbeitungseinheit 37 und die Interpolationsverarbeitungseinheit 38X über die Speichereinheit 34 miteinander verbunden. Die Analyseverarbeitungseinheit 37, die Steuersignalverarbeitungseinheit 35 und die Interpolationsverarbeitungseinheit 38X tauschen gegenseitig verschiedene Informationen über den gemeinsam genutzten Bereich 344 der Speichereinheit 34 aus. Die Angabe, dass das Bereitstellen und Empfangen von Informationen zu und von der Steuersignalverarbeitungseinheit 35, der Analyseverarbeitungseinheit 37 und der Interpolationsverarbeitungseinheit 38X über die Speichereinheit 34 erfolgt, kann in der folgenden Beschreibung weggelassen sein.In the control calculation unit 2X, the control signal processing unit 35, the analysis processing unit 37, and the interpolation processing unit 38X are connected to each other via the storage unit 34. FIG. The analysis processing unit 37, the control signal processing unit 35, and the interpolation processing unit 38X exchange various information about the shared area 344 of the storage unit 34 with each other. The specification that providing and receiving information to and from the control signal processing unit 35, the analysis processing unit 37 and the interpolation processing unit 38X is done via the storage unit 34 may be omitted in the following description.

Wenn die Analyseverarbeitungseinheit 37 einen Befehl analysiert hat, der ein Argument bezüglich der Bewegungsbahn des Werkzeugs enthält, berechnet die Interpolationsverarbeitungseinheit 38X die Bewegungsbahn des Werkzeugs unter Verwendung einer Interpolationsoperation auf Basis des in dem analysierten Befehl enthaltenen Arguments. Ein Befehl mit einem Argument, das sich auf die Bewegungsbahn des Werkzeugs bezieht, ist ein Befehl, der eines oder mehrere der folgenden Argumente enthält: ein Argument, das die Position des Werkzeugs spezifiziert, ein Argument, das die Bewegungsgeschwindigkeit des Werkzeugs spezifiziert, ein Argument, das die Interpolationsmethode spezifiziert, die bei der Interpolationsoperation verwendet werden soll, und dergleichen. Ein Oszillationsbefehl ist einer der Befehle, die ein Argument enthalten, das sich auf die Bewegungsbahn des Werkzeugs bezieht.When the analysis processing unit 37 has analyzed an instruction including an argument related to the trajectory of the tool, the interpolation processing unit 38X calculates the trajectory of the tool using an interpolation operation based on the argument included in the analyzed instruction. A command with an argument related to the trajectory of the tool is a command that includes one or more of the following arguments: an argument specifying the position of the tool, an argument specifying the speed of motion of the tool, an argument , which specifies the interpolation method to be used in the interpolation operation, and the like. An oscillating command is one of the commands containing an argument related to the trajectory of the tool.

Die Interpolationsverarbeitungseinheit 38X umfasst eine Zuordnungsverhältnis-Bestimmungseinheit 381, eine Kurvenforminformationsbezugseinheit 382, eine Vergleichseinheit 383, eine Oszillationsbefehlskurvenform-Anpassungseinheit 384X, eine Oszillationskurvenform-Erzeugungseinheit 385 und eine Oszillationsbewegungsstrecken-Berechnungseinheit 386.The interpolation processing unit 38X includes an assignment ratio determination unit 381, a waveform information acquisition unit 382, a comparison unit 383, an oscillation command waveform adjustment unit 384X, an oscillation waveform generation unit 385 and an oscillation movement distance calculation unit 386.

Die Oszillationskurvenform-Erzeugungseinheit 385 erzeugt eine Oszillationskurvenform, die die Bewegungsbahn des Werkzeugs repräsentiert, wenn das Werkzeug so gesteuert wird, dass es in Oszillation versetzt wird, auf Basis des Ergebnisses der Analyse eines Oszillationsbefehls, die von der Oszillationsbefehl-Analyseeinheit 372 durchgeführt wird, d. h. basierend auf dem/den Argument(en), die in dem analysierten Oszillationsbefehl enthalten sind. Die von der Oszillationskurvenform-Erzeugungseinheit 385 erzeugte Oszillationskurvenform repräsentiert die Oszillationsbahn des Werkzeugs, wenn das Werkzeug entlang der Richtung einer imaginären Achse in Oszillation versetzt wird.The oscillation waveform generating unit 385 generates an oscillation waveform representing the movement trajectory of the tool when the tool is controlled to oscillate, based on the result of analysis of an oscillation command performed by the oscillation command analysis unit 372, i . H. based on the argument(s) contained in the analyzed oscillation command. The oscillation waveform generated by the oscillation waveform generation unit 385 represents the oscillation trajectory of the tool when the tool is oscillated along the direction of an imaginary axis.

Die Zuordnungsverhältnis-Bestimmungseinheit 381 bestimmt das Verhältnis, in dem die von der Oszillationskurvenform-Erzeugungseinheit 385 erzeugte Oszillationskurvenform vektoriell in Komponenten entlang der Richtungen der jeweiligen Antriebsachsen zerlegt werden soll, die gesteuert werden, wenn das Werkzeug unter Verwendung der Imaginärachsensteuerung bewegt wird. Wie oben beschrieben wurde, wird das Werkzeug durch die Imaginärachsensteuerung entlang der Richtung einer imaginären Achse mittels einer synchronen Steuerung mehrerer Antriebsachsen bewegt. Dementsprechend ergibt sich die Bewegungstrecke des Werkzeugs entlang der Richtung einer imaginären Achse aus den Bewegungsstrecken entlang der Richtungen der jeweiligen Antriebsachsen, die bei der Imaginärachsensteuerung synchron gesteuert werden. Andererseits ist die von der Oszillationskurvenform-Erzeugungseinheit 385 erzeugte Oszillationskurvenform eine Kurvenform in dem imaginären Maschinenkoordinatensystem, das durch imaginäre Achsen definiert ist, d. h. eine Kurvenform, die die Oszillation entlang der Richtung einer imaginären Achse repräsentiert. Daher bestimmt die Zuordnungsverhältnis-Bestimmungseinheit 381 das Verhältnis, in dem die Komponente der von der Oszillationskurvenform-Erzeugungseinheit 385 erzeugten Oszillationskurvenform vektoriell in Komponenten entlang der Richtungen der jeweiligen Antriebsachsen zu zerlegen ist, um die Kurvenformen zu erhalten, die die Oszillationen entlang der Richtungen der jeweiligen Antriebsachsen repräsentieren.The association ratio determination unit 381 determines the ratio at which the oscillation waveform generated by the oscillation waveform generation unit 385 should be vectorially decomposed into components along the directions of the respective drive axes that are controlled when the tool is moved using the imaginary axis control. As described above, by the imaginary axis control, the tool is moved along the direction of an imaginary axis by synchronous control of a plurality of drive axes. Accordingly, the movement distance of the tool along the direction of an imaginary axis results from the movement distances along the directions of the respective driving axes, which are synchronously controlled in the imaginary axis control. On the other hand, the oscillation waveform generated by the oscillation waveform generation unit 385 is a waveform in the imaginary machine coordinate system defined by imaginary axes, i. H. a waveform representing oscillation along the direction of an imaginary axis. Therefore, the allocation ratio determining unit 381 determines the ratio in which to vectorially decompose the component of the oscillation waveform generated by the oscillation waveform generating unit 385 into components along the directions of the respective driving axes to obtain the waveforms corresponding to the oscillations along the directions of the respective represent drive axles.

Die Kurvenforminformationsbezugseinheit 382 erhält von der Antriebseinheit 90 Informationen über Kurvenformen, die die tatsächliche Bewegungsbahn wiedergeben, wenn eine Steuerung durchgeführt wird, um das Werkzeug in Oszillation zu versetzen.The waveform information obtaining unit 382 obtains from the drive unit 90 information on waveforms representing the actual trajectory when control is performed to oscillate the tool.

Die Vergleichseinheit 383 vergleicht die von der Oszillationskurvenform-Erzeugungseinheit 385 erzeugte Oszillationskurvenform mit einer Feedback-Kurvenform, bei der es sich um die Kurvenform handelt, die den entsprechenden Teil der von der Kurvenforminformationsbezugseinheit 382 erhaltenen Informationen repräsentiert. Die Vergleichseinheit 383 führt einen Vergleich unter Verwendung einer Komponente entlang der X-Achse und einer Komponente entlang der Y-Achse durch, die durch Zerlegen der von der Oszillationskurvenform-Erzeugungseinheit 385 erzeugten Oszillationskurvenform erhalten werden. Konkret vergleicht die Vergleichseinheit 383 die Oszillationskurvenform, die die Komponente entlang der X-Achse darstellt, d. h. die X-Achsen-Oszillationskurvenform, mit der X-Achsen-Feedback-Kurvenform, die die Informationen beschreibt, die von dem Detektor 92 erhalten werden, der die Position und die Geschwindigkeit des Rotors des Servomotors 91 für die X-Achse erfasst. Die Vergleichseinheit 383 vergleicht auch die Oszillationskurvenform, die die Komponente entlang der Y-Achse darstellt, d. h. die Y-Achsen-Oszillationskurvenform, mit der Y-Achsen-Feedback-Kurvenform, die die Informationen beschreibt, die von dem Detektor 92 erhalten werden, der die Position und die Geschwindigkeit des Rotors des Servomotors 91 für die Y-Achse erfasst.The comparison unit 383 compares the oscillation waveform generated by the oscillation waveform generation unit 385 with a feedback waveform that is the waveform representing the corresponding part of the information obtained from the waveform information acquisition unit 382 . The comparison unit 383 performs comparison using a component along the X-axis and a component along the Y-axis obtained by decomposing the oscillation waveform generated by the oscillation waveform generation unit 385 . Concretely, the comparison unit 383 compares the oscillation waveform representing the component along the X-axis, i. H. the X-axis oscillation waveform, with the X-axis feedback waveform describing the information obtained from the detector 92 which detects the position and the speed of the rotor of the servomotor 91 for the X-axis. The comparison unit 383 also compares the oscillation waveform representing the component along the Y-axis, i. H. the Y-axis oscillation waveform, with the Y-axis feedback waveform describing the information obtained from the detector 92 which detects the position and the speed of the rotor of the servomotor 91 for the Y-axis.

Die Oszillationsbefehlskurvenform-Anpassungseinheit 384X nimmt basierend auf dem Vergleichsergebnis der Vergleichseinheit 383 eine später beschriebene Anpassung der Oszillationsbefehlskurvenform vor.The oscillation command waveform adjustment unit 384X performs oscillation command waveform adjustment, which will be described later, based on the comparison result of the comparison unit 383 .

Die Oszillationsbewegungsstrecken-Berechnungseinheit 386 erzeugt eine X-Achsen-Oszillationsbefehlskurvenform, die die Bewegungsbahn des Werkzeugs entlang der X-Achse repräsentiert, und eine Y-Achsen-Oszillationsbefehlskurvenform, die die Bewegungsbahn des Werkzeugs entlang der Y-Achse repräsentiert, basierend auf der Oszillationskurvenform, die von der Oszillationskurvenform-Erzeugungseinheit 385 erzeugt wird, und basierend auf dem Verhältnis, das von der Zuordnungsverhältnis-Bestimmungseinheit 381 bestimmt wird. Die Oszillationsbewegungsstrecken-Berechnungseinheit 386 berechnet dann die Bewegungsstrecke des Werkzeugs pro Zeiteinheit, wenn die Vibrationsschneidbearbeitung während der Oszillation des Werkzeugs durchgeführt wird, basierend auf den in Bezug auf die jeweiligen Achsen erzeugten Oszillationsbefehlskurvenformen. Die Oszillationsbewegungsstrecken-Berechnungseinheit 386 berechnet für jede Antriebsachse die Oszillationsbewegungsstrecke, d. h. die Bewegungsstrecke des Werkzeugs pro Zeiteinheit. Die Oszillationsbewegungsstrecken-Berechnungseinheit 386 berechnet demnach die Oszillationsbewegungsstrecke des Werkzeugs entlang der X-Achse und die Oszillationsbewegungsstrecke des Werkzeugs entlang der Y-Achse auf Basis der den jeweiligen Antriebsachsen entsprechenden Oszillationsbefehlskurvenformen.The oscillation movement distance calculation unit 386 generates an X-axis oscillation command waveform representing the trajectory of the tool along the X-axis and a Y-axis oscillation command waveform representing the trajectory of the tool along the Y-axis based on the oscillation waveform, generated by the oscillation waveform generating unit 385 and based on the ratio determined by the association ratio determining unit 381 . The oscillation moving distance calculation unit 386 then calculates the moving distance of the tool per unit time when the vibration cutting machining is performed while oscillating the tool, based on the oscillation command waveforms generated with respect to the respective axes. The oscillating moving distance calculation unit 386 calculates the oscillating moving distance, that is, the moving distance of the tool per unit time, for each driving axis. Thus, the oscillating-moving distance calculation unit 386 calculates the oscillating-moving distance of the tool along the X-axis and the oscillating-moving distance of the tool along the Y-axis Based on the oscillation command waveforms corresponding to the respective driving axes.

Die Beschleunigungs-/Verzögerungsverarbeitungseinheit 39 wandelt die Bewegungsstrecke pro Zeiteinheit entlang jeder der Antriebsachsen, die von der Oszillationsbewegungsstrecken-Berechnungseinheit 386 der Interpolationsverarbeitungseinheit 38X empfangen wurde, in einen Bewegungsbefehl pro Zeiteinheit um, der die Beschleunigung und die Verzögerung auf Basis eines vorgegebenen Beschleunigungs-/Verzögerungsmusters berücksichtigt.The acceleration/deceleration processing unit 39 converts the movement distance per unit time along each of the drive axes received from the oscillating movement distance calculation unit 386 of the interpolation processing unit 38X into a movement command per unit time that calculates the acceleration and deceleration based on a predetermined acceleration/deceleration pattern taken into account.

Die Achsendateneingabe-/-ausgabeeinheit 40 gibt die von der Beschleunigungs-/Verzögerungsverarbeitungseinheit 39 ausgegebenen Bewegungsbefehle pro Zeiteinheit an die Servosteuerungseinheiten 93 aus, die die Antriebsachsen steuern. Ferner erhält die Achsendateneingabe-/-ausgabeeinheit 40 von der Antriebseinheit 90 Daten, die die Position und die Drehzahl jedes der Servomotoren 91 angeben.The axis data input/output unit 40 outputs the motion commands per unit time output from the acceleration/deceleration processing unit 39 to the servo control units 93 that control the drive axes. Further, the axis data input/output unit 40 receives data indicative of the position and rotational speed of each of the servomotors 91 from the drive unit 90 .

Es wird nun eine Vibrationsschneidbearbeitung, die von der in 3 dargestellten numerischen Steuerung 1X während des Gewindeschneidens durchgeführt wird, kurz beschrieben.Now, vibration cutting processing, which is carried out by the in 3 shown Numerical Controller 1X during tapping is briefly described.

Die Analyseverarbeitungseinheit 37 der numerischen Steuerung 1X liest einen Block aus dem Bearbeitungsprogramm 343 aus, der dann von der Bewegungsbefehl-Analyseeinheit 371 analysiert wird, wenn der gelesene Block ein Gewindeschneidbefehl ist, oder von der Oszillationsbefehl-Analyseeinheit 372 analysiert wird, wenn der gelesene Block ein Oszillationsbefehl ist. Die Analyseverarbeitungseinheit 37 stellt beispielsweise fest, dass der gelesene Block ein Gewindeschneidbefehl ist, wenn der Block ein G33-Code ist, und dass der gelesene Block ein Oszillationsbefehl ist, wenn der Block ein G165 -Code ist.The analysis processing unit 37 of the numerical controller 1X reads a block from the machining program 343, which is then analyzed by the movement command analysis unit 371 when the read block is a tapping command, or by the oscillation command analysis unit 372 when the read block is a Oscillation command is. For example, the analysis processing unit 37 determines that the read block is a tapping command when the block is a G33 code and that the read block is an oscillation command when the block is a G165 code.

Ein Gewindeschneidbefehl enthält ein Argument, das die Bewegungsbahn des Werkzeugs in einem einzelnen Gewindeschneidvorgang angibt. Ein Gewindeschneidbefehl umfasst beispielsweise ein Argument, das die Position zum Starten eines Gewindeschneidvorgangs spezifiziert, ein Argument, das die Position zum Beenden des Gewindeschneidvorgangs spezifiziert, und ein Argument, das die Bewegungsstrecke des Werkzeugs pro Werkstückumdrehung (d. h. die Steigung) spezifiziert. Es wird dabei davon ausgegangen, dass das beim Gewindeschneiden verwendete Werkzeug durch einen Befehl zum Spezifizieren des zu verwendenden Werkzeugs vorgegeben ist, ein Argument zur Angabe des zu verwendenden Werkzeugs kann jedoch auch in den Gewindeschneidbefehl aufgenommen werden.A threading command takes an argument that specifies the trajectory of the tool in a single threading operation. For example, a threading command includes an argument specifying the position to start a threading operation, an argument specifying the position to end the threading operation, and an argument specifying the moving distance of the tool per workpiece revolution (i.e., pitch). It is assumed that the tool used in threading is specified by a command specifying the tool to be used, but an argument specifying the tool to be used can also be included in the threading command.

Wenn beim Gewindeschneiden eine Vibrationsschneidbearbeitung durchgeführt wird, wird das Gewindeschneiden durchgeführt, während das Werkzeug in einer Richtung senkrecht zur Bearbeitungsrichtung des Gewindeschneidens in Oszillation versetzt wird, d. h. in einer Richtung senkrecht zur Rotationsachse des Werkstücks (siehe 4), im Unterschied zu dem Fall, bei dem das Vibrationsschneiden während einer üblichen Werkstückbearbeitung durchgeführt wird. 4 zeigt eine Darstellung zur Veranschaulichung der Oszillationsrichtung des Werkzeugs, wenn bei einer Gewindeschneidbearbeitung ein Vibrationsschneiden durchgeführt wird. Es wird angenommen, dass die Z- und die X-Achse senkrecht zueinander verlaufen. Wie in 4 dargestellt ist, wird das Werkzeug beim Vibrationsschneiden in X-Achsenrichtung in Oszillation versetzt, wobei die Bearbeitungsrichtung die Z-Achsenrichtung ist.When vibration cutting processing is performed in tapping, tapping is performed while oscillating the tool in a direction perpendicular to the machining direction of tapping, that is, in a direction perpendicular to the axis of rotation of the workpiece (see 4 ), different from the case where vibration cutting is performed during ordinary workpiece processing. 4 Fig. 12 is a diagram showing the oscillating direction of the tool when vibration cutting is performed in tapping processing. The Z and X axes are assumed to be perpendicular to each other. As in 4 1, in vibration cutting, the tool is oscillated in the X-axis direction with the machining direction being the Z-axis direction.

Nachdem die Oszillationsbefehl-Analyseeinheit 372 einen Oszillationsbefehl analysiert hat, erhält die Oszillationskurvenform-Erzeugungseinheit 385 das Ergebnis der Analyse des Oszillationsbefehls über den gemeinsam genutzten Bereich 344 und erzeugt eine Oszillationskurvenform, bei der es sich um eine Oszillationsgrundkurvenform handelt, auf Basis des erhaltenen Analyseergebnisses. Die Oszillationsbewegungsstrecken-Berechnungseinheit 386 berechnet beispielsweise die Oszillationsbewegungsstrecke entlang der X-Achse unter Verwendung der von der Oszillationskurvenform-Erzeugungseinheit 385 erzeugten Oszillationskurvenform und unter Verwendung der Bewegungsbahn des Werkzeugs. Konkret berechnet die Oszillationsbewegungsstrecken-Berechnungseinheit 386 eine Oszillationsvorlaufposition, die durch Addition der Amplitude der Oszillationskurvenform zu der Bewegungsbahn des Werkzeugs erhalten wird, und eine Oszillationsrücklaufposition, die durch Subtraktion der Amplitude der Oszillationskurvenform von der Bewegungsbahn des Werkzeugs erhalten wird, um so die Oszillationsbewegungsstrecke entlang der X-Achse zu erzeugen. Die Bewegungsbahn des Werkzeugs erhält man aus dem Ergebnis der Analyse des Gewindeschneidbefehls durch die Bewegungsbefehl-Analyseeinheit 371.After the oscillation command analysis unit 372 analyzes an oscillation command, the oscillation waveform generation unit 385 obtains the result of analyzing the oscillation command via the shared area 344 and generates an oscillation waveform, which is a basic oscillation waveform, based on the obtained analysis result. For example, the oscillating movement distance calculation unit 386 calculates the oscillating movement distance along the X-axis using the oscillation waveform generated by the oscillation waveform generation unit 385 and using the movement trajectory of the tool. Concretely, the oscillating moving distance calculation unit 386 calculates an oscillating advance position obtained by adding the amplitude of the oscillating waveform to the moving trajectory of the tool and an oscillating backward position obtained by subtracting the amplitude of the oscillating waveform from the moving trajectory of the tool so as to calculate the oscillating moving distance along the to generate the X-axis. The trajectory of movement of the tool is obtained from the result of analysis of the tapping command by the movement command analysis unit 371.

Die von der Oszillationsbewegungsstrecken-Berechnungseinheit 386 berechneten Oszillationsbewegungsstrecken werden über die Beschleunigungs-/Verzögerungsverarbeitungseinheit 39 und über die Achsendateneingabe-/-ausgabeeinheit 40 an die Antriebseinheit 90 gesendet. In der Antriebseinheit 90 steuert die X-Achsen-Servosteuerungseinheit 93X den Servomotor 91 für die X-Achse auf Basis der Oszillationsbewegungsstrecke, die von der Oszillationsbewegungsstrecken-Berechnungseinheit 386 empfangen wird. Die Antriebseinheit 90 führt demnach bei der Gewindeschneidbearbeitung ein Vibrationsschneiden durch. 5 veranschaulicht das Prinzip des Vibrationsschneidens bei einer Gewindeschneidbearbeitung schematisch. In 5 zeigt ein dunkler Bereich einen tief geschnittenen Bereich des Werkstücks, der aus einem großen Schnittvolumen während der Oszillation des Werkzeugs resultiert, wobei ein heller Bereich einen leicht geschnittenen Bereich des Werkstücks zeigt. Durch eine Phasenverschiebung von beispielsweise 180 Grad zwischen der in 4 dargestellten Oszillation entlang der X-Achsenrichtung bei der ersten Umdrehung des Gewindeschneidvorgangs und der Oszillation entlang der X-Achsenrichtung bei der zweiten Umdrehung des Gewindeschneidvorgangs kann der bei der ersten Umdrehung tief geschnittene Bereich in der zweiten Umdrehung leicht geschnitten werden, wobei in diesem Bereich Späne gebrochen werden. Demnach werden zerkleinerte Späne ausgetragen.The oscillating moving distances calculated by the oscillating moving distance calculation unit 386 are sent to the driving unit 90 via the acceleration/deceleration processing unit 39 and via the axis data input/output unit 40 . In the drive unit 90 , the X-axis servo control unit 93X controls the X-axis servo motor 91 based on the oscillating-moving distance received from the oscillating-moving-distance calculating unit 386 . The drive unit 90 thus introduces the thread cutting machining vibration cutting through. 5 schematically illustrates the principle of vibration cutting in a thread cutting operation. In 5 For example, a dark area shows a deeply cut area of the workpiece resulting from a large cutting volume during the oscillation of the tool, while a light area shows a lightly cut area of the workpiece. A phase shift of, for example, 180 degrees between the in 4 With the oscillation along the X-axis direction shown in the first rotation of the tapping process and the oscillation along the X-axis direction in the second rotation of the tapping process, the deep-cut portion in the first rotation can be easily cut in the second rotation, with chips being broken in that portion will. Accordingly, crushed chips are discharged.

6 zeigt ein Flussdiagramm zur Veranschaulichung eines Beispiels für eine Prozedur, bei der die numerische Steuerung 1X gemäß der ersten Ausführungsform einen Gewindeschneidvorgang ausführt, während ein Werkzeug mittels Imaginärachsensteuerung in Oszillation versetzt wird. Wenn bei dieser Prozedur eine Imaginärachsensteuerung durchgeführt werden soll, enthält das Bearbeitungsprogramm 343 einen Imaginärachsensteuerbefehl, der eine Anweisung zum Starten der Imaginärachsensteuerung angibt. Wenn das Werkzeug entlang einer imaginären Achse durch eine Imaginärachsensteuerung in Oszillation versetzt werden soll, erzeugt der Ersteller des Bearbeitungsprogramms 343 demnach ein Bearbeitungsprogramm 343, das die numerische Steuerung 1X veranlasst, zuerst einen Imaginärachsensteuerbefehl und dann anschließend einen Oszillationsbefehl auszuführen. Ein Imaginärachsensteuerbefehl umfasst verschiedene Argumente, die die Beziehung zwischen dem imaginären Maschinenkoordinatensystem, das bei der Imaginärachsensteuerung verwendet werden soll, und dem realen Maschinenkoordinatensystem spezifizieren. Beispiele für Argumente, die in einem Imaginärachsensteuerbefehl enthalten sind, umfassen ein Argument, das den Drehwinkel angibt, der bei der Festlegung des imaginären Maschinenkoordinatensystems durch Drehung des realen Maschinenkoordinatensystems zu verwenden ist, d. h. den Drehwinkel, der angibt, wie weit die realen Achsen des realen Maschinenkoordinatensystems gedreht werden müssen, um das imaginäre Maschinenkoordinatensystem festzulegen; und ein Argument, das angibt, wie weit das reale Maschinenkoordinatensystem bei der Festlegung des imaginären Maschinenkoordinatensystems in den Richtungen der jeweiligen realen Achsen verschoben werden muss. Hinsichtlich eines die Oszillationsrichtung in einem Oszillationsbefehl spezifizierenden Arguments spezifiziert ein solches Argument in einem Oszillationsbefehl, der nach dem Start der Imaginärachsensteuerung ausgeführt wird, die Oszillationsrichtung im imaginären Maschinenkoordinatensystem. Wenn beispielsweise ein Oszillationsbefehl, der ein Argument enthält, das eine Oszillation entlang der X-Achsenrichtung spezifiziert, nach dem Start der Imaginärachsensteuerung ausgeführt wird, wird die durch das Argument dieses Oszillationsbefehls spezifizierte Oszillationsrichtung als die imaginäre X-Achsenrichtung gelesen. 6 14 is a flowchart showing an example of a procedure in which the numerical controller 1X according to the first embodiment performs a tapping operation while oscillating a tool by imaginary axis control. In this procedure, when imaginary axis control is to be performed, the machining program 343 contains an imaginary axis control command which indicates an instruction to start the imaginary axis control. Accordingly, when the tool is to be oscillated along an imaginary axis by imaginary axis control, the creator of the machining program 343 creates a machining program 343 that causes the numerical controller 1X to first execute an imaginary axis control command and then subsequently execute an oscillation command. An imaginary axis control command includes various arguments that specify the relationship between the imaginary machine coordinate system to be used in imaginary axis control and the real machine coordinate system. Examples of arguments included in an imaginary axis control command include an argument specifying the rotation angle to be used when specifying the imaginary machine coordinate system by rotating the real machine coordinate system, that is, the rotation angle specifying how far the real axes are from the real Machine coordinate system must be rotated to set the imaginary machine coordinate system; and an argument specifying how far the real machine coordinate system must be shifted in the directions of the respective real axes when determining the imaginary machine coordinate system. Regarding an argument specifying the oscillating direction in an oscillating command, such an argument in an oscillating command executed after the start of the imaginary axis control specifies the oscillating direction in the imaginary machine coordinate system. For example, when an oscillation command including an argument specifying oscillation along the X-axis direction is executed after imaginary-axis control is started, the oscillation direction specified by the argument of this oscillation command is read as the imaginary X-axis direction.

Zu Beginn der in 6 dargestellten Prozedur erhält die Analyseverarbeitungseinheit 37 einen Drehwinkel von einem Imaginärachsensteuerbefehl aus den in dem Bearbeitungsprogramm 343 enthaltenen Befehlen (Schritt S1). Es wird darauf hingewiesen, dass der Drehwinkel hier als von einem Imaginärachsensteuerbefehl erhalten beschrieben wird, die Analyseverarbeitungseinheit 37 den Drehwinkel jedoch auch auf Basis eines Befehls erhalten kann, der das zu verwendende Werkzeug spezifiziert. Bei der vorliegenden Ausführungsform wird wie in 2 dargestellt davon ausgegangen, dass sich die beim Gewindeschneiden verwendeten Werkzeuge während der Bearbeitung in vorgegebenen Richtungen bewegen. Beispielsweise bilden die imaginäre X-Achse, die parallel zur Oszillationsrichtung des Schneidwerkzeugs T2 verläuft, und die reale X-Achse einen Winkel von 45 Grad. Der Drehwinkel beträgt daher 45 Grad, wenn das Schneidwerkzeug T2 als das zu verwendende Werkzeug festgelegt wird. Alternativ dazu beträgt der Drehwinkel 90 Grad, wenn das Schneidewerkzeug T1 als das zu verwendende Werkzeug spezifiziert wird. Die Wahl des zu verwendenden Werkzeugs bestimmt somit den Winkel zwischen der imaginären Achse und der realen Achse, d. h. den Drehwinkel.At the beginning of the 6 As shown in the procedure, the analysis processing unit 37 obtains a rotation angle from an imaginary axis control command among the commands included in the machining program 343 (step S1). It is noted that the rotation angle is described here as being obtained from an imaginary axis control command, but the analysis processing unit 37 may obtain the rotation angle based on a command specifying the tool to be used. In the present embodiment, as in FIG 2 shown assumes that the tools used in thread cutting move in specified directions during machining. For example, the imaginary X-axis, which is parallel to the oscillating direction of the cutting tool T2, and the real X-axis form an angle of 45 degrees. Therefore, the rotation angle is 45 degrees when the cutting tool T2 is set as the tool to be used. Alternatively, when the cutting tool T1 is specified as the tool to be used, the rotation angle is 90 degrees. The choice of the tool to be used thus determines the angle between the imaginary axis and the real axis, ie the angle of rotation.

Als Nächstes zerlegt die Interpolationsverarbeitungseinheit 38X die Oszillationskurvenform auf Basis des Drehwinkels vektoriell in Komponenten entlang der realen Achsen (Schritt S2). In Schritt S2 bestimmt die Zuordnungsverhältnis-Bestimmungseinheit 381 zunächst das Verhältnis (im Folgenden als Zuordnungsverhältnis bezeichnet), in dem die von der Oszillationskurvenform-Erzeugungseinheit 385 erzeugte Oszillationskurvenform basierend auf dem in Schritt S1 erhaltenen Drehwinkel vektoriell in eine reale X-Achsen-Komponente und eine reale Y-Achsen-Komponente zu zerlegen ist. Die Zuordnungsverhältnis-Bestimmungseinheit 381 teilt der Oszillationsbewegungsstrecken-Berechnungseinheit 386 das bestimmte Zuordnungsverhältnis mit. Die Oszillationskurvenform-Erzeugungseinheit 385 erzeugt eine Oszillationskurvenform basierend auf dem Ergebnis der Analyse des Oszillationsbefehls und übergibt die Oszillationskurvenform an die Oszillationsbewegungsstrecken-Berechnungseinheit 386. Die Oszillationsbewegungsstrecken-Berechnungseinheit 386 erzeugt Oszillationsbefehlskurvenformen für die jeweiligen Achsen auf Basis der von der Oszillationskurvenform-Erzeugungseinheit 385 erzeugten Oszillationskurvenform und des von der Zuordnungsverhältnis-Bestimmungseinheit 381 bestimmten Zuordnungsverhältnisses. Die Oszillationsbewegungsstrecken-Berechnungseinheit 386 zerlegt die von der Oszillationskurvenform-Erzeugungseinheit 385 erzeugte Oszillationskurvenformkomponente demnach vektoriell in Komponenten entlang der jeweiligen realen Achsen auf Basis des Zuordnungsverhältnisses, um die Oszillationsbefehlskurvenformen für die jeweiligen Achsen zu erzeugen. Bei der vorliegenden Ausführungsform erzeugt die Oszillationsbewegungsstrecken-Berechnungseinheit 386 eine Oszillationsbefehlskurvenform für die reale X-Achse und eine Oszillationsbefehlskurvenform für die reale Y-Achse. Dann addiert die Oszillationsbewegungsstrecken-Berechnungseinheit 386 den Wert der Oszillationsbefehlskurvenform für die reale X-Achse zur Bewegungsstrecke des Werkzeugs entlang der realen X-Achse und den Wert der Oszillationsbefehlskurvenform für die reale Y-Achse zur Bewegungsstrecke des Werkzeugs entlang der realen Y-Achse, um die Oszillationsbewegungsstecken entlang der jeweiligen Achsen zu erzeugen. Die von der Oszillationsbewegungsstrecken-Berechnungseinheit 386 erzeugten Oszillationsbewegungsstrecken entlang der jeweiligen Achsen werden über die Beschleunigungs-/Verzögerungsverarbeitungseinheit 39 und über die Achsendateneingabe-/-ausgabeeinheit 40 an die Servosteuerungseinheiten 93 für die jeweiligen Wellen (d. h. die X-Achsen-Servosteuerungseinheit 93X, die Y-Achsen-Servosteuerungseinheit 93Y, ... ) der Antriebseinheit 90 übertragen. Die Servosteuerungseinheiten 93 für die jeweiligen Wellen steuern die jeweiligen Servomotoren 91 unter deren Kontrolle auf Basis der von der Oszillationsbewegungsstrecken-Berechnungseinheit 386 empfangenen Oszillationsbewegungsstrecken.Next, the interpolation processing unit 38X vectorially decomposes the oscillation waveform into components along the real axes based on the rotation angle (step S2). In step S2, the association ratio determination unit 381 first determines the ratio (hereinafter referred to as association ratio) in which the oscillation waveform generated by the oscillation waveform generation unit 385 is vectorially divided into a real X-axis component and a real Y-axis component to be decomposed. The association ratio determination unit 381 notifies the oscillation movement distance calculation unit 386 of the determined association ratio. The oscillation waveform generation unit 385 generates an oscillation waveform based on the result of the analysis of the oscillation command and supplies the oscillation waveform to the oscillation movement distance calculation unit 386. The oscillation movement distance calculation unit 386 generates oscillation command waveforms for the respective axes based on the oscillation waveform generation unit 385 generated oscillation waveform and the allocation ratio determined by the allocation ratio determination unit 381 . Therefore, the oscillation movement distance calculation unit 386 vectorially decomposes the oscillation waveform component generated by the oscillation waveform generation unit 385 into components along the respective real axes based on the association ratio to generate the oscillation command waveforms for the respective axes. In the present embodiment, the oscillating movement distance calculation unit 386 generates an oscillating command waveform for the real X-axis and an oscillating command waveform for the real Y-axis. Then, the oscillation movement distance calculation unit 386 adds the value of the oscillation command waveform for the real X axis to the movement distance of the tool along the real X axis and the value of the oscillation command waveform for the real Y axis to the movement distance of the tool along the real Y axis to generate the oscillating motion stretches along the respective axes. The oscillating moving distances along the respective axes generated by the oscillating moving distance calculation unit 386 are output via the acceleration/deceleration processing unit 39 and via the axis data input/output unit 40 to the servo control units 93 for the respective shafts (ie, the X-axis servo control unit 93X, the Y -axis servo control unit 93Y, ... ) of the drive unit 90 are transmitted. The servo control units 93 for the respective shafts control the respective servo motors 91 under their control based on the oscillation movement distances received from the oscillation movement distance calculation unit 386 .

In dem in 2 dargestellten Beispiel wird das Schneidwerkzeug T2 ausgewählt, wobei der Drehwinkel der imaginären X-Achse, der der Oszillationsrichtung des Schneidwerkzeugs T2 entspricht, 45 Grad beträgt. In diesem Fall ist das Zuordnungsverhältnis der Oszillationskurvenform 1/2 für die reale X-Achse und 1/2 für die reale Y-Achse. 7 zeigt ein Beispiel für die Oszillationsbefehlskurvenform für die reale X-Achse und die Oszillationsbefehlskurvenform für die reale Y-Achse, wenn das in 2 dargestellte Schneidwerkzeug T2 ausgewählt und eine Gewindeschneidbearbeitung mit Vibrationsschneiden durchgeführt wird. 7 zeigt eine Darstellung zur Veranschaulichung eines Beispiels für Oszillationsbefehlskurvenformen, die von der Oszillationskurvenform-Erzeugungseinheit 385 einer numerischen Steuerung 1X gemäß der ersten Ausführungsform erzeugt werden. Teil (a) von 7 veranschaulicht die Oszillationsbefehlskurvenform für die reale X-Achse, und Teil (b) von 7 veranschaulicht die Oszillationsbefehlskurvenform für die reale Y-Achse. Zur Vereinfachung der Darstellung zeigt 7 die Oszillationsbefehlskurvenformen ohne Berücksichtigung der Bewegungsstrecken der jeweiligen Achsen, d. h. die Oszillationskurvenformen, wenn die Bewegungsstrecken der jeweiligen Achsen 0 sind. Gemäß dem Zuordnungsverhältnis der Oszillationskurvenform, das 1/2 für die reale X-Achse und 1/2 für die reale Y-Achse beträgt, weisen die Oszillationsbefehlskurvenform für die reale X-Achse und die Oszillationsbefehlskurvenform für die reale Y-Achse die gleiche Amplitude und die gleiche Frequenz auf. Ein von 45 Grad verschiedener Drehwinkel führt zu einer Oszillationsbefehlskurvenform für die reale X-Achse und Oszillationsbefehlskurvenform für die reale Y-Achse, deren Amplituden sich in der Größe voneinander unterscheiden. Es wird darauf hingewiesen, dass die Frequenz der Oszillationsbefehlskurvenform für die reale X-Achse und die Frequenz der Oszillationsbefehlskurvenform für die reale Y-Achse auch dann gleich sind, wenn der Drehwinkel von 45 Grad abweicht.in the in 2 In the illustrated example, the cutting tool T2 is selected with the rotation angle of the imaginary X-axis corresponding to the oscillating direction of the cutting tool T2 being 45 degrees. In this case, the allocation ratio of the oscillation waveform is 1/2 for the real X-axis and 1/2 for the real Y-axis. 7 12 shows an example of the real X-axis oscillation command waveform and the real Y-axis oscillation command waveform when the in 2 cutting tool T2 shown is selected and thread cutting processing is performed with vibration cutting. 7 12 is a diagram showing an example of oscillation command waveforms generated by the oscillation waveform generation unit 385 of a numerical controller 1X according to the first embodiment. Part (a) of 7 illustrates the oscillation command waveform for the real X-axis, and part (b) of FIG 7 illustrates the oscillation command waveform for the real Y-axis. To simplify the illustration shows 7 the oscillation command waveforms without considering the moving distances of the respective axes, that is, the oscillation waveforms when the moving distances of the respective axes are 0. According to the assignment ratio of the oscillation waveform, which is 1/2 for the real X-axis and 1/2 for the real Y-axis, the oscillation command waveform for the real X-axis and the oscillation command waveform for the real Y-axis have the same amplitude and the same frequency. A rotation angle other than 45 degrees results in a real X-axis oscillating command waveform and a real Y-axis oscillating command waveform whose amplitudes are different in magnitude from each other. It is noted that the frequency of the real X-axis oscillation command waveform and the frequency of the real Y-axis oscillation command waveform are the same even when the rotation angle deviates from 45 degrees.

Zurückkommend auf die Beschreibung von 6 erhält die Kurvenforminformationsbezugseinheit 382 anschließend Feedback-Oszillationskurvenformen (im Folgenden als FB-Oszillationskurvenformen bezeichnet) für die jeweiligen Achsen auf Basis von Daten, die von den an den jeweiligen Servomotoren 91 angebrachten Detektoren 92 ausgegeben werden (Schritt S3). Bei einer FB-Oszillationskurvenform handelt es sich um eine tatsächliche Oszillationskurvenform des Werkzeugs, das bei der Bearbeitung verwendet wird.Coming back to the description of 6 then the waveform information obtaining unit 382 obtains feedback oscillation waveforms (hereinafter referred to as FB oscillation waveforms) for the respective axes based on data output from the detectors 92 attached to the respective servomotors 91 (step S3). An FB oscillation waveform is an actual oscillation waveform of the tool used in machining.

Als Nächstes vergleicht die Vergleichseinheit 383 die Oszillationsbefehlskurvenformen für die jeweiligen Achsen, die von der Oszillationsbewegungsstrecken-Berechnungseinheit 386 erzeugt wurden, mit den FB-Oszillationskurvenformen für die jeweiligen Achsen, die in Schritt S3 erhalten wurden (Schritt S4). Die Oszillationsbefehlskurvenformen werden mit den FB-Oszillationskurvenformen auf einer pro-Achsen-Basis verglichen. Wenn es sich beispielsweise bei den Oszillationsbefehlskurvenformen für die jeweiligen Achsen, die von der Oszillationsbewegungsstrecken-Berechnungseinheit 386 erzeugt wurden, um die Kurvenformen handelt, die in 8 durch durchgezogene Linien dargestellt sind, und die FB-Oszillationskurvenformen für die jeweiligen Achsen die Kurvenformen sind, die in 8 durch gestrichelte Linien dargestellt sind, bestimmt die Vergleichseinheit 383, dass die Oszillationsbefehlskurvenform für die reale X-Achse und FB-Oszillationsbefehlskurvenform für die reale X-Achse unterschiedliche Amplituden haben und dass die Oszillationsbefehlskurvenform für die reale Y-Achse und die FB-Oszillationskurvenform für die reale Y-Achse unterschiedliche Amplituden und unterschiedliche Phasen aufweisen. Die Vergleichseinheit 383 bestimmt, ob die Amplituden gleich sind, indem sie beispielsweise den Maximalwert der Amplitude der Oszillationsbefehlskurvenform mit dem Maximalwert der Amplitude der FB-Oszillationskurvenform vergleicht. Ferner bestimmt die Vergleichseinheit 383, ob die Phasen gleich sind, indem sie beispielsweise die Position des Peaks der Amplitude der Oszillationsbefehlskurvenform mit der Position des Peaks der Amplitude der FB-Oszillationskurvenform vergleicht. Die Vergleichseinheit 383 kann bestimmen, dass die Amplituden gleich sind, wenn die Differenz zwischen der Amplitude der Oszillationsbefehlskurvenform und der Amplitude der FB-Oszillationskurvenform kleiner oder gleich einem festgelegten Wert ist, und sie kann bestimmen, dass die Phasen gleich sind, wenn die Differenz zwischen der Phase der Oszillationsbefehlskurvenform und der Phase der FB-Oszillationskurvenform kleiner oder gleich einem festgelegten Wert ist.Next, the comparison unit 383 compares the oscillation command waveforms for the respective axes generated by the oscillation movement distance calculation unit 386 with the FB oscillation waveforms for the respective axes obtained in step S3 (step S4). The oscillation command waveforms are compared to the FB oscillation waveforms on a per-axis basis. For example, when the oscillation command waveforms for the respective axes generated by the oscillation moving distance calculation unit 386 are the waveforms shown in FIG 8th are represented by solid lines, and the FB oscillation waveforms for the respective axes are the waveforms shown in FIG 8th are represented by broken lines, the comparison unit 383 determines that the oscillation command waveform for the real X-axis and FB oscillation command waveform for the real X-axis have different amplitudes and that the oscillation command waveform for the real Y-axis and the FB oscillation command waveform for the real Y-axis have different amplitudes and different phases. The comparison unit 383 determines whether the amplitudes are equal, by comparing, for example, the maximum value of the amplitude of the oscillation command waveform with the maximum value of the amplitude of the FB oscillation waveform. Further, the comparing unit 383 determines whether the phases are equal by comparing, for example, the peak position of the amplitude of the oscillation command waveform with the peak position of the amplitude of the FB oscillation waveform. The comparing unit 383 may determine that the amplitudes are equal when the difference between the amplitude of the oscillation command waveform and the amplitude of the FB oscillation waveform is less than or equal to a specified value, and it may determine that the phases are equal when the difference between of the phase of the oscillation command waveform and the phase of the FB oscillation waveform is less than or equal to a specified value.

Wenn die Amplituden bei beiden Paaren aus Oszillationsbefehlskurvenform und FB-Oszillationskurvenform für die jeweiligen Achsen gleich sind (Schritt S5: Ja), setzt die Interpolationsverarbeitungseinheit 38X die Prozedur mit Schritt S7 fort. Wenn die Amplituden bei beiden Paaren aus Oszillationsbefehlskurvenform und FB-Oszillationskurvenform für die jeweiligen Achsen nicht gleich sind, d. h. wenn die Amplituden bei zumindest einem der Paare aus Oszillationsbefehlskurvenform und FB-Oszillationskurvenform entweder für die reale X-Achse oder die reale Y-Achse nicht gleich sind (Schritt S5: Nein), passt die Oszillationsbefehlskurvenform-Anpassungseinheit 384X die Oszillationsbefehlskurvenform an, um den Amplitudenunterschied zwischen der Oszillationsbefehlskurvenform und der FB-Oszillationskurvenform des Paares mit unterschiedlichen Amplituden auf nahezu Null zu reduzieren (Schritt S6). In dem in 8 dargestellten Beispiel sind die Amplituden weder für die reale X-Achse noch für die reale Y-Achse gleich. Daher passt die Oszillationsbefehlskurvenform-Anpassungseinheit 384X die Amplitude der Oszillationsbefehlskurvenform für die reale X-Achse und die Amplitude der Oszillationsbefehlskurvenform für die reale Y-Achse an. Beispielsweise berechnet die Oszillationsbefehlskurvenform-Anpassungseinheit 384X an jedem von mehreren Punkten die Differenz zwischen dem Maximalwert der Oszillationsbefehlskurvenform und dem Maximalwert der FB-Oszillationskurvenform, wobei deren Mittelwert zur Anpassung der Amplitude zu dem Maximalwert der Oszillationsbefehlskurvenform, die zum nächsten Zeitpunkt erzeugt wird, addiert oder davon subtrahiert wird. Der Anpassungswert, der bei der Anpassung der Amplitude einer Oszillationsbefehlskurvenform verwendet wird, wird hier als Oszillationsamplitudenanpassungswert bezeichnet.When the amplitudes of both pairs of the oscillation command waveform and the FB oscillation waveform for the respective axes are equal (Step S5: Yes), the interpolation processing unit 38X advances the procedure to Step S7. When the amplitudes of both pairs of oscillation command waveform and FB oscillation waveform for the respective axes are not equal, that is, when the amplitudes of at least one of the pairs of oscillation command waveform and FB oscillation waveform for either the real X-axis or the real Y-axis are not equal (Step S5: No), the oscillation command waveform adjustment unit 384X adjusts the oscillation command waveform to reduce the amplitude difference between the oscillation command waveform and the FB oscillation waveform of the different-amplitude pair to almost zero (Step S6). in the in 8th In the example shown, the amplitudes are not the same for either the real X-axis or the real Y-axis. Therefore, the oscillation command waveform adjustment unit 384X adjusts the amplitude of the real X-axis oscillation command waveform and the amplitude of the real Y-axis oscillation command waveform. For example, the oscillation command waveform adjustment unit 384X calculates the difference between the maximum value of the oscillation command waveform and the maximum value of the FB oscillation waveform at each of a plurality of points, the average value of which is added to or from the maximum value of the oscillation command waveform generated at the next point in time to adjust the amplitude is subtracted. The adjustment value used in adjusting the amplitude of an oscillation command waveform is referred to herein as the oscillation amplitude adjustment value.

Wenn die Phasen bei beiden Paaren aus Oszillationsbefehlskurvenform und FB-Oszillationskurvenform für die jeweiligen Achsen gleich sind (Schritt S7: Ja), setzt die Interpolationsverarbeitungseinheit 38X die Prozedur mit Schritt S3 fort. Wenn die Phasen bei beiden Paaren aus Oszillationsbefehlskurvenform und FB-Oszillationskurvenform für die jeweiligen Achsen nicht gleich sind, d. h. wenn die Phasen bei zumindest einem der Paare aus Oszillationsbefehlskurvenform und FB-Oszillationskurvenform entweder für die reale X-Achse oder die reale Y-Achse nicht gleich sind (Schritt S7: Nein), passt die Oszillationsbefehlskurvenform-Anpassungseinheit 384X die Oszillationsbefehlskurvenform an, um die Abweichung der Phase zwischen der Oszillationsbefehlskurvenform und der FB-Oszillationskurvenform des Paares mit unterschiedlichen Phasen auf nahezu Null zu reduzieren (Schritt S8). Bei dem in 8 dargestellten Beispiel weisen die Oszillationsbefehlskurvenform für die reale X-Achse und die FB-Oszillationskurvenform für die reale X-Achse die gleiche Phase auf, wobei die Oszillationsbefehlskurvenform für die reale Y-Achse und die FB-Oszillationskurvenform für die reale Y-Achse unterschiedliche Phasen haben. Daher passt die Oszillationsbefehlskurvenform-Anpassungseinheit 384X die Phase der Oszillationsbefehlskurvenform für die reale Y-Achse an. Wenn es eine Phasenabweichung zwischen der Oszillationsbefehlskurvenform und der FB-Oszillationskurvenform gibt, ist die Phase der FB-Oszillationskurvenform normalerweise gegenüber der Phase der Oszillationsbefehlskurvenform verzögert. Um die Ansprechempfindlichkeit des entsprechenden Servomotors 91 zu erhöhen und die Phasenabweichung auf nahezu Null zu reduzieren, passt die Oszillationsbefehlskurvenform-Anpassungseinheit 384X einen Servoparameter oder mehrere Servoparameter (im Folgenden allgemeiner als Servoparameter bezeichnet) an, wie beispielsweise die Schleifenverstärkung für den Strom und/oder die Schleifenverstärkung für die Drehzahl. Diese Servoparameter sind in den Parameterdaten 341 enthalten, die in der Speichereinheit 34 gespeichert sind. Die Oszillationsbefehlskurvenform-Anpassungseinheit 384X nimmt eine Anpassung vor, indem sie von den in den Parameterdaten 341 enthaltenen Servoparametern jeden der Servoparameterwerte, die zur Anpassung der Phase erforderlich sind, beispielsweise um „5“ erhöht. Die angepassten Parameter werden über die Beschleunigungs-/Verzögerungsverarbeitungseinheit 39 und über die Achsendateneingabe-/-ausgabeeinheit 40 an die X-Achsen-Servosteuerungseinheit 93X, die Y-Achsen-Servosteuerungseinheit 93Y, ... übertragen, wodurch die Schleifenverstärkung für den Strom, die Schleifenverstärkung für die Drehzahl und/oder dergleichen des entsprechenden Servomotors 91 angepasst werden kann. Auch wenn der Anpassungswert eines Servoparameters hier mit „5“ angegeben ist, kann der Anpassungswert ein anderer Wert sein. Nach der Durchführung von Schritt S8 kehrt die Interpolationsverarbeitungseinheit 38X zur Prozedur von Schritt S3 zurück.When the phases of both pairs of the oscillation command waveform and the FB oscillation waveform for the respective axes are the same (Step S7: Yes), the interpolation processing unit 38X advances the procedure to Step S3. When the phases of both pairs of oscillation command waveform and FB oscillation waveform for the respective axes are not the same, that is, when the phases of at least one of the pairs of oscillation command waveform and FB oscillation waveform for either the real X-axis or the real Y-axis are not the same (Step S7: No), the oscillation command waveform adjustment unit 384X adjusts the oscillation command waveform to reduce the deviation in phase between the oscillation command waveform and the FB oscillation waveform of the phase-different pair to almost zero (Step S8). At the in 8th In the example shown, the real X-axis oscillation command waveform and the real X-axis FB oscillation waveform have the same phase, while the real Y-axis oscillation command waveform and the real Y-axis FB oscillation waveform have different phases . Therefore, the oscillation command waveform adjustment unit 384X adjusts the phase of the oscillation command waveform for the real Y-axis. When there is a phase deviation between the oscillation command waveform and the FB oscillation waveform, the phase of the FB oscillation waveform is normally delayed from the phase of the oscillation command waveform. In order to increase the responsiveness of the corresponding servo motor 91 and reduce the phase deviation to almost zero, the oscillation command waveform adjustment unit 384X adjusts one or more servo parameters (hereinafter referred to more generally as servo parameters), such as the loop gain for the current and/or the Loop gain for speed. These servo parameters are included in parameter data 341 stored in storage unit 34 . The oscillation command waveform adjustment unit 384X adjusts by increasing each of the servo parameter values required for adjustment of the phase, for example, by “5” among the servo parameters included in the parameter data 341 . The adjusted parameters are transmitted to the X-axis servo control unit 93X, the Y-axis servo control unit 93Y, ... via the acceleration/deceleration processing unit 39 and via the axis data input/output unit 40, whereby the loop gain for the current, the Loop gain can be adjusted for the speed and/or the like of the corresponding servo motor 91. Although the adjustment value of a servo parameter is indicated as "5" here, the adjustment value may be a different value. After performing step S8, the Inter polation processing unit 38X returns to the procedure of step S3.

Die Durchführung der in 6 dargestellten Prozedur zur Anpassung der Oszillationsbefehlskurvenformen bewirkt, dass sich die kombinierte Oszillationskurvenform, die durch Kombination der Oszillationsbefehlskurvenform für die reale X-Achse und der Oszillationsbefehlskurvenform für die reale Y-Achse erhalten wird, von der in 9 dargestellten zu der in 10 dargestellten ändert. Bei der in 9 dargestellten kombinierten Oszillationskurvenform handelt es sich um die kombinierte Oszillationskurvenform, bevor eine Anpassung der Amplituden und der Phasen der Oszillationsbefehlskurvenformen für die jeweiligen Achsen vorgenommen wird. Die in 10 dargestellte kombinierte Oszillationskurvenform ist die kombinierte Oszillationskurvenform, nachdem eine Anpassung der Amplituden und Phasen der Oszillationsbefehlskurvenformen für die jeweiligen Achsen vorgenommen wurde.The implementation of the 6 The procedure shown for adjusting the oscillation command waveforms causes the combined oscillation waveform obtained by combining the real X-axis oscillation command waveform and the real Y-axis oscillation command waveform to differ from the one shown in 9 shown to the in 10 shown changes. At the in 9 The combined oscillation waveform shown is the combined oscillation waveform before adjustment is made to the amplitudes and the phases of the oscillation command waveforms for the respective axes. In the 10 The combined oscillation waveform shown is the combined oscillation waveform after adjustment is made to the amplitudes and phases of the oscillation command waveforms for the respective axes.

Indem die in 6 dargestellte Prozedur durchgeführt wird, d. h. die Prozedur zur Anpassung der Amplituden und der Phasen der Oszillationsbefehlskurvenformen für die jeweiligen Achsen auf Basis der FB-Oszillationskurvenformen für die jeweiligen Achsen, entlang derer das Werkzeug bewegt wird, kann die kombinierte Oszillationskurvenform eine normalere Form aufweisen, selbst wenn sich die Ansprechempfindlichkeiten der Servomotoren 91 der jeweiligen Wellen voneinander unterscheiden. Auf diese Weise wird bei der Vibrationsschneidbearbeitung mittels Imaginärachsensteuerung das Brechen von Spänen sichergestellt.By the in 6 illustrated procedure is performed, that is, the procedure for adjusting the amplitudes and the phases of the oscillation command waveforms for the respective axes based on the FB oscillation waveforms for the respective axes along which the tool is moved, the combined oscillation waveform can have a more normal shape even if the responsiveness of the servomotors 91 of the respective shafts are different from each other. In this way, chip breaking is ensured in vibratory cutting machining using imaginary axis control.

Auch wenn die vorliegende Ausführungsform in Bezug auf den Fall der Anwendung der Imaginärachsensteuerung auf die Vibrationsschneidbearbeitung beschrieben wurde, ist die in 11 dargestellte Schrägachsensteuerung ebenfalls anwendbar. Die in 11 dargestellte Schrägachsensteuerung wird bei der Steuerung einer Werkzeugmaschine mit der in 12 dargestellten Konfiguration verwendet, d. h. einer Werkzeugmaschine, bei der der Winkel zwischen den Achsen, an denen die Servomotoren befestigt sind (d. h in den 11 und 12 X-Achse und Y-Achse), nicht 90 Grad beträgt. In dem in 11 dargestellten Beispiel bilden die reale Y-Achse und die Y-Achse im Programm (y-Achse wie dargestellt) einen schiefen Winkel θ. Um das Werkzeug in Richtung der y-Achse in Oszillation zu versetzen, ist eine synchrone Steuerung der Servomotoren der realen X-Achse und der realen Y-Achse erforderlich. Ähnlich wie bei der Anwendung der vorstehenden Imaginärachsensteuerung kann dies durch Erzeugung von Oszillationsbefehlskurvenformen für die reale X-Achse und die reale Y-Achse erreicht werden, indem eine Oszillationskurvenform für die y-Achse erzeugt wird und diese Oszillationskurvenform auf Basis des schiefen Winkels θ vektoriell in Komponenten entlang der realen X-Achse und entlang der realen Y-Achse zerlegt wird.Although the present embodiment has been described with respect to the case of applying the imaginary axis control to the vibration cutting machining, FIG 11 bent axis control shown also applicable. In the 11 The inclined axis control shown is used when controlling a machine tool with the in 12 configuration shown, i.e. a machine tool where the angle between the axes on which the servomotors are attached (i.e. in the 11 and 12x -axis and Y-axis) is not 90 degrees. in the in 11 In the example shown, the real Y-axis and the Y-axis in the program (y-axis as shown) form an oblique angle θ. To oscillate the tool in the Y-axis direction, synchronous control of the real X-axis and real Y-axis servomotors is required. Similar to the application of the imaginary axis control above, this can be achieved by generating oscillation command waveforms for the real X-axis and the real Y-axis by generating an oscillation waveform for the y-axis and vectorially vectoring this oscillation waveform based on the oblique angle θ in components along the real X-axis and along the real Y-axis.

Ferner kann die Vibrationsschneidbearbeitung auch unter Verwendung einer Werkzeugmaschine durchgeführt werden, die eine in 13 dargestellte Konfiguration aufweist. Die in 13 dargestellte Werkzeugmaschine ist so ausgebildet, dass sie ein Werkzeug dreht, positioniert und dann einsetzt. Darüber hinaus ist die Bewegungsrichtung des Werkzeugs nicht mit einer der Steuerungsachsen (X-Achse und Z-Achse, wie dargestellt) der Werkzeugmaschine ausgerichtet. Dies erfordert eine synchrone Steuerung der Servomotoren mehrerer Achsen, um das Werkzeug in Oszillation zu versetzen. Dies kann ähnlich wie im Fall der oben beschriebenen Imaginärachsensteuerung und Schrägachsensteuerung durch die Erzeugung von Oszillationsbefehlskurvenformen für die jeweiligen mehreren Achsen erreicht werden.Further, the vibration cutting machining can also be performed using a machine tool having an in 13 having the configuration shown. In the 13 The machine tool shown is configured to rotate, position and then insert a tool. In addition, the direction of movement of the tool is not aligned with either of the control axes (X-axis and Z-axis as shown) of the machine tool. This requires synchronous control of the servo motors on multiple axes to oscillate the tool. This can be achieved by generating oscillation command waveforms for the respective plural axes, similarly to the case of the imaginary axis control and oblique axis control described above.

Es wird darauf hingewiesen, dass bei Verwendung der in 2 dargestellten Schneidwerkzeuge T1, T3 und T5 kein Imaginärachsensteuerbefehl, sondern ein Oszillationsbefehl ausgeführt wird. Dabei bestimmt die Zuordnungsverhältnis-Bestimmungseinheit 381 der Interpolationsverarbeitungseinheit 38X das Zuweisungsverhältnis unter Verwendung eines Drehwinkels von 90 Grad, wenn das Schneidwerkzeug T1 verwendet wird, eines Drehwinkels von 0 Grad, wenn das Schneidwerkzeug T3 verwendet wird, und eines Drehwinkels von -90 Grad, wenn das Schneidwerkzeug T5 verwendet wird.It is pointed out that when using the in 2 cutting tools T1, T3 and T5 shown, not an imaginary axis control command but an oscillation command is executed. At this time, the allocation ratio determination unit 381 of the interpolation processing unit 38X determines the allocation ratio using a rotation angle of 90 degrees when the cutter T1 is used, a rotation angle of 0 degrees when the cutter T3 is used, and a rotation angle of -90 degrees when the Cutting tool T5 is used.

Als Nächstes wird die Hardwarekonfiguration der Steuerungsberechnungseinheit 2X beschrieben, die in einer numerischen Steuerung 1X enthalten ist. 14 zeigt eine Darstellung zur Veranschaulichung eines Beispiels für die Hardwarekonfiguration der Steuerungsberechnungseinheit 2X in einer numerischen Steuerung 1X gemäß der ersten Ausführungsform.Next, the hardware configuration of the control calculation unit 2X included in a numerical controller 1X will be described. 14 12 is a diagram showing an example of the hardware configuration of the control calculation unit 2X in a numerical controller 1X according to the first embodiment.

Die Steuerungsberechnungseinheit 2X kann durch einen Prozessor 101 und einen Speicher 102 implementiert werden, die in 14 dargestellt sind. Ein Beispiel für den Prozessor 101 ist eine Zentraleinheit (CPU) (auch bekannt als Verarbeitungseinheit, Berechnungseinheit, Mikroprozessor, Mikrocomputer und digitaler Signalprozessor (DSP)) oder ein LSI (Large Scale Integration)-System. Ein Beispiel für einen Speicher 102 ist ein Direktzugriffsspeicher (RAM) oder ein Festwertspeicher (ROM).The control calculation unit 2X can be implemented by a processor 101 and a memory 102, which are 14 are shown. An example of the processor 101 is a central processing unit (CPU) (also known as a processing unit, computing unit, microprocessor, microcomputer, and digital signal processor (DSP)) or an LSI (Large Scale Integration) system. An example of memory 102 is random access memory (RAM) or read only memory (ROM).

Die Steuerungsberechnungseinheit 2X wird von dem Prozessor 101 implementiert, indem ein im Speicher 102 gespeichertes Programm zur Durchführung einer Prozedur der Steuerungsberechnungseinheit 2X gelesen und ausgeführt wird. Anders ausgedrückt kann das Programm einen Computer veranlassen, eine Prozedur oder ein Verfahren der Steuerungsberechnungseinheit 2X auszuführen. Der Speicher 102 wird auch als temporärer Speicher verwendet, wenn der Prozessor 101 verschiedene Verarbeitungsaufgaben ausführt.The control calculation unit 2X is implemented by the processor 101 by executing a program stored in the memory 102 reading and executing a procedure of the control calculation unit 2X. In other words, the program can cause a computer to execute a procedure or method of the control calculation unit 2X. Memory 102 is also used as temporary storage when processor 101 performs various processing tasks.

Ein vom Prozessor 101 auszuführendes Programm kann ein Computerprogrammprodukt sein, das ein computerlesbares, nicht flüchtiges Aufzeichnungsmedium mit mehreren computerausführbaren Anweisungen zur Datenverarbeitung umfasst. Ein vom Prozessor 101 auszuführendes Programm umfasst mehrere Anweisungen, die einen Computer veranlassen, eine Datenverarbeitung durchzuführen.A program to be executed by processor 101 may be a computer program product comprising a computer-readable, non-transitory recording medium having a plurality of computer-executable instructions for data processing. A program to be executed by processor 101 includes a plurality of instructions that cause a computer to perform data processing.

Die Steuerungsberechnungseinheit 2X kann alternativ als dediziertes Hardwareelement implementiert sein. Ferner kann die Funktionalität der Steuerungsberechnungseinheit 2X teilweise durch ein dediziertes Hardwareelement und teilweise durch Software oder Firmware implementiert sein.Alternatively, the control calculation unit 2X can be implemented as a dedicated hardware element. Furthermore, the functionality of the control calculation unit 2X can be implemented partly by a dedicated hardware element and partly by software or firmware.

Wie oben beschrieben wurde, umfasst die numerische Steuerung 1X gemäß der vorliegenden Ausführungsform die Oszillationskurvenform-Erzeugungseinheit 385, die eine Oszillationskurvenform erzeugt, die eine Bewegungsbahn eines Werkzeugs während der Oszillation des Werkzeugs repräsentiert; die Zuordnungsverhältnis-Bestimmungseinheit 381, die ein Zuordnungsverhältnis, in dem die Oszillationskurvenform bei der Oszillation des Werkzeugs vektoriell in Komponenten entlang der jeweiligen Steuerreferenzachsen zu zerlegen ist, auf Basis des Drehwinkels eines realen Maschinenkoordinatensystems bestimmt, der zum Festlegen eines imaginären Maschinenkoordinatensystems durch Drehung des realen Maschinenkoordinatensystems verwendet wird; und die Oszillationsbewegungsstrecken-Berechnungseinheit 386, die auf Basis der Oszillationskurvenform und des Zuordnungsverhältnisses Oszillationskurvenformen des Werkzeugs für die jeweiligen Steuerreferenzachsen erzeugt und die Oszillationsbewegungsstrecken entlang der jeweiligen Steuerreferenzachsen auf Basis der erzeugten Oszillationskurvenformen berechnet. Dies ermöglicht die Durchführung des Vibrationsschneidens auch dann, wenn das Werkzeug in Richtung einer imaginären Achse mittels synchroner Steuerung mehrerer Antriebsachsen in Oszillation versetzt werden soll. Die numerische Steuerung 1X umfasst auch die Vergleichseinheit 383, die die tatsächliche Oszillationskurvenform des Werkzeugs für jede der jeweiligen Steuerreferenzachsen mit der Oszillationskurvenform des Werkzeugs für jede der Steuerreferenzachsen vergleicht, die von der Oszillationsbewegungsstrecken-Berechnungseinheit 386 erzeugt wird; und die Oszillationsbefehlskurvenform-Anpassungseinheit 384X, die die Oszillationskurvenform des Werkzeugs für jede der Steuerreferenzachsen, die durch die Oszillationsbewegungsstrecken-Berechnungseinheit 386 erzeugt wird, auf Basis des Vergleichsergebnisses von der Vergleichseinheit 383 anpasst. Auf diese Weise wird das Brechen von Spänen auch dann gewährleistet, wenn die Ansprechempfindlichkeiten der Servomotoren 91 der jeweiligen Steuerreferenzachsen voneinander abweichen.As described above, the numerical controller 1X according to the present embodiment includes the oscillation waveform generation unit 385 that generates an oscillation waveform representing a trajectory of movement of a tool during oscillation of the tool; the association ratio determining unit 381 which determines an association ratio in which to vectorially decompose the oscillation waveform in the oscillation of the tool into components along the respective control reference axes, based on the rotation angle of a real machine coordinate system used to set an imaginary machine coordinate system by rotating the real machine coordinate system is used; and the oscillating moving distance calculation unit 386 which generates oscillating waveforms of the tool for the respective control reference axes based on the oscillating waveform and the assignment ratio and calculates the oscillating moving distances along the respective control reference axes based on the generated oscillating waveforms. This enables vibration cutting to be performed even when the tool is to be oscillated in the direction of an imaginary axis by synchronous control of a plurality of drive axes. The numerical controller 1X also includes the comparing unit 383 which compares the actual oscillating waveform of the tool for each of the respective control reference axes with the oscillating waveform of the tool for each of the control reference axes generated by the oscillating moving distance calculation unit 386; and the oscillation command waveform adjustment unit 384X that adjusts the oscillation waveform of the tool for each of the control reference axes generated by the oscillation movement distance calculation unit 386 based on the comparison result from the comparison unit 383. In this way, chip breaking is ensured even if the responsivenesses of the servomotors 91 of the respective control reference axes differ from each other.

Zweite AusführungsformSecond embodiment

15 zeigt eine Darstellung zur Veranschaulichung eines Konfigurationsbeispiels für eine numerische Steuerung gemäß einer zweiten Ausführungsform. In 15 sind Elemente, die mit den entsprechenden Elementen der numerischen Steuerung 1X gemäß der ersten Ausführungsform identisch sind, mit den gleichen Bezugszeichen versehen. 15 12 is a diagram showing a configuration example of a numerical controller according to a second embodiment. In 15 elements identical to the corresponding elements of the numerical controller 1X according to the first embodiment are given the same reference numerals.

Die numerische Steuerung 1Y gemäß der zweiten Ausführungsform ist so ausgebildet, dass sie eine Steuerungsberechnungseinheit 2Y anstelle der Steuerungsberechnungseinheit 2X der numerischen Steuerung 1X gemäß der ersten Ausführungsform aufweist. Die Steuerungsberechnungseinheit 2Y ist so ausgebildet, dass sie eine Interpolationsverarbeitungseinheit 38Y anstelle der Interpolationsverarbeitungseinheit 38X der Steuerungsberechnungseinheit 2X gemäß der ersten Ausführungsform und zusätzlich eine Maschinenlernvorrichtung 50 umfasst. Abgesehen von der Interpolationsverarbeitungseinheit 38Y und der Maschinenlernvorrichtung 50 der Steuerungsberechnungseinheit 2Y sind die anderen Elemente mit den entsprechenden Elementen der Steuerungsberechnungseinheit 2X gemäß der ersten Ausführungsform identisch und ihre Beschreibung wird daher weggelassen.The numerical controller 1Y according to the second embodiment is configured to have a control calculation unit 2Y instead of the control calculation unit 2X of the numerical controller 1X according to the first embodiment. The control calculation unit 2Y is configured to include an interpolation processing unit 38Y instead of the interpolation processing unit 38X of the control calculation unit 2X according to the first embodiment and a machine learning device 50 in addition. Except for the interpolation processing unit 38Y and the machine learning device 50 of the control calculation unit 2Y, the other elements are identical to the corresponding elements of the control calculation unit 2X according to the first embodiment, and their description is therefore omitted.

Die Interpolationsverarbeitungseinheit 38Y ist so ausgebildet, dass sie anstelle der Oszillationsbefehlskurvenform-Anpassungseinheit 384X der Interpolationsverarbeitungseinheit 38X eine Oszillationsbefehlskurvenform-Anpassungseinheit 384Y aufweist. Die Oszillationsbefehlskurvenform-Anpassungseinheit 384Y korrigiert die Oszillationsbefehlskurvenformen auf Basis von Oszillationskurvenform-Korrekturinformationen, die von der Maschinenlernvorrichtung 50 ausgegeben werden. Die Maschinenlernvorrichtung 50 umfasst eine Lerneinheit 51 und eine Zustandsbeobachtungseinheit 52.The interpolation processing unit 38Y is configured to have an oscillation command waveform adjustment unit 384Y instead of the oscillation command waveform adjustment unit 384X of the interpolation processing unit 38X. The oscillation command waveform adjustment unit 384Y corrects the oscillation command waveforms based on oscillation waveform correction information output from the machine learning device 50 . The machine learning device 50 includes a learning unit 51 and a state observation unit 52.

Die Maschinenlernvorrichtung 50 führt maschinelles Lernen unter Verwendung von auf jede der Achsen bezogenen Trägheitsinformationen, die in dem gemeinsam genutzten Bereich 344 gespeichert sind, einer auf jede der Achsen bezogenen Oszillationskurvenformabweichung, die durch den von der Vergleichseinheit 383 vorgenommenen Vergleich der Oszillationskurvenform mit der FB-Oszillationskurvenform für jede der Achsen erhalten wird, und Informationen über die Modifikation von Servoparametern für jede der Achsen durch, die in den Parameterdaten 341 enthalten sind. Die Maschinenlernvorrichtung 50 erzeugt dann Oszillationskurvenform-Korrekturinformationen, die von der Oszillationsbefehlskurvenform-Anpassungseinheit 384Y zur Korrektur der Oszillationsbefehlskurvenformen zu verwenden sind.The machine learning device 50 performs machine learning using inertia information related to each of the axes stored in the shared area 344, an oscillation waveform deviation related to each of the axes the comparison of the oscillation waveform with the FB oscillation waveform for each of the axes made by the comparison unit 383, and information on the modification of servo parameters for each of the axes contained in the parameter data 341. The machine learning device 50 then generates oscillation waveform correction information to be used by the oscillation command waveform adjustment unit 384Y for correcting the oscillation command waveforms.

Bei der Oszillationskurvenformabweichung, die von der Maschinenlernvorrichtung 50 beim Lernen für die Vorhersage der Oszillationskurvenform-Korrekturinformationen verwendet wird, handelt es sich um einen Satz aus der Differenz zwischen den Amplituden und der Differenz zwischen den Phasen der Oszillationskurvenform und der FB-Oszillationskurvenform. Die Differenz zwischen den Amplituden der Oszillationskurvenform und der FB-Oszillationskurvenform ist der oben beschriebene Oszillationsamplitudenanpassungswert. Ferner bezieht sich der Ausdruck „Servoparameter für jede der Achsen“ in der Formulierung „Informationen über die Modifikation von Servoparametern für jede der Achsen“ auf Servoparameter wie die Schleifenverstärkung für den Strom, die Schleifenverstärkung für die Drehzahl und/oder dergleichen, die modifiziert werden, um die Phasenabweichung in Schritt S8 von 6 wie oben beschrieben auf nahezu Null zu reduzieren. Die Informationen über die Modifikation von Servoparametern sind Informationen, die die Details der an den Servoparametern vorgenommenen Modifikation repräsentieren.The oscillation waveform deviation used by the machine learning device 50 in learning for the prediction of the oscillation waveform correction information is a set of the difference between the amplitudes and the difference between the phases of the oscillation waveform and the FB oscillation waveform. The difference between the amplitudes of the oscillation waveform and the FB oscillation waveform is the oscillation amplitude adjustment value described above. Further, the phrase "servo parameters for each of the axes" in the phrase "information on modification of servo parameters for each of the axes" refers to servo parameters such as current loop gain, speed loop gain, and/or the like that are modified, by the phase deviation in step S8 of 6 to be reduced to almost zero as described above. The servo parameter modification information is information representing the details of the modification made to the servo parameters.

Zudem sind im Hinblick auf die auf jede der Achsen bezogenen Trägheitsinformationen die Servomotoren 91 der jeweiligen Achsen über einen Verbindungsmechanismus wie eine Kupplung mit einer Kugelumlaufspindel der Maschine verbunden. Die Kugelumlaufspindel ist auch an einer Maschinenstruktur montiert, wobei in der Regel für verschiedene Achsen unterschiedliche Strukturen verwendet werden. Dies führt dazu, dass aufgrund der unterschiedlichen Strukturen, die mit den Servomotoren 91 verbunden sind, auf die verschiedenen Servomotoren 91 unterschiedliche Trägheitsmomente ausgeübt werden, selbst wenn die Servomotoren 91 die gleiche Leistung haben. Damit die Servomotoren jeweils das richtige Drehmoment liefern, werden beim Einrichten einer neuen Maschine Einstellarbeiten an den Servomotoren durchgeführt. Diese Einstellarbeiten erfordern Informationen über die auf die Servomotoren wirkende Trägheit. Es wird hier davon ausgegangen, dass die numerische Steuerung 1Y gemäß der vorliegenden Ausführungsform über eine Funktionalität zur Messung der auf die Servomotoren 91 der jeweiligen Achsen wirkenden Trägheit verfügt und dass die vorab mit Hilfe dieser Funktionalität gemessenen Trägheitsinformationen bereits im gemeinsam genutzten Bereich 344 gespeichert wurden. Es wird darauf hingewiesen, dass die numerische Steuerung 1Y für die Ausführung der vorliegenden Erfindung nicht unbedingt über eine Funktionalität zur Trägheitsmessung verfügen muss. Die Maschinenlernvorrichtung 50 kann das Lernen gemäß einem Verfahren durchführen, bei dem die Arbeitskraft, die die Maschine einrichtet, die Trägheitswerte für die jeweiligen Achsen misst, Trägheitsinformationen erzeugt und die erzeugten Trägheitsinformationen vorab in dem gemeinsam genutzten Bereich 344 oder in einem anderen Bereich der Speichereinheit 34 speichert.Also, regarding the inertia information related to each of the axes, the servomotors 91 of the respective axes are connected to a ball screw of the machine through a connection mechanism such as a coupling. The ball screw is also mounted on a machine structure, typically using different structures for different axes. As a result, due to the different structures connected to the servomotors 91, different moments of inertia are applied to the different servomotors 91 even if the servomotors 91 have the same capacity. When setting up a new machine, adjustments are made to the servomotors so that the servomotors deliver the correct torque. These adjustments require information about the inertia acting on the servomotors. It is assumed here that the numerical controller 1Y according to the present embodiment has a functionality to measure the inertia acting on the servomotors 91 of the respective axes, and that the inertia information previously measured using this functionality has already been stored in the shared area 344 . It should be noted that the numerical controller 1Y does not necessarily have to have an inertia measurement functionality for the implementation of the present invention. The machine learning device 50 may perform learning according to a method in which the worker who sets up the machine measures the inertia values for the respective axes generates inertia information, and stores the generated inertia information in the shared area 344 or another area of the storage unit 34 in advance saves.

Die Zustandsbeobachtungseinheit 52 gibt einen Datensatz, der aus der Datenbeobachtung resultiert, an die Lerneinheit 51 aus. Die Lerneinheit 51 lernt die Oszillationskurvenform-Korrekturinformationen auf Basis des von der Zustandsbeobachtungseinheit 52 eingegebenen Datensatzes. Die Zustandsbeobachtungseinheit 52 beobachtet demnach als Zustandsvariablen die auf jede der Achsen bezogenen Trägheitsinformationen, die in dem gemeinsam genutzten Bereich 344 gespeichert sind, Informationen über die Modifikation (Modifikationsinformationen), die die Details der Modifikation repräsentieren, die an den Servoparametern für jede der Achsen von der Oszillationsbefehlskurvenform-Anpassungseinheit 384Y vorgenommen wurde, und die Oszillationskurvenformabweichung in Bezug auf jede der Achsen, die durch die Vergleichseinheit 383 erzeugt wird. Die Zustandsbeobachtungseinheit 52 gibt dann einen auf Basis der Zustandsvariablen erzeugten Datensatz an die Lerneinheit 51 aus. Die Lerneinheit 51 lernt die Oszillationskurvenform-Korrekturinformationen auf Basis des von der Zustandsbeobachtungseinheit 52 ausgegebenen Datensatzes. Bei dieser Prozedur ist der Datensatz ein Satz von Daten, der den Oszillationsamplitudenanpassungswert, die auf jede der Achsen bezogenen Trägheitsinformationen, die auf jede der Achsen bezogenen Servoparametermodifikationsinformationen und die auf jede der Achsen bezogene Oszillationskurvenformabweichung enthält, die miteinander verknüpft sind. Der Ausdruck „Oszillationskurvenform-Korrekturinformationen“ bezieht sich auf den Amplitudenkorrekturwert, der bei der Korrektur der Oszillationsbefehlskurvenform erstellt wird, um zu bewirken, dass die Oszillationsbefehlskurvenform und die FB-Oszillationskurvenform ähnlicher werden, d. h. den Oszillationsamplitudenanpassungswert; und die Details der an den Servoparametern vorzunehmenden Anpassung, um zu bewirken, dass die FB-Oszillationskurvenform für jede der Achsen und die Oszillationsbefehlskurvenform ähnlicher werden, wie bei der ersten Ausführungsform beschrieben wurde.The state observation unit 52 outputs a data set resulting from the data observation to the learning unit 51 . The learning unit 51 learns the oscillation waveform correction information based on the data set inputted from the state observation unit 52 . The state observation unit 52 thus observes, as state variables, the inertia information related to each of the axes stored in the shared area 344, modification information (modification information) representing the details of the modification made to the servo parameters for each of the axes from the oscillation command waveform adjustment unit 384Y, and the oscillation waveform deviation with respect to each of the axes generated by the comparison unit 383. The state observation unit 52 then outputs a data set generated on the basis of the state variable to the learning unit 51 . The learning unit 51 learns the oscillation waveform correction information based on the data set output from the state observation unit 52 . In this procedure, the data set is a set of data containing the oscillation amplitude adjustment value, the inertia information related to each axis, the servo parameter modification information related to each axis, and the oscillation waveform deviation related to each axis, which are linked together. The term "oscillation waveform correction information" refers to the amplitude correction value made when correcting the oscillation command waveform to cause the oscillation command waveform and the FB oscillation waveform to become more similar, that is, H. the oscillation amplitude adjustment value; and the details of the adjustment to be made to the servo parameters to cause the FB oscillation waveform for each of the axes and the oscillation command waveform to become more similar to those described in the first embodiment.

Es ist zu beachten, dass die Maschinenlernvorrichtung 50 beispielsweise eine von der numerischen Steuerung 1X getrennte Vorrichtung sein kann, die mit der numerischen Steuerung 1X gemäß der ersten Ausführungsform über ein Netzwerk verbunden ist. In diesem Fall kann sich die Maschinenlernvorrichtung 50 in einem Cloud-Server befinden. Alternativ kann die Maschinenlernvorrichtung 50 in die numerische Steuerung 1Y integriert sein, wie in 15 dargestellt ist.Note that the machine learning device 50 may be, for example, a device separate from the numerical controller 1X and connected to the numerical controller 1X according to the first embodiment via a network. In this case, the machine learning device 50 can reside in a cloud server. Alternatively, the machine learning device 50 may be integrated with the numerical controller 1Y as shown in FIG 15 is shown.

Die Lerneinheit 51 lernt aus dem Datensatz, der die auf jede der Achsen bezogenen Trägheitsinformationen, die auf jede der Achsen bezogenen Servoparametermodifikationsinformationen und die auf jede der Achsen bezogene Oszillationskurvenformabweichung enthält, die miteinander verknüpft sind, indem beispielsweise sogenanntes überwachtes Lernen auf Basis eines neuronalen Netzwerkmodells eingesetzt wird. Hierbei handelt es sich bei überwachtem Lernen um ein Modell, das bei einer großen Anzahl von Datenpaaren, die jeweils eine Eingabe und ein Ergebnis für eine Lernvorrichtung umfassen, ein Feature des Datensatzes lernt und aus einer Eingabe ein Ergebnis ableitet. Bei der numerischen Steuerung 1Y gemäß der vorliegenden Ausführungsform dient die Oszillationskurvenformabweichung in Bezug auf jede der Achsen als gelabelte Trainingsdaten.The learning unit 51 learns from the data set including the inertia information related to each axis, the servo parameter modification information related to each axis, and the oscillation waveform deviation related to each axis, which are linked together by using, for example, so-called supervised learning based on a neural network model will. Supervised learning is a model that, given a large number of pairs of data, each comprising an input and a result for a learning device, learns a feature of the data set and derives a result from an input. In the numerical controller 1Y according to the present embodiment, the oscillation waveform deviation with respect to each of the axes serves as labeled training data.

Ein neuronales Netzwerk umfasst eine aus mehreren Neuronen bestehende Eingabeschicht, eine aus mehreren Neuronen bestehende mittlere Schicht und eine aus mehreren Neuronen bestehende Ausgabeschicht. Die mittlere Schicht wird auch als versteckte Schicht bezeichnet. Es kann eine, zwei oder mehr mittlere Schichten geben.A neural network includes an input layer composed of a plurality of neurons, a middle layer composed of a plurality of neurons, and an output layer composed of a plurality of neurons. The middle layer is also known as the hidden layer. There can be one, two or more middle layers.

Wenn beispielsweise in einem dreischichtigen neuronalen Netzwerk mehrere Eingaben in die Eingabeschicht eingegeben werden, werden deren Werte mit Gewichtungen multipliziert, und die Ergebnisse werden in die mittlere Schicht eingegeben. Die Ergebnisse werden weiter mit Gewichtungen multipliziert, und die resultierenden Werte werden von der Ausgabeschicht ausgegeben. Die Ausgabeergebnisse variieren je nach den Werten der Gewichtungen.For example, in a three-layer neural network, when multiple inputs are fed into the input layer, their values are multiplied by weights and the results are fed into the middle layer. The results are further multiplied by weights and the resulting values are output from the output layer. The output results vary depending on the values of the weights.

Bei der Maschinenlernvorrichtung 50 gemäß der vorliegenden Ausführungsform lernt das neuronale Netzwerk die Oszillationskurvenform-Korrekturinformationen auf Basis des von der Zustandsbeobachtungseinheit 52 erzeugten Datensatzes unter Verwendung des sogenannten überwachten Lernens.In the machine learning device 50 according to the present embodiment, the neural network learns the oscillation waveform correction information based on the data set generated by the state observation unit 52 using so-called supervised learning.

Der Datensatz, der die auf jede der Achsen bezogenen Trägheitsinformationen, die auf jede der Achsen bezogenen Servoparametermodifikationsinformationen und die auf jede der Achsen bezogene Oszillationskurvenformabweichung enthält, die miteinander verknüpft sind, wird demnach in die Eingabeschicht des neuronalen Netzwerkes eingegeben. Jedes Mal, wenn der Datensatz eingegeben wird, lernt das neuronale Netzwerk, indem es die vorstehenden Gewichtungen einzeln anpasst, um die auf jede der Achsen bezogene Oszillationskurvenformabweichung, die von der Oszillationsbefehlskurvenform-Anpassungseinheit 384Y verwendet wurde, um die Oszillationsbefehlskurvenform auf Basis der von der Ausgabeschicht ausgegebenen Oszillationskurvenform-Korrekturinformationen anzupassen, auf nahezu Null zu reduzieren.Thus, the data set containing the inertia information related to each axis, the servo parameter modification information related to each axis, and the oscillation waveform deviation related to each axis, which are linked to each other, is input to the input layer of the neural network. Each time the data set is inputted, the neural network learns by individually adjusting the above weights to compensate for the oscillation waveform deviation related to each of the axes used by the oscillation command waveform adjustment unit 384Y to calculate the oscillation command waveform based on that from the output layer output oscillation waveform correction information to be reduced to almost zero.

Es wird darauf hingewiesen, dass das neuronale Netzwerk die Oszillationskurvenform-Korrekturinformationen auch durch sogenanntes unüberwachtes Lernen lernen kann. Unüberwachtes Lernen ist eine Technik, bei der die Verteilung von Eingabedaten gelernt wird, indem der Maschinenlernvorrichtung 50 lediglich eine große Menge an Eingabedaten zur Verfügung wird und eine Vorrichtung gelernt wird, die Codierung, Klassifizierung, Transformation und/oder dergleichen an den Eingabedaten durchführt, ohne dass entsprechende gelabelte Trainingsausgabedaten vorgegeben werden. Durch unüberwachtes Lernen können Features eines Eingabedatensatzes in Gruppen geclustert werden, die jeweils ein ähnliches Feature aufweisen. Anhand des Ergebnisses des Clusterns kann durch unüberwachtes Lernen eine Vorhersage für Ausgaben getroffen werden, indem ein bestimmtes Kriterium festgelegt und die Ausgaben so zugeordnet werden, dass dieses Kriterium optimiert wird.It is noted that the neural network can also learn the oscillation waveform correction information by so-called unsupervised learning. Unsupervised learning is a technique in which the distribution of input data is learned simply by providing the machine learning device 50 with a large amount of input data and learning a device that performs coding, classification, transformation and/or the like on the input data without that appropriate labeled training output data is provided. Unsupervised learning allows features of an input data set to be clustered into groups, each with a similar feature. The result of clustering can be used by unsupervised learning to predict expenditure by specifying a specific criterion and allocating expenditure in a way that optimizes that criterion.

Ferner kann die Lerneinheit 51 in einem Fall, in dem die Maschinenlernvorrichtung 50 nicht in die numerische Steuerung 1Y integriert ist, die Oszillationskurvenform-Korrekturinformationen auf Basis von Datensätzen lernen, die für mehrere numerische Steuerungen 1Y erzeugt wurden, und diese Oszillationskurvenform-Korrekturinformationen dann als Lernergebnis ausgeben. Die Lerneinheit 51 kann dabei einen Datensatz von mehreren numerischen Steuerungen 1Y, die an einem Standort eingesetzt werden, erhalten oder einen Datensatz verwenden, der von numerischen Steuerungen 1Y mehrerer Werkzeugmaschinen gesammelt wurde, die unabhängig voneinander an verschiedenen Standorten betrieben werden. Zudem ermöglicht es eine solche Konfiguration auch, dass eine numerische Steuerung 1Y, die zum Sammeln eines Datensatzes verwendet wird, während des Betriebs zu einer Gruppe hinzugefügt wird, die sammeln soll, oder im Gegenteil davon getrennt werden kann. Ferner kann eine Maschinenlernvorrichtung 50, die unter Verwendung eines Datensatzes gelernt hat, der von einer bestimmten numerischen Steuerung 1Y erhalten wurde, in einer anderen numerischen Steuerung 1Y installiert werden, wobei sie einen Datensatz von der anderen numerischen Steuerung 1Y erhalten kann, um den Datensatz erneut zu lernen und das Lernergebnis zu aktualisieren.Further, in a case where the machine learning device 50 is not integrated with the numerical controller 1Y, the learning unit 51 can learn the oscillation waveform correction information based on data sets generated for a plurality of numerical controllers 1Y, and then learn this oscillation waveform correction information as a learning result spend. At this time, the learning unit 51 may obtain a data set from a plurality of numerical controllers 1Y used at one site, or use a data set collected from numerical controllers 1Y of a plurality of machine tools independently operated at different sites. In addition, such a configuration also enables a numerical controller 1Y used for collecting a data set to be added to a group to be collected or, conversely, separated therefrom during operation. Further, a machine learning device 50 that has learned using a data set obtained from a certain numerical controller 1Y can be used in another numerical controller 1Y be installed, whereby it can receive a data set from the other numerical controller 1Y to relearn the data set and update the learning result.

Darüber hinaus kann es sich bei dem in der Lerneinheit 51 verwendeten Lernalgorithmus um Deep Learning handeln, bei dem die Extraktion von Features selbst gelernt wird. Das maschinelle Lernen kann auch mit einer anderen bekannten Methode durchgeführt werden, wie z. B. genetischer Programmierung, funktionaler Logikprogrammierung oder einer Support-Vector-Machine.In addition, the learning algorithm used in the learning unit 51 can be deep learning, in which the extraction of features is learned itself. Machine learning can also be performed using another known method, such as B. genetic programming, functional logic programming or a support vector machine.

Die von der Maschinenlernvorrichtung 50 ausgegebenen Oszillationskurvenform-Korrekturinformationen werden in die Oszillationsbefehlskurvenform-Anpassungseinheit 384Y eingegeben. Die Oszillationsbefehlskurvenform-Anpassungseinheit 384Y passt die Oszillationsbefehlskurvenformen für die jeweiligen Achsen auf Basis der Oszillationskurvenform-Korrekturinformationen an.The oscillation waveform correction information output from the machine learning device 50 is input to the oscillation command waveform adjustment unit 384Y. The oscillation command waveform adjustment unit 384Y adjusts the oscillation command waveforms for the respective axes based on the oscillation waveform correction information.

Wie oben beschrieben wurde, umfasst die numerische Steuerung 1Y gemäß der vorliegenden Ausführungsform die Maschinenlernvorrichtung 50, die maschinelles Lernen unter Verwendung der auf jede der Achsen bezogenen Trägheitsinformationen, der auf jede der Achsen bezogenen Oszillationskurvenformabweichung, des Oszillationsamplitudenanpassungswerts und der auf jede der Achsen bezogenen Servoparametermodifikationsinformationen ausführt. Die Oszillationsbefehlskurvenform-Anpassungseinheit 384Y passt die Oszillationsbefehlskurvenformen für die jeweiligen Achsen auf Basis der von der Maschinenlernvorrichtung 50 durch maschinelles Lernen erzeugten Oszillationskurvenform-Korrekturinformationen an. Dadurch wird das Brechen von Spänen auch dann sichergestellt, wenn die Ansprechempfindlichkeiten der Servomotoren 91 der jeweiligen Steuerreferenzachsen voneinander abweichen.As described above, the numerical controller 1Y according to the present embodiment includes the machine learning device 50 that performs machine learning using the inertia information related to each axis, the oscillation waveform deviation related to each axis, the oscillation amplitude adjustment value, and the servo parameter modification information related to each axis . The oscillation command waveform adjustment unit 384Y adjusts the oscillation command waveforms for the respective axes based on the oscillation waveform correction information generated by the machine learning device 50 through machine learning. This ensures chip breaking even if the responsivenesses of the servomotors 91 of the respective control reference axes differ from each other.

Es wird darauf hingewiesen, dass die Steuerungsberechnungseinheit 2Y und die Maschinenlernvorrichtung 50, die in der numerischen Steuerung 1Y gemäß der zweiten Ausführungsform enthalten sind, ähnlich wie die Steuerungsberechnungseinheit 2X, die in der numerischen Steuerung 1X gemäß der ersten Ausführungsform enthalten ist, durch den in 14 dargestellten Prozessor 101 und Speicher 102 implementiert werden können.It is noted that the control calculation unit 2Y and the machine learning device 50 included in the numerical controller 1Y according to the second embodiment are similar to the control calculation unit 2X included in the numerical controller 1X according to the first embodiment by the in 14 illustrated processor 101 and memory 102 can be implemented.

Die in den vorangehenden Ausführungsformen beschriebenen Konfigurationen sind lediglich Beispiele für verschiedene Aspekte der vorliegenden Erfindung. Diese Konfigurationen können mit einer bekannten anderen Technologie kombiniert werden, zudem kann ein Teil der Konfigurationen weggelassen und/oder modifiziert werden, ohne vom Kern der vorliegenden Erfindung abzuweichen.The configurations described in the foregoing embodiments are merely examples of various aspects of the present invention. These configurations can be combined with another known technology, and part of the configurations can be omitted and/or modified without departing from the gist of the present invention.

BezugszeichenlisteReference List

1X, 1Y1X, 1Y
numerische Steuerung;numerical control;
2X, 2Y2X, 2Y
Steuerungsberechnungseinheit;control calculation unit;
33
Eingabeeinheit;input unit;
44
Anzeigeeinheit;display unit;
3131
Anzeigebildverarbeitungseinheit;display image processing unit;
3232
Eingabesteuerungseinheit;input control unit;
3333
Dateneinstelleinheit;data setting unit;
3434
Speichereinheit;storage unit;
3535
Steuersignalverarbeitungseinheit;control signal processing unit;
3636
SPS;PLC;
3737
Analyseverarbeitungseinheit;analysis processing unit;
38X, 38Y38X, 38Y
Interpolationsverarbeitungseinheit;interpolation processing unit;
3939
Beschleunigungs-/Verzögerungsverarbeitungseinheit;acceleration/deceleration processing unit;
4040
Achsendateneingabe-/-ausgabeeinheit;axis data input/output unit;
5050
Maschinenlernvorrichtung;machine learning device;
5151
Lerneinheit;learning unit;
5252
Zustandsbeobachtungseinheit;condition observation unit;
9090
Antriebseinheit;drive unit;
9191
Servomotor;servo motor;
92,92,
95 Detektor;95 detector;
93X93X
X-Achsen-Servosteuerungseinheit;X-axis servo control unit;
93Y93Y
Y-Achsen-Servosteuerungseinheit;Y-axis servo control unit;
9494
Spindelmotor;spindle motor;
9696
Spindelsteuerungseinheit;spindle control unit;
341341
Parameterdaten;parameter data;
342342
Anzeigedaten;display data;
343343
Bearbeitungsprogramm;editing program;
344344
gemeinsam genutzter Bereich;shared area;
371371
Bewegungsbefehl-Analyseeinheit;movement command analysis unit;
372372
Oszillationsbefehl-Analyseeinheit;oscillation command analysis unit;
381381
Zuordnungsverhältnis-Bestimmungseinheit;allocation ratio determining unit;
382382
Kurvenforminformationsbezugseinheit;waveform information obtaining unit;
383383
Vergleichseinheit;comparison unit;
384X, 384Y384X, 384Y
Oszillationsbefehlskurvenform-Anpassungseinheit;oscillation command waveform adjustment unit;
385385
Oszillationskurvenform-Erzeugungseinheit;oscillation waveform generation unit;
386386
Oszillationsbewegungsstrecken-Berechnungseinheit.oscillation movement distance calculation unit.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN 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 the documents cited 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 PatentliteraturPatent Literature Cited

  • JP 5851670 [0005]JP 5851670 [0005]

Claims (8)

Numerische Steuerung zum Steuern einer Werkzeugmaschine, die mehrere Antriebsachsen ansteuert, um ein Werkzeug zu bewegen, wobei die numerische Steuerung aufweist: eine Oszillationskurvenform-Erzeugungseinheit zum Erzeugen einer Oszillationskurvenform, die eine Oszillationsbahn des Werkzeugs repräsentiert, der bei der Bearbeitung eines Werkstücks gefolgt wird, während das Werkzeug in Oszillation versetzt wird; und eine Oszillationsbewegungsstrecken-Berechnungseinheit zum Erzeugen einer jeder der mehreren Antriebsachsen entsprechenden Oszillationsbefehlskurvenform auf Basis des Winkel zwischen der Oszillationsrichtung des Werkzeugs während der Oszillation des Werkzeugs und der Richtung einer Referenzachse und auf Basis der Oszillationskurvenform, wobei die Referenzachse parallel zu einer der Antriebsachsen verläuft und wobei die Oszillationsbefehlskurvenform eine Bewegungsbahn des Werkzeugs entlang der Richtung einer entsprechenden der Antriebsachsen repräsentiert.Numerical controller for controlling a machine tool that controls multiple drive axes to move a tool, the numerical controller having: an oscillation waveform generation unit for generating an oscillation waveform representing an oscillation trajectory of the tool, which is followed in machining a workpiece while oscillating the tool; and an oscillating movement distance calculation unit for generating one corresponding to each of the plurality of drive axes Oscillation command waveform based on the angle between the oscillating direction of the tool during the oscillation of the tool and the direction of a reference axis and based on the oscillation waveform, wherein the reference axis is parallel to one of the drive axes and wherein the oscillation command waveform is a trajectory of movement of the tool along the direction of a corresponding one of the drive axes represented. Numerische Steuerung nach Anspruch 1, die aufweist: eine Zuordnungsverhältnis-Bestimmungseinheit zum Bestimmen eines Zuordnungsverhältnisses, in dem eine Komponente der Oszillationskurvenform vektoriell in Komponenten entlang der Richtungen der jeweiligen mehreren Antriebsachsen zu zerlegen ist, auf Basis des Winkels zwischen der Oszillationsrichtung des Werkzeugs während der Oszillation des Werkzeugs und der Richtung der Referenzachse, wobei die Oszillationsbewegungsstrecken-Berechnungseinheit die jeder der mehreren Antriebsachsen entsprechende Oszillationsbefehlskurvenform erzeugt, indem die Komponente der Oszillationskurvenform vektoriell in Komponenten entlang der Richtungen der jeweiligen Antriebsachsen auf Basis des Zuordnungsverhältnisses zerlegt wird.Numerical control after claim 1 comprising: an association ratio determining unit for determining an association ratio in which a component of the oscillation waveform is to be vectorially decomposed into components along the directions of the respective plurality of driving axes, based on the angle between the oscillating direction of the tool during the oscillation of the tool and the direction of the reference axis, wherein the oscillation movement distance calculation unit generates the oscillation command waveform corresponding to each of the plurality of drive axes by vectorially decomposing the component of the oscillation waveform into components along the directions of the respective drive axes based on the association ratio. Numerische Steuerung nach Anspruch 1 oder 2, wobei die Oszillationsbewegungsstrecken-Berechnungseinheit für jede der Antriebsachsen eine Werkzeugbewegungsstrecke pro Zeiteinheit während der Bearbeitung des Werkstücks erzeugt, indem ein Wert der Oszillationsbefehlskurvenform zu einem Wert der Werkzeugbewegung addiert wird.Numerical control after claim 1 or 2 wherein the oscillating movement distance calculation unit generates, for each of the drive axes, a tool movement distance per unit time during machining of the workpiece by adding a value of the oscillation command waveform to a value of the tool movement. Numerische Steuerung nach einem der Ansprüche 1 bis 3, die aufweist: eine Vergleichseinheit zum Vergleichen der jeder der Antriebsachsen entsprechenden Oszillationsbefehlskurvenform mit einer jeder der Antriebsachsen entsprechenden Feedback-Oszillationskurvenform, wobei die Feedback-Oszillationskurvenform eine tatsächliche Bewegungsbahn des Werkzeugs repräsentiert, der während der Oszillation des Werkzeugs gefolgt wird; und eine Oszillationsbefehlskurvenform-Anpassungseinheit zum Anpassen der jeder der Antriebsachsen entsprechenden Oszillationsbefehlskurvenform auf Basis eines Vergleichsergebnisses von der Vergleichseinheit.Numerical control according to one of Claims 1 until 3 comprising: a comparison unit for comparing the oscillation command waveform corresponding to each of the drive axes with a feedback oscillation waveform corresponding to each of the drive axes, the feedback oscillation waveform representing an actual movement trajectory of the tool followed during oscillation of the tool; and an oscillation command waveform adjusting unit for adjusting the oscillation command waveform corresponding to each of the driving axes based on a comparison result from the comparison unit. Numerische Steuerung nach Anspruch 4, wobei die Oszillationsbefehlskurvenform-Anpassungseinheit die Oszillationsbefehlskurvenform durch Modifikation eines Servoparameters für eine entsprechende der Antriebsachsen anpasst.Numerical control after claim 4 , wherein the oscillation command waveform adjustment unit adjusts the oscillation command waveform by modifying a servo parameter for a corresponding one of the drive axes. Numerische Steuerung nach Anspruch 5, die aufweist: eine Zustandsbeobachtungseinheit, um als Zustandsvariablen das Vergleichsergebnis von der Vergleichseinheit, Modifikationsinformationen und Trägheitsinformationen in Bezug auf jede der mehreren Antriebsachsen zu beobachten, wobei die Modifikationsinformationen einen Oszillationsamplitudenanpassungswert für jede der Antriebsachsen und ein Detail der für jede der Antriebsachsen an dem Servoparameter vorgenommene Modifikation repräsentieren, die bei der von der Oszillationsbefehlskurvenform-Anpassungseinheit an der Oszillationsbefehlskurvenform vorgenommen Anpassung verwendet werden; und eine Lerneinheit, um auf Basis eines Datensatzes, der basierend auf den Zustandsvariablen erzeugt wurde, Oszillationskurvenform-Korrekturinformationen zu lernen, die ein Detail der Anpassung, die an einer jeder der Antriebsachsen entsprechenden Oszillationsamplitude vorgenommen wurde, und ein Detail der Anpassung repräsentieren, die an dem Servoparameter für jede der Antriebsachsen vorgenommen wurde.Numerical control after claim 5 , comprising: a state observation unit for observing, as state variables, the comparison result from the comparison unit, modification information and inertia information with respect to each of the plurality of drive axes, the modification information including an oscillation amplitude adjustment value for each of the drive axes and a detail of the servo parameter made for each of the drive axes represent modification used in the adjustment made to the oscillation command waveform by the oscillation command waveform adjustment unit; and a learning unit for learning, based on a data set generated based on the state variables, oscillation waveform correction information representing a detail of adjustment made to an oscillation amplitude corresponding to each of the drive axles and a detail of adjustment made to the servo parameter for each of the drive axes. Numerisches Steuerverfahren zur Verwendung bei einer numerischen Steuerung zum Steuern einer Werkzeugmaschine, die mehrere Antriebsachsen ansteuert, um ein Werkzeug zu bewegen, wobei das Verfahren umfasst: einen Oszillationskurvenform-Erzeugungsschritt zum Erzeugen einer Oszillationskurvenform, die eine Oszillationsbahn des Werkzeugs repräsentiert, der bei der Bearbeitung eines Werkstücks gefolgt wird, während das Werkzeug in Oszillation versetzt wird; und einen Oszillationsbefehlskurvenform-Erzeugungsschritt zum Erzeugen einer jeder der mehreren Antriebsachsen entsprechenden Oszillationsbefehlskurvenform auf Basis des Winkel zwischen der Oszillationsrichtung des Werkzeugs während der Oszillation des Werkzeugs und der Richtung einer Referenzachse und auf Basis der Oszillationskurvenform, wobei die Referenzachse parallel zu einer der Antriebsachsen verläuft und wobei die Oszillationsbefehlskurvenform die Bewegungsbahn des Werkzeugs entlang der Richtung einer entsprechenden der Antriebsachsen repräsentiert.A numerical control method for use in a numerical controller for controlling a machine tool that drives a plurality of drive axes to move a tool, the method comprising: an oscillation waveform generation step of generating an oscillation waveform representing an oscillation trajectory of the tool used in machining a workpiece is followed while the tool is oscillated; and an oscillation command waveform generating step of generating an oscillation command waveform corresponding to each of the plurality of driving axes based on the angle between the oscillating direction of the tool during the oscillation of the tool and the direction of a reference axis and based on the Oscillation waveform wherein the reference axis is parallel to one of the drive axes and wherein the oscillation command waveform represents the trajectory of movement of the tool along the direction of a corresponding one of the drive axes. Maschinenlernvorrichtung zum Erlernen einer Detailanpassung, die an einer Oszillationsbefehlskurvenform vorzunehmen ist, die jeder von mehreren Antriebsachsen entspricht, die von einer numerischen Steuerung zum Steuern einer Werkzeugmaschine angesteuert werden, um ein Werkzeug während der Oszillation des Werkzeugs in eine Richtung zu bewegen, wenn das Werkzeug in Oszillation versetzt werden soll, wobei sich die Richtung von der Richtung einer Referenzachse unterscheidet, wobei die Referenzachse parallel zu einer Antriebsachse der mehreren Antriebsachsen verläuft, wobei die Oszillationsbefehlskurvenform eine Oszillationsbahn des Werkzeugs entlang einer Richtung jeder der mehreren Antriebsachsen während der Bearbeitung eines Werkstücks repräsentiert, während das Werkzeug in Oszillation versetzt wird, wobei die Maschinenlernvorrichtung aufweist: eine Zustandsbeobachtungseinheit, um als Zustandsvariablen ein Vergleichsergebnis, Modifikationsinformationen und Trägheitsinformationen in Bezug auf jede der mehreren Antriebsachsen zu beobachten, wobei es sich bei dem Vergleich um einen Vergleich der jeder der Antriebsachsen entsprechenden Oszillationsbefehlskurvenform mit einer jeder der Antriebsachsen entsprechenden Feedback-Oszillationskurvenform handelt, die eine tatsächliche Bewegungsbahn des Werkzeugs repräsentiert, der während der Oszillation des Werkzeugs gefolgt wird, wobei die Modifikationsinformationen einen Oszillationsamplitudenanpassungswert für jede der Antriebsachsen und ein Detail der an einem Servoparameter für jede der Antriebsachsen vorgenommenen Modifikation repräsentieren, die bei der Anpassung an die jeder der Antriebsachsen entsprechenden Oszillationsbefehlskurvenform verwendet werden; und eine Lerneinheit, um auf Basis eines Datensatzes, der auf der Basis der Zustandsvariablen erzeugt wurde, Oszillationskurvenform-Korrekturinformationen zu lernen, die ein Detail der Anpassung, die an einer jeder der Antriebsachsen entsprechenden Oszillationsamplitude vorgenommen wird, und ein Detail der Anpassung repräsentieren, die an dem Servoparameter für jede der Antriebsachsen vorgenommen wird.Machine learning apparatus for learning a detail adjustment to be made to an oscillation command waveform corresponding to each of a plurality of drive axes controlled by a numerical controller for controlling a machine tool to move a tool in one direction during oscillation of the tool when the tool is in Oscillation is to be offset, the direction being different from the direction of a reference axis, the reference axis being parallel to a drive axis of the plurality of drive axes, the oscillation command waveform representing an oscillating trajectory of the tool along a direction of each of the plurality of drive axes during machining of a workpiece while the tool is oscillated, the machine learning device comprising: a state observation unit for observing, as state variables, a comparison result, modification information, and inertia information with respect to each of the plurality of drive axes, the comparison being a comparison of the oscillation command waveform corresponding to each of the drive axes with a feedback oscillation waveform corresponding to each of the drive axes, the one represents the actual trajectory of the tool followed during the oscillation of the tool, the modification information representing an oscillation amplitude adjustment value for each of the drive axes and a detail of the modification made to a servo parameter for each of the drive axes used in the adjustment to the oscillation command waveform corresponding to each of the drive axes; and a learning unit for learning, based on a data set generated based on the state variables, oscillation waveform correction information representing a detail of adjustment made to an oscillation amplitude corresponding to each of the drive axles and a detail of adjustment made to is made to the servo parameter for each of the drive axes.
DE112019007578.0T 2019-09-11 2019-09-11 Numerical control, numerical control method and machine learning device Granted DE112019007578T5 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/035771 WO2021048959A1 (en) 2019-09-11 2019-09-11 Numerical control device, numerical control method, and machine learning device

Publications (1)

Publication Number Publication Date
DE112019007578T5 true DE112019007578T5 (en) 2022-05-05

Family

ID=74860853

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019007578.0T Granted DE112019007578T5 (en) 2019-09-11 2019-09-11 Numerical control, numerical control method and machine learning device

Country Status (4)

Country Link
JP (1) JP6843314B1 (en)
CN (1) CN114424130A (en)
DE (1) DE112019007578T5 (en)
WO (1) WO2021048959A1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11474497B2 (en) * 2019-06-28 2022-10-18 Mitsubishi Electric Corporation Numerical control device, machine learning device, and numerical control method
CN116710223A (en) * 2021-01-21 2023-09-05 发那科株式会社 Control device and calculation device
CN113655759B (en) * 2021-08-18 2022-10-18 哈尔滨工业大学 Method and device for setting rigidity of servo system and servo system
WO2023139743A1 (en) * 2022-01-21 2023-07-27 ファナック株式会社 Information processing device, machine tool control device, and computer program
WO2023171422A1 (en) * 2022-03-10 2023-09-14 株式会社ソニー・インタラクティブエンタテインメント Display control system, display control method, and program
WO2024116336A1 (en) * 2022-11-30 2024-06-06 ファナック株式会社 Control device for machine tool
CN116974239B (en) * 2023-09-22 2023-12-01 深圳市艾姆克斯科技有限公司 Processing track control method and system based on cnc engraving and milling machine

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5851670B2 (en) 1979-04-27 1983-11-17 新神戸電機株式会社 Method for manufacturing base for lead-acid battery

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011077568B4 (en) * 2011-06-15 2023-12-07 Dmg Mori Ultrasonic Lasertec Gmbh Machine tool, workpiece machining process
ES2634340T3 (en) * 2013-02-12 2017-09-27 Mitsubishi Electric Corporation Numerical control device
JP5781241B1 (en) * 2014-03-17 2015-09-16 三菱電機株式会社 Numerical controller
WO2015162739A1 (en) * 2014-04-23 2015-10-29 三菱電機株式会社 Numerical control apparatus
JP2016194860A (en) * 2015-04-01 2016-11-17 東芝機械株式会社 Vibration cutting machine and vibration cutting method
KR102623128B1 (en) * 2015-09-24 2024-01-11 시티즌 도케이 가부시키가이샤 Control device for machine tools and machine tools equipped with this control device
JP6474449B2 (en) * 2017-04-07 2019-02-27 ファナック株式会社 Adjusting apparatus and adjusting method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5851670B2 (en) 1979-04-27 1983-11-17 新神戸電機株式会社 Method for manufacturing base for lead-acid battery

Also Published As

Publication number Publication date
CN114424130A (en) 2022-04-29
JPWO2021048959A1 (en) 2021-09-30
WO2021048959A1 (en) 2021-03-18
JP6843314B1 (en) 2021-03-17

Similar Documents

Publication Publication Date Title
DE112019007578T5 (en) Numerical control, numerical control method and machine learning device
DE102018005754B4 (en) CONTROL DEVICE FOR A MACHINE TOOL FOR PERFORMING VIBRATION CUTTING
DE102018002566B4 (en) Control device for an oscillation cutting machine tool
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
DE60035129T2 (en) DEVICE AND METHOD FOR MACHINE SIMULATION FOR NUMERICALLY CONTROLLED PROCESSING
DE102011018536B4 (en) Numerical control with an oscillation operation function capable of changing the speed in an optional section
DE102017215787B4 (en) Control device, control method and computer program for machine tools
DE102005015810B4 (en) Processing time calculator
DE102019209775A1 (en) Machine tool controller
DE102017001783B4 (en) Numerical control device which enables an increase in the number of analysis digits of a program instruction
DE102018002959A1 (en) Machine tool control apparatus that performs oscillation cutting
DE102018003051B4 (en) Control device for a machine tool that performs vibratory cutting
DE112014007112B4 (en) Numerically controlled device
DE102018002784A1 (en) Machine tool control apparatus that performs oscillation cutting
DE112018008087B4 (en) Numerical control device and numerical control method
DE112014006864T5 (en) Numerical control device
DE102020124734A1 (en) SIMULATION DEVICE
DE112020007163T5 (en) Numerical control and numerical control method
DE112019004762T5 (en) Numerical control, machine learning device, and numerical control method
DE112019007434T5 (en) Numerical control, machine learning apparatus and numerical control method
DE102019204409A1 (en) display device
DE112021005641T5 (en) Numerical control device, learning device, inference device and numerical control method
DE112014006594T5 (en) Command value generating device
EP3955073A1 (en) Operation of a machine tool with at least two axes

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division