DE112018008087T5 - Numerisches Steuerungsgerät und numerisches Steuerungsverfahren und Maschinenlerngerät - Google Patents

Numerisches Steuerungsgerät und numerisches Steuerungsverfahren und Maschinenlerngerät Download PDF

Info

Publication number
DE112018008087T5
DE112018008087T5 DE112018008087.0T DE112018008087T DE112018008087T5 DE 112018008087 T5 DE112018008087 T5 DE 112018008087T5 DE 112018008087 T DE112018008087 T DE 112018008087T DE 112018008087 T5 DE112018008087 T5 DE 112018008087T5
Authority
DE
Germany
Prior art keywords
vibration
vibration waveform
tool
axis direction
movement
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
DE112018008087.0T
Other languages
English (en)
Other versions
DE112018008087B4 (de
Inventor
Masakazu Sagasaki
Satoru INOKUCHI
Yoshinori Yamada
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 DE112018008087T5 publication Critical patent/DE112018008087T5/de
Application granted granted Critical
Publication of DE112018008087B4 publication Critical patent/DE112018008087B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/182Numerical 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 the machine tool function, e.g. thread cutting, cam making, tool direction control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q15/00Automatic control or regulation of feed movement, cutting velocity or position of tool or work
    • B23Q15/007Automatic control or regulation of feed movement, cutting velocity or position of tool or work while the tool acts upon the workpiece
    • B23Q15/013Control or regulation of feed movement
    • 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/37346Cutting, chip quality
    • 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/37435Vibration of machine

Abstract

Ein numerisches Steuerungsgerät (IX) zum Steuern einer Hauptachse (60), welche eine Drehachse für ein Werkstück (70) ist, eine Antriebsachse (61X), welche ein Werkzeug (66A) zum Vibrationsschneiden des Werkstücks (70) in einer X-Achsenrichtung verfährt, und eine Antriebsachse (61Z), welche das Werkzeug (66A) oder das Werkstück (70) in einer Z-Achsenrichtung verfährt, umfasst: eine Speichereinheit (34), welche ein Maschinenbearbeitungsprogramm zum Vibrationsschneiden des Werkstücks (70) speichert; und eine Steuerungsberechnungseinheit (2X), welche einen bestimmten Punkt, den das Werkzeug (66A) während des Vibrationsschneidens durchläuft, basierend auf einem Toleranzwert, welche ein erlaubter Fehler bei der Maschinenbearbeitung einer Ecke des Werkstücks (70) ist, berechnet und welche eine Vibrationswellenform eines Werkzeugs (66A) erzeugt, welche einen Bewegungspfad des den bestimmten Punkt durchlaufenden Werkzeugs (66A) angibt, wobei die Steuerungsberechnungseinheit (2X) eine Bewegung und eine Vibration des Werkzeugs (66A) in Abhängigkeit des Maschinenbearbeitungsprogramms und der Vibrationswellenform steuert.

Description

  • Bereich
  • Die vorliegende Erfindung betrifft ein numerisches Steuerungsgerät, welches ein Vibrationsschneiden steuert, welches durch Vibrieren eines Werkzeugs durchgeführt wird, ein numerisches Steuerungsverfahren und ein Maschinenlerngerät.
  • Hintergrund
  • Im Bereich des Drehens steuert ein numerisches Steuerungsgerät den Betrieb eines Werkzeugs gemäß einem Maschinenbearbeitungsprogramm zum Maschinenbearbeiten eines zu maschinenbearbeitenden Objekts, um das Werkzeug dazu zu bringen, das Objekt zu maschinenbearbeiten. Einige numerische Steuerungsgeräte veranlassen ein Werkzeug dazu, ein Vibrationsschneiden an einem zu maschinenbearbeitenden Objekt durchzuführen, wobei das Werkzeug entlang eines Bewegungspfads des Werkzeugs mit einer bestimmten Frequenz vibriert.
  • Ein in Patentliteratur 1 beschriebenes numerisches Steuerungsgerät berechnet einen Befehlsbewegungswert pro Zeiteinheit aus Bewegungsbefehlen für ein Werkzeug, berechnet einen Vibrationsbewegungswert pro Zeiteinheit aus einem Vibrationsparameter, kombiniert den Befehlsbewegungswert und den Vibrationsbewegungswert, wodurch ein kombinierter Bewegungswert berechnet wird, und steuert ein Vibrationsschneiden basierend auf dem kombinierten Bewegungswert. Um einen Eckabschnitts eines zu maschinenbearbeitenden Objekts in der X-Achsenrichtung und der Z-Achsenrichtung zu maschinenbearbeiten, maschinenbearbeitet das numerische Steuerungsgerät, welches in Patentliteratur 1 beschrieben ist, den Eckabschnitts glatt, indem ein Befehl in der Z-Achsenrichtung an einem Punkt ausgeführt wird, an dem eine vordere Vibrationsposition des Werkzeugs eine Zielposition in der X-Achsenposition des Werkzeugs erreicht, statt auf einen nächsten Befehl zu warten, bis das Werkzeug die Zielposition erreicht.
  • Zitierungsliste
  • Patentliteratur
  • Patentliteratur 1: Japanisches Patent Nummer 5599523
  • Zusammenfassung
  • Technisches Problem
  • Die Technologie der Patentliteratur 1 ermöglicht eine Maschinenbearbeitung einer Ecke in eine bestimmte Form, sie ermöglicht jedoch nicht, eine Ecke mit einer gewünschten Maschinenbearbeitungsgenauigkeit zu maschinenbearbeiten.
  • Die vorliegende Erfindung wurde in Anbetracht des Obigen gemacht und ihr Ziel ist es, ein numerisches Steuerungsgerät bereitzustellen, welches fähig ist, eine Maschinenbearbeitung einer Ecke mit einer gewünschten Maschinenbearbeitungsgenauigkeit durchzuführen.
  • Lösung des Problems
  • Um die vorgenannten Probleme zu lösen und das Ziel zu erreichen, stellt die vorliegende Erfindung ein numerisches Steuerungsgerät zum Steuern einer Hauptachse, einer ersten Antriebsachse und einer zweiten Antriebsachse bereit, wobei die Hauptachse eine Drehachse für ein zu maschinenbearbeitendes Objekt ist, wobei die erste Antriebsachse ein Werkzeug zum Vibrationsschneiden des Objekts in einer ersten Richtung verfährt, wobei die zweite Antriebsachse das Werkzeug oder das Objekt in einer zweiten Richtung verfährt, wobei das numerische Steuerungsgerät eine Speichereinheit umfasst, welche ein Maschinenbearbeitungsprogramm zum Vibrationsschneiden des Objekts speichert. Das numerische Steuerungsgerät gemäß der vorliegenden Erfindung umfasst eine Steuerungsberechnungseinheit, welche einen bestimmten Punkt, welchen das Werkzeug während des Vibrationsschneidens durchläuft, basierend auf einem Toleranzwert, welcher ein zugelassener Fehler beim Maschinenbearbeiten einer Ecke des Objekts ist, berechnet und welche eine Vibrationswellenform des Werkzeugs erzeugt, welche einen Bewegungspfad des den bestimmten Punkt durchlaufenden Werkzeugs angibt. Die Steuerungsberechnungseinheit steuert die Bewegung und die Vibration des Werkzeugs gemäß dem Maschinenbearbeitungsprogramm und der Vibrationswellenform.
  • Vorteilhafte Wirkungen der Erfindung
  • Ein numerisches Steuerungsgerät gemäß der vorliegenden Erfindung bewirkt, dass es möglich ist, eine Ecke mit einer gewünschten Maschinenbearbeitungsgenauigkeit zu maschinenbearbeiten.
  • Figurenliste
    • 1 ist ein Diagramm, welches ein Beispiel einer Konfiguration eines numerischen Steuerungsgeräts gemäß einer ersten Ausführungsform zeigt.
    • 2 ist ein Diagramm, welches ein Beispiel einer Konfiguration einer Werkzeugmaschine gemäß der ersten Ausführungsform zeigt.
    • 3 ist ein Diagramm, welches ein Maschinenbearbeitungsprogramm zeigt, welches durch das numerische Steuerungsgerät gemäß der ersten Ausführungsform zu verwenden ist.
    • 4 ist ein Graph, welcher einen Bewegungspfad zeigt, welcher durch das numerische Steuerungsgerät gemäß der ersten Ausführungsform erzeugt wird.
    • 5 ist ein Ablaufdiagramm, welches Prozeduren eines Prozesses der Bewegungspfadeinstellung zeigt, welcher durch das numerische Steuerungsgerät gemäß der ersten Ausführungsform durchgeführt wird.
    • 6 ist ein Graph zum Erläutern eines bestimmten Wegpunktes, welcher durch das numerische Steuerungsgerät gemäß der ersten Ausführungsform eingestellt wird.
    • 7 ist ein Graph zum Erläutern von Vibrationswellenformen, welche durch das numerische Steuerungsgerät gemäß der ersten Ausführungsform erzeugt werden.
    • 8 ist ein Diagramm, welches ein Maschinenbearbeitungsprogramm zeigt, welches durch ein numerisches Steuerungsgerät gemäß einer zweiten Ausführungsform zu verwenden ist.
    • 9 ist ein Graph, welcher einen Bewegungspfad zeigt, welcher durch das numerische Steuerungsgerät gemäß der zweiten Ausführungsform erzeugt wird.
    • 10 ist ein Ablaufdiagramm, welches Prozeduren eines Prozesses der Bewegungspfadeinstellung zeigt, welcher durch das numerische Steuerungsgerät gemäß der zweiten Ausführungsform durchgeführt wird.
    • 11 ist ein Diagramm, welches die Form eines Werkstücks in einem Fall zeigt, in welchem eine Ecke des Werkstücks einen Winkel von 60° hat und ein Bewegungspfad einen Winkel von 120° hat.
    • 12 ist ein Diagramm, welches die Form eines Werkstücks in einem Fall zeigt, in welchem eine Ecke des Werkstücks einen Winkel von 300° hat und ein Bewegungspfad einen Winkel von 60° hat.
    • 13 ist ein Graph zum Erläutern von Vibrationswellenformen, welche durch das numerische Steuerungsgerät gemäß der zweiten Ausführungsform erzeugt werden.
    • 14 ist ein Graph, welcher einen Bewegungspfad zeigt, welcher durch ein numerisches Steuerungsgerät gemäß einer dritten Ausführungsform erzeugt wird.
    • 15 ist ein Ablaufdiagramm, welches Prozeduren eines Prozesses der Bewegungspfadeinstellung zeigt, welcher durch das numerische Steuerungsgerät gemäß der dritten Ausführungsform durchgeführt wird.
    • 16 ist ein Graph zum Erläutern von Vibrationskurvenformen, bevor das numerische Steuerungsgerät gemäß der dritten Ausführungsform Startzeitpunkte einer Vibrationsbewegung korrigiert.
    • 17 ist ein Graph zum Erläutern von Vibrationswellenformen, nachdem das numerische Steuerungsgerät gemäß der dritten Ausführungsform die Startzeitpunkte der Vibrationsbewegung korrigiert hat.
    • 18 ist ein Graph, welcher einen Bewegungspfad zeigt, welcher durch ein numerisches Steuerungsgerät gemäß einer vierten Ausführungsform erzeugt wird.
    • 19 ist ein Ablaufdiagramm, welches Prozeduren eines Prozesses der Bewegungspfadeinstellung zeigt, welcher durch das numerische Steuerungsgerät gemäß der vierten Ausführungsform durchgeführt wird.
    • 20 ist ein Graph zum Erläutern von Vibrationswellenformen, welche durch das numerische Steuerungsgerät gemäß der vierten Ausführungsform erzeugt werden.
    • 21 ist eine Tabelle zum Erläutern einer Toleranzlevelinformation, welche durch das numerische Steuerungsgerät gemäß der vierten Ausführungsform verwendet wird.
    • 22 ist ein Diagramm, welches ein Beispiel einer Konfiguration eines numerischen Steuerungsgeräts gemäß einer fünften Ausführungsform zeigt.
    • 23 ist ein Diagramm, welches ein Beispiel einer Hardwarekonfiguration der Steuerungsberechnungseinheiten gemäß der ersten bis fünften Ausführungsform zeigt.
  • Beschreibung von Ausführungsformen
  • Ein numerisches Steuerungsgerät, ein numerisches Steuerungsverfahren und ein Maschinenlerngerät gemäß bestimmten Ausführungsformen der vorliegenden Erfindung werden nachfolgend im Detail mit Bezug zu den Zeichnungen beschrieben. Es ist zu beachten, dass die vorliegende Erfindung nicht auf die Ausführungsformen begrenzt ist.
  • Erste Ausführungsform.
  • 1 ist ein Diagramm, welches ein Beispiel einer Konfiguration eines numerischen Steuerungsgeräts gemäß einer ersten Ausführungsform zeigt. 2 ist ein Diagramm, welches ein Beispiel einer Konfiguration einer Werkzeugmaschine gemäß der ersten Ausführungsform zeigt. In 2 entspricht die horizontale Richtung der Zeichnung einer Z-Achsenrichtung, und die vertikale Richtung der Zeichnung entspricht einer X-Achsenrichtung.
  • Ein numerisches Steuerungsgerät (NC-Gerät) 1X ist ein Computer, welcher ein niederfrequentes Vibrationsschneiden (NVS) mit einer Werkzeugmaschine 110 für einen Drehprozess steuert, was eine Maschinenbearbeitung unter Vibration eines Werkzeugs 66A ist. In der nachfolgenden Beschreibung wird eine niederfrequente Vibration auch einfach als Vibration bezeichnet.
  • Das numerische Steuerungsgerät 1X erzeugt basierend auf einem Toleranzwert, welcher ein erlaubter Fehler beim Maschinenbearbeiten einer Ecke eines Werkstücks 70 ist, einen Bewegungspfad so, dass das Werkzeug 66A einen bestimmten Punkt (ein bestimmter Wegpunkt, welcher später beschrieben wird) durchläuft, welcher dem Toleranzwert zugeordnet ist.
  • Das numerische Steuerungsgerät 1X steuert eine Maschinenbearbeitung des Werkstücks 70, bei welcher das Werkzeug 66A und das Werkstück 70, welches ein zu maschinenbearbeitendes Objekt ist, relativ zueinander durch zwei oder mehr Antriebsachsen bewegt werden. Insbesondere veranlasst das numerische Steuerungsgerät 1X die Werkzeugmaschine 110, welche eine Antriebsachse in der Z-Achsenrichtung zum Bewegen des Werkzeugs 66 oder des Werkstücks 70 und eine Antriebsachse in der X-Achsenrichtung zum Bewegen des Werkzeugs 66A umfasst, dazu, mit dem Werkzeug 66A ein Vibrationsschneiden an dem Werkstück 70 durchzuführen.
  • In der ersten Ausführungsform wird ein Fall beschrieben, in welchem das numerische Steuerungsgerät 1X eine Werkzeugmaschine 110 steuert, welche (genau) eine Hauptachse 60, welche eine Drehachse für das Werkstück 70 ist, und zwei Antriebsachsen zum Bewegen des Werkzeugs 66A umfasst. Das Werkstück 70 ist ein Objekt, welches durch die Werkzeugmaschine 110 zu maschinenbearbeiten ist. Es ist zu beachten, dass in 2 eine Mittellinie der Hauptachse 60 als die Hauptachse 60 gezeigt ist.
  • Das numerische Steuerungsgerät 1X umfasst eine
  • Steuerungsberechnungseinheit 2X, eine Eingabebedieneinheit 3, eine Anzeigeeinheit 4 und eine Speicherprogrammierbare-Steuerung(SPS)-Bedieneinheit 5, wie beispielsweise ein Maschinensteuerungspanel zum Bedienen einer SPS 36. In 1 ist eine Antriebseinheit 90 gezeigt, welche eine Komponente der Werkzeugmaschine 110 ist.
  • Die Antriebseinheit 90 verfährt einen Werkzeughalter 65A der Werkzeugmaschine 110 und dergleichen. Die Antriebseinheit 90 ist ein Antriebsmechanismus, welcher das Werkzeug 66A verfährt, während das Werkstück 70 gedreht wird. In der ersten Ausführungsform wird das Werkzeug 66A in zwei Richtungen verfahren, welche eine zu der X-Achsenrichtung parallele Richtung und eine zu der Z-Achsenrichtung parallele Richtung sind. Die Antriebseinheit 90 bewegt und vibriert das Werkzeug 66A entlang der X-Achsenrichtung und der Z-Achsenrichtung. Insbesondere steuert die Antriebseinheit 90 das Verfahren in der X-Achsenrichtung und der Z-Achsenrichtung so, dass sich der Werkzeughalter 65A in einer X-Z-Ebene bewegt. Es ist zu beachten, dass die Achsenrichtungen von der Gerätekonfiguration abhängig sind und daher nicht auf die vorgenannten Richtungen begrenzt sind. Ein Rechtspfeil in 2 gibt eine Maschinenbearbeitungsrichtung an, entlang welcher das Werkzeug 66A das Werkstück 70 in der ersten Ausführungsform maschinenbearbeitet.
  • Die Antriebseinheit 90 umfasst Servomotoren 901 und 902 zum Bewegen des Werkzeugs 66A in jeweiligen Achsenrichtungen, die in dem numerischen Steuerungsgerät 1X definiert sind, und Detektoren 97 und 98 zum Detektieren von Positionen und Geschwindigkeiten der Servomotoren 901 und 902. Die Antriebseinheit 90 umfasst zudem Servosteuerungseinheiten der jeweiligen Achsenrichtungen zum Steuern der Servomotoren 901 und 902 basierend auf Befehlen von dem numerischen Steuerungsgerät 1X. Die Servosteuerungseinheiten der jeweiligen Achsenrichtungen führen eine rückgekoppelte Steuerung der Servomotoren 901 und 902 basierend auf den Positionen und Geschwindigkeiten von den Detektoren 97 und 98 durch.
  • Unter den Servosteuerungseinheiten steuert eine X-Achsenservosteuerungseinheit 91 den Betrieb des Werkzeugs 66A in der X-Achsenrichtung durch Steuern des Servomotors 901, und eine Z-Achsenservosteuerungseinheit 92 steuert den Betrieb des Werkzeugs 66A in der Z-Achsenrichtung durch Steuern des Servomotors 902. Es ist zu beachten, dass die Werkzeugmaschine 110 zwei oder mehr Werkzeughalter umfassen kann. In diesem Fall umfasst die Antriebseinheit 90 für jeden Werkzeughalter einen Satz aus der X-Achsenservosteuerungseinheit 91, der Z-Achsenservosteuerungseinheit 92, den Servomotoren 901 und 902 und den Detektoren 97 und 98.
  • Die Antriebseinheit 90 umfasst zudem einen Hauptachsenmotor 911 zum Drehen der Hauptachse 60 zum Drehen des Werkstücks 70 und einen Detektor 211 zum Detektieren der Position und der Umdrehungsgeschwindigkeit des Hauptachsenmotors 911. Die von dem Detektor 211 detektierte Umdrehungsgeschwindigkeit entspricht der Umdrehungsgeschwindigkeit des Hauptachsenmotors 911.
  • Die Antriebseinheit 90 umfasst zudem eine
  • Hauptachsenservosteuerungseinheit 200 zum Steuern des Hauptachsenmotors 911 basierend auf Befehlen von dem numerischen Steuerungsgerät 1X. Die Hauptachsenservosteuerungseinheit 200 führt eine rückgekoppelte Steuerung des Hauptachsenmotors 911 basierend auf der Position und der Geschwindigkeit von dem Detektor 211 durch.
  • Es ist zu beachten, dass in einem Fall, in welchem die Werkzeugmaschine 110 zwei Werkstücke 70 gleichzeitig maschinenbearbeitet, die Antriebseinheit 90 zwei Sätze aus dem Hauptachsenmotor 911, dem Detektor 211 und der Hauptachsenservosteuerungseinheit 200 umfasst. In diesem Fall umfasst die Werkzeugmaschine 110 zwei oder mehr Werkzeughalter.
  • Die Eingabebedieneinheit 3 ist ein Mittel zum Eingeben von Information in die Steuerungsberechnungseinheit 2X. Die Eingabebedieneinheit 3 ist durch ein Eingabemittel, beispielsweise einer Tastatur, einer Taste oder einer Maus, gebildet, um eine Eingabe eines Befehls oder dergleichen an das numerische Steuerungsgerät 1X von einem Nutzer, einem Maschinenbearbeitungsprogramm, einem Parameter oder dergleichen zu empfangen, und gibt den empfangenen Befehl, das empfangene Maschinenbearbeitungsprogramm, den empfangenen Parameter oder dergleichen an die Steuerungsberechnungseinheit 2X ein. Die Anzeigeeinheit 4 ist durch ein Anzeigemittel, beispielsweise ein Flüssigkristallanzeigegerät, gebildet, um auf einem Anzeigebildschirm eine Information anzuzeigen, welche durch die Steuerungsberechnungseinheit 2X verarbeitet wird. Die SPS-Bedieneinheit 5 empfängt eine durch den Nutzer vorgenommene Bedienung und sendet eine der Bedienung entsprechende Anweisung an die SPS 36.
  • Die Steuerungsberechnungseinheit 2X, welche eine Steuerungseinheit ist, umfasst eine Eingabesteuereinheit 32, eine Dateneinstelleinheit 33, eine Speichereinheit 34, eine Bildschirmverarbeitungseinheit 31, eine Analyseverarbeitungseinheit 37, eine Steuerungssignalverarbeitungseinheit 35, die SPS 36, eine Interpolationsverarbeitungseinheit 38X, eine Beschleunigung/Bremsung-Verarbeitungseinheit 39 und eine Achsendatenausgabeeinheit 40. Es ist zu beachten, dass die SPS 36 außerhalb der Steuerungsberechnungseinheit 2X angeordnet sein kann.
  • Die Speichereinheit 34 umfasst einen Parameterspeicherbereich 341, einen Maschinenbearbeitungsprogrammspeicherbereich 343, einen Anzeigedatenspeicherbereich 344 und einen geteilten Bereich 345. Der Parameterspeicherbereich 341 speichert Parameter, welche für eine durch die Steuerungsberechnungseinheit 2X durchgeführte Verarbeitung zu verwenden sind, und dergleichen. Insbesondere speichert der Parameterspeicherbereich 341 Steuerungsparameter, Servoparameter und Werkzeugdaten, damit das numerische Steuerungsgerät 1X arbeiten kann. Der Maschinenbearbeitungsprogrammspeicherbereich 343 speichert Maschinenbearbeitungsprogramme (beispielsweise ein Maschinenbearbeitungsprogramm 101, welches später beschrieben wird), welche zum Maschinenbearbeiten eines Werkstücks 70 zu verwenden sind. Ein Maschinenbearbeitungsprogramm in der ersten Ausführungsform umfasst Vibrationsbefehle, welche Befehle zum Vibrieren des Werkzeugs 66A sind, und Bewegungsbefehle, welche Befehle zum Bewegen des Werkzeugs 66A sind.
  • Der Anzeigedatenspeicherbereich 344 speichert Bildschirmanzeigedaten, welche durch die Anzeigeeinheit 4 anzuzeigen sind. Die Bildschirmanzeigedaten sind Daten zum Anzeigen von Information auf der Anzeigeeinheit 4. Die Speichereinheit 34 umfasst zudem den geteilten Bereich 345 zum Speichern von Daten, die vorübergehend verwendet werden.
  • Die Bildschirmverarbeitungseinheit 31 führt eine Steuerung zum Anzeigen der Bildschirmanzeigedaten, die in dem Bildschirmdatenspeicherbereich 344 gespeichert sind, auf der Anzeigeeinheit 4 durch. Die Eingabesteuereinheit 32 empfängt Information, welche von der Eingabebedieneinheit 3 eingegeben wird. Die Dateneinstelleinheit 33 speichert in die Speichereinheit 34 Information, welche durch die Eingabesteuereinheit 32 empfangen wird. Daher wird eingegebene Information, welche durch die Eingabebedieneinheit 3 empfangen wird, in den Speicherbereich 34 über die Eingabesteuereinheit 32 und die Dateneinstelleinheit 33 geschrieben.
  • Die Steuerungssignalverarbeitungseinheit 35 ist mit der SPS 36 verbunden und empfängt eine Signalinformation einer Weiterleitung oder dergleichen, damit die Werkzeugmaschine 110 durch die SPS 36 bedient wird. Die Steuerungssignalverarbeitungseinheit 35 speichert eine empfangene Signalinformation in den geteilten Bereich 345 des Speicherbereichs 34. Während eines Maschinenbearbeitungsvorgangs wird durch die Interpolationsverarbeitungseinheit 38X auf die Signalinformation Bezug genommen. Zudem, wenn durch die Analyseverarbeitungseinheit 37 ein Hilfsbefehl in den geteilten Bereich 345 ausgegeben wird, liest die Steuerungssignalverarbeitungseinheit 35 den Hilfsbefehl aus dem geteilten Bereich 345 und überträgt den gelesenen Hilfsbefehl an die SPS 36. Hilfsbefehle sind Befehle, die von Befehlen zum Bewegen einer Antriebsachse, welche eine numerisch gesteuerte Achse ist, verschieden sind. Beispiele für die Hilfsbefehle umfassen M-Codes und T-Codes.
  • Wenn die SPS-Bedieneinheit 5 betätigt wird, führt die SPS 36 einen Vorgang durch, der der Betätigung zugeordnet ist. Die SPS 36 speichert Kontaktplanprogramme, welche Maschinenbetriebe beschreiben, die durch die SPS 36 durchzuführen sind. Nach dem Empfang eines T-Codes oder eines M-Codes, welcher ein Hilfsbefehl ist, führt die SPS 36 einen dem Hilfsbefehl zugeordneten Prozess an der Werkzeugmaschine 110 gemäß dem Kontaktplanprogramm durch. Nach dem Durchführen des Prozesses, der dem Hilfsbefehl zugeordnet ist, überträgt die SPS 36 an die Steuerungssignalverarbeitungseinheit 35 ein Abschlusssignal, welches angibt, dass die Maschinensteuerung abgeschlossen ist, sodass ein nächster Block des Maschinenbearbeitungsprogramms ausgeführt wird.
  • In der Steuerungsberechnungseinheit 2X sind die Steuerungssignalverarbeitungseinheit 35, die Analyseverarbeitungseinheit 37 und die Interpolationsbearbeitungseinheit 38X miteinander über die Speichereinheit 34 verbunden, um Information über die Speichereinheit 34 zu schreiben und zu lesen. In der nachfolgenden Beschreibung kann bei der Erläuterung des Schreibens und Lesens von Information in und aus der Steuerungssignalverarbeitungseinheit 35, der Analyseverarbeitungseinheit 37 und der Interpolationsverarbeitungseinheit 38X die Steuereinheit 34 ausgelassen sein.
  • Ein Maschinenbearbeitungsprogramm wird durch einen Nutzer ausgewählt, welcher eine Maschinenbearbeitungsprogrammnummer in die Eingabebedieneinheit 3 eingibt. Die Maschinenbearbeitungsprogrammnummer wird über die Eingabesteuereinheit 32 und die Dateneinstelleinheit 33 in den geteilten Bereich 345 geschrieben. Ausgelöst durch einen Zyklusstart eines Maschinensteuerungspanels oder dergleichen liest die Analyseverarbeitungseinheit 37, nachdem sie eine Werkstückspezifikationsinformation in dem geteilten Bereich 345, welche ein Werkstück 70 spezifiziert, welches der ausgewählten Maschinenbearbeitungsprogrammnummer zugeordnet ist, aus dem geteilten Bereich 345 empfangen hat, das Maschinenbearbeitungsprogramm, welches der Werkstückspezifizierungsinformation zugeordnet ist, aus dem Maschinenbearbeitungsprogrammspeicherbereich 343 und führt an jedem Block (jeder Zeile) des Maschinenbearbeitungsprogramms einen Analyseprozess durch. Beispielsweise analysiert die Analyseverarbeitungseinheit 37 G-Codes (Befehle betreffend Achsenbewegungen), T-Codes (Werkzeugersetzungsbefehle, etc.), S-Codes (Hauptachsenmotorgeschwindigkeitsbefehle) und M-Codes (Maschinenbetriebsbefehle).
  • Wenn in der analysierten Zeile ein M-Code oder ein T-Code enthalten ist, sendet die Analyseverarbeitungseinheit 37 das Analyseergebnis über den geteilten Bereich 345 und die Steuerungssignalverarbeitungseinheit 35 an die SPS 36. Wenn in der analysierten Zeile ein M-Code enthalten ist, sendet die Analyseverarbeitungseinheit 37 den M-Code über die Steuerungssignalverarbeitungseinheit 35 an die SPS 36. Die SPS 36 führt eine Maschinensteuerung aus, welche dem M-Code zugeordnet ist. Wenn die Ausführung abgeschlossen ist, wird ein Ergebnis, welches einen Abschluss des M-Codes angibt, über die Steuerungssignalverarbeitungseinheit 35 in die Speichereinheit 34 geschrieben. Die Interpolationsverarbeitungseinheit 38X nimmt Bezug auf das Ausführungsergebnis, welches in die Speichereinheit 34 geschrieben ist.
  • Wenn ein G-Code enthalten ist, sendet die Analyseverarbeitungseinheit 37 das Analyseergebnis über den geteilten Bereich 345 an die Interpolationsverarbeitungseinheit 38X. Insbesondere erzeugt die Analyseverarbeitungseinheit 37 einen Bewegungsparameter, welcher dem G-Code zugeordnet ist, und sendet den Bewegungsparameter an die Interpolationsverarbeitungseinheit 38X. Zudem sendet die Analyseverarbeitungseinheit 37 an die Interpolationsverarbeitungseinheit 38X eine Hauptachsenumdrehungsgeschwindigkeit, welche durch einen S-Code angegeben ist.
  • Die Hauptachsengeschwindigkeit ist die Anzahl von Umdrehungen der Hauptachse 60 pro Zeiteinheit. Der Bewegungsparameter ist ein Werkzeugvorschubparameter für das Werkzeug 66A, um seine Maschinenbearbeitungsposition zu bewegen, und wird durch die Geschwindigkeiten, mit welchen der Werkzeughalter 65A zu bewegen ist, mit den Positionen, an welche der Werkzeughalter 65A zu bewegen ist, und dergleichen ausgedrückt. Beispielsweise wird für einen Werkzeugvorschub des Werkzeugs 66A das Werkzeug 66A in der X-Achsenrichtung (+X-Richtung) und der Z-Achsenrichtung (+Z-Richtung) fortbewegt.
  • Zudem umfasst die Analyseverarbeitungseinheit 37 eine Vibrationsbefehlsanalyseeinheit 11 und eine Bewegungsbefehlsanalyseeinheit 12. Die Vibrationsbefehlsanalyseeinheit 11 ist ein Mittel zum Analysieren von Vibrationsbefehlen in der X-Achsenrichtung und der Z-Achsenrichtung. Die Vibrationsbefehlsanalyseeinheit 11 analysiert Vibrationsbefehle, welche in einem Maschinenbearbeitungsprogramm (beispielsweise dem Maschinenbearbeitungsprogramm 101, welches später beschrieben wird) enthalten sind, erzeugt einen Vibrationsparameter in der X-Achsenrichtung und der Z-Achsenrichtung und sendet den erzeugten Vibrationsparameter über den geteilten Bereich 345 an die Interpolationsverarbeitungseinheit 38X.
  • Der Vibrationsparameter ist ein Parameter der Vibration beim Durchführen des Vibrationsschneidens. Ein Beispiel des Vibrationsparameters ist die Anzahl von Vibrationen beim Vibrationsschneiden. Die Anzahl von Vibrationen in der X-Achsenrichtung bezeichnet die Anzahl von Vibrationen des Werkzeughalters 65A in der X-Achsenrichtung pro Umdrehung der Hauptachse 60, und die Anzahl von Vibrationen in der Z-Achsenrichtung bezeichnet die Anzahl von Vibrationen des Werkzeughalters 65A in der Z-Achsenrichtung pro Umdrehung der Hauptachse 60. Die Anzahl von Vibrationen des Werkzeughalters 65A entspricht der Frequenz der Vibration basierend auf der Zeit, welche die Hauptachse 60 für eine Umdrehung benötigt.
  • Die Bewegungsbefehlsanalyseeinheit 12 analysiert Bewegungsbefehle, welche in einem Maschinenbearbeitungsprogramm enthalten sind, erzeugt einen Bewegungsparameter in der X-Achsenrichtung und der Z-Achsenrichtung und sendet den erzeugten Bewegungsparameter über den geteilten Bereich 345 an die Interpolationsverarbeitungseinheit 38X. In einem Maschinenbearbeitungsprogramm sind die Hauptachsengeschwindigkeit, die Vibrationsbefehle und die Bewegungsbefehle so eingestellt, das ein Span fein abspanen kann. Die Bewegungsbefehlsanalyseeinheit 12 erzeugt einen Bewegungsparameter, welcher dem G-Code zugeordnet ist, und sendet den Bewegungsparameter an die Interpolationsverarbeitungseinheit 38X. Beispiele des Bewegungsparameters umfassen die Bewegungsgeschwindigkeit des Werkzeughalters 65A, eine Position, an welche der Werkzeughalter 65A zu bewegen ist, und dergleichen.
  • Ein Vibrationsbefehl in der X-Achsenrichtung ist ein Befehl zum Vibrieren des Werkzeughalters 65A in der X-Achsenrichtung, und ein Vibrationsbefehl in der Z-Achsenrichtung ist ein Befehl zum Vibrieren des Werkzeughalters 65A in der Z-Achsenrichtung. Ein Bewegungsbefehl in der X-Achsenrichtung ist ein Befehl zum Bewegen des Werkzeughalters 65A in der X-Achsenrichtung, und ein Bewegungsbefehl in der Z-Achsenrichtung ist ein Befehl zum Bewegen des Werkzeughalters 65A in der Z-Achsenrichtung.
  • Die Interpolationsverarbeitungseinheit 38X umfasst eine Befehlsbewegungswert-Berechnungseinheit 21, eine Vibrationsbewegungswert-Berechnungseinheit 22, eine Toleranzwert-Einstelleinheit 23, eine Wellenformerzeugungseinheit 24 und eine Vibrationskorrektureinheit 25. Die Interpolationsverarbeitungseinheit 38X liest aus dem geteilten Bereich 345 die Hauptachsengeschwindigkeit und die Anzahl von Vibrationen des Werkzeughalters 65A in der X-Achsenrichtung und in der Z-Achsenrichtung.
  • Die Befehlsbewegungswert-Berechnungseinheit 21 empfängt von der Analyseverarbeitungseinheit 37 den Bewegungsparameter, welcher das Analyseergebnis ist, führt an dem Bewegungsparameter einen Interpolationsprozess durch und berechnet einen Befehlsbewegungswert pro Zeiteinheit, welche dem Ergebnis des Interpolationsprozesses zugeordnet ist. Insbesondere berechnet die Befehlsbewegungswert-Berechnungseinheit 21 einen Befehlsbewegungswert, um welchen der Werkzeughalter 65A in der X-Achsenrichtung pro Zeiteinheit zu bewegen ist, basierend auf dem Bewegungsparameter in der X-Achsenrichtung, welcher durch die Analyseverarbeitungseinheit 37 analysiert wurde, und sendet den Befehlsbewegungswert an die Wellenformerzeugungseinheit 24. Die Befehlsbewegungswert-Berechnungseinheit 21 berechnet zudem einen BefehlsBewegungswert, um welchen der Werkzeughalter 65A in der Z-Achsenrichtung pro Zeiteinheit zu bewegen ist, basierend auf dem Bewegungsparameter in der Z-Achsenrichtung, welcher durch die Analyseverarbeitungseinheit 37 analysiert wurde, und sendet den Befehlsbewegungswert an die Wellenformerzeugungseinheit 24.
  • Die Toleranzwert-Einstelleinheit 23 stellt einen Toleranzwert für das Maschinenbearbeiten einer Ecke ein. Insbesondere prüft die Toleranzwert-Einstelleinheit 23, ob durch ein Maschinenbearbeitungsprogramm, ein Kontaktplanprogramm oder einen Parameter ein Toleranzwert spezifiziert ist oder nicht, und stellt einen Toleranzwert basierend auf einer Prioritätsinformation ein, welche definiert, welchem der durch das Maschinenbearbeitungsprogramm, das Kontaktplanprogramm und dem Parameter spezifizierten Toleranzwerten Priorität zu geben ist. Die Toleranzwert-Einstelleinheit 23 sendet den eingestellten Toleranzwert an die Wellenformerzeugungseinheit 24. Die Prioritätsinformation ist in der Speichereinheit 34 gespeichert.
  • In der ersten Ausführungsform sind Schneidrichtungen die X-Achsenrichtung und die Z-Achsenrichtung in 2. Die Bewegung des Werkzeugs 66A ist eine Bewegung zum Vibrationsschneiden plus eine Bewegung in der Richtung (Schneidrichtung), in welcher eine Maschinenbearbeitung des Werkstücks 70 fortschreitet. Daher addiert die Wellenformerzeugungseinheit 24 den Vibrationsbewegungswert zum Vibrationsschneiden und den Bewegungswert in der Schneidrichtung zum Fortschreiten der Maschinenbearbeitung des Werkstücks 70. Der Vibrationsbewegungswert wird beispielsweise durch eine Wellenform ausgedrückt.
  • Insbesondere erzeugt die Wellenformerzeugungseinheit 24 einen kombinierten Bewegungswert in der X-Achsenrichtung durch Kombinieren des Befehlsbewegungswerts in der X-Achsenrichtung, der von der Befehlsbewegungswert-Berechnungseinheit 21 gesendet wird, und des Vibrationsbewegungswerts in der X-Achsenrichtung, welcher von der Vibrationsbewegungswert-Berechnungseinheit 22 gesendet wird. Die Wellenformerzeugungseinheit 24 erzeugt zudem einen kombinierten Bewegungswert in der Z-Achsenrichtung durch Kombinieren des Befehlsbewegungswerts in der Z-Achsenrichtung, welcher von der Befehlsbewegungswert-Berechnungseinheit 21 gesendet wird, und des Vibrationsbewegungswerts in der Z-Achsenrichtung, welcher von der Vibrationsbewegungswert-Berechnungseinheit 22 gesendet wird.
  • Der kombinierte Bewegungswert in der X-Achsenrichtung wird durch eine Wellenform in einem Graphen ausgedrückt, bei dem die horizontale Achse die Zeit repräsentiert und die vertikale Achse die Position in der X-Achsenrichtung repräsentiert, und der kombinierte Bewegungswert in der Z-Achsenrichtung wird durch eine Wellenform in einem Graphen ausgedrückt, bei welchem die horizontale Achse die Zeit repräsentiert und die vertikale Achse die Position in der Z-Achsenrichtung repräsentiert. Die Wellenformerzeugungseinheit 24 sendet an die Vibrationskorrektureinheit 25 eine Wellenform eines Bewegungspfads, welcher die kombinierten Bewegungswerte in der X-Achsenrichtung und der Z-Achsenrichtung angibt, welche Ergebnisse des Interpolationsprozesses sind. Nachfolgend wird die Wellenform, welche den Bewegungspfad des Werkzeugs 66A während des Vibrationsschneidens ausdrückt, als eine Vibrationswellenform bezeichnet.
  • Die Vibrationskorrektureinheit 25 korrigiert die Vibrationswellenform in der X-Achsenrichtung am Ende der Vibrationswellenform in der X-Achsenrichtung basierend auf der Vibrationswellenform in der X-Achsenrichtung und einer Zielposition (X-Koordinate) der Maschinenbearbeitung. Die Vibrationskorrektureinheit 25 korrigiert die Vibrationswellenform in der Z-Achsenrichtung am Anfang und am Ende der Vibrationswellenform in der Z-Achsenrichtung basierend auf der Vibrationswellenform der Z-Achsenrichtung und einer Zielposition (Z-Koordinate) der Maschinenbearbeitung.
  • Die Vibrationskorrektureinheit 25 berechnet zudem die Koordinaten, welche der Bewegungspfad durchlaufen muss, basierend auf dem Toleranzwert und passt den Zeitpunkt, an welchem die Bewegung in der Z-Achsenrichtung zu starten ist, so an, dass der Bewegungspfad die berechneten Koordinaten durchläuft. In diesem Prozess passt die Vibrationskorrektureinheit 25 den Zeitpunkt, an welchem die Vibrationswellenform (Bewegung und Vibration) in der Z-Achsenrichtung zu starten ist, basierend auf den berechneten Koordinaten, der Vibrationswellenform in der X-Achsenrichtung und der Vibrationswellenform in der Z-Achsenrichtung an. Die Vibrationskorrektureinheit 25 sendet die korrigierte Vibrationswellenform in der X-Achsenrichtung und die korrigierte Vibrationswellenform in der Z-Achsenrichtung an die Beschleunigung/Bremsung-Verarbeitungseinheit 39.
  • Die Beschleunigung/Bremsung-Verarbeitungseinheit 39 führt einen Beschleunigung/Bremsung-Prozess zum sanften Ändern der Beschleunigung basierend auf dem Ergebnis des Interpolationsprozesses durch, welches von der Interpolationsverarbeitungseinheit 38X bereitgestellt wird. Die Beschleunigung/Bremsung-Verarbeitungseinheit 39 führt den Beschleunigung/Bremsung-Prozess am Anfang und am Ende einer Bewegung durch. Insbesondere erzeugt die Beschleunigung/Bremsung-Verarbeitungseinheit 39 einen Bewegungsbefehl in der X-Achsenrichtung basierend auf dem kombinierten Bewegungswert in der X-Achsenrichtung und erzeugt einen Bewegungsbefehl in der Z-Achsenrichtung basierend auf dem kombinierten Bewegungswert in der Z-Achsenrichtung. Durch die Beschleunigung/Bremsung-Verarbeitungseinheit 39 verarbeitete Positionsbefehle sind Befehle betreffend die Geschwindigkeit pro Zeiteinheit.
  • Die Beschleunigung/Bremsung-Verarbeitungseinheit 39 sendet einen Geschwindigkeitsbefehl, welcher ein Verarbeitungsergebnis des Beschleunigung/Bremsung-Prozesses ist, an die Achsendatenausgabeeinheit 40. Es ist zu beachten, dass die Beschleunigung/Bremsung-Verarbeitungseinheit 39 den Beschleunigung/Bremsung-Prozess nicht für die Hauptachsenumdrehungsgeschwindigkeit durchführt. Die Beschleunigung/Bremsung-Verarbeitungseinheit 39 sendet einen Geschwindigkeitsbefehl für die Hauptachsengeschwindigkeit an die Achsendatenausgabeeinheit 40. Der durch die Beschleunigung/Bremsung-Verarbeitungseinheit 39 erzeugte Geschwindigkeitsbefehl ist ein Schrittbefehl.
  • Die Achsendatenausgabeeinheit 40 gibt an die Antriebseinheit 90 einen Geschwindigkeitsbefehl aus. Insbesondere gibt die Achsendatenausgabeeinheit 40 einen Geschwindigkeitsbefehl für die X-Achse an die X-Achsenservosteuerungseinheit 91 aus und gibt einen Geschwindigkeitsbefehl für die Z-Achse an die Z-Achsenservosteuerungseinheit 92 aus. Die Achsendatenausgabeeinheit 40 gibt zudem einen Geschwindigkeitsbefehl für die Hauptachse 60 an die Hauptachsenservosteuerungseinheit 200 aus. Daher steuern die X-Achsenservosteuerungseinheit 91, die Z-Achsenservosteuerungseinheit 92 und die Hauptachsenservosteuerungseinheit 200 den Betrieb des Werkzeugs 66A in der X-Achsenrichtung und der Z-Achsenrichtung und den Umdrehungsbetrieb der Hauptachse 60.
  • Eine Überblick von Betriebsprozeduren für eine Maschinenbearbeitungssteuerung, welche durch das numerische Steuerungsgerät 1X durchgeführt wird, wird nun beschrieben. Wenn eine Maschinenbearbeitung durch die Werkzeugmaschine 110 gestartet wird, gibt die SPS 36 an die Steuerungssignalverarbeitungseinheit 35 ein Zyklusstartsignal aus, und die Steuerungssignalverarbeitungseinheit 35 gibt an die Interpolationsverarbeitungseinheit 38X ein Zyklusstartsignal aus. Die Interpolationsverarbeitungseinheit 38X aktiviert daher die Analyseverarbeitungseinheit 37.
  • Danach liest und analysiert die Analyseverarbeitungseinheit 37 ein Maschinenbearbeitungsprogramm Block für Block und speichert in den geteilten Bereich 345 einen Vibrationsparameter, einen Bewegungsparameter und eine Hauptachsengeschwindigkeit, welche Ergebnisse der Analyse sind. Die Interpolationsverarbeitungseinheit 38X berechnet dann einen kombinierten Bewegungswert in der X-Achsenrichtung pro Zeiteinheit und einen kombinierten Bewegungswert in der Z-Achsenrichtung pro Zeiteinheit basierend auf den Analyseergebnissen von der Analyseverarbeitungseinheit 37 und sendet die kombinierten Bewegungswerte an die Beschleunigung/Bremsung-Verarbeitungseinheit 39.
  • Daher erzeugt die Beschleunigung/Bremsung-Verarbeitungseinheit 39 einen Bewegungsbefehl in der X-Achsenrichtung, welcher durch den Beschleunigung/Bremsung-Prozess basierend auf dem kombinierten Bewegungswert in der X-Achsenrichtung erhalten wird, und erzeugt einen Bewegungsbefehl in der Z-Achsenrichtung, welcher durch den Beschleunigung/Bremsung-Prozess basierend auf dem kombinierten Bewegungswert in der Z-Achsenrichtung erhalten wird. Die Bewegungsbefehle werden von der Achsendatenausgabeeinheit 40 an die Antriebseinheit 90 ausgegeben, und die Antriebseinheit 90 steuert den Betrieb der X-Achse und der Z-Achse gemäß den Bewegungsbefehlen.
  • Die Werkzeugmaschine 110 gemäß der ersten Ausführungsform ist eine Drehmaschine mit einer einzigen Spindel und einem einzigen Revolver, bei welcher der Werkzeughalter 65A eine Antriebsachse umfasst. Eine Drehmaschine mit einer einzigen Spindel und einem einzigen Revolver ist eine Drehmaschine, welche (genau) eine Hauptachse und (genau) einen Werkzeughalter umfasst. Der Werkzeughalter 65A wird auch als Revolver bezeichnet. Ein Beispiel der Werkzeugmaschine 110 ist eine Revolverdrehmaschine. Es ist zu beachten, dass in der Werkzeugmaschine 110 anstelle des Werkzeughalters 65A, welcher sich in der Z-Achsenrichtung bewegt und vibriert, das Werkstück 70 sich in der Z-Achsenrichtung bewegen und vibrieren kann.
  • Die Werkzeugmaschine 110 umfasst einen Spindelstock mit einer ersten Spindel 75. Die erste Spindel 75 dreht sich mit dem darauf montierten Werkstück 70, wodurch das Werkstück 70 gedreht wird. Die Drehachse des Werkstücks 70, welches durch die erste Spindel 75 gedreht wird, ist die Hauptachse 60, welche an dem Spindelstock bereitgestellt ist.
  • Die Werkzeugmaschine 110 umfasst den Werkzeughalter 65A, und der Werkzeughalter 65A umfasst eine Antriebsachse 61X in der X-Achsenrichtung und eine Antriebsachse 61Z in der Z-Achsenrichtung. Der Werkzeughalter 65A ist in der X-Achsenrichtung und in der Z-Achsenrichtung bewegbar. In der Werkzeugmaschine 110 entspricht die X-Achsenrichtung einer ersten Richtung, und die Antriebsachse 61X in der X-Achsenrichtung entspricht einer ersten Antriebsachse. Zudem entspricht in der Werkzeugmaschine 110 die Z-Achsenrichtung einer zweiten Richtung, und die Antriebsachse 61Z in der Z-Achsenrichtung entspricht einer zweiten Antriebsachse. In 2 ist eine Mittenlinie der Antriebsachse 61X als die Antriebsachse 61X gezeigt, und eine Mittenlinie der Antriebsachse 61Z ist als die Antriebsachse 61Z gezeigt. Das numerische Steuerungsgerät 1X steuert den Betrieb des Werkzeugs 66A und des Werkstücks 70 durch Steuern der Hauptachse 60, der Antriebsachse 61X und der Antriebsachse 61Z.
  • Der Werkzeughalter 65A ist ein drehbarer Werkzeughalter. Mehrere Werkzeuge 66A können an dem Werkzeughalter 65A montiert sein, und ein zu verwendendes Werkzeug 66A wird ausgetauscht, indem die Werkzeuge 66A gedreht werden.
  • Der Werkzeughalter 65A vibriert in der X-Achsenrichtung und der Z-Achsenrichtung, sodass das Werkzeug 66A ein Vibrationsschneiden an dem Werkstück 70 durchführt. Insbesondere vibriert der Werkzeughalter 65A in einer Richtung, welche erhalten wird durch Zusammensetzen der X-Achsenrichtung und der Z-Achsenrichtung. Daher vibriert der Werkzeughalter 65A in einer Richtung, die parallel zu der Maschinenbearbeitungsrichtung des Werkzeughalters 65A ist. Es ist zu beachten, dass in der Erläuterung der ersten Ausführungsform zur Vereinfachung der Erläuterung die Vibration des Werkzeughalters 65A eine Vibration des Werkzeugs 66A repräsentiert.
  • 3 ist ein Diagramm, welches ein Maschinenbearbeitungsprogramm zeigt, welches durch das numerische Steuerungsgerät gemäß der ersten Ausführungsform zu verwenden ist. 4 ist ein Graph, welcher einen Bewegungspfad zeigt, welcher durch das numerische Steuerungsgerät gemäß der ersten Ausführungsform erzeugt wird. In der ersten Ausführungsform erzeugt das numerische Steuerungsgerät 1X den Bewegungspfad in 4 aus dem Maschinenbearbeitungsprogramm in 3. Der vorliegende Bewegungspfad umfasst einen Bewegungspfad in der X-Achsenrichtung und einen Bewegungspfad in der Z-Achsenrichtung.
  • Das Maschinenbearbeitungsprogramm 101 wird von dem numerischen Steuerungsgerät 1X zum Steuern der Werkzeugmaschine 110 verwendet. Das Maschinenbearbeitungsprogramm 101 ist ein Beispiel des Maschinenbearbeitungsprogramms, in welchem Toleranzwert = m ist, um die Maschinenbearbeitungsdauer zu verkürzen. In dem Graph des in 4 gezeigten Bewegungspfads repräsentiert die horizontale Achse eine Z-Achsenposition, welche eine Position in der Z-Achsenrichtung ist, und die vertikale Achse repräsentiert eine X-Achsenposition, welche eine Position in der X-Achsenrichtung ist. Der Bewegungspfad in 4 hat eine Anfangsposition der Bewegung bei X = 0,0; Z = 0,0 und eine Endposition (Zielposition) der Bewegung bei X = 10,0; Z = 10,0.
  • In einem Fall, in welchem das Werkzeug 66A oberhalb des Werkstücks 70 angeordnet ist, wie bei der in 2 gezeigten Werkzeugmaschine 110, ist das Werkzeug 66A links des Bewegungspfads und das Werkstück 70 ist rechts des Bewegungspfads in 4.
  • In einem Fall, in welchem das Werkzeug 66A ein Bohrer ist und einen Bohrvorgang an dem Werkstück 70 von rechts nach links entlang der Z-Achsenrichtung durchführt, ist das Werkzeug 66A rechts des Bewegungspfads und das Werkstück 70 ist links des Bewegungspfads in 4. In diesem Fall fallen die Z-Achse und die Achse der Hauptachse 60 zusammen. Zudem entspricht die X-Achsenrichtung der Radialrichtung des gebohrten Loches, und die Z-Achsenrichtung entspricht der Tiefenrichtung des gebohrten Loches. In der nachfolgenden Beschreibung wird ein Fall erläutert, in welchem das Werkzeug 66A oberhalb des Werkstücks 70 angeordnet ist, wie bei der in 2 gezeigten Werkzeugmaschine 110.
  • Der Toleranzwert ist ein Wert, welcher einen erlaubten Fehler bei der Maschinenbearbeitung einer Ecke des Werkstücks 70 angibt, und ist durch eine K-Adresse spezifiziert. Je größer der Toleranzwert ist, umso größer ist der erlaubte Fehler. Je kleiner der Toleranzwert ist, umso höher ist die Maschinenbearbeitungsgenauigkeit; je höher der Toleranzwert ist, umso kürzer ist die Maschinenbearbeitungsdauer. Wenn der Toleranzwert 0 ist, durchläuft das Werkzeug 66A Z = 0,0; X = 10,0. Wenn der Toleranzwert 0 ist, wird daher an einer Position Z = 0,0; X = 10,0 ein rechter Winkel an dem Werkstück 70 maschinenbearbeitet. In der Beschreibung können die Koordinaten Z = 0,0; X = 10,0 (eine Ecke) als eine Rechter-Winkel-Position bezeichnet sein, wenn der Toleranzwert 0 ist.
  • Wenn der Toleranzwert m ist, durchläuft das Werkzeug 66A eine Position, welche von der Rechter-Winkel-Position einen Abstand m hat, sodass der kürzeste Abstand zwischen dem Bewegungspfad des Werkzeugs 66A und der Rechter-Winkel-Position der Abstand m ist. In der nachfolgenden Beschreibung kann die Position bei Z = 0,0; X = 0,0 als ein Anfangspunkt bezeichnet sein und die Position bei Z = 10,0; X = 10,0 kann als ein Endpunkt bezeichnet sein. Zudem können die Koordinaten, an welchen der kürzeste Abstand zwischen dem Bewegungspfad des Werkzeugs 66A und der Rechter-Winkel-Position der Abstand m ist, als ein bestimmter Wegpunkt bezeichnet sein.
  • G0 an N01, was ein erster Block ist, ist ein Positionierbefehl; G165 an N02, was ein zweiter Block ist, ist ein Befehl zum niederfrequenten Vibrieren; und G95 an N03, was ein dritter Block ist, ist ein Vorschub-Pro-Umdrehung (synchroner Vorschub)-Befehl.
  • Der Positionierbefehl ist ein Befehl zum Bewegen an eine bestimmte Position. Gemäß dem Positionierbefehl in diesem Fall ist die X-Koordinate 0,0 und die Z-Koordinate ist 0,0. Der Befehl zum niederfrequenten Vibrieren ist ein Befehl zum Durchführen einer niederfrequenten Vibration. Der Befehl zum niederfrequenten Vibrieren spezifiziert den Toleranzwert. Der Toleranzwert ist in diesem Fall m. Der Vorschub-Pro-Umdrehung-Befehl ist ein Befehl, welcher eine Vorschubrate F pro Umdrehung der Hauptachse 60 spezifiziert.
  • G0, G165 und G95 sind Befehle (modale Befehle), welche gültig sind, bis ein bestimmter G-Code ausgeführt wird. Wenn ein Vorschub pro Umdrehung, was G95 ist, spezifiziert ist, wird das Werkzeug 66A mit der Vorschubrate F pro Umdrehung der Hauptachse 60 aus dem Block dieses Befehls vorgeschoben. Die Vorschubrate F ist in diesem Fall 0,05.
  • Zudem spezifiziert der Vorschub-Pro-Umdrehung-Befehl in diesem Fall die X-Koordinate (X = 10,0), an welche das Werkzeug 66A zu bewegen ist. Daher wird das Werkzeug 66A mit der Vorschubrate F zu der spezifizierten X-Koordinate vorgeschoben. Zudem ist an N04, was ein vierter Block ist, die Z-Koordinate (Z = 10,0) spezifiziert, an welche das Werkzeug 66A zu bewegen ist. Daher wird das Werkzeug 66A mit der Vorschubrate F an die spezifizierte Z-Koordinate vorgescho ben.
  • In der ersten Ausführungsform wird die Bewegung des Werkzeugs 66A zu der spezifizierten Z-Koordinate (Z = 10,0) in der Mitte der Bewegung des Werkzeugs 66A zu der spezifizierten X-Koordinate (X = 10,0) gestartet. Insbesondere passt das numerische Steuerungsgerät 1X den Zeitpunkt, an welchem das Werkzeug 66A beginnt, sich in der Z-Achsenrichtung zu bewegen, so an, dass sich das Werkzeug 66A in der X-Achsenrichtung von dem Ursprungspunkt, welcher der Anfangspunkt ist, zu einer ersten bestimmten Position bewegt, sich von der ersten bestimmten Position zu einer zweiten bestimmten Position in sowohl der X-Achsenrichtung als auch der Z-Achsenrichtung bewegt und sich von der zweiten bestimmten Position zu dem Endpunkt in der Z-Achsenrichtung bewegt. In diesem Fall passt das numerische Steuerungsgerät 1X den Zeitpunkt des Startens der Bewegung in der Z-Achsenrichtung so an, dass die Vibrationswellenform in der X-Achsenrichtung und die Vibrationswellenform in der Z-Achsenrichtung den bestimmten Wegpunkt auf dem Bewegungspfad von der ersten bestimmten Position zu der zweiten bestimmten Position gleichzeitig durchlaufen. Daher korrigiert das numerische Steuerungsgerät 1X den Startzeitpunkt der Vibrationswellenform in der Z-Achsenrichtung so, dass die Bewegungsposition, welche ein kombinierter Wert der Bewegung in der X-Achsenrichtung und der Bewegung in der Z-Achsenrichtung ist, den bestimmten Wegpunkt durchläuft. An N05, was ein fünfter Block ist, wird der Befehl gemäß G165 be endet.
  • Wie oben beschrieben ist, wenn das Maschinenbearbeitungsprogramm 101 ausgeführt wird, bewegt sich das Werkzeug 66A zu X-Koordinate = 0,0; Z-Koordinate = 0,0. Das Werkzeug 66A bewegt sich ferner mit der Vorschubrate F = 0,05 pro Umdrehung der Hauptachse 60 zu X = 10,0; Z = 10,0 und vibriert dabei derart, dass Toleranzwert = m erfüllt wird.
  • In dem Fall, in welchem das Werkzeug 66A ein Bohrer ist und eine Bohrung an dem Werkstück 70 von rechts nach links entlang der Z-Achsenrichtung durchführt, bewegt sich das Werkzeug 66A zu X-Koordinate = 10,0; Z-Koordinate = 10,0. Das Werkzeug 66A bewegt sich ferner mit der Vorschubrate F = 0,05 pro Umdrehung der Hauptachse 60 zu Z = 0,0 und vibriert dabei derart, dass Toleranzwert = m erfüllt ist, und bewegt sich mit der Vorschubrate F = 0,05 pro Umdrehung der Hauptachse 60 zu X = 0,0 und vibriert dabei derart, dass Toleranzwert = m erfüllt ist.
  • Es ist zu beachten, dass zusätzlich zu den in 3 gezeigten Befehlen das Maschinenbearbeitungsprogramm 101 einen Hauptachsengeschwindigkeitsbefehl und dergleichen umfasst. Der Hauptachsengeschwindigkeitsbefehl ist ein Befehl zum Drehen der Hauptachse 60 mit einer bestimmten Anzahl von Umdrehungen pro Minute. Zudem umfasst G165 die Amplitude der Vibration des Werkzeugs 66, die Anzahl von Vibrationen pro Umdrehung der Hauptachse 60 und dergleichen.
  • 5 ist ein Ablaufdiagramm, welches Prozeduren eines Prozesses der Bewegungspfadeinstellung zeigt, welcher durch das numerische Steuerungsgerät gemäß der ersten Ausführungsform durchgeführt wird. In 5 wird ein Bewegungspfadeinstellungsprozess für einen Fall erläutert, in welchem der Bewegungspfad den bestimmten Wegpunkt durchläuft.
  • In der Analyseverarbeitungseinheit 37 des numerischen Steuerungsgeräts 1X analysiert die Bewegungsbefehlsanalyseeinheit 12 in dem Maschinenbearbeitungsprogramm 101 enthaltene Bewegungsbefehle, erzeugt einen Bewegungsparameter in der X-Achsenrichtung und der Z-Achsenrichtung und sendet den erzeugten Bewegungsparameter über den geteilten Bereich 345 an die Interpolationsverarbeitungseinheit 38X.
  • Zudem analysiert die Vibrationsbefehlsanalyseeinheit 11 in dem Maschinenbearbeitungsprogramm 101 enthaltene Vibrationsbefehle, erzeugt einen Vibrationsparameter in der X-Achsenrichtung und der Z-Achsenrichtung und sendet den erzeugten Vibrationsparameter über den geteilten Bereich 345 an die Interpolationsverarbeitungseinheit 38X. Der durch die Vibrationsbefehlsanalyseeinheit 11 erzeugte Vibrationsparameter umfasst die Frequenz und die Amplitude einer Vibration, den Toleranzwert und dergleichen.
  • Die Toleranzwert-Einstelleinheit 23 bestimmt, ob ein Toleranzwert größer als 0 eingestellt ist oder nicht (ob ein Toleranzwert > 0 eingestellt ist oder nicht) (Schritt S10). Der Toleranzwert ist in einem Kontaktplanprogramm, einem Maschinenbearbeitungsprogramm, einem Parameter oder dergleichen eingestellt. Die Toleranzwert-Einstelleinheit 23 stellt den Toleranzwert, welcher zur Toleranzsteuerung zu verwenden ist, basierend auf einer Prioritätsinformation ein, welche definiert, welchem der in dem Kontaktplanprogramm, dem Maschinenbearbeitungsprogramm, dem Parameter und dergleichen eingestellten Toleranzwerte Priorität zu geben ist, und bestimmt, ob der eingestellte Toleranzwert größer als 0 ist oder nicht.
  • Beispielsweise sei angenommen, dass die Reihenfolge der Priorität in absteigender Reihenfolge wie folgt ist: Kontaktplanprogramm, Maschinenbearbeitungsprogramm und Parameter. In diesem Fall, wenn in dem Kontaktplanprogramm ein Toleranzwert spezifiziert ist, stellt die Toleranzwert-Einstelleinheit 23 den Toleranzwert des Kontaktplanprogramms als den Toleranzwert ein, welcher zur Toleranzsteuerung zu verwenden ist. Wenn in dem Kontaktplanprogramm kein Toleranzwert spezifiziert ist, stellt die Toleranzwert-Einstelleinheit 23 einen Toleranzwert des Maschinenbearbeitungsprogramms als den Toleranzwert ein, welcher zur Toleranzsteuerung zu verwenden ist. Wenn in dem Kontaktplanprogramm und dem Maschinenbearbeitungsprogramm kein Toleranzwert spezifiziert ist, stellt die Toleranzwert-Einstelleinheit 23 einen Toleranzwert des Parameters als den Toleranzwert ein, welcher zur Toleranzsteuerung zu verwenden ist. Es ist zu beachten, dass die Prioritätsinformation von Toleranzwerten durch eine durch den Nutzer durchgeführte Bedienung gewechselt werden kann.
  • Wenn kein Toleranzwert größer als 0 eingestellt ist (Schritt S10, Nein), führt das numerische Steuerungsgerät 1X den in der ersten Ausführungsform beschriebenen Bewegungspfadeinstellungsprozess nicht durch.
  • Wenn ein Toleranzwert größer 0 eingestellt ist (Schritt S10, Ja), berechnet die Toleranzwert-Einstelleinheit 23 basierend auf dem Toleranzwert den bestimmten Wegpunkt (eine X-Koordinate und eine Z-Koordinate), welcher eine Position ist, die das Werkzeug 66A durchläuft (Schritt S20).
  • 6 ist ein Graph zum Erläutern eines bestimmten Wegpunkts, welcher durch das numerische Steuerungsgerät gemäß der ersten Ausführungsform eingestellt wird. In 6 ist ein bestimmter Wegpunkt P0, welcher so eingestellt ist, dass er den Toleranzwert erfüllt, auf dem in 4 gezeigten Bewegungspfad gezeigt. Der bestimmte Wegpunkt P0 wird durch die X-Koordinate = X1; Z-Koordinate = Z1 ausgedrückt. Der bestimmte Wegpunkt P0 ist eine Position mit einem Abstand m von der Position Z = 0,0; X = 10,0. Der bestimmte Wegpunkt P0 ist eine Position auf dem Bewegungspfad des Werkzeugs 66A, an welchem der Abstand zu der Position Z = 0,0; X = 10,0 am kürzesten ist.
  • Die Wellenformerzeugungseinheit 24 erzeugt eine Vibrationswellenform des Bewegungspfads, welcher einen kombinierten Bewegungswert in der X-Achsenrichtung angibt, durch Kombinieren des Befehlsbewegungswerts in der X-Achsenrichtung, welcher von der Befehlsbewegungswert-Berechnungseinheit 21 gesendet wird, und des Vibrationsberechnungswerts in der X-Achsenrichtung, welcher von der Vibrationsbewegungswert-Berechnungseinheit 22 gesendet wird.
  • Die Wellenformerzeugungseinheit 24 erzeugt zudem eine Vibrationswellenform, welche einen kombinierten Bewegungswert in der Z-Achsenrichtung angibt, durch Kombinieren des Befehlsbewegungswerts in der Z-Achsenrichtung, welcher von der Befehlsbewegungswert-Berechnungseinheit 21 gesendet wird, und des Vibrationsbewegungswerts in der Z-Achsenrichtung, welcher von der Vibrationsbewegungswert-Berechnungseinheit 22 gesendet wird.
  • Zum Erzeugen einer Vibrationswellenform eines Bewegungspfads erhält die Wellenformerzeugungseinheit 24 vordere Vibrationspositionen durch Addieren der Amplitude des Vibrationsparameters zu dem Bewegungspfad und erhält hintere Vibrationspositionen durch Subtrahieren der Amplitude davon. Die vorderen Vibrationspositionen sind Maximalpunkte der Vibrationswellenform des Bewegungspfads, und die hinteren Vibrationspositionen sind Minimalpunkte der Vibrationswellenform des Bewegungspfads. Die Wellenformerzeugungseinheit 24 erzeugt die Vibrationswellenformen des Bewegungspfads in der X-Achsenrichtung und der Z-Achsenrichtung basierend auf den vorderen Vibrationspositionen und den hinteren Vibrationspositionen.
  • Die Vibrationskorrektureinheit 25 korrigiert Vibrationswellenformen eines ersten Bewegungspfads und eines zweiten Bewegungspfads des Bewegungspfads basierend auf der Vibrationswellenform, welche den Bewegungspfad angibt. Der erste Bewegungspfad vor der Korrektur ist ein Bewegungspfad in der X-Achsenrichtung mit einer konstanten Amplitude und der X-Koordinate von X = 0,0 bis X = 10,0. Der zweite Bewegungspfad vor der Korrektur ist ein Bewegungspfad in der Z-Achsenrichtung mit einer konstanten Amplitude und der Z-Koordinate von Z = 0,0 bis Z = 10,0.
  • Die Vibrationskorrektureinheit 25 korrigiert die Vibrationswellenform am Ende des ersten Bewegungspfads und korrigiert die Vibrationswellenform am Anfang des zweiten Bewegungspfads, um den spezifizierten Toleranzwert = m zu erfüllen.
  • 7 ist ein Graph zum Erläutern von Vibrationswellenformen, welche durch das numerische Steuerungsgerät gemäß der ersten Ausführungsform erzeugt werden. Vorliegend umfassen die Vibrationswellenformen eine Vibrationswellenform in der X-Achsenrichtung und eine Vibrationswellenform in der Z-Achsenrichtung. 7 zeigt eine Vibrationswellenform 51X, welche dem Bewegungspfad in der X-Achsenrichtung entspricht, und eine Vibrationswellenform 51Z, welche dem Bewegungspfad in der Z-Achsenrichtung entspricht. In 7 repräsentiert die horizontale Achse die Zeit, die vertikale Achse der Vibrationswellenform 51X repräsentiert die Position (Achsenposition) in der X-Achsenrichtung, und die vertikale Achse der Vibrationswellenform 51Z repräsentiert die Position (Achsenposition) in der Z-Achsenrichtung. In der ersten Ausführungsform entspricht die Vibrationswellenform 51X einer ersten Vibrationswellenform, und die Vibrationswellenform 51Z entspricht einer zweiten Vibrationswellenform.
  • Die Vibrationswellenformen, welche durch die Wellenformerzeugungseinheit 24 erzeugt werden, sind eine Vibrationswellenform (Bewegungspfad) in der X-Achsenrichtung und eine Vibrationswellenform (Bewegungspfad) in der Z-Achsenrichtung. Die Wellenformerzeugungseinheit 24 erzeugt eine Vibrationswellenform, welche angibt, dass die Maschinenbearbeitung in der Z-Achsenrichtung an einem Zeitpunkt zu starten ist, nachdem die Maschinenbearbeitung in der X-Achsenrichtung abgeschlossen ist. Die Vibrationskorrektureinheit 25 korrigiert die Vibration in der erzeugten Vibrationswellenform vor und nach einem Wechseln der Bewegungspfade (Schritt S30). Daher korrigiert die Vibrationskorrektureinheit 25 die Vibrationswellenform am Anfang der Vibrationswellenform in der X-Achsenrichtung, korrigiert die Vibrationswellenform am Ende der Vibrationswellenform in der X-Achsenrichtung, korrigiert die Vibrationswellenform am Anfang der Vibrationswellenform in der Z-Achsenrichtung und korrigiert die Vibrationswellenform am Ende der Vibrationswellenform in der Z-Achsenrichtung.
  • Insbesondere begrenzt die Vibrationskorrektureinheit 25 die Amplitude der Vibrationswellenform in der X-Achsenrichtung, welche durch die Wellenformerzeugungseinheit 24 erzeugt wird, so, dass die Positionskoordinate des Werkzeugs 66A am Anfang der Bewegung in der X-Achsenrichtung nicht kleiner als X = 0,0 wird, und erhöht die Amplitude graduell. Daher stellt die Vibrationskorrektureinheit 25 die Amplitude an der Position am Anfang der Bewegung in der X-Achsenrichtung auf 0 ein und erhöht die Amplitude in der X-Achsenrichtung graduell. Die Vibrationskorrektureinheit 25 erhöht die Amplitude, bis die Amplitude die Amplitude erreicht, die in dem Vibrationsparameter definiert ist.
  • Zudem veranlasst die Vibrationskorrektureinheit 25, dass die Amplitude der Vibrationswellenform in der X-Achsenrichtung, welche durch die Wellenformerzeugungseinheit 24 erzeugt wird, auf 0 konvergiert, sodass die Positionskoordinate des Werkzeugs 66A am Ende der Bewegung in der X-Achsenrichtung nicht größer als X = 10,0 wird, um das Werkzeug 66A zu stoppen. Daher verringert die Vibrationskorrektureinheit 25 die Amplitude in der X-Achsenrichtung graduell so, dass die Vibration nicht über eine Zielposition hinausgeht, wenn die Position, welche durch die Vibrationswellenform in der X-Achsenrichtung angegeben ist, die Zielposition erreicht, und so, dass die Amplitude an der Zielposition, wo die Bewegung in der X-Achsenrichtung endet, 0 wird, um das Werkzeug 66A zu stoppen. Als Ergebnis der Korrektur der Amplitude am Anfang und am Ende der Vibrationswellenform in der X-Achsenrichtung wird die Vibrationswellenform 51X erhalten.
  • Zudem begrenzt die Vibrationskorrektureinheit 25 die Amplitude der Vibrationswellenform in der Z-Achsenrichtung, welche durch die Wellenformerzeugungseinheit 24 erzeugt wird, so, dass die Positionskoordinate des Werkzeugs 66A am Anfang der Bewegung in der Z-Achsenrichtung nicht kleiner als Z = 0,0 wird, und erhöht die Amplitude graduell. Insbesondere stellt die Vibrationskorrektureinheit 25 die Amplitude an der Anfangsposition der Bewegung in der Z-Achsenrichtung auf 0 ein und erhöht die Amplitude in der Z-Achsenrichtung graduell so, dass die Position, welche durch die Vibrationswellenform in der Z-Achsenrichtung angegeben ist, nicht über die Anfangsposition der Vibrationswellenform hinausgeht und in die negative Richtung der Z-Achse vibriert. Die Vibrationskorrektureinheit 25 erhöht die Amplitude, bis die Amplitude die Amplitude erreicht, welche in dem Vibrationsparameter definiert ist.
  • Zudem veranlasst die Vibrationskorrektureinheit 25, dass die Amplitude der Vibrationswellenform in der Z-Achsenrichtung, welche durch die Wellenformerzeugungseinheit 24 erzeugt wird, auf 0 konvergiert, sodass die Positionskoordinate des Werkzeugs 66A am Ende der Bewegung in der Z-Achsenrichtung nicht größer als Z = 10,0 wird, auf eine Weise gleich der Konvergenz in der X-Achsenrichtung, um das Werkzeug 66A zu stoppen. Als Ergebnis der Korrektur der Amplitude am Anfang und am Ende der Vibrationswellenform in der Z-Achsenrichtung wird die Vibrationswellenform 51Z erhalten.
  • Danach passt die Vibrationskorrektureinheit 25 den Zeitpunkt (Zeit T1), an welchem die Vibrationswellenform 51Z zu starten ist, so an, dass das Werkzeug 66A den bestimmten Wegpunkt P0 durchläuft. Mit anderen Worten korrigiert die Vibrationskorrektureinheit 25 den Startzeitpunkt der Vibrationsbewegung in der Z-Achsenrichtung (Schritt S40). Die Vibrationsbewegung bezeichnet die Bewegung des Werkzeugs 66A inklusive Vibration. 7 zeigt die Vibrationswellenform 51Z, bei welcher der Startzeitpunkt der Vibrationsbewegung in der Z-Achsenrichtung vorgezogen wurde.
  • Die Vibrationskorrektureinheit 25 passt den Zeitpunkt T1 so an, dass die Vibrationskurvenform 51Z an einem Zeitpunkt T2, an welchem die Vibrationswellenform 51X eine Position bei X = X1 durchläuft, eine Position bei Z = Z1 durchläuft. Daher passt die Vibrationskorrektureinheit 25 den Zeitpunkt T1 so an, dass die Vibrationswellenform 51X und die Vibrationswellenform 51Z die Position X = X1;Z = Z1, welche einen bestimmten Wegpunkt P0 spezifiziert, zu dem Zeitpunkt T2 passieren. Auf diese Weise zieht die Vibrationskorrektureinheit 25 den Startzeitpunkt der Vibrationsbewegung in Abhängigkeit der Vibrationswellenform 51Z so vor, dass die Vibrationswellenform 51Z eine Position Z = Z1 an dem Zeitpunkt erreicht, an welchem die Vibrationswellenform 51X eine Position X = X1 erreicht, wodurch die Vibrationswellenform, welche aus den Vibrationswellenformen 51X und 51Z gebildet ist, dazu gebracht wird, den bestimmten Wegpunkt P0 zu durchlaufen.
  • Die Steuerungsberechnungseinheit 2X steuert die Bewegung und die Vibration des Werkzeugs 66A in Abhängigkeit des Maschinenbearbeitungsprogramms 101 und der Vibrationswellenformen 51X und 51Z. Daher führt das Werkzeug 66A die Vibrationsbewegung in Abhängigkeit der Vibrationswellenformen 51X und 51Z aus, welche in 7 gezeigt sind, um die Maschinenbearbeitung entlang des in 6 gezeigten Bewegungspfads zu erreichen.
  • Alternativ kann die Vibrationskorrektureinheit 25 den Startzeitpunkt der Vibrationsbewegung in Abhängigkeit der Vibrationswellenform 51X korrigieren. Beispielsweise korrigiert die Vibrationskorrektureinheit 25 die Vibrationswellenform 51X so, dass eine Zwischenposition zwischen einer vorderen Vibrationsposition und einer hinteren Vibrationsposition den bestimmten Wegpunkt P0 durchläuft. Weiter alternativ kann die Vibrationskorrektureinheit 25 zusätzlich zu der Korrektur des Startzeitpunkts der Vibrationsbewegung in Abhängigkeit der Vibrationswellenform 51X den Startzeitpunkt der Vibrationswellenform 51Z so korrigieren, dass die Zwischenposition zwischen der vorderen Vibrationsposition und der hinteren Vibrationsposition den bestimmten Wegpunkt P0 durchläuft. Es ist daher ausreichend, wenn die Maschinenbearbeitung entlang des in 6 gezeigten Bewegungspfads erreicht wird durch relative Anpassung des Vibrationsstartzeitpunktes der Vibrationswellenform 51X und des Vibrationsstartzeitpunktes der Vibrationswellenform 51Z.
  • Zudem, in einem Fall, in welchem die Vibrationswellenform 51X den bestimmten Wegpunkt P0 mehrfach durchläuft, kann die Vibrationskorrektureinheit 25 den Zeitpunkt T2 auf einen der Durchlaufzeitpunkte einstellen. Zudem, in einem Fall, in welchem die Vibrationswellenform 51Z den bestimmten Wegpunkt P0 mehrfach durchlaufen kann, kann die Vibrationskorrektureinheit 25 den Zeitpunkt T2 auf einen der Durchlaufzeitpunkte einstellen. Ferner kann die Vibrationskorrektureinheit 25 beispielsweise den Zeitpunkt T2 auf einen Zeitpunkt einstellen, an welchem die Zeit T2 am kürzesten ist, d. h., auf einen Zeitpunkt, an welchem der bestimmte Wegpunkt P0 frühestmöglich durchlaufen wird, und kann den Zeitpunkt T1 auf einen Zeitpunkt einstellen, an welchem die Zeit T1 am kürzesten ist. Im Ergebnis können die Vibrationswellenform 51X und die Vibrationswellenform 51Z die Dauer verkürzen, welche das Werkzeug 66A zum Durchführen der Maschinenbearbeitung benötigt. Alternativ kann die Vibrationskorrektureinheit 25 den Zeitpunkt T2 sowohl in der Vibrationswellenform 51X als auch in der Vibrationswellenform 51Z auf den Zeitpunkt einstellen, an welchem ein zu dem Zwischenpunkt zwischen der vorderen Vibrationsposition und der hinteren Vibrationsposition nächstliegender Punkt den bestimmten Wegpunkt P0 durchläuft.
  • Wie oben beschrieben ist, passt das numerische Steuerungsgerät 1X den Zeitpunkt T1, welcher der Startzeitpunkt der Vibrationsbewegung gemäß der Vibrationswellenform 51Z ist, basierend auf dem Toleranzwert so an, dass die Vibrationswellenform 51Z den bestimmten Wegpunkt P0 durchläuft, wodurch ein dem Toleranzwert zugeordnetes Vibrationsschneiden erreicht wird. Weil ein größerer Toleranzwert die Maschinenbearbeitungsdauer verkürzen kann und ein kleinerer Toleranzwert die Maschinenbearbeitungsgenauigkeit in einem Eckabschnitt verbessern kann, können die Maschinenbearbeitungsdauer und die Maschinenbearbeitungsgenauigkeit beim Maschinenbearbeiten einer Ecke durch niederfrequentes Vibrationsschneiden gesteuert werden.
  • Zudem, weil der Toleranzwert in einem Maschinenbearbeitungsprogramm spezifiziert sein kann, kann der Nutzer die Genauigkeit der Maschinenbearbeitung einer Ecke während des niederfrequenten Vibrationsschneidens nach Maßgabe des Nutzers spezifizieren. Zudem, weil der Toleranzwert in einem Kontaktplanprogramm spezifiziert sein kann, kann der Nutzer die Genauigkeit der Maschinenbearbeitung einer Ecke während des niederfrequenten Vibrationsschneidens nach Maßgabe des Nutzers spezifizieren. Zudem, weil der Toleranzwert durch einen Parameter spezifiziert sein kann, kann die Genauigkeit der Maschinenbearbeitung einer Ecke durch den Parameter im Vorhinein spezifiziert werden, statt den Toleranzwert in einem Maschinenbearbeitungsprogramm oder einem Kontaktplanprogramm zu spezifizieren.
  • Wie oben beschrieben ist, berechnet in der ersten Ausführungsform das numerische Steuerungsgerät 1X, wenn der Toleranzwert größer als 0 ist, den bestimmten Wegpunkt P0, dem der Toleranzwert zugeordnet ist, und erzeugt einen Bewegungspfad (X-Achsen- und Z-Achsen-Vibrationswellenformen), welcher den bestimmten Wegpunkt P0 durchläuft. Dies ermöglicht eine Maschinenbearbeitung einer Ecke mit einer gewünschten Maschinenbearbeitungsgenauigkeit. Zudem ermöglicht dies eine Maschinenbearbeitung einer Ecke in einer gewünschten Maschinenbearbeitungsdauer.
  • Zweite Ausführungsform.
  • Als Nächstes wird eine zweite Ausführungsform der Erfindung mit Bezug zu den 8 bis 13 beschrieben. In der zweiten Ausführungsform stellt ein numerisches Steuerungsgerät 1X einen Bewegungspfad für einen Fall ein, in welchem der Toleranzwert gleich 0 wird, wenn ein bestimmter Winkel einer zu maschinenbearbeitenden Form kleiner als ein vorbestimmter Winkel ist.
  • 8 ist ein Diagramm, welches ein Maschinenbearbeitungsprogramm zeigt, welches durch das numerische Steuerungsgerät gemäß der zweiten Ausführungsform zu verwenden ist. 9 ist ein Graph, welcher einen Bewegungspfad zeigt, welcher durch das numerische Steuerungsgerät gemäß der zweiten Ausführungsform erzeugt wird. In der zweiten Ausführungsform erzeugt das numerische Steuerungsgerät 1X den Bewegungspfad in 9 aus dem Maschinenbearbeitungsprogramm in 8. Der vorliegende Bewegungspfad umfasst einen Bewegungspfad in der X-Achsenrichtung und einen Bewegungspfad in der Z-Achsenrichtung.
  • Ein Maschinenbearbeitungsprogramm 102 wird von dem numerischen Steuerungsgerät 1X zum Steuern der Werkzeugmaschine 110 verwendet. Das Maschinenbearbeitungsprogramm 102 ist ein Beispiel des Maschinenbearbeitungsprogramms, bei welchem der Toleranzwert = 0 ist (in 8 ist der Toleranzwert als „0.0“ beschrieben), um die Maschinenbearbeitungsgenauigkeit zu verbessern. In dem Graph, welcher den Bewegungspfad in 9 zeigt, repräsentiert die horizontale Achse eine Position in der Z-Achsenrichtung und die vertikale Achse repräsentiert eine Position in der X-Achsenrichtung.
  • Wenn der Toleranzwert 0 ist, durchläuft der Bewegungspfad des Werkzeugs 66A eine Rechter-Winkel-Position. Mit anderen Worten ist, wenn Toleranzwert = 0 ist, der bestimmte Wegpunkt P0 die Rechter-Winkel-Position.
  • Nach dem Bewegen zu einer bestimmten X-Koordinate (X = 10,0), beginnt in der zweiten Ausführungsform das Werkzeug 66A, sich zu einer bestimmten Z-Koordinate (Z = 10,0) zu bewegen. Daher bewegt das numerische Steuerungsgerät 1X das Werkzeug 66A in der X-Achsenrichtung von dem Anfangspunkt zu der Rechter-Winkel-Position und in der Z-Achsenrichtung von der Rechter-Winkel-Position zu dem Endpunkt.
  • Es ist zu beachten, dass das Maschinenbearbeitungsprogramm 102 zusätzlich zu den in 8 gezeigten Befehlen einen Hauptachsengeschwindigkeitsbefehl und dergleichen umfasst. Zudem umfasst G165 in dem Maschinenbearbeitungsprogramm 102 die Amplitude der Vibration des Werkzeugs 66A, die Anzahl von Vibrationen pro Umdrehung der Hauptachse 60 und dergleichen auf eine Weise, die gleich der des Maschinenbearbeitungsprogramms 101 ist.
  • 10 ist ein Ablaufdiagramm, welches Prozeduren eines Prozesses der Bewegungspfadeinstellung zeigt, welcher durch das numerische Steuerungsgerät gemäß der zweiten Ausführungsform durchgeführt wird. In 10 wird ein Bewegungspfadeinstellungsprozess für einen Fall erläutert, in welchem der Bewegungspfad eine Rechter-Winkel-Position durchläuft. Es ist zu beachten, dass eine redundante Erläuterung einer Verarbeitung nicht wiederholt wird, die gleich der ist, die 5 der ersten Ausführungsform erläutert wurde.
  • Die Bewegungsbefehlsanalyseeinheit 12 analysiert Bewegungsbefehle, welche in dem Maschinenbearbeitungsprogramm 102 enthalten sind, erzeugt einen Bewegungsparameter in der X-Achsenrichtung und der Z-Achsenrichtung und sendet den erzeugten Bewegungsparameter an die Interpolationsverarbeitungseinheit 38X. Zudem analysiert die Vibrationsbefehlsanalyseeinheit 11 Vibrationsbefehle, welche in dem Maschinenbearbeitungsprogramm 102 enthalten sind, erzeugt einen Vibrationsparameter in der X-Achsenrichtung und der Z-Achsenrichtung und sendet den erzeugten Vibrationsparameter an die Interpolationsverarbeitungseinheit 38X.
  • Die Toleranzwert-Einstelleinheit 23 stellt den Toleranzwert, welcher zur Toleranzsteuerung zu verwenden ist, basierend auf einer Prioritätsinformation ein, welche definiert, welchem der in dem Maschinenbearbeitungsprogramm, dem Kontaktplanprogramm und dergleichen eingestellten Toleranzwerten Priorität zu geben ist. Die Toleranzwert-Einstelleinheit 23 bestimmt, ob der für die Toleranzsteuerung zu verwendende Toleranzwert auf 0 eingestellt ist oder nicht (ob Toleranzwert = 0 eingestellt ist) (Schritt S110).
  • Wenn der Toleranzwert nicht auf 0 eingestellt ist (Schritt S111, Nein), bestimmt die Toleranzwert-Einstelleinheit 23, ob eingestellt ist oder nicht, dass der Toleranzwert 0 sein soll, wenn die zu maschinenbearbeitende Form des Werkstücks 70 einen Winkel aufweist, der gleich oder kleiner als ein bestimmter Winkel (beispielsweise 60°) ist (Schritt S120).
  • Wenn eingestellt ist, dass der Toleranzwert 0 sein soll, wenn die zu maschinenbearbeitende Form gleich oder kleiner als der bestimmte Winkel ist (Schritt S120, Ja), bestimmt die Toleranzwert-Einstelleinheit 23, ob die zu maschinenbearbeitende Form des Werkstücks 70 einen Winkel hat oder nicht, welcher gleich oder kleiner als der bestimmte Winkel ist (Schritt S130). Während vorliegend ein Fall beschrieben wird, in welchem der bestimmte Winkel 60° ist, kann der bestimmte Winkel jeder beliebige Winkel kleiner 90° sein. Wenn das Werkstück 70 auf 60° zu maschinenbearbeiten ist, hat der Bewegungspfad des Werkzeugs 66A einen Winkel von 120°; und wenn das Werkstück 70 auf 300° zu maschinenbearbeiten ist, hat der Bewegungspfad des Werkzeugs 66A einen Winkel von 60°.
  • 11 ist ein Diagramm, welches die Form eines Werkstücks zeigt, wenn eine Ecke des Werkstücks einen Winkel von 60° hat und der Bewegungspfad einen Winkel von 120° hat; 12 ist ein Diagramm, welches die Form eines Werkstücks zeigt, wenn eine Ecke des Werkstücks einen Winkel von 300° hat und der Bewegungspfad einen Winkel von 60° hat; und beide Werkstücke haben einen bestimmten Winkel von 60°. Der bestimmte Winkel bezeichnet insbesondere einen Winkel des Bewegungspfads des Werkzeugs 66A, der kleiner als 180° ist.
  • Die Toleranzwert-Einstelleinheit 23 bestimmt basierend auf einem Maschinenbearbeitungsprogramm, ob das Werkstück 70 mit einem Winkel zu maschinenbearbeiten ist oder nicht, welcher gleich oder kleiner als ein spezifizierter bestimmter Winkel ist. Zum Beispiel, wenn ein Maschinenbearbeitungsprogramm einen Bewegungspfad von ersten Koordinaten (a, b) zu zweiten Koordinaten (c, d) einstellt, kann aus der Information über die Koordinaten allein nicht bestimmt werden, ob der Bewegungspfad eine Ecke mit 60° oder eine Ecke mit 300° aufweist. Daher bestimmt die Toleranzwert-Einstelleinheit 23 basierend auf einem in dem Maschinenbearbeitungsprogramm enthaltenen Befehl betreffend eine Richtung R, ob der Bewegungspfad eine Ecke von 60° oder 300° hat oder nicht. Die Richtung R umfasst eine Information darüber, ob das Werkstück 70 rechts des Werkzeugs 66A oder links des Werkzeugs 66A zu maschinenbearbeiten ist. Zum Beispiel, wie in 11 gezeigt ist, wenn das Werkstück 70 rechts des Werkzeugs 66A zu maschinenbearbeiten ist, wird in dem Maschinenbearbeitungsprogramm ein G-Code G42 verwendet. Alternativ, wie in 12 gezeigt ist, wenn das Werkstück 70 links des Werkzeugs 66A zu maschinenbearbeiten ist, wird in dem Maschinenbearbeitungsprogramm ein G-Code G41 verwendet.
  • Die Toleranzwert-Einstelleinheit 23 bestimmt den Winkel einer Ecke des Bewegungspfads basierend auf der Information über die ersten und zweiten Koordinaten und den vorgenannten G-Code. Daher wird in den 11 und 12 bestimmt, dass das Werkstück 70 mit 60° zu maschinenbearbeiten ist, wenn in dem Maschinenbearbeitungsprogramm G42 enthalten ist, oder es wird bestimmt, dass es mit 120° zu maschinenbearbeiten ist, wenn in dem Maschinenbearbeitungsprogramm G41 enthalten ist.
  • Wenn die zu maschinenbearbeitende Form des Werkstücks 70 einen Winkel hat, welcher gleich oder kleiner als der bestimmte Winkel ist (Schritt S130, Ja), wird die Maschinenbearbeitungsgenauigkeit wichtig, und daher stellt die Toleranzwert-Einstelleinheit 23 den Toleranzwert auf 0 ein (Schritt S140).
  • Selbst wenn der Toleranzwert in einem Kontaktplanprogramm, etc., nicht auf 0 eingestellt ist, kann daher eine automatische Parametereinstellung des automatischen Einstellens des Toleranzwerts auf 0 verwendet werden, wenn der Bewegungspfad einen Winkel hat, der gleich oder kleiner als der bestimmte Winkel ist (beispielsweise gleich oder kleiner als 60°).
  • Wenn nicht eingestellt ist, dass der Toleranzwert 0 sein soll, wenn die zu maschinenbearbeitende Form einen Winkel hat, der gleich oder kleiner als ein bestimmter Winkel ist (Schritt S120, Nein), führt das numerische Steuerungsgerät 1X den in der zweiten Ausführungsform beschriebenen Bewegungspfadeinstellungsprozess nicht durch.
  • Zudem, wenn die zu maschinenbearbeitende Form des Werkstücks 70 einen Winkel hat, der größer als der bestimmte Winkel ist (Schritt S130, Nein), führt das numerische Steuerungsgerät 1X den in der zweiten Ausführungsform beschriebenen Bewegungspfadeinstellungsprozess nicht durch.
  • Wenn in einem Kontaktplanprogramm, etc., Toleranzwert = 0 eingestellt ist (Schritt S110, Ja) oder wenn die Toleranzwert-Einstelleinheit 23 Toleranzwert = 0 einstellt (Schritt S140), sendet die Toleranzwert-Einstelleinheit 23 die Einstellung Toleranzwert = 0 an die Wellenformerzeugungseinheit 24. Die Wellenformerzeugungseinheit 24 erzeugt einen Bewegungspfad in der X-Achsenrichtung und einen Bewegungspfad in der Z-Achsenrichtung.
  • Die Vibrationskorrektureinheit 25 korrigiert eine Vibrationswellenform eines ersten Bewegungspfads, welcher der Bewegungspfad in der X-Achsenrichtung ist, und korrigiert eine Vibrationswellenform eines zweiten Bewegungspfads, welcher der Bewegungspfad in der Z-Achsenrichtung ist, basierend auf der Vibrationswellenform, welche den Bewegungspfad angibt.
  • Die Vibrationskorrektureinheit 25 korrigiert die Vibrationswellenform am Ende des ersten Bewegungspfads und korrigiert die Vibrationswellenform am Anfang des zweiten Bewegungspfads, damit der spezifizierte Toleranzwert = 0 erfüllt wird.
  • 13 ist ein Graph zum Erläutern von Vibrationswellenformen, welche durch das numerische Steuerungsgerät gemäß der zweiten Ausführungsform erzeugt werden. Vorliegend umfassen die Vibrationswellenformen eine Vibrationswellenform in der X-Achsenrichtung und eine Vibrationswellenform in der Z-Achsenrichtung. 13 zeigt eine Vibrationswellenform 52X in der X-Achsenrichtung und eine Vibrationswellenform 52Z in der Z-Achsenrichtung. In 13 repräsentiert die horizontale Achse die Zeit, die vertikale Achse der Vibrationswellenform 52X repräsentiert die Position (Achsenposition) in der X-Achsenrichtung und die vertikale Achse der Vibrationswellenform 52Z repräsentiert die Position (Achsenposition) in der Z-Achsenrichtung. In der zweiten Ausführungsform entspricht die Vibrationswellenform 52X der ersten Vibrationswellenform, und die Vibrationswellenform 52Z entspricht der zweiten Vibrationswellenform.
  • Die Vibrationswellenformen, welche durch die Wellenformerzeugungseinheit 24 erzeugt werden, sind eine Vibrationswellenform in der X-Achsenrichtung und eine Vibrationswellenform in der Z-Achsenrichtung. Die Wellenformerzeugungseinheit 24 erzeugt eine Vibrationswellenform, bei welcher die Maschinenbearbeitung in der Z-Achsenrichtung an einem Zeitpunkt startet, nachdem die Maschinenbearbeitung in der X-Achsenrichtung abgeschlossen ist. Dies ermöglicht die Maschinenbearbeitung einer Ecke mit einem Toleranzwert von 0.
  • Die Wellenformerzeugungseinheit 24 erzeugt eine Vibrationswellenform, bei welcher eine Maschinenbearbeitung in der Z-Achsenrichtung an einem Zeitpunkt T3 gestartet wird, an welchem eine Vibrationswellenform in der X-Achsenrichtung eine Position von X = 10,0 erreicht. Der Zeitpunkt, an welchem eine Vibrationswellenform in der Z-Achsenrichtung eine Position von Z = 10,0 erreicht, ist der Zeitpunkt T4. Es ist zu beachten, dass, wie in 13 gezeigt, der Zeitpunkt des Erreichens einer Vibrationswellenform ein Zeitpunkt ist, an welchem eine Linie, die hintere Vibrationspositionen der Vibrationswellenform verbindet, die Endpunktposition erreicht.
  • Die Vibrationskorrektureinheit 25 korrigiert die Vibration vor und nach einem Wechseln der Bewegungspfade, um den spezifizierten Toleranzwert = 0 zu erfüllen. In diesem Prozess korrigiert die Vibrationskorrektureinheit 25 die Vibration vor und nach einem Wechseln von dem ersten Bewegungspfad (der Bewegungspfad in der X-Achsenrichtung) auf den zweiten Bewegungspfad (dem Bewegungspfad in der Z-Achsenrichtung) durch einen Prozess, der dem Prozess gleich ist, der in der ersten Ausführungsform beschrieben ist (Schritt S150).
  • Insbesondere erhöht die Vibrationskorrektureinheit 25 graduell die Amplitude der Vibrationswellenform in der X-Achsenrichtung, welche durch die Wellenformerzeugungseinheit 24 erzeugt wird, so, dass die Positionskoordinate des Werkzeugs 66A am Anfang der Vibration in der X-Achsenrichtung nicht auf eine Position in der X-Achsenrichtung bewegt wird, die kleiner als X = 0,0 ist. Daher stellt die Vibrationskorrektureinheit 25 die Amplitude an der Position am Anfang der Bewegung in der X-Achsenrichtung auf 0 ein und erhöht die Amplitude in der X-Achsenrichtung graduell. Die Vibrationskorrektureinheit 25 erhöht die Amplitude, bis die Amplitude die Amplitude erreicht, die in dem Vibrationsparameter definiert ist.
  • Zudem veranlasst die Vibrationskorrektureinheit 25, dass die Amplitude der Vibrationswellenform in der X-Achsenrichtung, welche durch die Wellenformerzeugungseinheit 24 erzeugt wird, konvergiert, sodass die Positionskoordinate des Werkzeugs 66A am Ende der Bewegung in der X-Achsenrichtung nicht größer als X = 10,0 wird. Die Vibrationswellenform 52X wird als Ergebnis der Korrektur der Amplitude am Anfang und am Ende der Vibrationswellenform in der X-Achsenrichtung erhalten.
  • Zudem erhöht die Vibrationskorrektureinheit 25 graduell die Amplitude der Vibrationswellenform in der Z-Achsenrichtung, welche durch die Wellenformerzeugungseinheit 24 erzeugt wird, so, dass die Positionskoordinate des Werkzeugs 66A am Anfang der Vibration in der Z-Achsenrichtung nicht auf eine Position in der Z-Achsenrichtung bewegt wird, die kleiner als Z = 0,0 ist. Daher stellt die Vibrationskorrektureinheit 25 die Amplitude an der Position am Anfang der Bewegung in der Z-Achsenrichtung auf 0 ein und erhöht die Amplitude in der Z-Achsenrichtung graduell. Die Vibrationskorrektureinheit 25 erhöht die Amplitude, bis die Amplitude die Amplitude erreicht, die in dem Vibrationsparameter definiert ist.
  • Zudem veranlasst die Vibrationskorrektureinheit 25, dass die Amplitude der Vibrationswellenform in der Z-Achsenrichtung, welche durch die Wellenformerzeugungseinheit 24 erzeugt wird, auf 0 konvergiert, sodass die Positionskoordinate des Werkzeugs 66A am Ende der Bewegung in der Z-Achsenrichtung nicht größer als Z = 10,0 wird, auf eine Weise, die der Konvergenz in der X-Achsenrichtung gleich ist. Die Vibrationswellenform 52Z wird als Ergebnis der Korrektur der Amplitude am Anfang und am Ende der Vibrationswellenform in der Z-Achsenrichtung erhalten.
  • Wie in 13 gezeigt ist, korrigiert in der vorliegenden Ausführungsform die Vibrationskorrektureinheit 25 die Amplitude der jeweiligen Vibrationswellenform so, dass eine Linie, welche vordere Vibrationspositionen der jeweiligen Vibrationswellenform verbindet, eine gerade Linie wird und dass eine Linie, welche hintere Vibrationspositionen davon verbindet, eine gerade Linie wird. Hierdurch wird eine Maschinenbearbeitung eines Eckabschnitts ohne exzessives Schneiden eines Werkstücks und weiter mit einer guten Eckenwinkelgenauigkeit erreicht.
  • Die Steuerungsberechnungseinheit 2X steuert die Bewegung und die Vibration des Werkzeugs 66A in Abhängigkeit des Maschinenbearbeitungsprogramms 102 und der Vibrationswellenformen 52X und 52Z. Daher führt das Werkzeug 66A die Vibrationsbewegung in Abhängigkeit der in 13 gezeigten Vibrationswellenformen 52X und 52Z durch, um die Maschinenbearbeitung entlang des in 9 gezeigten Bewegungspfads zu erreichen.
  • Wie oben beschrieben ist, wird gemäß der zweiten Ausführungsform die Vibrationswellenform des ersten Bewegungspfads nicht mit der Vibrationswellenform des zweiten Bewegungspfads vor und nach dem Wechseln des Bewegungspfads kombiniert, weil das numerische Steuerungsgerät 1X die Bewegung in der Z-Achsenrichtung startet, nachdem die Bewegung in der X-Achsenrichtung abgeschlossen ist, wenn der Toleranzwert 0 ist. Daher kann ein Vibrationsschneiden mit hoher Maschinenbearbeitungsgenauigkeit erreicht werden.
  • Weil die Amplituden der Vibrationswellenformen an den Endpunkten an den jeweiligen Achsen konvergieren, ist es zudem nicht erforderlich, in dem Maschinenbearbeitungsprogramm zu definieren, dass die Bewegung in der X-Achsenrichtung an dem Punkt zu stoppen ist, an dem die Bewegung in der X-Achsenrichtung abgeschlossen ist, was es ermöglicht, ein Maschinenbearbeitungsprogramm einfach zu erzeugen.
  • Dritte Ausführungsform.
  • Als Nächstes wird eine dritte Ausführungsform der Erfindung mit Bezug zu den 14 bis 17 beschrieben. In der dritten Ausführungsform wird ein Verfahren zum Durchführen einer Toleranzsteuerung erläutert, welches von dem der ersten Ausführungsform verschieden ist. In der dritten Ausführungsform wird, wenn Toleranzwert = m erfüllt ist, ein Bewegungspfad eingestellt, welcher einen Bewegungspfad in einer dritten Richtung umfasst, die von der X-Achsenrichtung und der Z-Achsenrichtung verschieden ist. In der dritten Ausführungsform wird als eine dritte Richtung eine Richtung bezeichnet, welche von der X-Achse und der Z-Achse in einer X-Z-Ebene verschieden ist, und die dritte Richtung ist eine Richtung, welche einen Referenzvektor der X-Achse und einen Referenzvektor der Z-Achse kombiniert. Auch in der dritten Ausführungsform wird, wie in der ersten Ausführungsform, das Maschinenbearbeitungsprogramm 101 verwendet.
  • 14 ist ein Graph, welcher einen Bewegungspfad zeigt, welcher durch ein numerisches Steuerungsgerät gemäß der dritten Ausführungsform erzeugt wird. In der dritten Ausführungsform erzeugt das numerische Steuerungsgerät 1X den Bewegungspfad in 14 aus dem Maschinenbearbeitungsprogramm in 3. Der vorliegende Bewegungspfad umfasst Bewegungspfade R11, R1 und R12 in der X-Achsenrichtung und der Z-Achsenrichtung.
  • In dem Graph des in 14 gezeigten Bewegungspfades repräsentiert die horizontale Achse eine Position in der Z-Achsenrichtung (eine Z-Achsenposition) und die vertikale Achse repräsentiert eine Position in der X-Achsenrichtung (eine X-Achsenposition). In 14 ist ein bestimmter Wegpunkt P0, der so eingestellt ist, dass er den Toleranzwert erfüllt, auf dem in 4 gezeigten Bewegungspfad gezeigt. Zudem ist in 14 eine Position auf der X-Achse, welche das Werkzeug 66A durchläuft, durch eine Position P1 repräsentiert, und eine Position auf der Z-Achse, welche das Werkzeug 66A durchläuft, ist durch eine Position P2 repräsentiert.
  • Ein Pfad, welcher die Position P1 mit der Position P2 verbindet, ist der Bewegungspfad R1 des Werkzeugs 66A. Die Positionen P1 und P2 sind so eingestellt, dass der bestimmte Wegpunkt P0 auf dem Bewegungspfad R1 liegt, welcher die Position P1 mit der Position P2 verbindet. In 14 ist die X-Koordinate der Position P1 durch X2 repräsentiert, und die Z-Koordinate der Position P2 ist durch Z2 repräsentiert. Das numerische Steuerungsgerät 1X stellt den Bewegungspfad ein, welcher bei dem Anfangspunkt beginnt, die Position P1, den bestimmten Wegpunkt P0 und die Position P2 in dieser Reihenfolge durchläuft und den Endpunkt erreicht. Insbesondere stellt das numerische Steuerungsgerät 1X den Bewegungspfad R11 von dem Anfangspunkt zu der Position P1, den Bewegungspfad R1 von der Position P1 zu der Position P2 und den Bewegungspfad R12 von der Position P2 zu dem Endpunkt ein.
  • Ein Prozess zum Einstellen der Bewegungspfade R11, R1 und R12 wird nun erläutert. 15 ist ein Ablaufdiagramm, welches Prozeduren eines Prozesses der Bewegungspfadeinstellung zeigt, welcher durch das numerische Steuerungsgerät gemäß der dritten Ausführungsform durchgeführt wird. In 15 wird ein Prozess des Einstellens eines Bewegungspfades unter Verwendung eines Bewegungspfades in der dritten Richtung erläutert. Es ist zu beachten, dass eine redundante Erläuterung einer Verarbeitung nicht wiederholt wird, die gleich der ist, die 5 der ersten Ausführungsform oder in 10 der zweiten Ausführungsform erläutert wurde.
  • Die Toleranzwert-Einstelleinheit 23 bestimmt, ob ein Toleranzwert größer 0 eingestellt ist oder nicht (ob ein bestimmter Toleranzwert > 0 ist oder nicht) (Schritt S210). Wenn kein Toleranzwert größer 0 eingestellt ist (Schritt S210, Nein), führt das numerische Steuerungsgerät 1X den in der dritten Ausführungsform beschriebenen Bewegungspfadeinstellungsprozess nicht durch.
  • Wenn ein Toleranzwert größer 0 eingestellt ist (Schritt S210, Ja), sendet die Toleranzwert-Einstelleinheit 23 den Toleranzwert an die Wellenformerzeugungseinheit 24. Die Wellenformerzeugungseinheit 24 erzeugt einen ersten Bewegungspfad, welcher ein Bewegungspfad in der X-Achsenrichtung ist, und einen zweiten Bewegungspfad, welcher ein Bewegungspfad in der Z-Achsenrichtung ist. Der durch die Wellenformerzeugungseinheit 24 erzeugte erste Bewegungspfad ist ein Bewegungspfad, welcher X = 0,0 mit X = 10,0 verbindet. Der durch die Wellenformerzeugungseinheit 24 erzeugte zweite Bewegungspfad ist ein Bewegungspfad, welcher Z = 0,0 mit Z = 10,0 verbindet.
  • Die Wellenformerzeugungseinheit 24 berechnet die Position P1 auf dem ersten Bewegungspfad und die Position P2 auf dem zweiten Bewegungspfad basierend auf dem Toleranzwert. Die Wellenformerzeugungseinheit 24 erzeugt den Bewegungspfad R1 in der dritten Richtung, welcher die Position P1 auf dem ersten Bewegungspfad mit der Position P2 auf dem zweiten Bewegungspfad verbindet (Schritt S220). Der Bewegungspfad R1 in der dritten Richtung ist ein Pfad, welcher die Position P1 mit der Position P2 verbindet, und wird erzeugt durch Kombinieren eines Bewegungspfads in der X-Achsenrichtung und eines Bewegungspfads in der Z-Achsenrichtung. Die Wellenformerzeugungseinheit 24 erzeugt den Bewegungspfad R1, welcher die Position P1, den bestimmten Wegpunkt P0 und die Position P2 durchläuft. Es ist zu beachten, dass der Bewegungspfad R1 eine gerade Linie oder eine Kurve sein kann.
  • Ferner entfernt die Wellenformerzeugungseinheit 24 aus dem ersten Bewegungspfad einen Bewegungspfad R2, welchen das Werkzeug 66A nicht durchläuft, und entfernt aus dem zweiten Bewegungspfad einen Bewegungspfad R3, welchen das Werkzeug 66A nicht durchläuft. Daher entfernt die Wellenformerzeugungseinheit 24 unnötige Bewegungspfade aus dem ersten Bewegungspfad und dem zweiten Bewegungspfad basierend auf Schnittpunkten des Bewegungspfads R1 in der dritten Richtung mit den jeweiligen Achsen (Schritt S230). Der Schnittpunkt des Bewegungspfads R1 in der dritten Richtung und der X-Achse ist die Position P1, und der Schnittpunkt des Bewegungspfads R1 in der dritten Richtung mit der Z-Achse ist die Position P2. Die Wellenformerzeugungseinheit 24 erzeugt den Bewegungspfad R11 durch Entfernen des Bewegungspfads R2 aus dem ersten Bewegungspfad und erzeugt den Bewegungspfad R12 durch Entfernen des Bewegungspfads R3 aus dem zweiten Bewegungspfad. Der Bewegungspfad R11 ist ein Bewegungspfad, welcher auf der X-Achse X = 0,0 mit X = X2 verbindet, und der Bewegungspfad R12 ist ein Bewegungspfad, welcher auf der Z-Achse Z = Z2 mit Z = 10,0 verbindet.
  • Die Wellenformerzeugungseinheit 24 erhält vordere Vibrationspositionen durch Addieren der Amplitude des Vibrationsparameters zu den Bewegungspfaden R1, R11 und R12 und erhält hintere Vibrationspositionen durch Subtrahieren der Amplitude davon. Die Wellenformerzeugungseinheit 24 erzeugt die Vibrationswellenformen der Bewegungspfade R1, R11 und R12 basierend auf den vorderen Vibrationspositionen und den hinteren Vibrationspositionen. Die Vibrationswellenform des Bewegungspfads R11 ist eine Vibrationswellenform eines Bewegungspfads in der X-Achsenrichtung, und die Vibrationswellenform des Bewegungspfads R12 ist eine Vibrationswellenform eines Bewegungspfads in der Z-Achsenrichtung. Die Vibrationswellenform des Bewegungspfads R1 ist eine Vibrationswellenform eines Bewegungspfads, welcher einen Bewegungspfad in der X-Achsenrichtung und einen Bewegungspfad in der Z-Achsenrichtung kombiniert.
  • Die Vibrationskorrektureinheit 25 korrigiert die Vibrationswellenformen der Bewegungspfade R1, R11 und R12 basierend auf den Vibrationswellenformen, welche die Bewegungspfade R1, R11 und R12 angeben.
  • 16 ist ein Graph zum Erläutern von Vibrationswellenformen, bevor das numerische Steuerungsgerät gemäß der dritten Ausführungsform die Startzeitpunkte einer Vibrationsbewegung korrigiert. Die in den 16 und 17 gezeigten Vibrationswellenformen, welche später beschrieben werden, umfassen eine Vibrationswellenform in der X-Achsenrichtung, eine Vibrationswellenform in der Z-Achsenrichtung und eine Vibrationswellenform in der dritten Richtung, welche die X-Achsenrichtung und die Z-Achsenrichtung kombiniert. 16 zeigt Vibrationswellenformen für einen Fall, in welchem eine Vibration vor und nach einem Wechsel der Bewegungspfade korrigiert wird.
  • Die Vibrationskorrektureinheit 25 korrigiert die Vibration vor und nach einem Wechsel der Bewegungspfade durch einen Prozess, der dem gleich ist, der in der ersten Ausführungsform beschrieben wurde (Schritt S240). Insbesondere erhöht die Vibrationskorrektureinheit 25 graduell die Amplitude des Bewegungspfads R11 in der X-Achsenrichtung, welcher durch die Wellenformerzeugungseinheit 24 erzeugt wird, so, dass die X-Koordinate des Werkzeug 66A am Anfang der Bewegung in der X-Achsenrichtung nicht kleiner als X = 0,0 wird.
  • Zudem veranlasst die Vibrationskorrektureinheit 25, dass die Amplitude des Bewegungspfads R11 in der X-Achsenrichtung, welcher durch die Wellenformerzeugungseinheit 24 erzeugt wird, auf 0 konvergiert, sodass die X-Koordinate des Werkzeugs 66A am Ende der Bewegung in der X-Achsenrichtung nicht größer als X = X2 wird. Als Ergebnis der Korrektur der Amplitude am Anfang und am Ende der Vibrationswellenform in der X-Achsenrichtung wird eine Vibrationswellenform 53X erhalten.
  • Zudem erhöht die Vibrationskorrektureinheit 25 graduell die Amplitude des Bewegungspfads R1 in der dritten Richtung, welcher durch die Wellenformerzeugungseinheit 24 erzeugt wird, so, dass am Anfang der Bewegung in der dritten Richtung die Z-Koordinate des Werkzeugs 66A nicht kleiner als Z = 0,0 wird und die X-Koordinate des Werkzeugs 66A nicht kleiner als X = X2 wird.
  • Zudem veranlasst die Vibrationskorrektureinheit 25, dass die Amplitude des Bewegungspfads R1 in der dritten Richtung, welcher durch die Wellenformerzeugungseinheit 24 erzeugt wird, auf 0 konvergiert, sodass am Ende der Bewegung in der dritten Richtung die X-Koordinate des Werkzeugs 66A nicht größer als X = 10,0 wird und die Z-Koordinate des Werkzeugs 66A nicht größer als Z = Z2 wird. Als Ergebnis der Korrektur der Amplitude am Anfang und am Ende der Vibrationswellenform in der dritten Richtung wird eine Vibrationswellenform 53XZ erhalten.
  • Zudem erhöht die Vibrationskorrektureinheit 25 graduell die Amplitude des Bewegungspfads R12 in der Z-Achsenrichtung, welcher durch die Wellenformerzeugungseinheit 24 erzeugt wird, so, dass die Z-Koordinate des Werkzeugs 66A am Anfang der Bewegung in der Z-Achsenrichtung nicht kleiner als Z = Z2 wird.
  • Zudem veranlasst die Vibrationskorrektureinheit 25, dass die Amplitude des Bewegungspfads R12 in der Z-Achsenrichtung, welcher durch die Wellenformerzeugungseinheit 24 erzeugt wird, auf 0 konvergiert, sodass die Z-Koordinate des Werkzeugs 66A am Ende der Bewegung in der Z-Achsenrichtung nicht größer als Z = 10,0 wird. Als Ergebnis der Korrektur der Amplitude am Anfang und am Ende der Vibrationswellenform in der Z-Achsenrichtung wird eine Vibrationswellenform 53Z erhalten.
  • In 16 ist der Zeitpunkt, an welchem eine Maschinenbearbeitung gemäß der Vibrationswellenform 53X abzuschließen ist und eine Maschinenbearbeitung gemäß der Vibrationswellenform 53XZ zu starten ist, durch einen Zeitpunkt T5 repräsentiert; und der Zeitpunkt, an welchem eine Maschinenbearbeitung gemäß der Vibrationswellenform 53XZ abzuschließen ist und eine Maschinenbearbeitung gemäß der Vibrationswellenform 53Z zu starten ist, ist durch einen Zeitpunkt T6 repräsentiert.
  • Die Vibrationskorrektureinheit 25 korrigiert den Zeitpunkt T5 und den Zeitpunkt T6, welche Startzeitpunkte einer Vibrationsbewegung sind (Schritt S250). 17 ist ein Graph zum Erläutern von Vibrationswellenformen, nachdem das numerische Steuerungsgerät gemäß der dritten Ausführungsform die Startzeitpunkte der Vibrationsbewegung korrigiert hat.
  • 17 zeigt eine Vibrationswellenform 54X in der X-Achsenrichtung, eine Vibrationswellenform 54XZ, welche durch Korrigieren des Startzeitpunktes der Vibrationsbewegung in der dritten Richtung erhalten wird, und eine Vibrationswellenform 54Z, welche durch Korrigieren des Startzeitpunktes der Vibrationsbewegung in der Z-Achsenrichtung erhalten wird. In der dritten Ausführungsform entspricht die Vibrationswellenform 54X der ersten Vibrationswellenform, die Vibrationswellenform 54Z entspricht der zweiten Vibrationswellenform, und die Vibrationswellenform 54XZ entspricht einer dritten Vibrationswellenform.
  • Die Vibrationswellenform 54X ist eine Vibrationswellenform, die der in 16 gezeigten Vibrationswellenform 53X gleich ist. Die Vibrationswellenform 54XZ ist eine Vibrationswellenform, die durch Korrigieren des Startzeitpunktes der in 16 gezeigten Vibrationswellenform 53XZ erhalten wird, und die Vibrationswellenform 54Z ist eine Vibrationswellenform, die durch Korrigieren des Startzeitpunktes der in 16 gezeigten Vibrationswellenform 53Z erhalten wird.
  • Die Vibrationskorrektureinheit 25 passt den Startzeitpunkt der Vibrationswellenform 54XZ so an, dass die Vibrationswellenform 54XZ den bestimmten Wegpunkt P0 durchläuft und dass die Maschinenbearbeitung in der dritten Richtung an einem Zeitpunkt T7 gestartet wird, an welchem die Vibrationswellenform 54XZ das erste Mal die Position X = X2 erreicht. Insbesondere ändert die Vibrationskorrektureinheit 25 den Startzeitpunkt der Vibrationswellenform 54XZ auf den Zeitpunkt T7. Auf diese Weise zieht die Vibrationskorrektureinheit 25 den Startzeitpunkt der Vibrationswellenform 54XZ so vor, dass der Zeitpunkt, an welchem die Vibrationswellenform 54X die Position X = X2 erreicht, und der Zeitpunkt, an welchem die Vibrationswellenform 54XZ startet, gleich sind. Hierdurch kann das Wechseln der Bewegungsrichtung durchgeführt werden, ohne die Vibration des Werkzeugs 66A zu stoppen, was es ermöglicht, eine glatte Vibrationswellenform zu erreichen.
  • Zudem passt die Vibrationskorrektureinheit 25 den Startzeitpunkt der Vibrationswellenform 54Z so an, dass eine Maschinenbearbeitung gemäß der Vibrationswellenform 54Z an einem Zeitpunkt T8 gestartet wird, an welchem die Vibrationswellenform 54XZ das erste Mal die Position Z = Z2; X = 10,0 erreicht. Es ist zu beachten, dass der Zeitpunkt, an welchem eine Vibrationswellenform eine vorbestimmte Position das erste Mal erreicht, den Zeitpunkt bezeichnet, an welchem eine Linie, welche Maximalpunkte der Vibrationswellenform verbindet, die vorbestimmte Position erreicht. Die Vibrationskorrektureinheit 25 ändert daher den Startzeitpunkt der Vibrationswellenform 54Z auf den Zeitpunkt T8. Auf diese Weise zieht die Vibrationskorrektureinheit 25 den Startzeitpunkt der Vibrationswellenform 54Z so vor, dass der Zeitpunkt, an welchem die Vibrationswellenform 54XZ die Position Z = Z2; X = 10,0 das erste Mal erreicht, und der Zeitpunkt, an welchem die Vibrationswellenform 54Z startet, gleich sind. Hierdurch kann das Wechseln der Bewegungsrichtung durchgeführt werden, ohne die Vibration des Werkzeugs 66A zu stoppen, was es ermöglicht, eine glatte Vibrationswellenform zu erreichen.
  • Die Steuerungsberechnungseinheit 2X steuert die Bewegung und die Vibration des Werkzeugs 66A in Abhängigkeit des Maschinenbearbeitungsprogramms 101 und der Vibrationswellenformen 54X, 54XZ und 54Z. Daher führt das Werkzeug 66A die Vibrationsbewegung in Abhängigkeit der in 17 gezeigten Vibrationswellenformen 54X, 54XZ und 54Z durch, um die Maschinenbearbeitung entlang des in 14 gezeigten Bewegungspfads zu erreichen.
  • Es ist zu beachten, dass der Zeitpunkt, an welchem die Vibrationswellenform 54XZ startet, jeder Zeitpunkt zwischen dem Zeitpunkt, an welchem die Vibrationswellenform 54X die Position X = X2 das erste Mal erreicht, und einem Zeitpunkt sein kann, an welchem die Amplitude der Vibrationswellenform 54X 0 wird. Zudem kann der Zeitpunkt, an welchem die Vibrationswellenform 54Z startet, jeder Zeitpunkt zwischen dem Zeitpunkt, an welchem die Vibrationswellenform 54XZ eine Position Z = Z2 das erste Mal erreicht, und einem Zeitpunkt sein kann, an welchem die Amplitude der Vibrationswellenform 54XZ 0 wird.
  • Wie oben beschrieben ist, erzeugt gemäß der dritten Ausführungsform auf eine Weise, die der der ersten Ausführungsform gleich ist, wenn der Toleranzwert größer 0 ist, das numerische Steuerungsgerät 1X einen Bewegungspfad, entlang welchem das Werkzeug 66A den bestimmten Wegpunkt P0 durchläuft, welcher dem Toleranzwert zugeordnet ist, basierend auf dem Toleranzwert. Daher kann ein Bewegungspfad eingestellt werden, welcher dem Toleranzwert zugeordnet ist.
  • Vierte Ausführungsform.
  • Als Nächstes wird eine vierte Ausführungsform der Erfindung mit Bezug zu den 18 bis 21 beschrieben. Während in der ersten bis dritten Ausführungsform der Prozess des Korrigierens der Vibration vor und nach dem Wechseln des Bewegungspfads durchgeführt wird, wird in der vierten Ausführungsform der Prozess des Korrigierens der Vibration vor und nach dem Wechseln der Bewegungspfade nicht durchgeführt, wenn sich die Kante des Werkzeug 66A das Werkstück 70 nicht überschneiden (in Kontakt sind).
  • Wenn der Prozess der vierten Ausführungsform auf die erste bis dritte Ausführungsform angewendet wird, wird in jedem Fall ein gleicher Prozess ausgeführt. Daher wird in der vierten Ausführungsform ein Fall beschrieben, in welchem der Prozess des Korrigierens der Vibration vor und nach dem Wechseln der Bewegungspfade während des in der ersten Ausführungsform beschriebenen Bewegungspfadeinstellungsprozesses nicht durchgeführt wird.
  • 18 ist ein Graph, welcher einen Bewegungspfad zeigt, welcher durch ein numerisches Steuerungsgerät gemäß der vierten Ausführungsform erzeugt wird. In der vierten Ausführungsform erzeugt das numerische Steuerungsgerät 1X den Bewegungspfad in 18 aus dem Maschinenbearbeitungsprogramm in 3. Der vorliegende Bewegungspfad umfasst einen Bewegungspfad in der X-Achsenrichtung und einen Bewegungspfad in der Z-Achsenrichtung.
  • In dem Graph des in 18 gezeigten Bewegungspfads repräsentiert die horizontale Achse eine Position in der Z-Achsenrichtung (eine Z-Achsenposition) und die vertikale Achse repräsentiert eine Position in der X-Achsenrichtung (eine X-Achsenposition). In 18 ist ein bestimmter Wegpunkt P0, der so eingestellt ist, dass er den Toleranzwert erfüllt, auf dem in 4 gezeigten Bewegungspfad gezeigt. In 18 ist die X-Koordinate des bestimmten Wegpunkts P0 durch X3 repräsentiert, und die Z-Koordinate davon ist durch Z3 repräsentiert. Zudem ist in 18 eine Position auf der X-Achse, welche das Werkzeug 66A durchläuft, durch eine Position P3 repräsentiert, und eine Position auf der Z-Achse, welche das Werkzeug 66A durchläuft, ist durch eine Position P4 repräsentiert.
  • Ein Pfad, welcher die Position P3 mit der Position P4 verbindet, ist ein Bewegungspfad des Werkzeugs 66A. Die Positionen P3 und P4 sind so eingestellt, dass der bestimmte Wegpunkt P0 auf dem Bewegungspfad liegt, welcher die Position P3 mit der Position P4 verbindet. Das numerische Steuerungsgerät 1X stellt den Bewegungspfad ein, welcher an dem Anfangspunkt beginnt, die Position P3, den bestimmten Wegpunkt P0 und die Position P4 in dieser Reihenfolge durchläuft und den Endpunkt erreicht.
  • 19 ist ein Ablaufdiagramm, welches Prozeduren eines Prozesses einer Bewegungspfadeinstellung zeigt, welcher durch das numerische Steuerungsgerät gemäß der vierten Ausführungsform durchgeführt wird. Die Prozesse in den Schritten S310 und S320 sind den Prozessen in den Schritten S10 und S20 gleich, die in 5 der ersten Ausführungsform erläutert wurden, und daher wird deren Erläuterung nicht wiederholt.
  • Die Wellenformerzeugungseinheit 24 erzeugt Vibrationswellenformen durch Prozesse, die den in der ersten Ausführungsform beschriebenen Prozessen gleich sind. Insbesondere erzeugt die Wellenformerzeugungseinheit 24 eine Vibrationswellenform, welche dem Bewegungspfad in der X-Achsenrichtung entspricht, durch Kombinieren des Befehlsbewegungswerts und des Vibrationsbewegungswerts in der X-Achsenrichtung. Die Wellenformerzeugungseinheit 24 erzeugt zudem eine Vibrationswellenform, welche dem Bewegungspfad in der Z-Achsenrichtung entspricht, durch Kombinieren des Befehlsbewegungswerts und des Vibrationsbewegungswerts in der Z-Achsenrichtung.
  • Die Vibrationskorrektureinheit 25 erhält Relativpositionen des Werkstücks 70 und des Werkzeugs 66A (Schritt S330). Insbesondere erhält die Vibrationskorrektureinheit 25 basierend auf einem Befehl über eine Richtung R, die durch eine durch die Analyseverarbeitungseinheit 37 durchgeführte Analyse erhalten wird, eine Information darüber, ob das Werkstück 70 an der Innenseite oder an der Außenseite einer Ecke ist, die in dem Bewegungspfad des Werkzeugs 66A gebildet ist. Es ist zu beachten, dass die Innenseite der Ecke eine Seite mit einem Winkel kleiner 180° bezeichnet und dass die Außenseite der Ecke eine Seite mit einem Winkel größer 180° bezeichnet.
  • Wie in 11 gezeigt ist, wenn der Winkel einer Eckenform des Werkstücks 70 kleiner als 180° ist, d. h., wenn das Werkstück 70 an der Innenseite einer durch den Bewegungspfad gebildeten Ecke ist, überschneiden sich das Werkzeug 66A und das Werkstück 70 nicht ohne Korrektur des Bewegungspfads des Werkzeugs 66A beim Wechseln der Bewegungsrichtung. In diesem Fall bestimmt die Vibrationskorrektureinheit 25, dass sich das Werkzeug 66A außerhalb der Rechter-Winkel-Position bewegen kann. Mit anderen Worten: In einem Fall, in welchem das Werkstück 70 an der Innenseite der Ecke des in 18 gezeigten Bewegungspfads ist, beeinflusst die Bewegung des Werkzeugs 66A, die über einen Bereich von den Anfangspositionskoordinaten zu den Endpositionskoordinaten hinausgeht, nicht die Form des zu maschinenbearbeitenden Objekts 70. Daher bestimmt die Vibrationskorrektureinheit 25, dass sich das Werkzeug 66A und das Werkstück 70 ohne Korrektur des Bewegungspfads des Werkzeugs 66A beim Wechseln der Bewegungsrichtung nicht überschneiden.
  • Im Gegensatz dazu, wenn das Werkstück 70 an der Außenseite einer Ecke des Bewegungspfads des Werkzeugs 66A ist, wie in 12 gezeigt ist, überschneiden sich das Werkzeug 66A und das Werkstück 70, sofern nicht der Bewegungspfad des Werkzeugs 66A beim Wechseln der Bewegungsrichtung korrigiert wird. In diesem Fall bestimmt die Vibrationskorrektureinheit 25, dass das Werkzeug 66A nicht außerhalb der Rechter-Winkel-Position zu bewegen ist.
  • 20 ist ein Graph zum Erläutern von Vibrationswellenformen, welche durch das numerische Steuerungsgerät gemäß der vierten Ausführungsform erzeugt werden. Vorliegend umfassen die Vibrationswellenformen eine Vibrationswellenform in der X-Achsenrichtung und eine Vibrationswellenform in der Z-Achsenrichtung. 20 zeigt eine Vibrationswellenform 55X, welche dem Bewegungspfad in der X-Achsenrichtung entspricht, und eine Vibrationswellenform 55Z, welche dem Bewegungspfad in der Z-Achsenrichtung entspricht. In 20 repräsentiert die horizontale Achse die Zeit, die vertikale Achse der Vibrationswellenform 55X repräsentiert die Position (Achsenposition) in der X-Achsenrichtung, und die vertikale Achse der Vibrationswellenform 55Z repräsentiert die Position (Achsenposition) in der Z-Achsenrichtung.
  • Die durch die Wellenformerzeugungseinheit 24 erzeugten Bewegungspfade sind ein Bewegungspfad in der X-Achsenrichtung und ein Bewegungspfad in der Z-Achsenrichtung. Die Wellenformerzeugungseinheit 24 erzeugt die Bewegungspfade zum Starten der Maschinenbearbeitung in der Z-Achsenrichtung an einem Zeitpunkt, an welchem die Maschinenbearbeitung in der X-Achsenrichtung abgeschlossen ist.
  • Die Vibrationskorrektureinheit 25 bestimmt basierend auf Relativpositionen des Werkstücks 70 und des Werkzeugs 66A, ob sich eine vordere Vibrationsposition auf dem ersten Bewegungspfad oder eine hintere Vibrationsposition auf dem zweiten Bewegungspfad mit dem Werkstück 70 überschneiden oder nicht (Schritt S340). Die Vibrationskorrektureinheit 25 bestimmt daher, ob sich eine Position, welche durch die Vibrationswellenform angegeben ist, und das Werkstück 70 überschneiden oder nicht, wenn die durch die Vibrationswellenform angegebene Position eine Zielposition erreicht.
  • Wenn sich die vordere Vibrationsposition auf dem ersten Bewegungspfad oder die hintere Vibrationsposition auf dem zweiten Bewegungspfad mit dem Werkstück 70 überschneiden (Schritt S340, Ja), korrigiert die Vibrationskorrektureinheit 25 die Vibration vor und nach dem Wechseln der Bewegungspfade auf eine Weise, die der der ersten Ausführungsform gleich ist (Schritt S350). Insbesondere, wenn sich die vordere Vibrationsposition auf dem ersten Bewegungspfad und das Werkstück 70 überschneiden, korrigiert die Vibrationskorrektureinheit 25 die Amplitude am Anfang und am Ende der Vibrationswellenform in der X-Achsenrichtung so, dass sich die vordere Vibrationsposition und das Werkstück 70 nicht überschneiden. Wenn sich die hintere Vibrationsposition auf dem zweiten Bewegungspfad und das Werkstück 70 überschneiden, korrigiert die Vibrationskorrektureinheit 25 die Amplitude am Anfang und am Ende der Vibrationswellenform in der Z-Achsenrichtung so, dass sich die hintere Vibrationsposition und das Werkstück 70 nicht überschneiden.
  • Wenn sich die vordere Vibrationsposition auf dem ersten Bewegungspfad und die hintere Vibrationsposition auf dem zweiten Bewegungspfad mit dem Werkstück 70 nicht überschneiden (Schritt S340, Nein), korrigiert die Vibrationskorrektureinheit 25 die Vibration vor und nach dem Wechseln der Bewegungspfade nicht.
  • Insbesondere, wenn sich das Werkzeug 66A und das Werkstück 70 am Ende der Vibrationsbewegung auf dem ersten Bewegungspfad nicht überschneiden, führt die Vibrationskorrektureinheit 25 die Korrektur nicht durch, wonach die Amplitude der Vibrationswellenform in der X-Achsenrichtung dazu veranlasst wird, am Ende der Vibrationsbewegung auf dem ersten Bewegungspfad zu konvergieren. Zudem, wenn sich das Werkzeug 66A und das Werkstück 70 am Anfang der Vibrationsbewegung auf dem zweiten Bewegungspfad nicht überschneiden, führt die Vibrationskorrektureinheit 25 die Korrektur des graduellen Erhöhens der Amplitude der Vibrationswellenform in der Z-Achsenrichtung am Anfang des zweiten Bewegungspfades nicht durch.
  • Wenn das Ergebnis in Schritt S340 Nein ist oder nach dem Prozess in Schritt S350, passt die Vibrationskorrektureinheit 25 den Zeitpunkt (Zeitpunkt T9), an welchem die Vibrationswellenform 55Z zu starten ist, so an, dass das Werkzeug 66A den bestimmten Wegpunkt P0 durchläuft, auf eine Weise, die der der ersten Ausführungsform gleich ist. Mit anderen Worten korrigiert die Vibrationskorrektureinheit 25 den Startzeitpunkt der Vibrationsbewegung in der Z-Achsenrichtung (Schritt S360).
  • Die Steuerungsberechnungseinheit 2X steuert die Bewegung und die Vibration des Werkzeugs 66A in Abhängigkeit des Maschinenbearbeitungsprogramms 101 und der Vibrationswellenformen 55X und 55Z. Daher führt das Werkzeug 66A die Vibrationsbewegung in Abhängigkeit der Vibrationswellenformen 55X und 55Z durch, welche in 20 gezeigt sind, um die Maschinenbearbeitung entlang des in 18 gezeigten Bewegungspfades zu erreichen.
  • Wie oben beschrieben ist, wenn sich das Werkzeug 66A und das Werkstück 70 nicht überschneiden, resultiert kein Nachteil daraus, dass die Bewegung des Werkzeugs 66A über die Positionen P3 und P4 hinausgeht. Wenn sich das Werkzeug 66A und das Werkstück 70 nicht überschneiden, wird die Amplitude der Vibrationswellenform nicht korrigiert, was eine kontinuierliche Vibration des Werkzeugs 66A ermöglicht, und daher kann die Maschinenbearbeitungsdauer verkürzt werden.
  • Es ist zu beachten, dass der Toleranzwert durch den Nutzer (Bediener) spezifiziert werden kann. In diesem Fall speichert der Nutzer den Toleranzwert in einem Maschinenbearbeitungsprogramm oder einem Kontaktplanprogramm, um den Toleranzwert zu spezifizieren. Zudem ist der durch den Nutzer spezifizierte Toleranzwert nicht auf einen Toleranzwert begrenzt, der direkt spezifiziert wird, sondern es können mehrere Toleranzwertlevels spezifiziert werden. Die Toleranzwerte, die für mehrere Levels eingestellt sind, werden als Toleranzlevelinformation in der Speichereinheit 34 des numerischen Steuerungsgeräts 1X gespeichert.
  • 21 ist eine Tabelle zum Erläutern der Toleranzlevelinformation, welche durch das numerische Steuerungsgerät gemäß der vierten Ausführungsform verwendet wird. Die Toleranzlevelinformation 71 ist eine Information über Toleranzwerte, die für mehrere Levels in Abhängigkeit der Maschinenbearbeitungsgenauigkeit eingestellt sind. In der Toleranzlevelinformation 71 sind ein Toleranzwert und ein Level der Maschinenbearbeitungsgenauigkeit (Maschinenbearbeitungsdauer) einander zugeordnet. In der Toleranzlevelinformation 71 entspricht beispielsweise ein erstes Level einem Toleranzwert von 0 µm und ein zweites Level entspricht einem Toleranzwert von 10 µm. In der Toleranzlevelinformation 71 entspricht zudem ein viertes Level einem Toleranzwert von 30 µm und ein fünftes Level entspricht einem Toleranzwert von 40 µm.
  • In der Toleranzlevelinformation 71 bedeutet ein geringeres Level eine höhere Priorität auf die Maschinenbearbeitungsgenauigkeit, und mit höher werdendem Level nimmt die Priorität auf die Maschinenbearbeitungsdauer zu. Die Maschinenbearbeitungsgenauigkeit ist daher am höchsten, wenn die Maschinenbearbeitung mit dem Toleranzwert des ersten Levels durchgeführt wird; und die Maschinenbearbeitungsdauer ist am kürzesten, wenn die Maschinenbearbeitung mit dem Toleranzwert des fünften Levels durchgeführt wird. Die Toleranzwert-Einstelleinheit 23 des numerischen Steuerungsgeräts 1X stellt den Toleranzwert basierend auf dem durch den Nutzer spezifizierten Level und der Toleranzlevelinformation 71 ein.
  • Alternativ kann in der Toleranzlevelinformation 71 anstelle der Levels eine Identifikationsinformation der Toleranzwerte verwendet werden. Insbesondere kann die Toleranzlevelinformation 71 eine Information sein, in welcher ein Toleranzwert und eine Identifikationsinformation einander zugeordnet sind.
  • Zudem kann die Toleranzlevelinformation 71 durch eine von dem Nutzer durchgeführte Bedienung angepasst werden. Zudem kann das Level in der Toleranzlevelinformation 71 durch ein Maschinenbearbeitungsprogramm oder dergleichen spezifiziert sein. In diesem Fall stellt die Toleranzwert-Einstelleinheit 23 des numerischen Steuerungsgeräts 1X den Toleranzwert basierend auf dem Level, welches in dem Maschinenbearbeitungsprogramm oder dergleichen spezifiziert ist, und der Toleranzlevelinformation 71 ein. Auch in der ersten bis dritten Ausführungsform kann die Toleranzwert-Einstelleinheit 23 den Toleranzwert basierend auf der Toleranzlevelinformation 71 einstellen.
  • Weil das numerische Steuerungsgerät 1X die Vibration vor und nach dem Wechseln der Bewegungspfade nicht korrigiert, wenn sich die Kante des Werkzeugs 66A und das Werkstück 70 nicht überschneiden, kann, wie oben beschrieben ist, gemäß der vierten Ausführungsform eine Maschinenbearbeitung einer Ecke mit der unveränderten Amplitude der Vibrationswellenform durchgeführt werden. Daher tritt keine Verzögerung in der Maschinenbearbeitungsdauer auf, welche durch eine Erhöhung oder Verringerung der Amplitude einer Vibrationswellenform bedingt ist, was verhindert, dass die Maschinenbearbeitungsdauer erhöht ist.
  • Fünfte Ausführungsform.
  • Als Nächstes wird eine fünfte Ausführungsform der Erfindung mit Bezug zu 22 beschrieben. In der fünften Ausführungsform werden Toleranzwerte zur Maschinenbearbeitung auf gewünschten Bewegungspfaden durch Maschinenlernen erlernt.
  • 22 ist ein Diagramm, welches ein Beispiel einer Konfiguration eines numerischen Steuerungsgeräts gemäß der fünften Ausführungsform zeigt. Ein numerisches Steuerungsgerät 1Y führt eine Steuerung des niederfrequenten Vibrationsschneidens an der Werkzeugmaschine 110 auf eine Weise durch, welche der in der ersten bis vierten Ausführungsform beschriebenen numerischen Steuerungsgerät 1X gleich ist. Das numerische Steuerungsgerät 1Y umfasst ein Maschinenlerngerät 400, und das Maschinenlerngerät 400 lernt Toleranzwerte, welche zur Toleranzsteuerung verwendet werden, und bestimmt bei der Toleranzsteuerung Aktionen, um die Genauigkeit der Toleranzsteuerung zu verbessern.
  • Im Vergleich zu dem numerischen Steuerungsgerät 1X umfasst das numerische Steuerungsgerät 1Y eine Steuerungsberechnungseinheit 2Y anstelle der Steuerungsberechnungseinheit 2X. Im Vergleich zu der Steuerungsberechnungseinheit 2X umfasst die Steuerungsberechnungseinheit 2Y anstelle der Interpolationsverarbeitungseinheit 38X eine Interpolationsverarbeitungseinheit 38Y und umfasst anstelle der Achsendatenausgabeeinheit 40 eine Achsendaten-Eingabe/Ausgabeeinheit 46. Die Steuerungsberechnungseinheit 2Y umfasst zudem das Maschinenlerngerät 400.
  • Die Interpolationsverarbeitungseinheit 38Y umfasst eine Toleranzdetektionseinheit 26 zusätzlich zu den Komponenten der Interpolationsverarbeitungseinheit 38X. Die Toleranzdetektionseinheit 26 erhält einen Toleranzwert (m), welcher durch die Toleranzwert-Einstelleinheit 23 bestimmt wird, und sendet den Toleranzwert an das Maschinenlerngerät 400.
  • Die Achsendaten-Eingabe/Ausgabeeinheit 46 umfasst zusätzlich zu den Funktionen der in der ersten Ausführungsform beschriebenen Achsendatenausgabeeinheit 40 Funktionen des Empfangens von Rückkopplungspositionen (j), die von der X-Achsenservosteuerungseinheit 91 und der Z-Achsenservosteuerungseinheit 92 gesendet werden, und des Eingebens der Rückkopplungspositionen (j) in das Maschinenlerngerät 400. Die Rückkopplungspositionen (j) sind eine Position (Koordinaten) eines tatsächlichen bestimmten Wegpunktes für einen Fall, in welchem eine Toleranzsteuerung unter Verwendung des Toleranzwerts (m) durchgeführt wird. Die Achsendaten-Eingabe/Ausgabeeinheit 46 empfängt eine Position in der X-Achsenrichtung von der X-Achsenservosteuerungseinheit 91 und empfängt eine Position in der Z-Achsenrichtung von der Z-Achsenservosteuerungseinheit 92 für die Rückkopplungspositionen (j).
  • Das Maschinenlerngerät 400 umfasst eine Lerneinheit 45 und eine Zustandsbeobachtungseinheit 41. Die Zustandsbeobachtungseinheit 41 beobachtet die Rückkopplungspositionen (j) und den Toleranzwert (m) als Zustandsvariablen (i). Die Lerneinheit 45 lernt eine Aktion (n), d. h. einen als Nächstes zu bestimmenden Toleranzwert (m), in Abhängigkeit eines Trainingsdatensatzes, welcher basierend auf den Zustandsvariablen (i) aus den Rückkopplungspositionen (j) und dem Toleranzwert (m) erzeugt ist.
  • Jeder Lernalgorithmus kann durch die Lerneinheit 45 verwendet werden. Als Beispiel wird ein Fall beschrieben, in welchem bestärkendes Lernen angewendet wird. Beim bestärkten Lernen beobachtet ein Agent (ein Subjekt von Aktionen) in einer Umgebung einen aktuellen Zustand und bestimmt eine vorzunehmende Aktion (n). Der Agent erhält von der Umgebung durch Auswählen einer Aktion (n) eine Belohnung und lernt durch eine Reihe von Aktionen Maßnahmen, um die größte Belohnung zu erhalten. Q-Lernen und TD-Lernen sind als typische Techniken des bestärkenden Lernens bekannt. Im Falle des Q-Lernens wird eine typische Aktualisierungsformel (Aktionswerttabelle) einer Aktionswertfunktion Q (s, a) beispielsweise durch Formel (1) ausgedrückt.
  • Mathematische 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 DE112018008087T5_0001
  • In Formel (1) repräsentiert st eine Umgebung zum Zeitpunkt t und at repräsentiert eine Aktion zum Zeitpunkt t. Die Aktion at ändert die Umgebung auf st+i. rt+1 repräsentiert eine Belohnung, die als Ergebnis der Änderung in der Umgebung gegeben wird, y repräsentiert eine Diskontierungsrate und α repräsentiert einen Lernkoeffizienten. In dem Fall, in welchem Q-Lernen angewendet wird, entspricht der nächste Toleranzwert der Aktion at.
  • Die durch Formel (1) ausgedrückte Aktualisierungsformel erhöht einen Aktionswert Q, wenn der Aktionswert einer besten Aktion zum Zeitpunkt t+1 größer als ein Aktionswert Q einer zum Zeitpunkt t durchgeführten Aktion a ist, oder verringert den Aktionswert Q im gegenteiligen Fall. Mit anderen Worten wird die Aktionswertfunktion Q (s, a) so aktualisiert, dass der Aktionswert Q der Aktion a zum Zeitpunkt t sich einem besten Aktionswert zum Zeitpunkt t+1 nähert. Hierdurch entwickelt sich nach und nach ein bester Aktionswert in einer Umgebung auf Aktionswerte vorheriger Umgebungen.
  • Die Lerneinheit 45 umfasst eine Belohnungsberechnungseinheit 42 und eine Funktionsaktualisierungseinheit 43. Die Belohnungsberechnungseinheit 42 berechnet eine Belohnung (k) basierend auf dem Toleranzwert (m) und den Rückkopplungspositionen (j), welche Zustandsvariablen (i) sind. Zum Beispiel, wenn die Differenz zwischen der Position eines bestimmten Wegpunktes P0, dem der Toleranzwert (m) zugeordnet ist, und den Rückkopplungspositionen (j), welche die tatsächlichen bestimmten Wegpunkte P0 sind, klein ist, erhöht die Belohnungsberechnungseinheit 42 die Belohnung (k) (gibt beispielsweise eine Belohnung von „1“). Im Gegensatz dazu, wenn die Differenz zwischen dem Toleranzwert (m) und den Rückkopplungspositionen (j) groß ist, verringert die Belohnungsberechnungseinheit 42 die Belohnung (k) (gibt beispielsweise eine Belohnung von „-1“). Die Belohnungsberechnungseinheit 42 kann eine Belohnung geben, die umso größer ist, je kleiner die Differenz zwischen dem Toleranzwert (m) und den Rückkopplungspositionen (j) ist, und kann eine kleinere Belohnung bei einer größeren Differenz geben. Der Toleranzwert (m) und die Rückkopplungspositionen (j) werden durch ein bekanntes Verfahren extrahiert. Wenn die Differenz zwischen dem Toleranzwert (m) und den Rückkopplungspositionen (j) „0“ ist, wird die größte Belohnung gegeben.
  • Die Funktionsaktualisierungseinheit 43 aktualisiert eine Funktion zum Bestimmen einer Aktion (n) (einen nächsten Toleranzwert) in Abhängigkeit der Belohnung, die durch die Belohnungsberechnungseinheit 42 berechnet wird. Im Falle des Q-Lernens verwendet die Funktionsaktualisierungseinheit 43 beispielsweise die Aktionswertfunktion Q (st, at), welche durch Formel (1) ausgedrückt ist, als Funktion zum Bestimmen eines nächsten Toleranzwertes (m). Beispielsweise bestimmt die Lerneinheit 45 einen nächsten Toleranzwert (m), mit welchem die Differenz zwischen dem Toleranzwert (m) und den Rückkopplungspositionen (j) „0“ ist, was in der größten Belohnung resultiert.
  • In Anbetracht des Obigen wird lediglich der nächste Toleranzwert (m) bestimmt und die Bestimmungsbedingung wird geändert, um den nächsten Toleranzwert (m) zu bestimmen, welcher in der größten Belohnung resultiert, hingegen können die anderen Steuerungsverfahren die gleichen sein wie jene in der erstens bis vierten Ausführungsform.
  • Es ist zu beachten, dass das Maschinenlerngerät 400 außerhalb der Steuerungsberechnungseinheit 2Y bereitgestellt sein kann. Während in der fünften Ausführungsform der Fall beschrieben wurde, in welchem Maschinenlernen unter Verwendung von bestärkendem Lernen durchgeführt wird, kann das Maschinenlernen auch gemäß anderer bekannter Verfahren durchgeführt werden, wie beispielsweise einem neuronalen Netz, genetischer Programmierung, funktionaler logischer Programmierung und einer Support-Vektor-Maschine.
  • Wie oben beschrieben ist, lernt gemäß der fünften Ausführungsform das Maschinenlerngerät 400 geeignete Toleranzwerte (m) basierend auf einem aktuellen Toleranzwert (m) und Rückkopplungspositionen (j), und die Maschinenbearbeitungsgenauigkeit während einer Toleranzmaschinenbearbeitung des niederfrequenten Vibrationsschneidens kann verbessert werden.
  • Nun wird eine Hardwarekonfiguration der Steuerungsberechnungseinheiten 2X und 2Y der numerischen Steuerungsgeräte 1X und 1Y beschrieben. 23 ist ein Diagramm, welches ein Beispiel einer Hardwarekonfiguration der Steuerungsberechnungseinheiten gemäß der ersten bis fünften Ausführungsform zeigt. Weil die Steuerungsberechnungseinheiten 2X und 2Y gleiche Hardwarekonfigurationen haben, ist zu beachten, dass vorliegend die Hardwarekonfiguration der Steuerungsberechnungseinheit 2Y beschrieben wird.
  • Die Steuerungsberechnungseinheit 2Y kann durch einen Prozessor 301 und einen Speicher 302, gezeigt in 23, implementiert sein. Beispiele des Prozessors 301 umfassen eine zentrale Verarbeitungseinheit (CPU; auch bezeichnet als zentrales Verarbeitungsgerät, Verarbeitungsgerät, Berechnungsgerät, Mikroprozessor, Mikrocomputer, Prozessor oder digitaler Signalprozessor (DSP)) oder ein hochintegriertes System. Beispiele für den Speicher 302 umfassen einen Direktzugriffsspeicher (RAM) oder einen nur lesbaren Speicher (ROM).
  • Die Steuerungsberechnungseinheit 2Y wird durch den Prozessor 301 implementiert, welcher Programme zum Durchführen von Vorgängen der Steuerungsberechnungseinheit 2Y liest und ausführt, die in dem Speicher 302 gespeichert sind. Mit anderen Worten veranlassen die Programme einen Computer dazu, die Prozeduren oder Verfahren der Steuerungsberechnungseinheit 2Y auszuführen. Der Speicher 302 wird auch als temporärer Speicher verwendet, wenn der Prozessor 301 diverse Prozesse ausführt.
  • Die durch den Prozessor 301 auszuführenden Programme können ein Computerprogrammprodukt sein, welches ein computerlesbares und nichtflüchtiges Aufzeichnungsmedium umfasst, welches eine Vielzahl von computerlesbaren Anweisungen zum Durchführen einer Datenverarbeitung enthält. Die durch den Prozessor 301 auszuführenden Programme umfassen eine Vielzahl von Anweisungen, welche einen Computer veranlassen, eine Datenverarbeitung durchzuführen.
  • Alternativ kann die Steuerungsberechnungseinheit 2Y durch dedizierte Hardware implementiert sein. Alternativ können einige der Funktionen der Steuerungsberechnungseinheit 2Y durch dedizierte Hardware implementiert sein und andere können durch Software oder Firmware implementiert sein.
  • Die in den obigen Ausführungsformen präsentierten Konfigurationen sind Beispiele der vorliegenden Erfindung und können mit anderen bekannten Techniken kombiniert werden oder können teilweise weggelassen oder modifiziert werden, ohne von dem Geist der vorliegenden Erfindung abzuweichen.
  • Bezugszeichenliste
  • 1X, 1Y
    numerisches Steuerungsgerät;
    2X, 2Y
    Steuerungsberechnungseinheit;
    3
    Eingabebedieneinheit;
    4
    Anzeigeeinheit;
    11
    Vibrationsbefehlsanalyseeinheit;
    12
    Bewegungsbefehlsanalyseeinheit;
    21
    Befehlsbewegungswert-Berechnungseinheit;
    22
    Vibrationsbewegungswert-Berechnungseinheit;
    23
    Toleranzwert-Einstelleinheit;
    24
    Wellenformerzeugungseinheit;
    25
    Vibrationskorrektureinheit;
    26
    Toleranzdetektionseinheit;
    34
    Speichereinheit;
    36
    SPS;
    37
    Analyseverarbeitungseinheit;
    38X, 38Y
    Interpolationsverarbeitungseinheit;
    39
    Beschleunigung/Bremsung-Verarbeitungseinheit;
    40
    Achsendatenausgabeeinheit;
    41
    Zustandsbeobachtungseinheit;
    42
    Belohnungsberechnungseinheit;
    43
    Funktionsaktualisierungseinheit;
    45
    Lerneinheit;
    46
    Achsendaten-Eingabe/Ausgabeeinheit;
    51X, 51Z, 52X, 52Z, 53X, 53XZ, 53Z, 54X, 54XZ, 54Z, 55X, 55Z
    Vibrationswellenform;
    60
    Hauptachse;
    61X, 61Z
    Antriebsachse;
    65A
    Werkzeughalter;
    66A
    Werkzeug;
    70
    Werkstück;
    71
    Toleranzlevelinformation;
    90
    Antriebseinheit;
    91
    X-Achsenservosteuerungseinheit;
    92
    Z-Achsenservosteuerungseinheit;
    101, 102
    Maschinenbearbeitungsprogramm;
    110
    Werkzeugmaschine;
    341
    Parameterspeicherbereich;
    343
    Maschinenbearbeitungsprogrammspeicherbereich;
    344
    Anzeigedatenspeicherbereich;
    345
    geteilter Bereich;
    400
    Maschinenlerngerät;
    P0
    bestimmter Wegpunkt;
    P1 bis P4
    Position;
    R1 bis R3, R11, R12
    Bewegungspfad.
  • 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 5599523 [0004]

Claims (14)

  1. Numerisches Steuerungsgerät zum Steuern einer Hauptachse, einer ersten Antriebsachse und einer zweiten Antriebsachse, wobei die Hauptachse eine Drehachse für ein zu maschinenbearbeitendes Objekt ist, wobei die erste Antriebsachse ein Werkzeug zum Vibrationsschneiden des Objekts in einer ersten Richtung verfährt, wobei die zweite Antriebsachse das Werkzeug oder das Objekt in einer zweiten Richtung verfährt, wobei das numerische Steuerungsgerät umfasst: eine Speichereinheit, welche ein Maschinenbearbeitungsprogramm zum Vibrationsschneiden des Objekts speichert; und eine Steuerungsberechnungseinheit, welche einen bestimmten Punkt, welchen das Werkzeug während des Vibrationsschneidens durchläuft, basierend auf einem Toleranzwert, welcher ein zugelassener Fehler beim Maschinenbearbeiten einer Ecke des Objekts ist, berechnet und welche eine Vibrationswellenform des Werkzeugs, welche einen Bewegungspfad des den bestimmten Punkt durchlaufenden Werkzeugs angibt, erzeugt, wobei die Steuerungsberechnungseinheit die Bewegung und die Vibration des Werkzeugs gemäß dem Maschinenbearbeitungsprogramm und der Vibrationswellenform steuert.
  2. Numerisches Steuerungsgerät gemäß Anspruch 1, wobei die Steuerungsberechnungseinheit als die Vibrationswellenform eine erste Vibrationswellenform in der ersten Richtung und eine zweite Vibrationswellenform in der zweiten Richtung erzeugt.
  3. Numerisches Steuerungsgerät gemäß Anspruch 2, wobei, wenn der Toleranzwert größer 0 ist, die Steuerungsberechnungseinheit einen Startzeitpunkt der zweiten Vibrationswellenform so korrigiert, dass die Vibrationswellenform den bestimmten Punkt durchläuft.
  4. Numerisches Steuerungsgerät gemäß Anspruch 2, wobei, wenn der Toleranzwert gleich 0 ist, die Steuerungsberechnungseinheit einen Startzeitpunkt der zweiten Vibrationswellenform auf einen Zeitpunkt nach dem Abschluss des Verfahrens in der ersten Richtung gemäß der ersten Vibrationswellenform einstellt.
  5. Numerisches Steuerungsgerät gemäß Anspruch 1, wobei, wenn beim Maschinenbearbeiten einer Ecke der Bewegungspfad ein Pfad mit einem bestimmten Höchstwinkel ist, die Steuerungsberechnungseinheit den Toleranzwert auf 0 einstellt.
  6. Numerisches Steuerungsgerät gemäß Anspruch 2, wobei die Steuerungsberechnungseinheit als die Vibrationswellenform eine dritte Vibrationswellenform in einer dritten Richtung erzeugt.
  7. Numerisches Steuerungsgerät gemäß Anspruch 6, wobei, wenn der Toleranzwert größer 0 ist, die Steuerungsberechnungseinheit einen Startzeitpunkt der zweiten Vibrationswellenform so korrigiert, dass die Vibrationswellenform den bestimmten Punkt durchläuft.
  8. Numerisches Steuerungsgerät gemäß Anspruch 6 oder 7, wobei die Steuerungsberechnungseinheit Startzeitpunkte der dritten Vibrationswellenform und der zweiten Vibrationswellenform so korrigiert, dass die dritte Vibrationswellenform startet, bevor die erste Vibrationswellenform endet, und dass die zweite Vibrationswellenform startet, bevor die dritte Vibrationswellenform endet.
  9. Numerisches Steuerungsgerät gemäß einem der Ansprüche 1 bis 8, wobei die Steuerungsberechnungseinheit eine Amplitude der Vibrationswellenform so korrigiert, dass die Vibrationswellenform nicht über eine Zielposition hinaus vibriert, wenn eine durch die Vibrationswellenform angegebene Position die Zielposition erreicht, und die Amplitude der Vibrationswellenform so korrigiert, dass die Vibrationswellenform nicht über eine Anfangsposition der Vibrationswellenform hinaus vibriert, wenn die Vibrationswellenform beginnt.
  10. Numerisches Steuerungsgerät gemäß einem der Ansprüche 1 bis 8, wobei die Steuerungsberechnungseinheit bestimmt, ob sich eine durch die Vibrationswellenform angegebene Position und das Objekt überschneiden oder nicht, wenn die durch die Vibrationswellenform angegebene Position eine Zielposition erreicht, und korrigiert die Vibrationswellenform nicht, wenn sich die Position und das Objekt beim Erreichen der Zielposition nicht überschneiden.
  11. Numerisches Steuerungsgerät gemäß einem der Ansprüche 1 bis 10, wobei der Toleranzwert in dem Maschinenbearbeitungsprogramm, in einem Kontaktplanprogramm, welches eine durch eine speicherprogrammierbare Steuerung auszuführende Maschinenoperation beschreibt, oder in einem Parameter, der bei der Verarbeitung durch die Steuerungsberechnungseinheit zu verwenden ist, spezifiziert ist.
  12. Numerisches Steuerungsgerät gemäß einem der Ansprüche 1 bis 11, wobei die Speichereinheit Levelinformation speichert, welche Toleranzwerte umfasst, die in mehrere, von der Maschinenbearbeitungsgenauigkeit abhängige Levels eingeteilt sind, und die Steuerungsberechnungseinheit den Toleranzwert basierend auf einem durch einen Nutzer spezifiziertes Level der Maschinenbearbeitungsgenauigkeit und der Levelinformation einstellt.
  13. Numerisches Steuerungsverfahren zum Steuern einer Hauptachse, einer ersten Antriebsachse und einer zweiten Antriebsachse, wobei die Hauptachse eine Drehachse für ein zu maschinenbearbeitendes Objekt ist, wobei die erste Antriebsachse ein Werkzeug zum Vibrationsschneiden des Objekts in einer ersten Richtung verfährt, wobei die zweite Antriebsachse das Werkzeug oder das Objekt in einer zweiten Richtung verfährt, wobei das numerische Steuerungsverfahren umfasst: einen Speicherschritt des Speicherns eines Maschinenbearbeitungsprogramms zum Vibrationsschneiden des Objekts; einen Berechnungsschritt des Berechnens eines bestimmten Punkts, welchen das Werkzeug während des Vibrationsschneidens durchläuft, basierend auf einem Toleranzwert, welcher ein zugelassener Fehler beim Maschinenbearbeiten einer Ecke des Objekts ist; einen Erzeugungsschritt des Erzeugens einer Vibrationswellenform des Werkzeugs, welche einen Bewegungspfad des den bestimmten Punkt durchlaufenden Werkzeugs angibt; und einen Steuerungsschritt des Steuerns der Bewegung und der Vibration des Werkzeugs gemäß dem Maschinenbearbeitungsprogramm und der Vibrationswellenform.
  14. Maschinenlerngerät zum Lernen eines Toleranzwerts, welcher ein zugelassener Fehler beim Maschinenbearbeiten einer Ecke eines zu maschinenbearbeitenden Objekts ist, zum Steuern einer Hauptachse, einer ersten Antriebsachse und einer zweiten Antriebsachse, wobei die Hauptachse eine Drehachse für das Objekt ist, wobei die erste Antriebsachse ein Werkzeug zum Vibrationsschneiden des Objekts in einer ersten Richtung verfährt, wobei die zweite Antriebsachse das Werkzeug oder das Objekt in einer zweiten Richtung verfährt, wobei das Maschinenlerngerät umfasst: eine Zustandsbeobachtungseinheit, welche als Zustandsvariablen den Toleranzwert und eine Position eines bestimmten Punkts beobachtet, welchen das Werkzeug durchläuft, wenn eine Steuerung unter Verwendung des Toleranzwerts durchgeführt wird; und eine Lerneinheit, welche unter Verwendung eines basierend auf den Zustandsvariablen erzeugten Datensatzes einen Toleranzwert so lernt, dass eine Differenz zwischen einem bestimmten Punkt, der dem Toleranzwert zugeordnet ist, und einem tatsächlichen bestimmten Punkt klein wird.
DE112018008087.0T 2018-11-29 2018-11-29 Numerisches Steuerungsgerät und numerisches Steuerungsverfahren Active DE112018008087B4 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/043942 WO2020110251A1 (ja) 2018-11-29 2018-11-29 数値制御装置、数値制御方法、および機械学習装置

Publications (2)

Publication Number Publication Date
DE112018008087T5 true DE112018008087T5 (de) 2021-07-08
DE112018008087B4 DE112018008087B4 (de) 2022-09-08

Family

ID=70852421

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112018008087.0T Active DE112018008087B4 (de) 2018-11-29 2018-11-29 Numerisches Steuerungsgerät und numerisches Steuerungsverfahren

Country Status (5)

Country Link
US (1) US11131979B2 (de)
JP (1) JP6740483B1 (de)
CN (1) CN113168155B (de)
DE (1) DE112018008087B4 (de)
WO (1) WO2020110251A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022239155A1 (ja) * 2021-05-12 2022-11-17 ファナック株式会社 数値制御装置、およびコンピュータ読み取り可能な記憶媒体
CN114473628A (zh) * 2021-11-18 2022-05-13 重庆铁马工业集团有限公司 一种压筋板坯数控切割变形控制方法
CN114988679B (zh) * 2022-08-08 2022-10-25 启东市云鹏玻璃机械有限公司 一种玻璃切割机床智能走刀控制方法
CN116061004B (zh) * 2022-10-14 2023-08-08 哈尔滨理工大学 振动作用下铣刀瞬态切削能效分布的变化特性的识别方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5599523B1 (ja) 2013-02-12 2014-10-01 三菱電機株式会社 数値制御装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152417A (ja) 1993-11-29 1995-06-16 Fanuc Ltd 数値制御装置の工具径路および送り速度制御方式
US7508116B2 (en) * 2005-09-07 2009-03-24 Panasonic Corporation Method and apparatus for vibration machining with two independent axes
JP4553967B2 (ja) * 2008-03-19 2010-09-29 パナソニック株式会社 切削加工装置、加工方法、およびその加工方法で加工した金型
JP5033929B1 (ja) * 2011-11-10 2012-09-26 ハリキ精工株式会社 工作機械
DE112014006479B4 (de) * 2014-03-17 2018-01-11 Mitsubishi Electric Corporation Numeriksteuervorrichtung
JP6257796B2 (ja) * 2014-10-29 2018-01-10 株式会社牧野フライス製作所 工具経路の生成方法および工作機械
US10671046B2 (en) * 2014-11-26 2020-06-02 Mitsubishi Electric Corporation Method and apparatus for applying vibration and machining an object
JP6721307B2 (ja) 2015-09-16 2020-07-15 ファナック株式会社 複数軸を備えた工作機械の制御装置
JP6487397B2 (ja) 2016-09-07 2019-03-20 ファナック株式会社 工作機械の制御装置、制御方法及びコンピュータプログラム
JP6530780B2 (ja) * 2017-05-16 2019-06-12 ファナック株式会社 揺動切削のための表示装置および加工システム
US11541500B2 (en) * 2019-06-25 2023-01-03 Fanuc Corporation Numerical control device, program recording medium, and control method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5599523B1 (ja) 2013-02-12 2014-10-01 三菱電機株式会社 数値制御装置

Also Published As

Publication number Publication date
JP6740483B1 (ja) 2020-08-12
CN113168155B (zh) 2022-05-13
US11131979B2 (en) 2021-09-28
WO2020110251A1 (ja) 2020-06-04
US20210247734A1 (en) 2021-08-12
DE112018008087B4 (de) 2022-09-08
JPWO2020110251A1 (ja) 2021-02-15
CN113168155A (zh) 2021-07-23

Similar Documents

Publication Publication Date Title
DE112018008087B4 (de) Numerisches Steuerungsgerät und numerisches Steuerungsverfahren
DE102015107436B4 (de) Lernfähige Bahnsteuerung
DE102012021374B4 (de) Roboterprogrammiervorrichtung
EP2188684B1 (de) Virtuelle werkzeugmaschine zur darstellung von aktionen von bearbeitungseinheiten einer realen werkzeugmaschine
DE102015014236B4 (de) Programmkorrekturvorrichtung und Programmkorrekturverfahren eines Industrieroboters
DE102015015093B4 (de) Roboterprogrammiervorrichtung zum Instruieren eines Roboters für eine Bearbeitung
DE102014018973B4 (de) Numerische Steuerung zum Glätten des Werkzeugwegs im Betrieb basierend auf Daten in Tabellenform
DE102017208060A1 (de) Servosteuerung, steuerverfahren, und computerprogramm für eine werkzeugmaschine zum oszillationsschneiden
DE102017219841B4 (de) Numerische Steuervorrichtung
DE102005027947A1 (de) Vorrichtung zum Überprüfen einer Störung
DE112014001862B4 (de) NC-Programm-Generierungsvorrichtung und NC-Programm-Generierungsverfahren
DE112013006799T5 (de) Numerische Steuerungsvorrichtung
DE112014007112B4 (de) Numerisch gesteuerte Vorrichtung
DE112017000203B4 (de) Numerische Steuerung und numerisches Steuerungsverfahren
DE102007045595A1 (de) Verfahren und virtuelle Werkzeugmaschine zur Darstellung von Aktionen einer realen Werkzeugmaschine
DE102015001509B4 (de) Numerische Steuerung
DE112010005510B4 (de) Numerisches Steuerverfahren und Vorrichtung dafür
DE102011104445A1 (de) Numerische Steuerung für eine Werkzeugmaschine mit einer Funktion zur Geschwindigkeitssteuerung einer Bogenführung
DE112019007578T5 (de) Numerische Steuerung, numerisches Steuerverfahren und Maschinenlernvorrichtung
DE102014219831A1 (de) Anzeigevorrichtung
DE102004019653B4 (de) Simulationsvorrichtung
DE112014006594B4 (de) Anweisungswerterzeugungsvorrichtung
DE102020124734A1 (de) Simulationsgerät
EP1947538A1 (de) Verfahren zum Ansteuern eines verfahrbaren Werkzeugs, Eingabevorrichtung sowie Bearbeitungsmaschine
DE102015004930B4 (de) Numerische Steuervorrichtung für Maschinenwerkzeug

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R018 Grant decision by examination section/examining division
R020 Patent grant now final