DE112020006576T5 - Numerisches Steuergerät - Google Patents

Numerisches Steuergerät Download PDF

Info

Publication number
DE112020006576T5
DE112020006576T5 DE112020006576.6T DE112020006576T DE112020006576T5 DE 112020006576 T5 DE112020006576 T5 DE 112020006576T5 DE 112020006576 T DE112020006576 T DE 112020006576T DE 112020006576 T5 DE112020006576 T5 DE 112020006576T5
Authority
DE
Germany
Prior art keywords
function
position command
vibration
tool
reduction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112020006576.6T
Other languages
English (en)
Inventor
Taichi ISHIDA
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 DE112020006576T5 publication Critical patent/DE112020006576T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/404Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37351Detect vibration, ultrasound
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41121Eliminating oscillations, hunting motor, actuator

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

Ein numerisches Steuergerät (1) umfasst eine Steuereinheit (22), welche einen Positionsbefehl (J1) an eine antreibende Einheit, welche ein Werkzeug antreibt ausgibt, wenn eine Werkzeugmaschine eine Maschinenbearbeitung an einem Werkstück unter Verwendung des Werkzeugs durchführt, welche eine Verarbeitung, die einer sonstigen Funktion zugeordnet ist, durch welche eine von einer Maschinenbearbeitung des Werkstücks verschiedene Verarbeitung ausgeführt wird, steuert, wenn ein Befehl der sonstigen Funktion vorliegt, und welche an die antreibende Einheit einen Reduktionspositionsbefehl (51) ausgibt, welcher ein Positionsbefehl zum Reduzieren einer ersten Vibration der Werkzeugmaschine ist, welche beim Ausführen der sonstigen Funktion erzeugt wird. Der Reduktionspositionsbefehl (51) ist ein Positionsbefehl, welcher die antreibende Einheit dazu veranlasst, eine zweite Vibration mit einer Phase, die der der ersten Vibration entgegengesetzt ist, und einer Amplitude, die kleiner oder gleich einer Amplitude der ersten Vibration ist, zu erzeugen.

Description

  • Die vorliegende Offenbarung betrifft ein numerisches Steuergerät, welches einen Betrieb einer Werkzeugmaschine steuert.
  • Hintergrund
  • Ein numerisches Steuergerät, welches einen Betrieb einer Werkzeugmaschine steuert, veranlasst die Werkzeugmaschine dazu, ein Werkstück durch Betreiben eines Servomotors und dergleichen der Werkzeugmaschine gemäß einem Befehl eines Maschinenbearbeitungsprogramms zu maschinenbearbeiten.
  • Das numerische Steuergerät kann die Werkzeugmaschine dazu veranlassen, beim Betreiben der Werkzeugmaschine zu vibrieren. Wenn die Werkzeugmaschine vibriert, reduziert eine Vibration des Servomotors, welcher ein Werkzeug bewegt, die Positionierungsgenauigkeit des Werkzeugs und reduziert daher die Maschinenbearbeitungsgenauigkeit. Es wurde daher gewünscht, solche Vibrationen der Werkzeugmaschine zu reduzieren.
  • Ein in Patentliteratur 1 beschriebenes Korrekturgerät detektiert eine Störung (Vibration), welche einen Versatz eines Werkzeugs von einem Zielwert in Bezug auf ein Werkstück bestimmt, eine zukünftige Eigenschaft der Störung basierend auf einem mathematischen Prozessmodell, welches aus der Störung gebildet ist, evaluiert und den Versatz gemäß der zukünftigen Eigenschaft korrigiert.
  • Zitierungsliste
  • Patentliteratur
  • Patentliteratur 1: JP 2000-505578 A
  • Kurzbeschreibung
  • Technisches Problem
  • Obwohl sie fähig ist, periodisch erzeugte Vibration zu reduzieren, kann die oben beschriebene Technik der Patentliteratur 1 aperiodische Vibration, welche durch einen Befehl erzeugt wird, nicht reduzieren, weil sie ein autoregressives Modell zum Vorhersagen eines zukünftigen Signals aus einem vergangenen Signal verwendet.
  • Die vorliegende Offenbarung wurde in Anbetracht der obigen Umstände gemacht und ihr Ziel ist es, ein numerisches Steuergerät bereitzustellen, welches fähig ist, durch einen Befehl erzeugte aperiodische Vibration zu reduzieren.
  • Lösung des Problems
  • Um die oben genannten Probleme zu lösen und das Ziel zu erreichen, stellt die vorliegende Offenbarung ein numerisches Steuergerät bereit, welches umfasst: eine Steuereinheit, welche einen Positionsbefehl an eine antreibende Einheit, welche ein Werkzeug antreibt, ausgibt, wenn eine Werkzeugmaschine eine Maschinenbearbeitung an einem Werkstück unter Verwendung des Werkzeugs durchführt, welche eine Verarbeitung, welche einer sonstigen Funktion zugeordnet ist, durch welche eine von einer Maschinenbearbeitung des Werkstücks verschiedene Verarbeitung ausgeführt wird, steuert, wenn ein Befehl der sonstigen Funktion vorliegt, und welche an die antreibende Einheit einen Reduktionspositionsbefehl ausgibt, welcher ein Positionsbefehl zum Reduzieren einer beim Ausführen der sonstigen Funktion erzeugten ersten Vibration der Werkzeugmaschine ist, wobei der Reduktionspositionsbefehl ein Positionsbefehl ist, welcher die antreibende Einheit dazu veranlasst, eine zweite Vibration mit einer Phase, die der der ersten Vibration entgegengesetzt ist, und einer Amplitude, die kleiner oder gleich einer Amplitude der ersten Vibration ist, zu erzeugen.
  • Vorteilhafte Wirkungen der Erfindung
  • Das numerische Steuergerät gemäß der vorliegenden Offenbarung hat eine vorteilhafte Wirkung dahingehend, dass es die durch den Befehl erzeugte aperiodische Vibration reduzieren kann.
  • Figurenliste
    • 1 ist ein Diagramm, welches eine Konfiguration eines numerischen Steuergeräts gemäß einer Ausführungsform zeigt.
    • 2 ist ein Ablaufdiagramm, welches eine Betriebsprozedur des numerischen Steuergeräts gemäß der Ausführungsform zeigt.
    • 3 ist ein Graph zum Erklären einer Vibration, welche durch das numerische Steuergerät gemäß der Ausführungsform reduziert wird.
    • 4 ist ein Diagramm, welches ein Beispiel einer Hardwarekonfiguration zeigt, durch welche ein Maschinenlerngerät des numerischen Steuergeräts gemäß der Ausführungsform implementiert ist.
  • Beschreibung der Ausführungsform
  • Ein numerisches Steuergerät gemäß einer Ausführungsform der vorliegenden Offenbarung wird nun unten im Detail mit Bezug zu den Zeichnungen beschrieben.
  • Ausführungsform.
  • 1 ist ein Diagramm, welches eine Konfiguration eines numerischen Steuergeräts gemäß einer Ausführungsform zeigt. Ein numerisches Steuergerät (NC-Gerät) 1 ist ein Computer, welcher eingerichtet ist, eine Werkzeugmaschine gemäß einem Maschinenbearbeitungsprogramm zu steuern. Das durch das numerische Steuergerät 1 zum Steuern der Werkzeugmaschine verwendete Maschinenbearbeitungsprogramm ist durch eine Wegbedingung, G-Code genannt, eine Vorschubfunktion, F-Code genannt, eine sonstige Funktion, M-Code genannt, und dergleichen definiert.
  • Die sonstige Funktion ist eine Funktion, welche die Werkzeugmaschine dazu veranlasst, eine Handlung auszuführen, welche bei einer Maschinenbearbeitung nicht direkt involviert ist. Beispiele der sonstigen Funktion umfassen eine Funktion, welche eine Einspritzung von Kühlwasser zum Reduzieren von durch Reibung bei der Maschinenbearbeitung erzeugten Wärme aktiviert oder deaktiviert, eine Funktion, welche eine Ausführung einer Werkzeugersetzungshandlung oder des automatischen Öffnens und Schließens einer in der Werkzeugmaschine bereitgestellten Tür veranlasst, eine Funktion, welche eine Ausführung des Festklemmens oder Lösens bezüglich einer zum Rotieren eines Tisches oder dergleichen verwendeten Rotationsachse veranlasst, und dergleichen. Das Festklemmen ist ein Prozess des mechanischen Sperrens der Rotationsachse, und das Lösen ist ein Prozess des mechanischen Entsperrens der Rotationsachse.
  • Der durch die Rotationsachse zu rotierende Tisch wird dazu verwendet, ein Werkstück zu fixieren, wobei das Werkstück darauf platziert ist. Der Tisch ist durch die Rotation der Rotationsachse um 360° rotierbar. Das Werkstück wird zu einer bestimmten Position rotiert, während es auf dem Tisch angeordnet ist. Wenn eine Maschinenbearbeitungsachse in diesem Zustand festgeklemmt ist, wird das Werkstück fixiert und eine Maschinenbearbeitung des Werkstücks unter Verwendung eines Werkzeugs wird gestartet. Weil das numerische Steuergerät 1 die sonstige Funktion unter Verwendung des Maschinenbearbeitungsprogramms des numerischen Steuergeräts 1 ausführt, können diverse Handlungen implementiert sein, welche je nach Werkzeugmaschinenhersteller einzigartig sind. In dem Maschinenbearbeitungsprogramm wird die sonstige Funktion durch eine Sonstige-Funktion-Nummer J3 repräsentiert, welche eine Identifikationsnummer der sonstigen Funktion ist.
  • Die Werkzeugmaschine ist ein Gerät, welches eine Maschinenbearbeitung an dem Werkstück unter Verwendung des Werkzeugs durchführt. Die Werkzeugmaschine umfasst eine antreibende Einheit, welche konfiguriert ist, das Werkzeug anzutreiben. Es ist zu beachten, dass Bestandteile der Werkzeugmaschine das Werkzeug enthalten oder nicht enthalten können.
  • Das numerische Steuergerät 1 gibt einen Positionsbefehl J1 zum Antreiben der antreibenden Einheit aus, wenn die Werkzeugmaschine eine Maschinenbearbeitung an dem Werkstück durchführt. Zudem, wenn ein Befehl einer sonstigen Funktion zum Durchführen einer von der Maschinenbearbeitung des Werkstücks verschiedenen Verarbeitung vorliegt, steuert das numerische Steuergerät 1 die Verarbeitung, welche der sonstigen Funktion zugeordnet ist. Das numerische Steuergerät 1 gibt an die antreibende Einheit auch einen Reduktionspositionsbefehl 51 aus, welcher ein Positionsbefehl zum Reduzieren einer Vibration der Werkzeugmaschine ist, welche beim Ausführen der sonstigen Funktion erzeugt wird.
  • Das numerische Steuergerät 1 ist mit einer Antriebseinheit 31 und einer entfernten Eingabe/Ausgabe (E/A) 33 verbunden. Die Antriebseinheit 31 ist mit einem Servomotor 32 verbunden. Der Servomotor 32 ist ein Beispiel der antreibenden Einheit, welche das Werkzeug antreibt. Der Servomotor 32 ist mit einer Werkzeugauflage oder dergleichen verbunden, an welcher das Werkzeug zur Maschinenbearbeitung des Werkstücks befestigt ist, und veranlasst das Werkzeug dazu, durch Betreiben der Werkzeugauflage oder dergleichen zu arbeiten.
  • Das numerische Steuergerät 1 umfasst eine Analyseeinheit 21, eine Steuereinheit 22, eine speicherprogrammierbare Steuerung (SPS) 23, ein Maschinenlerngerät 10 und eine Maschinenbearbeitungsprogramm-Speichereinheit 40.
  • Die Maschinenbearbeitungsprogramm-Speichereinheit 40 speichert das Maschinenbearbeitungsprogramm, welches beim Steuern der Werkzeugmaschine verwendet wird. Die Analyseeinheit 21 analysiert das Maschinenbearbeitungsprogramm, welches ein Sequenzprogramm ist. Die Analyseeinheit 21 sendet ein Analyseergebnis an die Steuereinheit 22.
  • Basierend auf dem von der Analyseeinheit 21 gesendeten Analyseergebnis erzeugt die Steuereinheit 22 den Positionsbefehl J1, eine Ausgewähltes-Werkzeug-Nummer J2 und die Sonstige-Funktion-Nummer J3 und gibt diese aus. Der Positionsbefehl J1 ist ein Befehl, welcher eine Maschinenbearbeitungsposition für das Werkzeug angibt. Der Positionsbefehl J1 wird beispielsweise durch eine X-Koordinate, eine Y-Koordinate und eine Z-Koordinate repräsentiert. Die Ausgewähltes-Werkzeug-Nummer J2 ist eine Nummer zum Identifizieren des Werkzeugs, welches zur Maschinenbearbeitung des Werkstücks ausgewählt ist.
  • Die Sonstige-Funktion-Nummer J3 ist eine Nummer zum Identifizieren des Typs der sonstigen Funktion. Weil einige sonstige Funktionen eine Vibration des Werkzeugs oder dergleichen verursachen, ist die vorliegende Ausführungsform darauf gerichtet, dass das numerische Steuergerät 1 eine Vibration der sonstigen Funktion, welche die Vibration verursacht, reduziert. Es wird angenommen, dass die Sonstige-Funktion-Nummer J3 der sonstigen Funktion des Durchführens einer Vibrationsreduktion im Vorhinein in dem numerischen Steuergerät 1 eingestellt ist. Es ist zu beachten, dass die Sonstige-Funktion-Nummer J3 beispielsweise durch einen Parameter eingestellt ist, jedoch durch jedes Verfahren eingestellt werden kann, ohne auf das Einstellungsverfahren unter Verwendung eines Parameters begrenzt zu sein. Die Sonstige-Funktion-Nummer J3 ist eine erste Identifikationsinformation zum Identifizieren des Typs der sonstigen Funktion, und die Ausgewähltes-Werkzeug-Nummer J2 ist eine zweite Identifikationsinformation zum Identifizieren des Typs des Werkzeugs.
  • Des Weiteren gibt die Steuereinheit 22 den Reduktionspositionsbefehl 51, welcher der Sonstige-Funktion-Nummer J3 zugeordnet ist, aus, bis das Maschinenlerngerät 10 den Reduktionspositionsbefehl 51 gelernt hat. Der Reduktionspositionsbefehl 51 ist vorliegend ein Anfangswert des Reduktionspositionsbefehls 51, welcher im Vorhinein in dem numerischen Steuergerät 1 für jeden Typ der sonstigen Funktion registriert ist. Das bedeutet, dass vor dem erstmaligen Ausführen der sonstigen Funktion die Steuereinheit 22 den Anfangswert des Reduktionspositionsbefehls 51, welcher der Sonstige-Funktion-Nummer J3 zugeordnet ist, ausgibt. Wie eben beschrieben wurde, gibt die Steuereinheit 22 daher den im Vorhinein registrierten Reduktionspositionsbefehl 51 aus, bis das Maschinenlerngerät 10 den Reduktionspositionsbefehl 51 gelernt hat.
  • Der Reduktionspositionsbefehl 51 ist ein Positionsbefehl zum Reduzieren einer Vibration, welche durch die ausgeführte sonstige Funktion verursacht wird. Der Reduktionspositionsbefehl 51 ist ein Befehl, welcher eine Maschinenbearbeitungsposition angibt, welche beispielsweise durch eine X-Koordinate, eine Y-Koordinate und eine Z-Koordinate repräsentiert wird.
  • Der Reduktionspositionsbefehl 51 ist ein Positionsbefehl, welcher bewirkt, dass die antreibende Einheit der Werkzeugmaschine eine Vibration (zweite Vibration) erzeugt, welche eine Phase, die der der Vibration (erste Vibration) der Werkzeugmaschine entgegengesetzt ist, und die gleiche Amplitude wie die erste Vibration hat. Zum Beispiel verursacht in einem Fall, in welchem die sonstige Funktion ein Festklemmen ist, eine Vibration einer Klemme, wenn die Klemme eine Rotationsachse fixiert, dass das Werkzeug vibriert. In diesem Fall ist der Reduktionspositionsbefehl 51 ein Positionsbefehl, welcher die Vibration des Werkzeugs reduzieren kann.
  • Nachdem das Maschinenlerngerät 10 Information (Reduktionsinformation, die später beschrieben wird) zum Erzeugen des Reduktionspositionsbefehls 51 gelernt hat, gibt die Steuereinheit 22 den Reduktionspositionsbefehl 51 aus, welcher der von dem Maschinenlerngerät 10 gesendeten Reduktionsinformation zugeordnet ist. Unabhängig davon, ob der Reduktionspositionsbefehl 51 bereits gelernt ist oder nicht, gibt die Steuereinheit 22 den Reduktionspositionsbefehl 51 zu einem Zeitpunkt aus, an welchem eine Vibration reduziert werden kann.
  • Die Steuereinheit 22 gibt den Positionsbefehl J1 und den Reduktionspositionsbefehl 51 an die Antriebseinheit 31 aus und gibt die Sonstige-Funktion-Nummer J3 an die SPS 23 aus. Ferner gibt die Steuereinheit 22 den Positionsbefehl J1, die Ausgewähltes-Werkzeug-Nummer J2 und die Sonstige-Funktion-Nummer J3 an das Maschinenlerngerät 10 aus.
  • Die SPS 23 überträgt eine Anweisung (Sonstige-Funktion-Befehl) zum Ausführen der sonstigen Funktion, welche der von der Steuereinheit 22 gesendeten Sonstige-Funktion-Nummer J3 zugeordnet ist, an die entfernte E/A 33. Die SPS 23 speichert ein Leiterprogramm, in welchem ein Maschinenbetrieb definiert ist. Auf den Empfang der Sonstige-Funktion-Nummer J3 hin, welche den Sonstige-Funktion-Befehl angibt, wie beispielsweise den M-Code, sendet die SPS 23 den Sonstige-Funktion-Befehl gemäß dem Leiterprogramm an die entfernte E/A 33.
  • Die entfernte E/A 33 ist ein Gerät, welches konfiguriert ist, Eingabe- und Ausgabesignale an ein Gerät zu übertragen und von diesem zu empfangen, welches die sonstige Funktion in der Werkzeugmaschine ausführt (hierin nachfolgend als ein Sonstige-Verarbeitung-Ausführungsgerät bezeichnet). Die entfernte E/A 33 empfängt den Sonstige-Funktion-Befehl, welcher die sonstige Funktion angibt, von dem numerischen Steuergerät 1. Die entfernte E/A 33 überträgt den Sonstige-Funktion-Befehl an das Sonstige-Verarbeitung-Ausführungsgerät und empfängt eine Information, welche einen Zustand des Sonstige-Verarbeitung-Ausführungsgeräts und dergleichen angibt, von dem Sonstige-Verarbeitung-Ausführungsgerät. Beispiele des Sonstige-Verarbeitung-Ausführungsgeräts umfassen ein Gerät, welches Kühlwasser eingespritzt, ein Gerät, welches eine Werkzeugersetzung ausführt, ein Gerät, welches eine in der Werkzeugmaschine bereitgestellte Tür öffnet und schließt, und ein Gerät, welches die Rotationsachse festklemmt und löst. Wie oben beschrieben ist, ist die sonstige Funktion eine Funktion, die als Reaktion auf den Sonstige-Funktion-Befehl ausgeführt wird, und in dem Werkstück oder der Werkzeugmaschine wird aufgrund der durch die sonstige Funktion durchgeführten Steuerung eine Vibration (Stoß) verursacht. Die Vibration (Stoß), welche aufgrund der durch die sonstige Funktion durchgeführten Steuerung verursacht wird, ist aperiodisch und kann durch die herkömmliche Technik nicht reduziert werden.
  • Die Antriebseinheit 31 ist mit dem Servomotor 32 verbunden und steuert den Servomotor 32 gemäß einem von dem numerischen Steuergerät 1 gesendeten Befehl. Die Antriebseinheit 31 empfängt von dem numerischen Steuergerät 1 den Positionsbefehl J1, welcher die Position des Werkzeugs angibt, und den Reduktionspositionsbefehl 51, welcher die Position des Werkzeugs zum Reduzieren der Vibration angibt. Wenn der Positionsbefehl J1 empfangen wird, steuert die Antriebseinheit 31 die Position des Werkzeugs basierend auf dem Positionsbefehl J1. Wenn der Reduktionspositionsbefehl 51 empfangen wird, steuert die Antriebseinheit 31 die Position des Werkzeugs basierend auf dem Reduktionspositionsbefehl 51.
  • Die Antriebseinheit 31 berechnet Stromwerte, welche dem Servomotor 32 zuzuführen sind, basierend auf dem Positionsbefehl J1 und dem Reduktionspositionsbefehl 51 von dem numerischen Steuergerät 1. Die Antriebseinheit 31 treibt den Servomotor 32 durch Zuführen eines elektrischen Stroms, welcher dem Positionsbefehl J1 zugeordnet ist, und eines elektrischen Stroms, welcher dem Reduktionspositionsbefehl 51 zugeordnet ist, zu dem Servomotor 32 an.
  • Der Servomotor 32 ist mit der Werkzeugauflage verbunden und rotiert das an der Werkzeugauflage befestigte Werkzeug gemäß dem Strom von der Antriebseinheit 31.
  • Des Weiteren empfängt die Antriebseinheit 31 von dem Servomotor 32 eine Positionsinformation, welche eine tatsächliche Position des Werkzeugs angibt. Die Antriebseinheit 31 empfängt von dem Servomotor 32 auch eine Servomotortemperatur J5, welche die Temperatur des Servomotors 32 angibt.
  • Die Antriebseinheit 31 überträgt die Positionsinformation, welche die tatsächliche Position des Werkzeugs angibt, als eine rückgekoppelte Position J4 (RG-Position) an das Maschinenlerngerät 10. Die Antriebseinheit 31 überträgt auch die Temperatur des Servomotors 32 als die Servomotortemperatur J5 an das Maschinenlerngerät 10. Die RG-Position J4 kann durch einen Detektor detektiert werden, welcher konfiguriert ist, die Position des Werkzeugs zu detektieren, oder kann basierend auf dem Positionsbefehl J1 für den Servomotor 32 berechnet werden.
  • Das Maschinenlerngerät 10 umfasst eine Zustandsbeobachtungseinheit 11 und eine Lerneinheit 12. Die Zustandsbeobachtungseinheit 11 bezieht den Positionsbefehl J1, die Ausgewähltes-Werkzeug-Nummer J2 und die Sonstige-Funktion-Nummer J3 von der Steuereinheit 22. Die Zustandsbeobachtungseinheit 11 bezieht ferner die RG-Position J4 und die Servomotortemperatur J5 von der Antriebseinheit 31.
  • Wenn das Maschinenlerngerät 10 eine Information (Reduktionsinformation) des Reduktionspositionsbefehls 51, welcher der sonstigen Funktion zugeordnet ist, lernt, bezieht in dem numerischen Steuergerät 1 die Zustandsbeobachtungseinheit 11 den Positionsbefehl J1, die Ausgewähltes-Werkzeug-Nummer J2, die Sonstige-Funktion-Nummer J3, die RG-Position J4 und die Servomotortemperatur J5 als Zustandsvariablen. Die Reduktionsinformation ist eine Information zum Erzeugen des Reduktionspositionsbefehls 51 zum Reduzieren einer durch die sonstige Funktion verursachten Vibration. Die Reduktionsinformation umfasst eine Amplitude und einen Ausgabezeitpunkt des Reduktionspositionsbefehls 51. Die Lerneinheit 12 lernt die Reduktionsinformation, welche der sonstigen Funktion zugeordnet ist, basierend auf den von der Zustandsbeobachtungseinheit 11 erhaltenen Zustandsvariablen.
  • Weil der Grad der Vibration in Abhängigkeit des Typs eines an der Werkzeugauflage befestigten Werkzeugs variieren kann, ist die vorliegende Ausführungsform auf das Maschinenlerngerät 10 gerichtet, welches den Typ eines Werkzeugs, welches der Ausgewähltes-Werkzeug-Nummer J2 entspricht, zum Lernen der Reduktionsinformation, welche der sonstigen Funktion zugeordnet ist, verwendet. Weil der Grad der Vibration in Abhängigkeit der Temperatur des Servomotors 32 variieren kann, ist die vorliegende Ausführungsform zudem auf das Maschinenlerngerät 10 gerichtet, welches die Servomotortemperatur J5 zum Lernen der Reduktionsinformation, welche der sonstigen Funktion zugeordnet ist, verwendet. Es ist zu beachten, dass das numerische Steuergerät 1 die Ausgewähltes-Werkzeug-Nummer J2 und die Servomotortemperatur J5 nicht zum Lernen der Reduktionsinformation verwenden muss.
  • 2 ist ein Ablaufdiagramm, welches eine Betriebsprozedur des numerischen Steuergeräts gemäß der Ausführungsform zeigt. Wenn das numerische Steuergerät 1 beginnt, das Maschinenbearbeitungsprogramm auszuführen, analysiert die Analyseeinheit 21 das Maschinenbearbeitungsprogramm (Schritt S10). Dabei bestimmt die Analyseeinheit 21, ob ein als nächstes auszuführender Befehl der Befehle des Maschinenbearbeitungsprogramms der Sonstige-Funktion-Befehl ist oder nicht, welcher einer Vibrationsreduktion zu unterziehen ist (Schritt S20).
  • Wenn der als nächstes auszuführende Befehl der Sonstige-Funktion-Befehl, der einer Vibrationsreduktion zu unterziehen ist, ist (Ja in Schritt S20), sendet die Steuereinheit 22 die Sonstige-Funktion-Nummer J3, die der Vibrationsreduktion zu unterziehen ist, an die SPS 23. Hierdurch überträgt die SPS 23 den Sonstige-Funktion-Befehl, welcher der Sonstige-Funktion-Nummer J3 zugeordnet ist, über die entfernte E/A 33 an das Sonstige-Verarbeitung-Ausführungsgerät. Das Sonstige-Verarbeitung-Ausführungsgerät führt die sonstige Funktion aus, welche dem Sonstige-Funktion-Befehl zugeordnet ist. Das numerische Steuergerät 1 steuert daher die Ausführung der sonstigen Funktion (Schritt S30). Dabei gibt die Steuereinheit 22 den Reduktionspositionsbefehl 51 aus, welcher der Sonstige-Funktion-Nummer J3 zugeordnet ist. In einem Fall, in welchem die durch das Sonstige-Verarbeitung-Ausführungsgerät ausgeführte sonstige Funktion zum ersten Mal verwendet wird, gibt die Steuereinheit 22 an die Antriebseinheit 31 den Reduktionspositionsbefehl 51 aus, welcher im Vorhinein als der Reduktionspositionsbefehl 51, welcher der sonstigen Funktion zugeordnet ist, registriert ist.
  • Daher reduziert das numerische Steuergerät 1 eine durch die sonstige Funktion verursachte Vibration unter Verwendung des Reduktionspositionsbefehls 51, welcher der sonstigen Funktion zugeordnet ist. Wenn die Werkzeugmaschine die sonstige Funktion ausführt, sind das Werkzeug, die Werkzeugauflage, der Servomotor 32 und dergleichen einer Vibration ausgesetzt. In der vorliegenden Ausführungsform verwendet das numerische Steuergerät 1 den Reduktionspositionsbefehl 51, um die Vibration des Werkzeugs, der Werkzeugauflage, des Servomotors 32 und dergleichen zu reduzieren (Schritt S40). Auf diese Weise reduziert das numerische Steuergerät 1 eine durch die sonstige Funktion verursachte Vibration.
  • In einem Fall, in welchem der Sonstige-Funktion-Befehl ein Befehl ist, der einer Vibrationsreduktion unterzogen wird, teilt die Steuereinheit 22 zudem der Zustandsbeobachtungseinheit 11 den Positionsbefehl J1, die Ausgewähltes-Werkzeug-Nummer J2 und die Sonstige-Funktion-Nummer J3 mit. Hierdurch bezieht die Zustandsbeobachtungseinheit 11 den Positionsbefehl J1, die Ausgewähltes-Werkzeug-Nummer J2 und die Sonstige-Funktion-Nummer J3. Die Zustandsbeobachtungseinheit 11 bezieht ferner die RG-Position J4 und die Servomotortemperatur J5 des Servomotors 32 von der Antriebseinheit 31. Die Zustandsbeobachtungseinheit 11 sendet den Positionsbefehl J1, die Ausgewähltes-Werkzeug-Nummer J2, die Sonstige-Funktion-Nummer J3, die RG-Position J4 und die Servomotortemperatur J5 als die Zustandsvariablen an die Lerneinheit 12.
  • Basierend auf den von der Zustandsbeobachtungseinheit 11 gesendeten Zustandsvariablen lernt die Lerneinheit 12 die Reduktionsinformation, welche die Information des Reduktionspositionsbefehls 51 ist, welcher der sonstigen Funktion zugeordnet ist (Schritt S50), und sendet die gelernte Reduktionsinformation an die Steuereinheit 22. Insbesondere lernt die Lerneinheit 12 die Amplitude und den Zeitpunkt des Reduktionspositionsbefehls 51, welcher der sonstigen Funktion zugeordnet ist, und sendet die Reduktionsinformation, welche die Amplitude und den Zeitpunkt des Reduktionspositionsbefehls 51 angibt, an die Steuereinheit 22.
  • Danach kehrt das numerische Steuergerät 1 zu der Verarbeitung von Schritt S20 zurück. Das bedeutet, dass die Analyseeinheit 21 bestimmt, ob ein als nächstes auszuführender Befehl der Sonstige-Funktion-Befehl, der der Vibrationsreduktion zu unterziehen ist, ist oder nicht (Schritt S20).
  • Wenn der als nächstes auszuführende Befehl nicht der Sonstige-Funktion-Befehl ist, welcher der Vibrationsreduktion zu unterziehen ist (Nein in Schritt S20), steuert das numerische Steuergerät 1 eine Maschinenbearbeitungsverarbeitung des Werkstücks basierend auf dem Befehl des Maschinenbearbeitungsprogramms (Schritt S60). Ein Beispiel des Befehls, welcher der Vibrationsreduktion nicht unterzogen wird, aus den Befehlen des Maschinenbearbeitungsprogramms ist ein die Maschinenbearbeitung betreffender Befehl, das heißt, ein Befehl zum Durchführen einer Maschinenbearbeitung an dem Werkstück unter Verwendung des Werkzeugs. Die folgende Beschreibung betrifft einen Fall, in welchem der Befehl, welcher der Vibrationsreduktion nicht unterzogen wird, aus den Befehlen des Maschinenbearbeitungsprogramms ein Maschinenbearbeitungsbefehl ist.
  • In einem Fall, in welchem das numerische Steuergerät 1 die Maschinenbearbeitungsverarbeitung des Werkstücks steuert, erzeugt die Steuereinheit 22 den Positionsbefehl J1, welcher dem Maschinenbearbeitungsbefehl des Maschinenbearbeitungsprogramms zugeordnet ist, und sendet den Positionsbefehl J1 an die Antriebseinheit 31. Hierdurch steuert die Antriebseinheit 31 den Servomotor 32 gemäß dem Positionsbefehl J1. Danach kehrt das numerische Steuergerät 1 zu der Verarbeitung von Schritt S20 zurück. Das bedeutet, dass die Analyseeinheit 21 bestimmt, ob ein als nächstes auszuführender Befehl der Sonstige-Funktion-Befehl, welcher der Vibrationsreduktion zu unterziehen ist, ist oder nicht (Schritt S20).
  • Nach dem Ausführen der sonstigen Funktion startet das numerische Steuergerät 1 unmittelbar die Maschinenbearbeitungsverarbeitung des Werkstücks unabhängig davon, ob eine Vibration in der Werkzeugmaschine auftritt. In einem Fall, in welchem das numerische Steuergerät 1 den Reduktionspositionsbefehl nicht ausführt, soll die Werkzeugmaschine die Maschinenbearbeitungsverarbeitung in einer Situation ausführen, in welcher eine Vibration aufgrund der Ausführung der sonstigen Funktion auftritt. Andererseits gibt in der vorliegenden Ausführungsform das numerische Steuergerät 1 den Positionsbefehl J1, welcher dem Maschinenbearbeitungsbefehl entspricht, aus und gibt dabei den Reduktionspositionsbefehl 51 aus, sodass die Werkzeugmaschine die Maschinenbearbeitungsverarbeitung ausführt und dabei eine durch die Ausführung der sonstigen Funktion verursachte Vibration reduziert. Es ist zu beachten, dass das numerische Steuergerät 1 die Maschinenbearbeitungsverarbeitung des Werkstücks an dem Zeitpunkt beginnen kann, an welchem ein Ausrichtungsfehler des Werkzeugs aufgrund der Vibration kleiner als ein bestimmter Wert wird. Selbst wenn durch die Ausführung der sonstigen Funktion eine Vibration verursacht wird, kann das numerische Steuergerät 1 die Vibration reduzieren und kann daher die Zeit bis zur ausreichenden Dämpfung der Vibration reduzieren.
  • Das numerische Steuergerät 1 wiederholt die Verarbeitung der Schritte S60 und S20, bis in Schritt S20 bestimmt wird, dass der Befehl des Maschinenbearbeitungsprogramms dem Sonstige-Funktion-Befehl, welcher der Vibrationsreduktion zu unterziehen ist, entspricht.
  • Wenn in Schritt S20 bestimmt wird, dass der Befehl des Maschinenbearbeitungsprogramms dem Sonstige-Funktion-Befehl, welcher der Vibrationsreduktion zu unterziehen ist, entspricht (Ja in Schritt S20), steuert das numerische Steuergerät 1 die Ausführung der sonstigen Funktion (Schritt S30).
  • Des Weiteren verwendet das numerische Steuergerät 1 den Reduktionspositionsbefehl 51 zum Reduzieren der Vibration des Werkzeugs, der Werkzeugauflage, des Servomotors 32 und dergleichen (Schritt S40). Dann lernt die Lerneinheit 12 die Reduktionsinformation, welche der sonstigen Funktion zugeordnet ist, basierend auf den von der Zustandsbeobachtungseinheit 11 gesendeten Zustandsvariablen (Schritt S50), und das numerische Steuergerät 1 kehrt zu der Verarbeitung von Schritt S20 zurück.
  • Das numerische Steuergerät 1 wiederholt die Verarbeitung der Schritte S20 bis S50, bis alle Befehle des Maschinenbearbeitungsprogramms ausgeführt sind.
  • Nun wird die Verarbeitung des Erzeugens des Reduktionspositionsbefehls 51 unter Verwendung der Reduktionsinformation beschrieben. 3 ist ein Graph zum Erklären einer Vibration, welche durch das numerische Steuergerät gemäß der Ausführungsform reduziert wird. Eine Wellenform F1 eines Teilgraphen, welcher in einem oberen Teil von 3 gezeigt ist, gibt eine Änderung der RG-Position J4 an, und ein Teilgraph, welcher in einem unteren Teil von 3 gezeigt ist, gibt den Reduktionspositionsbefehl 51 an. In dem Teilgraph, welcher in dem oberen Teil von 3 gezeigt ist, repräsentiert eine horizontale Achse die Zeit und eine vertikale Achse repräsentiert Koordinaten der RG-Position. In dem Teilgraph, welcher in dem unteren Teil von 3 gezeigt ist, repräsentiert eine horizontale Achse die Zeit und die vertikale Achse repräsentiert den Reduktionspositionsbefehl 51 (Koordinaten einer befohlenen Position). Die RG-Position J4 wird beispielsweise durch eine X-Koordinate, eine Y-Koordinate und eine Z-Koordinate repräsentiert. Das Beispiel von 3 zeigt die RG-Position J4 in einer X-Richtung und den Reduktionspositionsbefehl 51 in der X-Richtung.
  • Die Wellenform F1 ist eine Wellenform für einen Fall, dass die sonstige Funktion vor Ausführung des Maschinenbearbeitungsbefehls ausgeführt wird. Das bedeutet, dass die Wellenform F1 eine Wellenform in einem Fall ist, bevor die Bewegung des Werkzeugs für den Positionsbefehl J1 beginnt. Wie durch die Wellenform F1 repräsentiert ist, ändert sich die RG-Position J4 als Reaktion auf die Ausführung der sonstigen Funktion. Das bedeutet, dass durch die Ausführung der sonstigen Funktion eine Vibration erzeugt wird. Um diese Vibration zu reduzieren, gibt das numerische Steuergerät 1 den Reduktionspositionsbefehl 51 zum Reduzieren der Vibration an einem Zeitpunkt T1 aus, an welchem die durch Ausführen der sonstigen Funktion erzeugte Vibration reduziert werden kann.
  • Der Reduktionspositionsbefehl 51 ist ein Befehl zum Verkleinern der RG-Position J4. Das bedeutet, dass der Reduktionspositionsbefehl 51 ein Befehl ist, welcher dazu verwendet wird, um die RG-Position J4 (die Position des Werkzeugs) auf null einzustellen. Insbesondere ist der Reduktionspositionsbefehl 51 ein Befehl zum Bewegen der Position auf eine Position in einer Richtung, welche der RG-Position J4, welche die Position des Werkzeugs ist, entgegengesetzt ist. Beispielsweise in einem Fall, in welchem die RG-Position J4 positive Koordinaten hat, ist der Reduktionspositionsbefehl 51 ein Befehl zum Bewegen des Werkzeugs an eine Position von negativen Koordinaten.
  • Zudem hat der Reduktionspositionsbefehl 51 eine Amplitude A1, durch welche die RG-Position J4 verkleinert werden kann. Das bedeutet, dass die Position des Werkzeugs, welche dem Reduktionspositionsbefehl 51 entspricht, den gleichen Absolutwert wie die RG-Position J4 hat und ein Vorzeichen hat, welches der RG-Position J4 entgegengesetzt ist. In dem Fall, in welchem die RG-Position J4 die in 3 gezeigte Wellenform F1 hat, ist der Reduktionspositionsbefehl 51 ein Positionsbefehl, welcher einer Wellenform X1 entspricht, welche eine erste Welle reduzieren kann. Die Wellenform X1 ist der ersten Welle der Wellenform F1 in Phase entgegengesetzt. Die Amplitude der Wellenform X1 ist bevorzugt gleich der der ersten Welle der Wellenform F1, muss jedoch lediglich der der ersten Welle der Wellenform F1 im Wesentlichen gleich sein. Die Vibration kann reduziert werden, solange die Amplitude der Wellenform X1 kleiner oder gleich der Amplitude der ersten Welle der Wellenform F1 ist.
  • Des Weiteren kann der Reduktionspositionsbefehl 51 einen Positionsbefehl umfassen, welcher eine zweite und nachfolgende Wellen reduzieren kann. Es wird angenommen, dass der Reduktionspositionsbefehl 51 der vorliegenden Ausführungsform einen Positionsbefehl bis zu einer N-ten („N“ ist eine natürliche Zahl) Welle umfasst, damit der Ausrichtungsfehler des Werkzeugs aufgrund der Vibration kleiner als ein bestimmter Wert ist. Das numerische Steuergerät 1 beginnt die Maschinenbearbeitungsverarbeitung des Werkstücks unter Verwendung des Positionsbefehls J1 an dem Zeitpunkt, an welchem der Ausrichtungsfehler des Werkzeugs aufgrund der Vibration kleiner als der bestimmte Wert wird. Dies ermöglicht, dass die RG-Position J4 auch eine Position ist, welche dem Positionsbefehl J1 entspricht.
  • Wie oben beschrieben ist, wird der Reduktionspositionsbefehl 51 basierend auf dem Zeitpunkt T1 zum Erzeugen des Befehls und der Amplitude A1 des Befehls erzeugt, welche in der Reduktionsinformation enthalten sind. Dann wird die durch die sonstige Funktion verursachte Vibration durch den erzeugten Reduktionspositionsbefehl 51 reduziert. Ein Beispiel eines Anfangspunktes für den Zeitpunkt T1, an welchem der Reduktionspositionsbefehl 51 erzeugt wird, ist vorliegend ein Zeitpunkt, an welchem die Analyseeinheit 21 der Steuereinheit 22 eine Ziel-Sonstige-Funktion mitteilt. Es ist zu beachten, dass der Anfangspunkt für den Zeitpunkt T1, an welchem der Reduktionspositionsbefehl 51 erzeugt wird, jeder beliebige Zeitpunkt sein kann, solange eine Vibration reduziert werden kann.
  • Nun wird eine Lernverarbeitung beschrieben, welche durch das Maschinenlerngerät 10 durchgeführt wird. Die Zustandsbeobachtungseinheit 11 beobachtet den Positionsbefehl J1, die Ausgewähltes-Werkzeug-Nummer J2, die Sonstige-Funktion-Nummer J3, die RG-Position J4 und die Servomotortemperatur J5 als die Zustandsvariablen. Die Lerneinheit 12 lernt die Amplitude und den Zeitpunkt des Reduktionspositionsbefehls 51, welche die Reduktionsinformation sind, auf Grundlage eines Datensatzes, welcher auf Basis der Zustandsvariablen erzeugt ist.
  • Das numerische Steuergerät 1 kann jeden Lernalgorithmus als einer von der Lerneinheit 12 zu verwendenden Lernalgorithmus verwenden. Vorliegend wird als ein Beispiel des Lernalgorithmus ein Fall beschrieben, in welchem bestärkendes Lernen angewendet wird. Wenn das numerische Steuergerät 1 das bestärkende Lernen ausführt, beobachtet ein Agent (Aktionsagent) in einer bestimmten Umgebung einen aktuellen Zustand (ein oder mehrere Umgebungsparameter) und bestimmt eine vorzunehmende Aktion.
  • Beim bestärkenden Lernen ändert sich die Umgebung dynamisch mit der Aktion des Agenten, und dem Agenten wird in Abhängigkeit der Änderung der Umgebung eine Belohnung gegeben. Der Agent wiederholt diesen Prozess und lernt eine Aktionsweise, durch welche die Belohnung durch eine Reihe von Aktionen maximiert werden kann. Mit anderen Worten empfängt der Agent von der Umgebung durch Auswählen einer Aktion eine Belohnung und lernt eine Vorgehensweise, durch welche die Belohnung durch eine Reihe von Aktionen maximiert werden kann. Als repräsentative Verfahren des bestärkenden Lernens sind Q-Lernen und TD-Lernen bekannt. Beim Q-Lernen wird eine allgemeine Aktualisierungsformel (gelerntes Modell) einer Aktionswertfunktion Q(s, a) beispielsweise durch den folgenden Ausdruck (1) ausgedrückt.
    [Formel 1] Q ( s t , a t ) Q ( s t , a t ) + α ( r t + 1 + γ max a Q ( s t + 1 , a ) Q ( s t , a t ) )
    Figure DE112020006576T5_0001
  • In Ausdruck (1) repräsentiert „st“ eine Umgebung zum Zeitpunkt t, und „at“ repräsentiert eine Aktion zum Zeitpunkt t. Der Zustand (Umgebung) geht durch die Aktion at in „st+1“ über. Des Weiteren repräsentiert „rt+1“ eine Belohnung, welche durch die Änderung des Zustands gegeben wird, „γ“ repräsentiert einen Diskontierungsfaktor und „α“ repräsentiert eine Lernrate. Es ist zu beachten, dass γ im Bereich von 0 < γ ≤ 1 liegt und α im Bereich von 0 < α ≤ 1 liegt. Wenn Q-Lernen angewendet wird, entspricht die Reduktionsinformation (die Amplitude und der Zeitpunkt des Reduktionspositionsbefehls 51) der Aktion at, und der Positionsbefehl J1, die Ausgewähltes-Werkzeug-Nummer J2, die Sonstige-Funktion-Nummer J3, die RG-Position J4 und die Servomotortemperatur J5 entsprechen dem Zustand st, wobei die Lerneinheit 12 die beste Aktion at in dem Zustand st zum Zeitpunkt t lernt.
  • Die durch Ausdruck (1) ausgedrückte Aktualisierungsformel ist so eingestellt, dass sie einen Aktionswert Q erhöht, wenn der Aktionswert Q der Aktion „a“ mit dem höchsten Q-Wert zum Zeitpunkt t+1 größer als der Aktionswert Q der zum Zeitpunkt t durchgeführten Aktion „a“ ist, oder den Aktionswert „Q“ im gegenteiligen Fall verringert. Mit anderen Worten aktualisiert die Lerneinheit 12 die Aktionswertfunktion Q(s, a) so, dass der Aktionswert Q der Aktion „a“ zum Zeitpunkt t den besten Aktionswert Q zum Zeitpunkt t+1 anstrebt. Hierdurch entwickelt sich der beste Aktionswert Q in einer bestimmten Umgebung nach und nach zu Aktionswerten Q in vorherigen Umgebungen.
  • Die Lerneinheit 12 umfasst eine Belohnungsberechnungseinheit 15 und eine Funktionsaktualisierungseinheit 16. Die Belohnungsberechnungseinheit 15 ist dazu konfiguriert, eine Belohnung „r“ basierend auf den Zustandsvariablen zu berechnen. Die Belohnungsberechnungseinheit 15 berechnet die Belohnung „r“ basierend auf einer Differenz zwischen dem Positionsbefehl J1 und der RG-Position J4, d. h. einem durch Vibration bedingten Fehler. Beispielsweise erhöht die Belohnungsberechnungseinheit 15 die Belohnung „r“ (beispielsweise wird eine Belohnung von „1“ gegeben), wenn die Differenz zwischen dem Positionsbefehl J1 und der RG-Position J4 sehr klein ist. Andererseits verkleinert die Belohnungsberechnungseinheit 15 die Belohnung „r“ (beispielsweise wird eine Belohnung von „-1“ gegeben), wenn die Differenz zwischen dem Positionsbefehl J1 und der RG-Position J4 sehr groß ist.
  • Die Lerneinheit 12 verwendet für die Differenz zwischen dem Positionsbefehl J1 und der RG-Position J4 eine Summe solcher Differenzen während einer Zeitdauer, welche sich von einem Zeitpunkt nach dem Sonstige-Funktion-Befehl bis zu dem nächsten Befehl erstreckt. Es ist zu beachten, dass die Lerneinheit 12 dazu konfiguriert sein kann, eine Bezugszeit der Differenz durch einen Parameter oder dergleichen im Vorhinein einzustellen und als die Differenz eine Summe solcher Differenzen von nach dem Sonstige-Funktion-Befehl bis zum Verstreichen der eingestellten Bezugszeit zu verwenden.
  • Die Funktionsaktualisierungseinheit 16 aktualisiert eine Funktion zum Bestimmen der Reduktionsinformation auf Grundlage der durch die Belohnungsberechnungseinheit 15 berechneten Belohnung „r“. Im Falle des Q-Lernens verwendet die Funktionsaktualisierungseinheit 16 beispielsweise die Aktionswertfunktion Q (st, at), ausgedrückt durch Ausdruck (1), als die Funktion zum Berechnen der Reduktionsinformation. Die Lerneinheit 12 führt das oben beschriebene Lernen wiederholt aus.
  • Es ist zu beachten, dass die vorliegende Ausführungsform für den Fall beschrieben wurde, in welchem für den durch die Lerneinheit 12 verwendeten Lernalgorithmus bestärkendes Lernen angewendet wird, jedoch ist der Lernalgorithmus auf bestärkendes Lernen nicht begrenzt. Neben bestärkendem Lernen ist es auch möglich, überwachtes Lernen, unüberwachtes Lernen, teilüberwachtes Lernen oder dergleichen für den Lernalgorithmus anzuwenden.
  • Des Weiteren kann die Lerneinheit 12 für den oben beschriebenen Lernalgorithmus auch Deep Learning verwenden, welches eine Extraktion einer Merkmalsgröße selbst lernt, oder kann ein anderes öffentlich bekanntes Verfahren verwenden, wie beispielsweise ein neuronales Netz, genetische Programmierung, funktionallogische Programmierung oder eine Supportvektormaschine, um das Maschinenlernen durchzuführen.
  • Es ist zu beachten, dass das Maschinenlerngerät 10 dazu verwendet wird, die Reduktionsinformation des numerischen Steuergeräts 1 zu lernen, jedoch kann das Gerät 1 beispielsweise ein anderes Gerät sein, welches mit dem numerischen Steuergerät 1 über ein Netzwerk verbunden ist und von dem numerischen Steuergerät 1 separat bereitgestellt ist. Alternativ kann das Maschinenlerngerät 10 in dem numerischen Steuergerät 1 gebildet sein. Weiter alternativ kann das Maschinenlerngerät 10 auf einem Cloudserver vorliegen.
  • Des Weiteren kann die Lerneinheit 12 die Reduktionsinformation auf Grundlage von Datensätzen lernen, welche für mehrere numerische Steuergeräte 1 erzeugt sind. Es ist zu beachten, dass die Lerneinheit 12 die Reduktionsinformation durch Beziehen von Datensätzen von mehreren numerischen Steuergeräten 1 und mehreren Antriebseinheiten 31, die an demselben Ort verwendet werden, oder durch Verwenden von Datensätzen, die von zwei oder mehr Werkzeugmaschinen und zwei oder mehr Antriebseinheiten 31 gesammelt werden, die voneinander unabhängig an unterschiedlichen Orten arbeiten, lernen kann. Des Weiteren kann die Lerneinheit 12 das numerische Steuergerät 1, von welchem der Datensatz zu sammeln ist, zu den Sammelobjekten im Betrieb hinzufügen oder kann andererseits das numerische Steuergerät 1 von den Sammelobjekten entfernen. Ferner kann das Maschinenlerngerät 10, welches die Reduktionsinformation für ein bestimmtes numerisches Steuergerät 1 gelernt hat, mit einem anderen numerischen Steuergerät 1 verbunden werden, und in einem solchen Fall kann die Lerneinheit 12 konfiguriert sein, die Reduktionsinformation für das andere numerische Steuergerät 1 neu zu lernen und zu aktualisieren.
  • Wenn die Steuereinheit 22 den Sonstige-Funktion-Befehl von der Analyseeinheit 21 empfängt, bestimmt die Steuereinheit 22, ob die entsprechende sonstige Funktion durch das Maschinenlerngerät 10 bereits gelernt wurde oder nicht. Wenn die sonstige Funktion bereits durch das Maschinenlerngerät 10 gelernt wurde, erzeugt die Steuereinheit 22 den Reduktionspositionsbefehl 51 basierend auf der Reduktionsinformation, welche der sonstigen Funktion entspricht. Beim Ausführen der sonstigen Funktion reduziert das numerische Steuergerät 1 die Vibration der Werkzeugmaschine unter Verwendung des erzeugten Reduktionspositionsbefehls 51.
  • Es ist zu beachten, dass, wenn die Reduktionsinformation im Vorhinein ohne Lernen der Reduktionsinformation eingestellt werden kann, das numerische Steuergerät 1 dazu konfiguriert sein kann, die Reduktionsinformation als einen Parameter und/oder dergleichen einzustellen, um den Reduktionspositionsbefehl 51 basierend auf dem Parameter so zu erzeugen, dass die Vibration reduziert wird.
  • Nun wird eine Hardwarekonfiguration des Maschinenlerngeräts 10 beschrieben. 4 ist ein Diagramm, welches ein Beispiel einer Hardwarekonfiguration zum Implementieren des Maschinenlerngeräts des numerischen Steuergeräts gemäß der Ausführungsform zeigt.
  • Das Maschinenlerngerät 10 kann durch ein Eingabegerät 300, einen Prozessor 100, einen Speicher 200 und ein Ausgabegerät 400 implementiert sein. Der Prozessor 100 ist beispielsweise eine zentrale Verarbeitungseinheit (CPU) oder ein hochintegriertes System (LSI), wobei die CPU auch als ein zentraler Prozessor, ein Verarbeitungsgerät, ein Arithmetikgerät, ein Mikroprozessor, ein Mikrocomputer oder ein digitaler Signalprozessor (DSP) bezeichnet wird. Der Speicher 200 ist beispielsweise ein Direktzugriffsspeicher (RAM) oder ein nur lesbarer Speicher (ROM).
  • Das Maschinenlerngerät 10 wird durch den Prozessor 100 implementiert, welcher ein Lernprogramm liest und ausführt, welches in dem Speicher 200 gespeichert ist und konfiguriert ist, durch einen Computer ausgeführt zu werden, um den Betrieb des Maschinenlerngeräts 10 zu implementieren. Man kann auch sagen, dass das Lernprogramm, welches ein Programm zum Implementieren des Betriebs des Maschinenlerngeräts 10 ist, den Computer dazu veranlasst, eine Prozedur oder ein Verfahren für das Maschinenlerngerät 10 auszuführen.
  • Das durch das Maschinenlerngerät 10 auszuführende Lernprogramm hat eine modulare Zusammensetzung, welche die Zustandsbeobachtungseinheit 11 und die Lerneinheit 12 umfasst, und diese Einheiten werden in ein Hauptspeichergerät geladen und auf dem Hauptspeichergerät gebildet.
  • Das Eingabegerät 300 empfängt und sendet an den Prozessor 100 den Positionsbefehl J1, die Ausgewähltes-Werkzeug-Nummer J2, die Sonstige-Funktion-Nummer J3, die RG-Position J4 und die Servomotortemperatur J5. Der Speicher 200 wird als ein temporärer Speicher verwendet, wenn der Prozessor 100 diverse Verarbeitungsarten ausführt. Der Speicher 200 speichert die Zustandsvariablen, die Belohnungen, die Aktionswertfunktion und dergleichen. Das Ausgabegerät 400 gibt die Reduktionsinformation, welche der sonstigen Funktion zugeordnet ist, an die Steuereinheit 22 aus.
  • Das Lernprogramm kann in einem computerlesbaren Speichermedium in einer Datei mit einem installierbaren Format oder einem ausführbaren Format gespeichert sein und als ein Computerprogrammprodukt bereitgestellt werden. Das Lernprogramm kann dem Maschinenlerngerät 10 auch über ein Netzwerk, wie beispielsweise dem Internet, bereitgestellt werden. Es ist zu beachten, dass die Funktionen des Maschinenlerngeräts 10 teilweise durch dedizierte Hardware, wie beispielsweise einer dedizierten Schaltung, und teilweise durch Software oder Firmware implementiert sein können. Das numerische Steuergerät 1 kann auch durch eine Hardwarekonfiguration implementiert sein, welche der des Maschinenlerngeräts 10 gleich ist.
  • Übrigens beeinflusst in einem Fall, in welchem die sonstige Funktion eine Vibration der Werkzeugmaschine verursacht, diese Vibration den Servomotor stark. Die Vibration des Servomotors reduziert eine Positionierungsgenauigkeit der Maschinenbearbeitungsposition und damit nimmt die Maschinenbearbeitungsgenauigkeit ab. Je nach Situation kann in diesem Fall aus dem Grund, dass ein großer Fehler der Maschinenbearbeitungsposition vorliegt, aus dem Grund, dass ein Überschießen der Werkzeugposition detektiert wird, oder aus ähnlichen Gründen ein Servoalarm ausgegeben werden. Das numerische Steuergerät 1 der vorliegenden Ausführungsform reduziert die Vibration der Werkzeugmaschine und kann daher verhindern, dass die Maschinenbearbeitungsgenauigkeit abnimmt, und kann verhindern, dass der Servoalarm ausgegeben wird.
  • Des Weiteren kann durch Festklemmen oder Lösen der Rotationsachse eine große Vibration erzeugt werden. Wenn ein Druck zum Festklemmen erhöht wird, um die Maschinenbearbeitungsdauer zu verkürzen, kann eine große Vibration erzeugt werden. Auch wenn der Druck hierfür reduziert wird, um das Erzeugen einer großen Vibration zu vermeiden, verlängert sich die Operationsdauer zum Festklemmen oder Lösen und die Maschinenbearbeitungsdauer verlängert sich. Das numerische Steuergerät 1 der vorliegenden Ausführungsform kann die Vibration der Werkzeugmaschine selbst dann reduzieren, wenn der Druck für das Festklemmen erhöht wird, um die Operationsdauer für das Festklemmen oder Lösen zu verkürzen.
  • Wie oben beschrieben ist, steuert das numerische Steuergerät 1 der Ausführungsform bei Vorliegen des Sonstige-Funktion-Befehls die Ausführung, welche der sonstigen Funktion entspricht, und gibt den Reduktionspositionsbefehl 51 zum Reduzieren einer beim Ausführen der sonstigen Funktion erzeugten Vibration an den Servomotor 32 an dem Zeitpunkt zum Reduzieren der Vibration aus. Der Reduktionspositionsbefehl 51 ist ein Positionsbefehl, welcher den Servomotor 32 dazu veranlasst, eine Vibration mit einer Phase, die der der Vibration der Werkzeugmaschine entgegengesetzt ist, und mit der gleichen Amplitude wie der der Vibration der Werkzeugmaschine zu erzeugen. Hierdurch kann das numerische Steuergerät 1 eine aperiodische Vibration reduzieren, welche durch den Befehl erzeugt wird, wenn die sonstige Funktion ausgeführt wird.
  • Weil das numerische Steuergerät 1 die Vibration des Servomotors 32 reduzieren kann, wird daher die Maschinenbearbeitungsgenauigkeit der durch die Werkzeugmaschine durchgeführten Maschinenbearbeitung verbessert. Zudem kann das numerische Steuergerät 1 eine Vibration reduzieren, es ist möglich, zu verhindern, dass der Servoalarm ausgegeben wird. Zudem kann das numerische Steuergerät 1 eine durch den Betrieb der sonstigen Funktion bedingte Vibration reduzieren, wodurch ermöglicht wird, die Betriebsgeschwindigkeit der Sonstige-Funktion-Operation zu erhöhen und die Maschinenbearbeitungsdauer zu verkürzen.
  • Die in der obigen Ausführungsform gezeigte Konfiguration ist lediglich ein Beispiel, welches mit anderen öffentlich bekannten Techniken kombiniert werden kann und teilweise weggelassen und/oder modifiziert werden kann, ohne den Umfang der vorliegenden Offenbarung zu verlassen.
  • Bezugszeichenliste
  • 1
    numerisches Steuergerät;
    10
    Maschinenlerngerät;
    11
    Zustandsbeobachtungseinheit;
    12
    Lerneinheit;
    15
    Belohnungsberechnungseinheit;
    16
    Funktionsaktualisierungseinheit;
    21
    Analyseeinheit;
    22
    Steuereinheit;
    23
    SPS;
    31
    Antriebseinheit;
    32
    Servomotor;
    33
    entfernte E/A;
    40
    Maschinenbearbeitungsprogramm-Speichereinheit;
    51
    Reduktionspositionsbefehl;
    100
    Prozessor;
    200
    Speicher;
    300
    Eingabegerät;
    400
    Ausgabegerät;
    J1
    Positionsbefehl;
    J2
    Ausgewähltes-Werkzeug-Nummer;
    J3
    Sonstige-Funktion-Nummer;
    J4
    RG-Position;
    J5
    Servomotortemperatur.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2000505578 A [0005]

Claims (6)

  1. Numerisches Steuergerät, umfassend: eine Steuereinheit, welche einen Positionsbefehl an eine antreibende Einheit, welche ein Werkzeug antreibt, ausgibt, wenn eine Werkzeugmaschine eine Maschinenbearbeitung an einem Werkstück unter Verwendung des Werkzeugs durchführt, welche eine Verarbeitung, welche einer sonstigen Funktion zugeordnet ist, durch welche eine von einer Maschinenbearbeitung des Werkstücks verschiedene Verarbeitung ausgeführt wird, steuert, wenn ein Befehl der sonstigen Funktion vorliegt, und welche an die antreibende Einheit einen Reduktionspositionsbefehl ausgibt, welcher ein Positionsbefehl zum Reduzieren einer beim Ausführen der sonstigen Funktion erzeugten ersten Vibration der Werkzeugmaschine ist, wobei der Reduktionspositionsbefehl ein Positionsbefehl ist, welcher die antreibende Einheit dazu veranlasst, eine zweite Vibration mit einer Phase, die der der ersten Vibration entgegengesetzt ist, und einer Amplitude, die kleiner oder gleich einer Amplitude der ersten Vibration ist, zu erzeugen.
  2. Numerisches Steuergerät gemäß Anspruch 1, wobei der Reduktionspositionsbefehl im Vorhinein für jeden Typ der sonstigen Funktion registriert ist, und die Steuereinheit den Reduktionspositionsbefehl, welcher der sonstigen Funktion zugeordnet ist, an die antreibende Einheit ausgibt.
  3. Numerisches Steuergerät gemäß Anspruch 1, ferner umfassend: ein Maschinenlerngerät, umfassend: eine Zustandsbeobachtungseinheit, welche eine erste Identifikationsinformation, welche einen Typ der sonstigen Funktion angibt, den Positionsbefehl und eine rückgeführte Position, die dem Positionsbefehl zugeordnet ist, als Zustandsvariablen beobachtet; und eine Lerneinheit, welche einen Ausgabezeitpunkt des Reduktionspositionsbefehls und die Amplitude des Reduktionspositionsbefehls auf Grundlage eines basierend auf den Zustandsvariablen erzeugten Datensatzes lernt, wobei die Steuereinheit den Reduktionspositionsbefehl an einem durch die Lerneinheit gelernten Ausgabezeitpunkt des Reduktionspositionsbefehls ausgibt.
  4. Numerisches Steuergerät gemäß Anspruch 3, wobei die Zustandsvariablen eine zweite Identifikationsinformation umfassen, welche einen Typ des Werkzeugs und eine Temperatur der antreibenden Einheit angibt.
  5. Numerisches Steuergerät gemäß Anspruch 3 oder 4, wobei die Lerneinheit umfasst: eine Belohnungsberechnungseinheit, welche eine Belohnung basierend auf einer Differenz zwischen dem Positionsbefehl und der rückgeführten Position berechnet; und eine Funktionsaktualisierungseinheit, welche basierend auf der Belohnung eine Funktion zum Bestimmen des Zeitpunkts und der Amplitude aktualisiert.
  6. Numerisches Steuergerät gemäß Anspruch 5, wobei die Funktion eine Aktionswertfunktion ist.
DE112020006576.6T 2020-03-24 2020-03-24 Numerisches Steuergerät Pending DE112020006576T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/012983 WO2021192023A1 (ja) 2020-03-24 2020-03-24 数値制御装置

Publications (1)

Publication Number Publication Date
DE112020006576T5 true DE112020006576T5 (de) 2022-12-01

Family

ID=72916077

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020006576.6T Pending DE112020006576T5 (de) 2020-03-24 2020-03-24 Numerisches Steuergerät

Country Status (4)

Country Link
JP (1) JP6775720B1 (de)
CN (1) CN115315665A (de)
DE (1) DE112020006576T5 (de)
WO (1) WO2021192023A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2022153936A1 (de) * 2021-01-14 2022-07-21
WO2023223470A1 (ja) * 2022-05-18 2023-11-23 三菱電機株式会社 制御パラメータ調整装置、数値制御装置および制御パラメータ調整方法
JP7490149B1 (ja) 2023-05-10 2024-05-24 三菱電機株式会社 消費電力量調整装置、数値制御装置、および消費電力量調整方法
CN117075535B (zh) * 2023-10-16 2024-01-02 上海诺倬力机电科技有限公司 振动抑制方法、装置、电子设备及可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000505578A (ja) 1996-03-01 2000-05-09 フラウンホーファー・ゲゼルシャフト ツア フェルデルンク デア アンゲヴァンテン フォルシュンク アインゲトラーゲナー フェアアイン 切削工作機械における動的変位を補正する方法および装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54113779A (en) * 1978-02-24 1979-09-05 Toyo Electric Mfg Co Ltd Digital servo-device
JP3764432B2 (ja) * 2003-03-06 2006-04-05 ファナック株式会社 工具の切粉付着防止/除去方法、及び工具交換装置
JP4261470B2 (ja) * 2004-11-30 2009-04-30 ファナック株式会社 制御装置
JP6693013B2 (ja) * 2016-02-04 2020-05-13 ブラザー工業株式会社 振動抑制装置と振動抑制方法
JP6903485B2 (ja) * 2017-05-12 2021-07-14 株式会社日立製作所 制振装置および加工機
JP7020649B2 (ja) * 2018-03-02 2022-02-16 ブラザー工業株式会社 振動抑制装置と振動抑制方法
CN110914770B (zh) * 2018-07-05 2021-03-12 三菱电机株式会社 数控装置
JP6605185B1 (ja) * 2019-04-08 2019-11-13 三菱電機株式会社 数値制御装置およびびびり振動の発生判定方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000505578A (ja) 1996-03-01 2000-05-09 フラウンホーファー・ゲゼルシャフト ツア フェルデルンク デア アンゲヴァンテン フォルシュンク アインゲトラーゲナー フェアアイン 切削工作機械における動的変位を補正する方法および装置

Also Published As

Publication number Publication date
JP6775720B1 (ja) 2020-10-28
CN115315665A (zh) 2022-11-08
JPWO2021192023A1 (de) 2021-09-30
WO2021192023A1 (ja) 2021-09-30

Similar Documents

Publication Publication Date Title
DE112020006576T5 (de) Numerisches Steuergerät
DE102016008994B4 (de) Werkzeugmaschine, simulationsvorrichtung und maschineneinlerngerät
DE102018202654B4 (de) Vorrichtung für maschinelles Lernen, Servoregeleinrichtung, Servoregelsystem und Verfahren für maschinelles Lernen
DE102018200794B4 (de) Aktionsinformations-lernvorrichtung, aktionsinformations-optimierungssystem und aktionsinformations-lernprogramm
DE102005015810B4 (de) Bearbeitungszeit-Berechnungsvorrichtung
DE102015107436B4 (de) Lernfähige Bahnsteuerung
DE102017003943A1 (de) Zellensteuervorrichtung zum Optimieren von Bewegungen eines Produktionssystems, das Industriemaschinen umfasst
DE102017002996A1 (de) Maschinenlernvorrichtung, die ein lernen unter verwendung eines simulationsergebnisses durchführt, maschinensystem, herstellungssystem und maschinenlernverfahren
DE102018211148A1 (de) Maschinenlernvorrichtung, servomotor- regeleinrichtung, servomotor-regelsystem und maschinenlernverfahren
DE112019007725T5 (de) Motorsteuerung und Motorsteuerungsverfahren
DE102011012710A1 (de) Schnelle Identifikation und Erzeugung von Prozessmodellen
DE102019006725B4 (de) Steuereinrichtung und Steuersystem
DE102017110469A1 (de) Informationsverarbeitungsvorrichtung zur Verarbeitung von Bearbeitungsinformationen, die zwischen einer Vielzahl von Herstellungszellen ausgetauscht werden
DE102019203821B3 (de) Verfahren und System zum Durchführen einer Roboterapplikation
DE102009003003A1 (de) Numerische Steuerung mit der Funktion einer Koordinatentransformation der Werkzeugphase
DE102019204949A1 (de) Maschinelle lernvorrichtung, steuervorrichtung und maschinelles lernverfahren
DE112018008087B4 (de) Numerisches Steuerungsgerät und numerisches Steuerungsverfahren
DE112014006594B4 (de) Anweisungswerterzeugungsvorrichtung
DE112019007434T5 (de) Numerische Steuerung, Maschinenlernvorrichtung und Verfahren zur numerischen Steuerung
EP3771522A1 (de) Verfahren und manipulationssystem zur manipulation eines objekts durch einen roboter mittels vektorfelder
DE102017007909A1 (de) Produktionssteuerung, ausgestattet mit einer Funktion zur Identifizierung der Ursache nach einem Betriebsstop einer Produktionseinrichtung, die Fertigungseinrichtungen umfasst
WO2021185909A1 (de) Computerimplementiertes verfahren zum erstellen von steuerungsdatensätzen, cad-cam-system und fertigungsanlage
DE102018007107A1 (de) Steuereinrichtung und maschinenlerneinrichtung
DE112017001162T5 (de) Servosteuervorrichtung
DE102017010678B4 (de) Verfahren und System zum Vorgeben eines Beaufschlagungsmuster-Befehls-Lexikons zur Eingabe wenigstens eines Roboterbefehls

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication