DE112019004762T5 - Numerische Steuerung, Maschinenlernvorrichtungund numerisches Steuerverfahren - Google Patents

Numerische Steuerung, Maschinenlernvorrichtungund numerisches Steuerverfahren Download PDF

Info

Publication number
DE112019004762T5
DE112019004762T5 DE112019004762.0T DE112019004762T DE112019004762T5 DE 112019004762 T5 DE112019004762 T5 DE 112019004762T5 DE 112019004762 T DE112019004762 T DE 112019004762T DE 112019004762 T5 DE112019004762 T5 DE 112019004762T5
Authority
DE
Germany
Prior art keywords
vibrations
drive shaft
work spindle
unit
tool
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112019004762.0T
Other languages
English (en)
Inventor
Masakazu Sagasaki
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 DE112019004762T5 publication Critical patent/DE112019004762T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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

Eine numerische Steuerung (1X) umfasst eine Steuerungsberechnungseinheit (2X) zum Steuern einer Arbeitsspindel (60), bei der es sich um die Drehachse eines Werkstücks (70) handelt, einer ersten Welle (61A) zum Antreiben eines Werkzeugs (66A) für die Durchführung einer Vibrationsschneidbearbeitung an dem Werkstück (70) und einer zweiten Welle (61B) zum Antreiben eines Werkzeugs (66B) für die Durchführung einer Vibrationsschneidbearbeitung an dem Werkstück (70). Die Steuerungsberechnungseinheit (2X) umfasst: eine Speichereinheit (34), die ein Bearbeitungsprogramm zur Durchführung einer Vibrationsschneidbearbeitung an dem Werkstück (70) speichert; eine Bestimmungseinheit (23), die bestimmt, ob die Anzahl der Vibrationen der ersten Welle (61A) und der zweiten Welle (61B) einer durch das Bearbeitungsprogramm spezifizierten Drehzahl der Antriebsspindel (60) folgen; und eine Anzahl-der-Vibrationen-Berechnungseinheit (24), die, wenn die Bestimmungseinheit (23) bestimmt, dass die Anzahl der Vibrationen der ersten Welle (61A) und/oder der zweiten Welle (61B) nicht der Drehzahl der Antriebsspindel (60) folgt, die Anzahl der Vibrationen, die der Drehzahl der Antriebsspindel (60) folgt, für die Antriebswelle berechnet, die als nicht der Drehzahl folgend bestimmt wurde.

Description

  • Gebiet
  • Die vorliegende Erfindung bezieht sich auf eine numerische Steuerung, eine Vorrichtung zum maschinellen Lernen und ein numerisches Steuerverfahren zur Steuerung einer Vibrationsschneidbearbeitung mit einem in Vibration versetzten Werkzeug.
  • Hintergrund
  • Im Bereich der Drehbearbeitung wird eine numerische Steuerung verwendet, um den Einsatz eines Werkzeugs gemäß einem Bearbeitungsprogramm zur Bearbeitung eines Werkstücks so zu steuern, dass das Werkzeug das Werkstück bearbeitet. Einige numerische Steuerungen sind so ausgebildet, dass ein Werkstück durch Vibrationen geschnitten wird, indem ein Werkzeug entlang einer Werkzeugbahn mit einer bestimmten Frequenz in Vibration versetzt wird.
  • Eine in Patentdokument 1 beschriebene numerische Steuerung berechnet einen Befehlsbewegungsbetrag pro Zeiteinheit aus einem Verfahrbefehl für ein Werkzeug, einen Vibrationsbewegungsbetrag pro Zeiteinheit aus einer Vibrationsbedingung und eine kombinierte Bewegungsstrecke durch Kombinieren des Befehlsbewegungsbetrags und des Vibrationsbewegungsbetrags, um das Vibrationsschneiden auf Basis des kombinierten Bewegungsbetrags zu steuern.
  • Liste der Zitate
  • Patentliteratur
  • Patentdokument 1: Japanische Patentschrift Nr. 5599523 .
  • Kurzbeschreibung
  • Technische Problemstellung
  • Mit Hilfe der in Patentdokument 1 beschriebenen Technik soll jedoch eine Werkzeugmaschine mit einer einzigen zum Antrieb eines Werkzeugs vorgesehenen Antriebswelle gesteuert werden, sodass diese Technik nicht für die Durchführung des Vibrationsschneidens bei einer Werkzeugmaschine geeignet ist, die ein rotierendes Werkstück unter Verwendung von zwei oder mehr Antriebswellen bearbeitet, die zum Antrieb von zwei bzw. mehreren Werkzeugen vorgesehen sind.
  • Die vorliegende Erfindung entstand in Anbetracht des oben angegebenen Sachverhalts, wobei eine Aufgabe darin besteht, eine numerische Steuerung anzugeben, die in der Lage ist, eine Vibrationsschneidbearbeitung bei einer Werkzeugmaschine auszuführen, die ein rotierendes Werkstück unter Verwendung von zwei oder mehr Antriebswellen bearbeitet, die zwei bzw. mehrere Werkzeuge antreiben.
  • Lösung der Problemstellung
  • Um das oben genannte Problem zu lösen und die Aufgabe zu erfüllen, gibt die vorliegende Erfindung eine numerische Steuerung an, die eine Steuerungsberechnungseinheit zum Steuern einer Arbeitsspindel/Spindel, bei der es sich um eine Drehachse eines zu bearbeitenden Objekts handelt, einer ersten Antriebswelle zum Antreiben eines ersten Werkzeugs für die Durchführung einer Vibrationsschneidbearbeitung an dem zu bearbeitenden Objekt und einer zweiten Antriebswelle zum Antreiben eines zweiten Werkzeugs für die Durchführung einer Vibrationsschneidbearbeitung an dem zu bearbeitenden Objekt aufweist, wobei die Steuerungsberechnungseinheit umfasst: eine Speichereinheit, um ein Bearbeitungsprogramm zur Durchführung einer Vibrationsschneidbearbeitung an dem zu bearbeitenden Objekt zu speichern; eine Bestimmungseinheit, um zu bestimmen, ob die Anzahl der Vibrationen der ersten Antriebswelle und der zweiten Antriebswelle einer durch das Bearbeitungsprogramm spezifizierten Drehzahl der Arbeitsspindel (Arbeitsspindeldrehzahl) folgt; und eine Anzahl-der-Vibrationen-Berechnungseinheit, um, wenn die Bestimmungseinheit bestimmt, dass die Anzahl der Vibrationen der ersten Antriebswelle und/oder der zweiten Antriebswelle nicht der Arbeitsspindeldrehzahl folgt, die Anzahl der Vibrationen, die der Drehzahl der Arbeitsspindel folgt, für die Antriebswelle zu berechnen, die als nicht der Drehzahl der Arbeitsspindel folgend bestimmt wurde.
  • Vorteilhafte Wirkungen der Erfindung
  • Mit einer numerischen Steuerung gemäß der vorliegenden Erfindung kann der vorteilhafte Effekt erzielt werden, dass ein Vibrationsschneiden bei einer Werkzeugmaschine durchgeführt werden kann, die ein rotierendes Werkstück unter Verwendung von zwei oder mehreren Antriebswellen bearbeitet, die zum Antrieb von zwei bzw. mehreren Werkzeugen vorgesehen sind.
  • Figurenliste
    • 1 zeigt eine Darstellung zur Veranschaulichung eines Konfigurationsbeispiels einer numerischen Steuerung gemäß einer ersten Ausführungsform.
    • 2 zeigt eine Darstellung zur Veranschaulichung einer Konfiguration einer Werkzeugmaschine gemäß der ersten Ausführungsform.
    • 3 zeigt eine Darstellung zur Veranschaulichung eines ersten Beispiels eines Bearbeitungsprogramms zur Verwendung in der numerischen Steuerung gemäß der ersten Ausführungsform.
    • 4 zeigt ein Flussdiagramm zur Veranschaulichung einer Verarbeitungsprozedur für die numerische Steuerung gemäß der ersten Ausführungsform.
    • 5 zeigt eine Darstellung zur Veranschaulichung eines zweiten Beispiels eines Bearbeitungsprogramms zur Verwendung in der numerischen Steuerung gemäß der ersten Ausführungsform.
    • 6 zeigt eine Darstellung zur Veranschaulichung eines Konfigurationsbeispiels einer numerischen Steuerung gemäß einer zweiten Ausführungsform.
    • 7 zeigt eine Darstellung zur Veranschaulichung eines Beispiels eines Bearbeitungsprogramms zur Verwendung in der numerischen Steuerung gemäß der zweiten Ausführungsform.
    • 8 zeigt ein Flussdiagramm zur Veranschaulichung einer Verarbeitungsprozedur für die numerische Steuerung gemäß der zweiten Ausführungsform.
    • 9 zeigt eine Darstellung zur Veranschaulichung eines Konfigurationsbeispiels einer numerischen Steuerung gemäß einer dritten Ausführungsform.
    • 10 zeigt eine Darstellung zur Veranschaulichung eines ersten Beispiels eines Bearbeitungsprogramms zur Verwendung in der numerischen Steuerung gemäß der dritten Ausführungsform.
    • 11 zeigt ein Flussdiagramm zur Veranschaulichung einer Verarbeitungsprozedur für die numerische Steuerung gemäß der dritten Ausführungsform.
    • 12 zeigt eine Darstellung zur Veranschaulichung eines weiteren Konfigurationsbeispiels einer Werkzeugmaschine gemäß der dritten Ausführungsform.
    • 13 zeigt eine Darstellung zur Veranschaulichung eines zweiten Beispiels eines Bearbeitungsprogramms zur Verwendung in der numerischen Steuerung gemäß der dritten Ausführungsform.
    • 14 zeigt eine Darstellung zur Veranschaulichung eines Beispiels für die Hardwarekonfiguration einer Steuerungsberechnungseinheit gemäß der ersten bis dritten Ausführungsform.
    • 15 zeigt eine Darstellung zur Veranschaulichung eines Konfigurationsbeispiels einer numerischen Steuerung gemäß einer vierten Ausführungsform.
    • 16 zeigt ein Flussdiagramm zur Veranschaulichung einer Verarbeitungsprozedur für eine Maschinenlernvorrichtung gemäß der vierten Ausführungsform.
  • Beschreibung von Ausführungsformen
  • Nachfolgend werden eine numerische Steuerung, eine Maschinenlernvorrichtung und ein numerisches Steuerverfahren gemäß Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die Figuren detailliert beschrieben. Die vorliegende Erfindung ist nicht zwingend auf diese Ausführungsformen beschränkt.
  • Erste Ausführungsform
  • 1 zeigt eine Darstellung zur Veranschaulichung eines Konfigurationsbeispiels einer numerischen Steuerung gemäß einer ersten Ausführungsform. 2 zeigt eine Darstellung zur Veranschaulichung einer Konfiguration einer Werkzeugmaschine gemäß der ersten Ausführungsform. In 2 entspricht die Querrichtung in der Papierebene der Z-Achsenrichtung und die Längsrichtung in der Papierebene der X-Achsenrichtung. Die Achsen X1 und X2 sind Achsen parallel zur X-Achse, die Achsen Y1 und Y2 sind Achsen parallel zur Y-Achse und die Achsen Z1 und Z2 sind Achsen parallel zur Z-Achse.
  • Die numerische Steuerung (NC-Vorrichtung) 1X ist ein Computer, der die Steuerung für niederfrequentes Vibrationsschneiden, d.h. eine Bearbeitung mit in Vibration versetzten Werkzeugen 66A und 66B, an einer Werkzeugmaschine 110 zur Drehbearbeitung ausführt. In der folgenden Beschreibung kann die niederfrequente Vibration auch einfach als Vibration bezeichnet sein.
  • Die numerische Steuerung 1X steuert die Bearbeitung eines Werkstücks 70, bei dem es sich ein zu bearbeitendes Objekt handelt, während sie ein erstes Werkzeug und das Werkstück 70 unter Verwendung einer oder mehrerer Antriebswellen, einschließlich einer ersten Antriebswelle, relativ zueinander bewegt und ferner ein zweites Werkzeug und das Werkstück 70 unter Verwendung einer oder mehrerer Antriebswellen, einschließlich einer zweiten Antriebswelle, relativ zueinander bewegt. Das bedeutet, dass die numerische Steuerung 1X eine erste Antriebswelle, die das erste Werkzeug oder das Werkstück 70 bewegt, und eine zweite Antriebswelle umfasst, die das zweite Werkzeug oder das Werkstück 70 bewegt, so dass ein Vibrationsschneiden an dem Werkstück 70 unter Verwendung des ersten Werkzeugs und gleichzeitig des zweiten Werkzeugs erfolgt. Da bei der ersten Ausführungsform das Vibrationsschneiden unter Einbeziehung beider Antriebswellen durchgeführt wird, steuert die numerische Steuerung 1X die Vibration jeder Antriebswelle oder die Drehung des Werkstücks 70 entsprechend den Randbedingungen für die Durchführung des Vibrationsschneidens.
  • Die numerische Steuerung 1X steuert die Werkzeugmaschine 110, die eine einzige Arbeitsspindel/Spindel 60, die erste Antriebswelle und die zweite Antriebswelle aufweist. Die Arbeitsspindel 60 dient als Drehachse für das Werkstück 70. Die erste Antriebswelle ist zum Bewegen des Werkzeugs 66A, bei dem es sich um das erste Werkzeug handelt, vorgesehen. Die zweite Antriebswelle dient zum Bewegen des Werkzeugs 66B, bei dem es sich um das zweite Werkzeug handelt. Das Werkstück 70, bei dem es sich um ein zu bearbeitendes Objekt handelt, ist ein Gegenstand, der von der Werkzeugmaschine 110 bearbeitet werden soll. Die folgende Beschreibung bezieht sich auf einen Fall, bei dem die erste Antriebswelle eine erste Welle 61A und die zweite Antriebswelle eine zweite Welle 61B ist. In 2 ist zur Veranschaulichung der Arbeitsspindel 60 die Mittellinie der Arbeitsspindel 60 dargestellt.
  • Die numerische Steuerung 1X umfasst eine Steuerungsberechnungseinheit 2X, eine Eingabeeinheit 3, eine Anzeigeeinheit 4 und eine SPS-Bedieneinheit 5, wie beispielsweise ein Maschinenbedienpult zur Bedienung der SPS 36. In 1 ist eine Antriebseinheit 90 dargestellt, die ein Bestandteil der Werkzeugmaschine 110 ist.
  • Die Antriebseinheit 90 treibt eine Werkzeugsäule 65A eines ersten Systems, eine Werkzeugsäule 65B eines zweiten Systems und dergleichen an, die in der Werkzeugmaschine 110 enthalten sind. Die Antriebseinheit 90 ist ein Antriebsmechanismus, der so ausgebildet ist, dass er die beiden Werkzeuge 66A und 66B antreibt, während er das Werkstück 70 dreht. Die Antriebseinheit 90 bewegt das Werkzeug 66A entlang der X1-Achsenrichtung und der Z1-Achsenrichtung, die eine axiale Richtung der ersten Welle 61A ist, und das Werkzeug 66B entlang der X2-Achsenrichtung und der Z2-Achsenrichtung, die eine axiale Richtung der zweiten Welle 61B ist. Die erste Ausführungsform bezieht sich auf einen Fall, bei dem die Vibrationsrichtung des Werkzeugs 66A eine axiale Richtung der ersten Welle 61A und die Vibrationsrichtung des Werkzeugs 66B eine axiale Richtung der zweiten Welle 61B ist. Es wird darauf hingewiesen, dass die axialen Richtungen je nach Gerätekonfiguration variieren und somit nicht auf die oben genannten Richtungen beschränkt sind.
  • Die Antriebseinheit 90 umfasst die Servomotoren 901 bis 904, die die Werkzeuge 66A und 66B in verschiedenen axialen Richtungen bewegen, die von der numerischen Steuerung 1X spezifiziert werden, sowie die Detektoren 97 bis 100, die die Positionen bzw. Geschwindigkeiten der Servomotoren 901 bis 904 erfassen. Die Antriebseinheit 90 umfasst auch Servosteuerungseinheiten für verschiedene axiale Richtungen, die so ausgebildet sind, dass sie die Servomotoren 901 bis 904 auf Basis eines Befehls von der numerischen Steuerung 1X steuern. Die Servosteuerungseinheiten für verschiedene axiale Richtungen führen eine Regelung der Servomotoren 901 bis 904 auf Basis der von den Detektoren 97 bis 100 erhaltenen Positionen und Geschwindigkeiten durch.
  • Eine X1-Achsen-Servosteuerungseinheit 91 der Servosteuerungseinheiten steuert den Arbeitsablauf des Werkzeugs 66A in X1-Achsenrichtung, indem sie den Servomotor 901 steuert. Die Z1-Achsen-Servosteuerungseinheit 92 der Servosteuerungseinheiten steuert den Arbeitsablauf des Werkzeugs 66A in Z1-Achsenrichtung durch Ansteuern des Servomotors 902. Die X2-Achsen-Servosteuerungseinheit 93 steuert den Arbeitsablauf des Werkzeugs 66B in X2-Achsenrichtung durch Ansteuern des Servomotors 903. Die Z2-Achsen-Servosteuerungseinheit 94 steuert den Arbeitsablauf des Werkzeugs 66B in der Z2-Achsenrichtung, indem sie den Servomotor 904 steuert. Wenn die Werkzeugmaschine 110 drei Werkzeugsäulen aufweist, umfasst die Antriebseinheit 90 ferner eine X3-Achsen-Servosteuerungseinheit, die den Arbeitsablauf in der zur X-Achsenrichtung parallelen X3-Achsenrichtung steuert, und eine Z3-Achsen-Servosteuerungseinheit, die den Arbeitsablauf in der zur Z-Achsenrichtung parallelen Z3-Achsenrichtung steuert. In diesem Fall steuert die X3-Achsen-Servosteuerungseinheit einen Servomotor, der mit einem Detektor ausgestattet ist, und die Z3-Achsen-Servosteuerungseinheit einen Servomotor, der mit einem Detektor ausgestattet ist.
  • Die Antriebseinheit 90 umfasst auch einen Arbeitsspindelmotor 911, der die Arbeitsspindel 60 zum Drehen des Werkstücks 70 dreht, und einen Detektor 211, der die Position und Drehzahl des Arbeitsspindelmotors 911 erfasst. Die vom Detektor 211 erfasste Drehzahl entspricht der Anzahl der Umdrehungen des Arbeitsspindelmotors 911.
  • Die Antriebseinheit 90 weist auch eine Arbeitsspindel-Servosteuerungseinheit 200 auf, die so ausgebildet ist, dass sie den Arbeitsspindelmotor 911 auf Basis eines Befehls der numerischen Steuerung 1X steuert. Die Arbeitsspindel-Servosteuerungseinheit 200 führt eine Regelung für den Arbeitsspindelmotor 911 auf Basis der vom Detektor 211 erhaltenen Position und Geschwindigkeit durch. Bei der ersten Ausführungsform wird die Anzahl der Umdrehungen der Arbeitsspindel 60 pro Zeiteinheit als Arbeitsspindeldrehzahl bezeichnet. Bei der Arbeitsspindeldrehzahl handelt es sich beispielsweise um die Anzahl der Umdrehungen der Arbeitsspindel 60 pro Minute. Das heißt, die Arbeitsspindeldrehzahl entspricht der Drehgeschwindigkeit der Arbeitsspindel.
  • Wenn die Werkzeugmaschine 110 zwei Werkstücke 70 gleichzeitig bearbeitet, ist die Antriebseinheit 90 mit zwei Sets ausgestattet, die jeweils einen Arbeitsspindelmotor 911, einen Detektor 211 und eine Arbeitsspindel-Servosteuerungseinheit 200 aufweisen.
  • Die Eingabeeinheit 3 stellt eine Einrichtung zur Eingabe von Informationen in die Steuerungsberechnungseinheit 2X dar. Die Eingabeeinheit 3 ist als Eingabevorrichtung, wie beispielsweise als Tastatur, Taste oder Maus, ausgebildet, die zum Empfangen einer Eingabe, z. B. einem Befehl, von einem Benutzer an die numerische Steuerung 1X, eines Bearbeitungsprogramm, eines Parameters oder dergleichen ausgebildet ist, um die empfangene Eingabe in die Steuerungsberechnungseinheit 2X einzugeben. Die Anzeigeeinheit 4 ist als Anzeigevorrichtung, wie beispielsweise als Flüssigkristallanzeigevorrichtung, ausgebildet, die von der Steuerungsberechnungseinheit 2X verarbeitete Informationen an einem Anzeigebildschirm der Anzeigevorrichtung anzeigt. Die SPS-Betriebseinheit 5 empfängt eine Operation von einem Benutzer und sendet eine der Operation entsprechende Anweisung an die SPS 36.
  • Die als Steuereinheit dienende Steuerungsberechnungseinheit 2X umfasst eine Eingabesteuerungseinheit 32, eine Dateneinstelleinheit 33, eine Speichereinheit 34, eine Anzeige-Verarbeitungseinheit 31, eine Analyse-Verarbeitungseinheit 37, eine Steuersignal-Verarbeitungseinheit 35, die SPS 36, eine Interpolations-Verarbeitungseinheit 38X, eine Beschleunigungs- und Verzögerungs-Verarbeitungseinheit 39 und eine Achsendatenausgabeeinheit 40. Es wird darauf hingewiesen, dass sich die SPS 36 außerhalb der Steuerungsberechnungseinheit 2X befinden kann.
  • Die Speichereinheit 34 umfasst einen Parameterspeicherbereich 341, einen Bearbeitungsprogrammspeicherbereich 343, einen Anzeigedatenspeicherbereich 344 und einen gemeinsam genutzten Bereich 345. Im Parameterspeicherbereich 341 sind Parameter und dergleichen gespeichert, die bei der Verarbeitung der Steuerungsberechnungseinheit 2X verwendet werden. Konkret werden in dem Parameterspeicherbereich 341 Steuerparameter, Servoparameter und Werkzeugdaten für den Betrieb der numerischen Steuerung 1X gespeichert. In dem Bearbeitungsprogrammspeicherbereich 343 ist ein Bearbeitungsprogramm zur Verwendung bei der Bearbeitung des Werkstücks 70 gespeichert. Ein Bearbeitungsprogramm gemäß der ersten Ausführungsform enthält einen Vibrationsbefehl, d.h. einen Befehl zum Vibrierenlassen des Werkzeugs 66A oder 66B, und einen Bewegungsbefehl, d.h. einen Befehl zum Verfahren des Werkzeugs 66A oder 66B.
  • Im Anzeigedatenspeicherbereich 344 sind Bildschirmanzeigedaten gespeichert, die zur Darstellung an der Anzeigeeinheit 4 verwendet werden. Die Bildschirmanzeigedaten sind Daten zur Anzeige von Informationen an der Anzeigeeinheit 4. Die Speichereinheit 34 umfasst auch den gemeinsam genutzten Bereich 345, in dem temporär zu verwendende Daten gespeichert werden.
  • Die Anzeige-Verarbeitungseinheit 31 führt eine Steuerung aus, um die Anzeigeeinheit 4 zu veranlassen, die im Anzeigedatenspeicherbereich 344 gespeicherten Bildschirmanzeigedaten anzuzeigen. Die Eingabesteuerungseinheit 32 empfängt Informationen, die von der Eingabeeinheit 3 eingegeben werden. Die Dateneinstelleinheit 33 veranlasst die Speichereinheit 34, die von der Eingabesteuerungseinheit 32 empfangenen Informationen zu speichern. Das bedeutet, dass die von der Eingabeeinheit 3 empfangenen Eingabeinformationen über die Eingabesteuerungseinheit 32 und die Dateneinstelleinheit 33 in die Speichereinheit 34 geschrieben werden.
  • Die Steuersignal-Verarbeitungseinheit 35 ist mit der SPS 36 verbunden und empfängt von der SPS 36 Signalinformationen über ein Relais oder dergleichen zur Betätigung eines Mechanismus der Werkzeugmaschine 110. Die Steuersignal-Verarbeitungseinheit 35 schreibt Teile der empfangenen Signalinformationen in den gemeinsam genutzten Bereich 345 der Speichereinheit 34. Diese Signalinformationsteile werden von der Interpolations-Verarbeitungseinheit 38X während eines Bearbeitungsvorgangs herangezogen. Wenn die Analyse-Verarbeitungseinheit 37 einen Zusatzbefehl an den gemeinsam genutzten Bereich 345 ausgibt, liest die Steuersignal-Verarbeitungseinheit 35 den Zusatzbefehl aus dem gemeinsam genutzten Bereich 345 aus und sendet den Zusatzbefehl an die SPS 36. Der Zusatzbefehl ist ein Befehl, der sich von einem Befehl zur Betätigung einer Antriebswelle unterscheidet, der einer numerischen Achsensteuerung entspricht. Ein Beispiel für einen Zusatzbefehl ist ein später beschriebener M-Code oder T-Code.
  • Als Reaktion auf eine Anweisung an die SPS-Betriebseinheit 5 führt die SPS 36 eine Operation entsprechend dieser Anweisung aus. Die SPS 36 speichert darin ein Kontaktplanprogramm, in dem Maschinenoperationen enthalten sind. Als Reaktion auf den Empfang eines T-Codes oder M-Codes, bei dem es sich um einen Zusatzbefehl handelt, führt die SPS 36 für die Werkzeugmaschine 110 den dem Zusatzbefehl entsprechenden Prozess gemäß dem Kontaktplanprogramm aus. Nach der Ausführung des Prozesses, der dem Zusatzbefehl entspricht, sendet die SPS 36 ein Abschlusssignal, das den Abschluss der Maschinensteuerung anzeigt, an die Steuersignal-Verarbeitungseinheit 35, um die Ausführung des nächsten Blocks des Bearbeitungsprogramms zu veranlassen.
  • In der Steuerungsberechnungseinheit 2X sind die Steuersignal-Verarbeitungseinheit 35, die Analyse-Verarbeitungseinheit 37 und die Interpolations-Verarbeitungseinheit 38X über die Speichereinheit 34 verbunden, um Informationen über die Speichereinheit 34 zu schreiben und zu lesen. Jeder Vorgang zum Schreiben und Lesen von Informationen in der Steuersignal-Verarbeitungseinheit 35, der Analyse-Verarbeitungseinheit 37 und der Interpolations-Verarbeitungseinheit 38X beinhaltet eine Zwischenschaltung der Speichereinheit 34, diese Zwischenschaltung kann in der folgenden Beschreibung jedoch weggelassen sein.
  • Ein Bearbeitungsprogramm wird ausgewählt, indem der Benutzer eine Bearbeitungsprogrammnummer in die Eingabeeinheit 3 eingibt. Die Bearbeitungsprogrammnummer wird über die Eingabesteuerungseinheit 32 und die Dateneinstelleinheit 33 in den gemeinsam genutzten Bereich 345 geschrieben. Durch Zyklusstart an der Maschinenkonsole oder Ähnlichem als Auslöser empfängt die Analyse-Verarbeitungseinheit 37 aus dem gemeinsam genutzten Bereich 345 Werkstückspezifikationsinformationen, die das Werkstück 70 spezifizieren, das der ausgewählten Bearbeitungsprogrammnummer im gemeinsam genutzten Bereich 345 entspricht, wobei die Analyse-Verarbeitungseinheit 37 nach dem Empfang das Bearbeitungsprogramm, das den Werkstückspezifikationsinformationen entspricht, aus dem Bearbeitungsprogrammspeicherbereich 343 ausliest und eine Analyseverarbeitung für jeden Block (jede Zeile) des Bearbeitungsprogramms durchführt. Die Analyse-Verarbeitungseinheit 37 analysiert zum Beispiel einen G-Code (Befehl in Bezug auf die Antriebswellenbewegung oder dergleichen), einen T-Code (Werkzeugwechselbefehl oder dergleichen), einen S-Code (Arbeitsspindelmotor-Drehzahlbefehl) und einen M-Code (Maschinenbetriebsbefehl).
  • Wenn die analysierte Zeile einen M-Code oder T-Code enthält, sendet die Analyse-Verarbeitungseinheit 37 ein Analyseergebnis über den gemeinsam genutzten Bereich 345 und die Steuersignal-Verarbeitungseinheit 35 an die SPS 36. Wenn die analysierte Zeile einen M-Code enthält, sendet die Analyse-Verarbeitungseinheit 37 den M-Code über die Steuersignal-Verarbeitungseinheit 35 an die SPS 36. Die SPS 36 führt die dem M-Code entsprechende Maschinensteuerung aus. Nach Abschluss der Ausführung wird das Ergebnis, das die Beendigung des M-Codes anzeigt, über die Steuersignal-Verarbeitungseinheit 35 in die Speichereinheit 34 geschrieben. Die Interpolations-Verarbeitungseinheit 38X bezieht sich auf das in die Speichereinheit 34 geschriebene Ausführungsergebnis.
  • Wenn ein G-Code enthalten ist, sendet die Analyse-Verarbeitungseinheit 37 das Analyseergebnis über den gemeinsam genutzten Bereich 345 an die Interpolations-Verarbeitungseinheit 38X. Konkret erzeugt die Analyse-Verarbeitungseinheit 37 eine Bewegungsbedingung, die dem G-Code entspricht, und sendet die Bewegungsbedingung an die Interpolations-Verarbeitungseinheit 38X. Die Analyse-Verarbeitungseinheit 37 sendet auch die durch einen S-Code spezifizierte Arbeitsspindeldrehzahl an die Interpolations-Verarbeitungseinheit 38X. Eine Bewegungsbedingung ist eine Werkzeugvorschubbedingung zum Verfahren der Bearbeitungsposition des Werkzeugs 66A oder 66B, die durch eine Geschwindigkeit zum Verfahren der Werkzeugsäule 65A oder 65B, eine Position, zu der die Werkzeugsäule 65A oder 65B verfahren wird, und dergleichen repräsentiert wird. Beispielsweise werden das Werkzeug 66A durch Werkzeugvorschub des Werkzeugs 66A in axialer Richtung der ersten Welle 61A und das Werkzeug 66B durch Werkzeugvorschub des Werkzeugs 66B in axialer Richtung der zweiten Welle 61B vorwärtsbewegt.
  • Die Analyse-Verarbeitungseinheit 37 umfasst Vibrationsbefehl-Analyseeinheiten 11A und 11B und Bewegungsbefehl-Analyseeinheiten 12A und 12B. Die Vibrationsbefehl-Analyseeinheit 11A ist eine Einrichtung zum Analysieren eines Vibrationsbefehls für die erste Welle 61A und die Vibrationsbefehl-Analyseeinheit 11B ist eine Einrichtung zum Analysieren eines Vibrationsbefehls für die zweite Welle 61B.
  • Die Vibrationsbefehl-Analyseeinheit 11A analysiert einen Vibrationsbefehl, der in einem Bearbeitungsprogramm für die erste Welle 61A enthalten ist (wie z. B. einem später beschriebenen Bearbeitungsprogramm 810A), um eine Vibrationsbedingung für die erste Welle 61A zu erzeugen, und sendet die erzeugte Vibrationsbedingung über den gemeinsam genutzten Bereich 345 an die Interpolations-Verarbeitungseinheit 38X.
  • Die Vibrationsbefehl-Analyseeinheit 11B analysiert einen Vibrationsbefehl, der in einem Bearbeitungsprogramm für die zweite Welle 61B enthalten ist (z. B. einem später beschriebenen Bearbeitungsprogramm 810B), um eine Vibrationsbedingung für die zweite Welle 61B zu erzeugen, und sendet die erzeugte Vibrationsbedingung über den gemeinsam genutzten Bereich 345 an die Interpolations-Verarbeitungseinheit 38X.
  • Die Bewegungsbefehl-Analyseeinheit 12A analysiert einen in einem Bearbeitungsprogramm für die erste Welle 61A enthaltenen Bewegungsbefehl, um eine Bewegungsbedingung für die erste Welle 61A zu erzeugen, und sendet die erzeugte Bewegungsbedingung über den gemeinsam genutzten Bereich 345 an die Interpolations-Verarbeitungseinheit 38X.
  • Die Bewegungsbefehl-Analyseeinheit 12B analysiert einen in einem Bearbeitungsprogramm für die zweite Welle 61B enthaltenen Bewegungsbefehl, um eine Bewegungsbedingung für die zweite Welle 61B zu erzeugen, und sendet die erzeugte Bewegungsbedingung über den gemeinsam genutzten Bereich 345 an die Interpolations-Verarbeitungseinheit 38X.
  • Die Bewegungsbefehl-Analyseeinheiten 12A und 12B erzeugen demnach Bewegungsbedingungen, die den G-Codes entsprechen, und senden die Bewegungsbedingungen an die Interpolations-Verarbeitungseinheit 38X. Beispiele für Bewegungsbedingungen sind die Bewegungsgeschwindigkeit einer Werkzeugsäule, die Position, zu der eine Werkzeugsäule bewegt wird, und dergleichen.
  • Ein Vibrationsbefehl für die erste Welle 61A ist ein Befehl zum Vibrierenlassen der ersten Welle 61A in der Z1-Achsenrichtung, die eine axiale Richtung der ersten Welle 61A ist, und ein Vibrationsbefehl für die zweite Welle 61B ist ein Befehl zum Vibrierenlassen der zweiten Welle 61B in der X2-Achsenrichtung und der Z2-Achsenrichtung, die eine axiale Richtung der zweiten Welle 61B ist. Eine Vibrationsbedingung ist eine Vibrationsbedingung für die Durchführung des Vibrationsschneidens. Eine Vibrationsbedingung gemäß der ersten Ausführungsform ist die Anzahl der Vibrationen zum Zeitpunkt des Vibrationsschneidens. Die Anzahl der Vibrationen der ersten Welle 61A entspricht der Anzahl der Vibrationen der ersten Welle 61A während einer Umdrehung der Arbeitsspindel 60, und die Anzahl der Vibrationen der zweiten Welle 61B entspricht der Anzahl der Vibrationen der zweiten Welle 61B während einer Umdrehung der Arbeitsspindel 60. Anders ausgedrückt entsprechen die Anzahl der Vibrationen der ersten Welle 61A und die Anzahl der Vibrationen der zweiten Welle 61B jeweils einer Schwingungsfrequenz bezogen auf eine Zeitspanne, in der die Arbeitsspindel 60 eine Umdrehung ausführt. Daher lässt sich festhalten, dass eine Vibrationsbedingung gemäß der ersten Ausführungsform eine Schwingungsfrequenz beim Vibrationsschneiden ist.
  • Da bei der Werkzeugmaschine 110 die erste Welle 61A vibriert, entspricht die Anzahl der Vibrationen der ersten Welle 61A der Anzahl der Vibrationen des Werkzeugs 66A an der ersten Welle 61A. Da bei der Werkzeugmaschine 110 die zweite Welle 61B vibriert, entspricht die Anzahl der Vibrationen der zweiten Welle 61B der Anzahl der Vibrationen des Werkzeugs 66B an der zweiten Welle 61B. Bei der Werkzeugmaschine 110 bedeutet die Anzahl der Vibrationen der ersten Welle 61A eine erste Anzahl von Vibrationen und die Anzahl der Vibrationen der zweiten Welle 61B eine zweite Anzahl von Vibrationen.
  • Die Interpolations-Verarbeitungseinheit 38X umfasst Befehlsbewegungsbetrag-Berechnungseinheiten 21A und 21B, Vibrationsbewegungsbetrag -Berechnungseinheiten 22A und 22B, eine Bestimmungseinheit 23, eine Anzahl-der-Vibrationen-Berechnungseinheit 24 und eine Kombinationseinheit 27. Die Anzahl-der-Vibrationen-Berechnungseinheit 24 der Interpolations-Verarbeitungseinheit 38X ändert zumindest eine der folgenden Größen: die Arbeitsspindeldrehzahl, die Anzahl der Vibrationen der ersten Welle 61A und/oder die Anzahl der Vibrationen der zweiten Welle 61B, um zu bewirken, dass die Vibration der ersten Welle 61A und die Vibration der zweiten Welle 61B mit der Arbeitsspindeldrehzahl synchronisiert werden und dieser folgen.
  • Zum Beispiel bestimmt die Interpolations-Verarbeitungseinheit 38X, ob die Anzahl der Vibrationen der ersten Welle 61A und die Anzahl der Vibrationen der zweiten Welle 61B geändert werden soll, und ändert eine zu ändernde Anzahl von Vibrationen einer Welle als Ergebnis der Bestimmung auf die der Arbeitsspindeldrehzahl gemäße Anzahl der Vibrationen. In diesem Fall ändert die Interpolations-Verarbeitungseinheit 38X die Anzahl der Vibrationen so, dass die Vibration jeder Welle mit der Arbeitsspindeldrehzahl synchronisiert wird und dieser folgen kann.
  • Das Verfahren zum Synchronisieren der Vibration der ersten Welle 61A mit der Arbeitsspindeldrehzahl (Drehzahl der Arbeitsspindel) ist ein Verfahren zum Einstellen der Anzahl der Vibrationen der ersten Welle 61A so, dass die Anzahl der Vibrationen der ersten Welle 61A während einer Umdrehung der Arbeitsspindel 60 gleich einer festen Anzahl von Vibrationen ist. Das Verfahren zum Synchronisieren der Vibration der zweiten Welle 61B mit der Arbeitsspindeldrehzahl ist ein Verfahren zum Einstellen der Anzahl der Vibrationen der zweiten Welle 61B so, dass die Anzahl der Vibrationen der zweiten Welle 61B während einer Umdrehung der Arbeitsspindel 60 gleich einer festen Anzahl von Vibrationen ist. Anders ausgedrückt entspricht das Verfahren zum Synchronisieren der Vibration der ersten Welle 61A mit der Arbeitsspindeldrehzahl einem Verfahren zum Synchronisieren der Schwingungsfrequenz (der Anzahl der Vibrationen) der ersten Welle 61A mit der Arbeitsspindeldrehzahl und das Verfahren zum Synchronisieren der Vibration der zweiten Welle 61B mit der Arbeitsspindeldrehzahl entspricht einem Verfahren zum Synchronisieren der Schwingungsfrequenz der zweiten Welle 61B mit der Arbeitsspindeldrehzahl.
  • Da bei der ersten Ausführungsform die Vibration der ersten Welle 61A durch die Anzahl der Vibrationen definiert ist, kann die Synchronisation der Vibration der ersten Welle 61A mit der Arbeitsspindeldrehzahl als Synchronisation der Anzahl der Vibrationen der ersten Welle 61A mit der Arbeitsspindeldrehzahl bezeichnet werden. Da bei der ersten Ausführungsform die Vibration der zweiten Welle 61B durch die Anzahl der Vibrationen definiert ist, kann die Synchronisation der Vibration der zweiten Welle 61B mit der Arbeitsspindeldrehzahl in ähnlicher Weise als Synchronisation der Anzahl der Vibrationen der zweiten Welle 61B mit der Arbeitsspindeldrehzahl bezeichnet werden.
  • Es wird darauf hingewiesen, dass die feste Anzahl von Vibrationen bei der ersten Welle 61A variabel ist, wobei je nach Schwingungsschneidbearbeitung eine Anzahl auf Basis der ersten Welle 61A und der zweiten Welle 61B gewählt werden kann. In ähnlicher Weise ist die feste Anzahl von Vibrationen bei der zweiten Welle 61B variabel, wobei je nach Schwingungsschneidbearbeitung eine Anzahl auf Basis der ersten Welle 61A und der zweiten Welle 61B gewählt werden kann.
  • Die Interpolations-Verarbeitungseinheit 38X liest aus dem gemeinsam genutzten Bereich 345 die Arbeitsspindeldrehzahl, die Anzahl der Vibrationen der ersten Welle 61A und die Anzahl der Vibrationen der zweiten Welle 61B aus.
  • Die Befehlsbewegungsbetrag-Berechnungseinheiten 21A und 21B empfangen jeweils eine Bewegungsbedingung als Analyseergebnis von der Analyse-Verarbeitungseinheit 37, führen eine Interpolationsverarbeitung für die Bewegungsbedingung durch und senden einen Befehlsbewegungsbetrag pro Zeiteinheit, der dem Interpolationsverarbeitungsergebnis entspricht, an die Kombinationseinheit 27. Konkret berechnet die Befehlsbewegungsbetrag-Berechnungseinheit 21A einen Befehlsbewegungsbetrag, um den die Werkzeugsäule 65A während einer Zeiteinheit bewegt wird, auf Basis der von der Analyse-Verarbeitungseinheit 37 analysierten Bewegungsbedingung für die erste Welle 61A und sendet den Befehlsbewegungsbetrag an die Kombinationseinheit 27. Die Befehlsbewegungsbetrag-Berechnungseinheit 21B berechnet einen Befehlsbewegungsbetrag, um den die Werkzeugsäule 65B während einer Zeiteinheit bewegt wird, auf Basis der von der Analyse-Verarbeitungseinheit 37 analysierten Bewegungsbedingung für die zweite Welle 61B und sendet den Befehlsbewegungsbetrag an die Kombinationseinheit 27.
  • Die Bestimmungseinheit 23 bestimmt auf Basis der Arbeitsspindeldrehzahl, der Anzahl der Vibrationen der ersten Welle 61A und der Anzahl der Vibrationen der zweiten Welle 61B, ob die Anzahl der Vibrationen der ersten Welle 61A oder die Anzahl der Vibrationen der zweiten Welle 61B eingestellt werden soll. Wenn die Bestimmungseinheit 23 anstelle der Anzahl der Vibrationen Frequenzen bezieht, berechnet die Bestimmungseinheit 23 die Anzahl der Vibrationen vorab basierend auf den Frequenzen. Um die Späne bei der Vibrationsschneidbearbeitung effizient zu trennen, sollte die Anzahl der Vibrationen jedes der Werkzeuge 66A und 66B während einer Umdrehung der Arbeitsspindel 60 nicht eine natürliche Zahl von Malen sein, sondern beträgt wünschenswerterweise etwa (0,5+N) mal (N ist 0 oder eine natürliche Zahl). Hier bedeutet „effizientes Trennen von Spänen“, dass im Durchschnitt kürzere Späne hergestellt werden, nicht, dass Späne mit unterschiedlichen Längen hergestellt werden.
  • Um die Späne im Durchschnitt so kurz wie möglich zu machen, ist es wünschenswert, dass die Anzahl der Vibrationen jedes der Werkzeuge 66A und 66B etwa der Summe von 0,5 und 0 oder einer natürlichen Zahl entspricht. Im Folgenden wird die Anzahl der Vibrationen, wenn die Anzahl der Vibrationen des Werkzeugs 66A oder 66B während einer Umdrehung der Arbeitsspindel 60 das (0,5+N)-fache beträgt, als spezielle Anzahl der Vibrationen bezeichnet. Ein Beispiel für die Anzahl der Vibrationen, die mit der Arbeitsspindeldrehzahl synchronisiert ist, ist die spezielle Anzahl von Vibrationen. Ein Fall, bei dem die Anzahl der Vibrationen des Werkzeugs 66A oder 66B während einer Umdrehung der Arbeitsspindel 60 das (0,5+N)-fache beträgt, bedeutet, dass die Anzahl der Vibrationen des Werkzeugs mit der Arbeitsspindel synchronisiert ist.
  • Das Vibrationsschneiden kann jedoch auch bei einer Anzahl von Vibrationen, die von der speziellen Anzahl der Vibrationen abweicht, aber nahe bei dieser liegt, unter Trennung der Späne durchgeführt werden. Die spezielle Anzahl der Vibrationen muss nur etwa (0,5+N) betragen, wobei eine gewisse Abweichung akzeptabel ist. Im Falle einer Abweichung vom (0,5+N)-fachen variieren die Längen der Späne etwas stark, aber dies ist immer noch akzeptabel, solange keine wesentliche Beeinflussung verursacht wird, wie z. B. ein komplettes Versagen beim Trennen der Späne oder eine große Variation der Längen der Späne in der Größenordnung von ±50 %. Das heißt, die Anzahl der Vibrationen der ersten Welle 61A und der zweiten Welle 61B wird jeweils vorzugsweise auf Basis der speziellen Anzahl der Vibrationen bestimmt.
  • Die Bestimmungseinheit 23 wählt als einzustellendes Objekt die Anzahl der Vibrationen einer Antriebswelle aus, die der Arbeitsspindeldrehzahl nicht folgen kann oder die spezielle Anzahl der Vibrationen nicht erreicht. Die Bestimmungseinheit 23 kann eine Antriebswelle, die signifikant von der Anzahl der Vibrationen abweicht, die der Arbeitsspindeldrehzahl folgen kann, oder eine Antriebswelle auswählen, die signifikant von der speziellen Anzahl der Vibrationen abweicht.
  • Wenn beispielsweise die Anzahl der Vibrationen der ersten Welle 61A das 1,5-fache beträgt, handelt es sich bei der Anzahl der Vibrationen der ersten Welle 61A wegen 1,5=(0,5+1) um die spezielle Anzahl der Vibrationen. Wenn die Anzahl der Vibrationen der zweiten Welle 61B das 6,5-fache beträgt, handelt es sich bei der Anzahl der Vibrationen der zweiten Welle 61B aufgrund von 6,5=(0,5+6) ebenfalls um die spezielle Anzahl der Vibrationen. Es wird angenommen, dass die Frequenz der ersten Welle 61A eine Frequenz (z. B. 25 Hz) ist, die der Arbeitsspindeldrehzahl folgen kann, und die Frequenz der zweiten Welle 61B eine Frequenz (z. B. 100 Hz) überschreitet, die der Arbeitsspindeldrehzahl folgen kann. In diesem Fall wählt die Bestimmungseinheit 23 die Anzahl der Vibrationen der zweiten Welle 61B als einzustellendes Objekt aus. Die Bestimmungseinheit 23 sendet das Bestimmungsergebnis an die Anzahl-der-Vibrationen-Berechnungseinheit 24. Die Bestimmungseinheit 23 sendet ferner die Arbeitsspindeldrehzahl an die Beschleunigungs- und Verzögerungs-Verarbeitungseinheit 39.
  • Die Anzahl-der-Vibrationen-Berechnungseinheit 24 passt die Anzahl der Vibrationen der Antriebswelle auf Basis der Schwingungsfrequenz und der Arbeitsspindeldrehzahl so an, dass die Anzahl der Vibrationen gleich der speziellen Anzahl der Vibrationen ist und der Arbeitsspindeldrehzahl folgen kann.
  • Es wird angenommen, dass eine spezielle Anzahl von Vibrationen, die der Arbeitsspindeldrehzahl folgen kann, das 0,5- oder 1,5-fache ist. Es wird daher angenommen, dass eine Schwingungsfrequenz, die der Arbeitsspindeldrehzahl folgen kann, eine Frequenz ist, die dem 0,5- oder 1,5-fachen der speziellen Anzahl von Vibrationen entspricht.
  • Nachdem die zweite Welle 61B von der Bestimmungseinheit 23 ausgewählt wurde, legt die Anzahl-der-Vibrationen-Berechnungseinheit 24 das 0,5- oder 1,5-fache als Anzahl der Vibrationen der zweiten Welle 61B fest. Beispielsweise legt die Anzahl-der-Vibrationen-Berechnungseinheit 24 als Anzahl der Vibrationen der zweiten Welle 61B einen von zwei oder mehr Kandidaten für die Anzahl der Vibrationen fest, die der anfänglichen Anzahl der Vibrationen am Nächsten liegt. Die Anzahl-der-Vibrationen-Berechnungseinheit 24 ändert die Anzahl der Vibrationen demnach, indem sie den Kandidaten auswählt, bei dem die Differenz zwischen vor und nach der Änderung der Anzahl der Vibrationen am geringsten ist.
  • Die Anzahl-der-Vibrationen-Berechnungseinheit 24 sendet die angepasste Anzahl der Vibrationen und die nicht angepasste Anzahl der Vibrationen, die der ersten Welle 61A oder der zweiten Welle 61B zugeordnet sind, an die Vibrationsbewegungsbetrag-Berechnungseinheit 22B. Die folgende Beschreibung basiert auf der Annahme, dass die Anzahl der Vibrationen der zweiten Welle 61B angepasst wird.
  • Die Vibrationsbewegungsbetrag-Berechnungseinheit 22A berechnet den Vibrationsbewegungsbetrag der ersten Welle 61A auf Basis der Anzahl der Vibrationen der ersten Welle 61A, die von der Anzahl-der-Vibrationen-Berechnungseinheit 24 gesendet wurde, oder auf Basis der Vibrationsbedingung für die erste Welle 61A im gemeinsam genutzten Bereich 345. Der Vibrationsbewegungsbetrag der ersten Welle 61A ist ein Bewegungsbetrag innerhalb einer Zeiteinheit zum Vibrierenlassen des Werkzeugs 66A. Die Vibrationsbewegungsbetrag-Berechnungseinheit 22A sendet den berechneten Vibrationsbewegungsbetrag der ersten Welle 61A an die Kombinationseinheit 27.
  • Die Vibrationsbewegungsbetrag-Berechnungseinheit 22B berechnet den Vibrationsbewegungsbetrag der zweiten Welle 61B auf Basis der Anzahl der Vibrationen der zweiten Welle 61B, die von der Anzahl-der-Vibrationen-Berechnungseinheit 24 gesendet wurde, oder auf Basis der Vibrationsbedingung für die zweite Welle 61B im gemeinsam genutzten Bereich 345. Der Vibrationsbewegungsbetrag der zweiten Welle 61B ist ein Bewegungsbetrag innerhalb einer Zeiteinheit zum Vibrierenlassen des Werkzeugs 66B. Die Vibrationsbewegungsbetrag-Berechnungseinheit 22B sendet den berechneten Vibrationsbewegungsbetrag der zweiten Welle 61B an die Kombinationseinheit 27.
  • Die Bewegung der Werkzeuge 66A und 66B entspricht jeweils der Summe aus der Bewegung zum Vibrationsschneiden und der Bewegung in einer Richtung (Schneidrichtung), in der die Bearbeitung relativ zum Werkstück 70 erfolgt. Bei der ersten Ausführungsform ist die Schneidrichtung die Z-Achsenrichtung von 2. Daher addiert die Kombinationseinheit 27 den Vibrationsbewegungsbetrag für das Vibrationsschneiden und den Bewegungsbetrag in Schneidrichtung, um mit der Bearbeitung des Werkstücks 70 fortzufahren.
  • Konkret erzeugt die Kombinationseinheit 27 einen kombinierten Bewegungsbetrag, indem sie den Befehlsbewegungsbetrag, der von der Befehlsbewegungsbetrag-Berechnungseinheit 21A gesendet wird, und den Vibrationsbewegungsbetrag, der von der Vibrationsbewegungsbetrag-Berechnungseinheit 22A gesendet wird, kombiniert. Es wird darauf hingewiesen, dass der Vibrationsbewegungsbetrag in Kurvenform dargestellt werden kann. In diesem Fall kann der kombinierte Bewegungsbetrag ebenfalls in Kurvenform dargestellt werden. Die Kombinationseinheit 27 sendet den kombinierten Bewegungsbetrag, der das Ergebnis der Interpolationsverarbeitung ist, an die Beschleunigungs- und Verzögerungs-Verarbeitungseinheit 39. Konkret sendet die Kombinationseinheit 27 den kombinierten Bewegungsbetrag für die erste Welle 61A und den kombinierten Bewegungsbetrag für die zweite Welle 61B an die Beschleunigungs- und Verzögerungs-Verarbeitungseinheit 39.
  • Die Beschleunigungs- und Verzögerungs-Verarbeitungseinheit 39 führt eine Beschleunigungs- und Verzögerungsverarbeitung zur sanften Änderung einer Beschleunigung auf Basis des Ergebnisses der Interpolationsverarbeitung durch, das von der Interpolations-Verarbeitungseinheit 38X geliefert wird. Die Beschleunigungs- und Verzögerungs-Verarbeitungseinheit 39 führt die Beschleunigungs- und Verzögerungsverarbeitung für den Start und das Stoppen der Bewegung durch. Genauer erzeugt die Beschleunigungs- und Verzögerungs-Verarbeitungseinheit 39 einen Bewegungsbefehl für die erste Welle 61A auf Basis des kombinierten Bewegungsbetrags für die erste Welle 61A und einen Bewegungsbefehl für die zweite Welle 61B auf Basis des kombinierten Bewegungsbetrags für die zweite Welle 61B. Die Positionsbefehle, die von der Beschleunigungs- und Verzögerungs-Verarbeitungseinheit 39 verarbeitet werden, sind Geschwindigkeitsbefehle pro Zeiteinheit. Die Beschleunigungs- und Verzögerungs-Verarbeitungseinheit 39 erzeugt Beschleunigungs- und Verzögerungsbefehle für die X1-Achse, die X2-Achse, die Z1-Achse und die Z2-Achse.
  • Die Beschleunigungs- und Verzögerungs-Verarbeitungseinheit 39 sendet die Geschwindigkeitsbefehle, die das Verarbeitungsergebnis der Beschleunigungs- und Verzögerungsverarbeitung sind, an die Achsendatenausgabeeinheit 40. Es wird darauf hingewiesen, dass die Beschleunigungs- und Verzögerungs-Verarbeitungseinheit 39 keine Beschleunigungs- und Verzögerungsverarbeitung der Arbeitsspindeldrehzahl durchführt. Die Beschleunigungs- und Verzögerungs-Verarbeitungseinheit 39 sendet einen Drehzahlbefehl, der der Arbeitsspindeldrehzahl entspricht, an die Achsendatenausgabeeinheit 40. Der von der Beschleunigungs- und Verzögerungs-Verarbeitungseinheit 39 erzeugte Drehzahlbefehl ist ein Schrittbefehl.
  • Die Achsendatenausgabeeinheit 40 gibt die Geschwindigkeitsbefehle an die Antriebseinheit 90 aus. Konkret gibt die Achsendatenausgabeeinheit 40 den Geschwindigkeitsbefehl für die X1-Achse an die X1-Achsen-Servosteuerungseinheit 91 und den Geschwindigkeitsbefehl für die Z1-Achse an die Z1-Achsen-Servosteuerungseinheit 92 aus. Die Achsendatenausgabeeinheit 40 gibt ferner den Geschwindigkeitsbefehl für die X2-Achse an die X2-Achsen-Servosteuerungseinheit 93 und den Geschwindigkeitsbefehl für die Z2-Achse an die Z2-Achsen-Servosteuerungseinheit 94 aus. Die Achsendatenausgabeeinheit 40 gibt zudem den Drehzahlbefehl für die Arbeitsspindel 60 an die Arbeitsspindel-Servosteuerungseinheit 200 aus. Infolgedessen steuern die X1-Achsen-Servosteuerungseinheit 91, die Z1-Achsen-Servosteuerungseinheit 92, die X2-Achsen-Servosteuerungseinheit 93, die Z2-Achsen-Servosteuerungseinheit 94 und die Arbeitsspindel-Servosteuerungseinheit 200 den Einsatz des Werkzeugs 66A in X1-Achsenrichtung und Z1-Achsenrichtung, den Einsatz des Werkzeugs 66B in X2-Achsenrichtung und Z2-Achsenrichtung und den Rotationsvorgang der Arbeitsspindel 60.
  • Es wird hier ein Überblick über den Betriebsablauf der Bearbeitungssteuerung beschrieben, die von der numerischen Steuerung 1X durchgeführt wird. Zu Beginn der von der Werkzeugmaschine 110 durchgeführten Bearbeitung gibt die SPS 36 ein Zyklusstartsignal an die Steuersignal-Verarbeitungseinheit 35 aus, wobei die Steuersignal-Verarbeitungseinheit 35 das Zyklusstartsignal an die Interpolations-Verarbeitungseinheit 38X ausgibt. Infolgedessen aktiviert die Interpolations-Verarbeitungseinheit 38X die Analyse-Verarbeitungseinheit 37.
  • Danach liest und analysiert die Analyse-Verarbeitungseinheit 37 das Bearbeitungsprogramm blockweise und speichert das Analyseergebnis, d. h. die Schwingungsbedingungen, Bewegungsbedingungen und die Arbeitsspindeldrehzahl im gemeinsam genutzten Bereich 345. Dann berechnet die Interpolations-Verarbeitungseinheit 38X einen kombinierten Bewegungsbetrag pro Zeiteinheit für die erste Welle 61A und einen kombinierten Bewegungsbetrag pro Zeiteinheit für die zweite Welle 61B auf Basis des von der Analyse-Verarbeitungseinheit 37 erhaltenen Analyseergebnisses und sendet die kombinierten Bewegungsbeträge an die Beschleunigungs- und Verzögerungs-Verarbeitungseinheit 39.
  • Infolgedessen erzeugt die Beschleunigungs- und Verzögerungs-Verarbeitungseinheit 39 einen Beschleunigungs- und Verzögerungsbefehl für jede Achse auf Basis der von der Interpolations-Verarbeitungseinheit 38X erhaltenen kombinierten Bewegungsbeträge. Diese Bewegungsbefehle werden von der Achsendatenausgabeeinheit 40 an die Antriebseinheit 90 ausgegeben, wobei die Antriebseinheit 90 den Betrieb jeder Achse entsprechend dem Bewegungsbefehl steuert.
  • Wie in 2 dargestellt ist, handelt es sich bei der Werkzeugmaschine 110 gemäß der ersten Ausführungsform um eine Einspindel-Zwei-Säulen-Drehmaschine, die die erste Welle 61A an der Werkzeugsäule 65A und die zweite Welle 61B an der Werkzeugsäule 65B aufweist. Eine Einspindel-Zwei-Säulen-Drehmaschine ist eine Drehmaschine, die mit einer einzigen Arbeitsspindel und zwei Werkzeugsäulen ausgestattet ist. Die Werkzeugsäulen 65A und 65B werden auch als Revolver bezeichnet. Ein Beispiel für eine Werkzeugmaschine 110 ist eine Revolverdrehmaschine.
  • Die Werkzeugmaschine 110 umfasst einen Spindelstock, der mit einer ersten Spindel 75 ausgestattet ist. Die erste Spindel 75 dreht sich mit dem daran befestigten Werkstück 70, wodurch das Werkstück 70 gedreht wird. Die von der ersten Spindel 75 gebildete Rotationsachse des Werkstücks 70 entspricht der am Spindelstock angebrachten Arbeitsspindel 60.
  • Die Werkzeugmaschine 110 umfasst die Werkzeugsäule 65A, die eine erste Werkzeugsäule ist, und die Werkzeugsäule 65B, die eine zweite Werkzeugsäule ist. Die erste Welle 61A ist an der Werkzeugsäule 65A angebracht und die zweite Welle 61B ist an der Werkzeugsäule 65B angebracht. Die Werkzeugsäule 65A ist in Richtung der X1-Achse und der Z1-Achse beweglich, die Werkzeugsäule 65B ist in Richtung der X2-Achse und der Z2-Achse beweglich. In der Werkzeugmaschine 110 entspricht die Z1-Achse der ersten Welle 61A und die Z2-Achse der zweiten Welle 61B.
  • Die Werkzeugsäule 65A ist eine Werkzeugsäule für die erste Welle 61A und die Werkzeugsäule 65B ist eine Werkzeugsäule für die zweite Welle 61B. Die Werkzeugsäulen 65A und 65B sind drehbare Werkzeugsäulen. Die Werkzeugsäule 65A kann mit mehreren Werkzeugen 66A bestückt werden, wobei eines der zu verwendenden Werkzeuge 66A durch Drehen der Werkzeuge 66A gegen ein anderes ausgetauscht wird. Ebenso kann die Werkzeugsäule 65B mit mehreren Werkzeugen 66B bestückt werden, wobei durch Drehen der Werkzeuge 66B eines der zu verwendenden Werkzeuge 66B gegen ein anderes ausgetauscht wird.
  • Mittels der in Z1-Achsenrichtung vibrierenden Werkzeugsäule 65A führt das Werkzeug 66A an dem Werkstück 70 eine Vibrationsschneidbearbeitung durch. Indem die Werkzeugsäule 65B in Z2-Achsenrichtung vibriert, führt das Werkzeug 66B eine Vibrationsschneidbearbeitung an dem Werkstück 70 durch. Bei der ersten Ausführungsform kann der Einfachheit halber die Vibration der Werkzeugsäule 65A als Vibration des Werkzeugs 66A bezeichnet sein. In ähnlicher Weise kann die Vibration der Werkzeugsäule 65B als Vibration des Werkzeugs 66B bezeichnet sein.
  • Die Vibrationsbedingungen für die Werkzeugmaschine 110 gemäß der ersten Ausführungsform sind auf die folgenden Bedingungen (L1-1) bis (L1-2) eingestellt. Es wird darauf hingewiesen, dass die Vibrationsbedingungen Beispiele für Bedingungen zum Erreichen einer hohen Schlichtpräzision des zu bearbeitenden Objekts und einer feinen Trennung der Späne sind.
    • (L1-1) Die Anzahl der Vibrationen der Werkzeuge 66A und 66B während einer Umdrehung der Arbeitsspindel 60 soll für die erste Welle 61A und die zweite Welle 61B gleich sein. Sowohl die erste Welle 61A als auch die zweite Welle 61B werden während der Vibrationsschneidbearbeitung mit einer Anzahl von Vibrationen betrieben, die mit der Arbeitsspindeldrehzahl synchronisiert ist.
    • (L1-2) Die Schwingungsamplituden sollen für die erste Welle 61A und die zweite Welle 61B gleich groß sein.
  • Obwohl die Bedingungen (L1-1) und (L1-2) spezifizieren, dass die Anzahl der Vibrationen und die Amplitude für die erste Welle 61A und die zweite Welle 61B gleich sein sollen, können sie auch unterschiedlich sein. Dies liegt daran, dass die Vibration der ersten Welle 61A in der Werkzeugmaschine 110 nicht auf die zweite Welle 61B übertragen wird.
  • 3 zeigt eine Darstellung zur Veranschaulichung eines ersten Beispiels für ein Bearbeitungsprogramm zur Verwendung in einer numerischen Steuerung gemäß der ersten Ausführungsform. Das Bearbeitungsprogramm 81P wird verwendet, wenn die numerische Steuerung 1X die Werkzeugmaschine 110 steuert. Daher enthält das Bearbeitungsprogramm 81P das Bearbeitungsprogramm 810A für die erste Welle 61A und das Bearbeitungsprogramm 810B für die zweite Welle 61B.
  • Der Arbeitsspindeldrehzahlbefehl M3 S1 im Bearbeitungsprogramm 81P ist ein Befehl an die Arbeitsspindel 60 bezüglich der Arbeitsspindeldrehzahl. M3 S1=3000 ist ein Befehl zur Drehung der Arbeitsspindel 60 mit einer Drehzahl von 3000 pro Minute. G0 ist ein Positionierungsbefehl, G165 ist ein niederfrequenter Vibrationsbefehl und G1 ist ein Bewegungsbefehl. Die Bedeutung von „A“ in G165 ist die Amplitude der Vibration und „D“ in G165 definiert die Anzahl der Vibrationen während einer Umdrehung der Arbeitsspindel 60.
  • In dem Bearbeitungsprogramm 81P wird das Werkzeug 66A durch G0 im Bearbeitungsprogramm 810A und das Werkzeug 66B durch G0 im Bearbeitungsprogramm 810B positioniert.
  • Wenn G165 im Bearbeitungsprogramm 810A für die erste Welle 61A verwendet wird, vibriert das Werkzeug 66A in Z1-Achsenrichtung mit der Amplitude und der Anzahl der Vibrationen, die durch G165 festgelegt sind. Das gezeigte Beispiel stellt einen Fall dar, in dem das Werkzeug 66A mit einer Amplitude von 0,2 mm vibrieren gelassen wird, wobei die Anzahl der Vibrationen während einer Umdrehung der Arbeitsspindel 60 das 0,5-fache beträgt.
  • Wenn G165 im Bearbeitungsprogramm 810B für die zweite Welle 61B verwendet wird, vibriert das Werkzeug 66B mit der Amplitude und der Anzahl der Vibrationen, die durch G165 festgelegt sind. Das gezeigte Beispiel stellt einen Fall dar, in dem das Werkzeug 66B mit einer Amplitude von 0,3 mm vibriert, wobei die Anzahl der Vibrationen während einer Umdrehung der Arbeitsspindel 60 das 6,5-fache beträgt.
  • Die Anzahl der Vibrationen beträgt im Bearbeitungsprogramm 810A das 0,5-fache und die Anzahl der Vibrationen im Bearbeitungsprogramm 810B das 6,5-fache. Wie oben beschrieben wurde, ist die Schwingungsfrequenz für den Fall der 6,5-fachen Anzahl von Vibrationen größer als die, die der Arbeitsspindeldrehzahl folgen kann, z. B. 100 Hz. Daher wählt die Bestimmungseinheit 23 die Anzahl der Vibrationen der zweiten Welle 61B als einzustellendes Objekt aus. Aus den speziellen Anzahlen von Vibrationen, die der Arbeitsspindeldrehzahl folgen können, legt die Anzahl-der-Vibrationen-Berechnungseinheit 24 das 1,5-fache, das der anfänglich durch das Bearbeitungsprogramm 810B festgelegten Anzahl der Vibrationen am nächsten liegt, als Anzahl der Vibrationen der zweiten Welle 61B fest.
  • Die numerische Steuerung 1X führt einen Prozess ähnlich dem Prozess aus, wobei das Bearbeitungsprogramm ausgeführt wird, in dem die Anzahl der Vibrationen der zweiten Welle 61B auf das 1,5-fache geändert wurde. Das Bearbeitungsprogramm 81Q ist ein Bearbeitungsprogramm, bei dem die Anzahl der Vibrationen der zweiten Welle 61B des Bearbeitungsprogramms 81P auf das 1,5-fache geändert wurde. Das Bearbeitungsprogramm 81Q enthält das Bearbeitungsprogramm 810A und ein Bearbeitungsprogramm 811B. Das Bearbeitungsprogramm 811B ist eine modifizierte Version des Bearbeitungsprogramms 810B, wobei die Anzahl der Vibrationen der zweiten Welle 61B geändert wurde. Es wird darauf hingewiesen, dass die numerische Steuerung 1X das Bearbeitungsprogramm 81P genauer gesagt in das Bearbeitungsprogramm 81Q umschreiben und das Bearbeitungsprogramm 81Q ausführen kann.
  • Als Nächstes wird eine Verarbeitungsprozedur zur Steuerung der Werkzeugmaschine 110 beschrieben. 4 zeigt ein Flussdiagramm zur Veranschaulichung einer Verarbeitungsprozedur für die numerische Steuerung gemäß der ersten Ausführungsform. 4 zeigt eine Verarbeitungsprozedur zur Steuerung der Werkzeugmaschine 110, die von der numerischen Steuerung 1X ausgeführt wird.
  • Die Analyse-Verarbeitungseinheit 37 bestimmt, ob es sich bei den Vibrationsbefehlen im Bearbeitungsprogramm bezogen auf eine Arbeitsspindel um Befehle für zwei oder mehr Achsen handelt oder nicht (Schritt S10). Anders ausgedrückt ermittelt die Analyse-Verarbeitungseinheit 37, ob es sich bei den Vibrationsbefehlen im Bearbeitungsprogramm um Vibrationsbefehle für eine Werkzeugmaschine mit einer Arbeitsspindel und zwei oder mehr Antriebswellen handelt oder nicht.
  • Wenn es sich nicht um Vibrationsbefehle für zwei oder mehr Achsen bezogen auf eine Arbeitsspindel handelt (Schritt S10: Nein), führt die numerische Steuerung 1X die Bearbeitungssteuerung gemäß dem Bearbeitungsprogramm aus, ohne die Anzahl der Vibrationen zu ändern.
  • Wenn es sich um Vibrationsbefehle für zwei oder mehr Achsen bezogen auf eine Arbeitsspindel handelt (Schritt S10: Ja), ruft die Bestimmungseinheit 23 eine Arbeitsspindeldrehzahl aus dem gemeinsam genutzten Bereich 345 ab (Schritt S20). Die Bestimmungseinheit 23 ruft auch die Anzahl der Vibrationen, d. h. eine Vibrationsbedingung, aus dem gemeinsam genutzten Bereich 345 ab (Schritt S30). Konkret bezieht die Bestimmungseinheit 23 die Anzahl der Vibrationen der ersten Welle 61A und die Anzahl der Vibrationen der zweiten Welle 61B.
  • Die Bestimmungseinheit 23 bestimmt auf Basis der Arbeitsspindeldrehzahl und der Anzahl der Vibrationen, ob die Anzahl der Vibrationen der ersten Welle 61A oder die Anzahl der Vibrationen der zweiten Welle 61B geändert werden soll (Schritt S40). Zu diesem Zeitpunkt bestimmt die Bestimmungseinheit 23 auf Basis der Arbeitsspindeldrehzahl und der Anzahl der Vibrationen, ob die Schwingungsfrequenzen der Arbeitsspindeldrehzahl folgen oder nicht und ob die Anzahl der Vibrationen mit der Arbeitsspindeldrehzahl synchronisiert ist oder nicht.
  • Die Bestimmungseinheit 23 sendet das Bestimmungsergebnis an die Anzahl-der-Vibrationen-Berechnungseinheit 24. Die Anzahl-der-Vibrationen-Berechnungseinheit 24 ändert die Anzahl der Vibrationen der Antriebswelle, für die die Anzahl der Vibrationen geändert werden soll, auf eine spezielle Anzahl von Vibrationen, die der Arbeitsspindeldrehzahl folgen und sich mit ihr synchronisieren kann (Schritt S50).
  • Die Vibrationsbewegungsbetrag-Berechnungseinheit 22A berechnet den Vibrationsbewegungsbetrag der ersten Welle 61A auf Basis der Arbeitsspindeldrehzahl und der Anzahl der Vibrationen der ersten Welle 61A, und die Vibrationsbewegungsbetrag-Berechnungseinheit 22B berechnet den Vibrationsbewegungsbetrag der zweiten Welle 61B auf Basis der Arbeitsspindeldrehzahl und der Anzahl der Vibrationen der zweiten Welle 61B.
  • Die Befehlsbewegungsbetrag-Berechnungseinheit 21A berechnet den Befehlsbewegungsbetrag der ersten Welle 61A auf Basis der von der Analyse-Verarbeitungseinheit 37 erhaltenen Bewegungsbedingungen, und die Befehlsbewegungsbetrag-Berechnungseinheit 21B berechnet den Befehlsbewegungsbetrag der zweiten Welle 61B auf Basis der von der Analyse-Verarbeitungseinheit 37 erhaltenen Bewegungsbedingungen.
  • Die Kombinationseinheit 27 kombiniert den Befehlsbewegungsbetrag und den Vibrationsbewegungsbetrag (Schritt S60). Konkret erzeugt die Kombinationseinheit 27 den kombinierten Bewegungsbetrag der ersten Welle 61A durch Kombinieren des Befehlsbewegungsbetrags der ersten Welle 61A und des Vibrationsbewegungsbetrags der ersten Welle 61A und den kombinierten Bewegungsbetrag der zweiten Welle 61B durch Kombinieren des Befehlsbewegungsbetrags der zweiten Welle 61B und des Vibrationsbewegungsbetrags der zweiten Welle 61B. Danach steuert die Steuerungsberechnungseinheit 2X die erste Welle 61A unter Verwendung des kombinierten Bewegungsbetrags der ersten Welle 61A und die zweite Welle 61B unter Verwendung des kombinierten Bewegungsbetrags der zweiten Welle 61B.
  • Es wird darauf hingewiesen, dass die numerische Steuerung 1X sowohl die Anzahl der Vibrationen der ersten Welle 61A als auch die Anzahl der Vibrationen der zweiten Welle 61B ändern kann. Nachfolgend wird ein Bearbeitungsprogramm beschrieben, bei dem sowohl die Anzahl der Vibrationen der ersten Welle 61A als auch die Anzahl der Vibrationen der zweiten Welle 61B geändert werden.
  • 5 zeigt eine Darstellung zur Veranschaulichung eines zweiten Beispiels eines Bearbeitungsprogramms zur Verwendung in der numerischen Steuerung gemäß der ersten Ausführungsform. Das Bearbeitungsprogramm 82P wird verwendet, wenn die numerische Steuerung 1X die Werkzeugmaschine 110 steuert. Das Bearbeitungsprogramm 82P enthält ein Bearbeitungsprogramm 812A für die erste Welle 61A und ein Bearbeitungsprogramm 812B für die zweite Welle 61B.
  • Das Bearbeitungsprogramm 812B ähnelt dem unter Bezugnahme auf 3 beschriebenen Bearbeitungsprogramm 810B. Das Bearbeitungsprogramm 812A unterscheidet sich von dem unter Bezugnahme auf 3 beschriebenen Bearbeitungsprogramm 810A durch die Anzahl der Vibrationen in G165. Die Anzahl der Vibrationen von G165 im Bearbeitungsprogramm 812A beträgt das 5,5-fache.
  • Es wird angenommen, dass weder die Schwingungsfrequenz der ersten Welle 61A noch die Schwingungsfrequenz der zweiten Welle 61B der Arbeitsspindeldrehzahl folgen kann. In diesem Fall ändert die Anzahl-der-Vibrationen-Berechnungseinheit 24 sowohl die Anzahl der Vibrationen der ersten Welle 61A als auch die Anzahl der Vibrationen der zweiten Welle 61B. Die Anzahl-der-Vibrationen-Berechnungseinheit 24 ändert die Anzahl der Vibrationen der zweiten Welle 61B unter Verwendung des unter Bezugnahme auf 3 beschriebenen Verfahrens auf das 1,5-fache. Für die erste Welle 61A beträgt eine spezielle Anzahl von Vibrationen, die der Arbeitsspindeldrehzahl folgen kann, das 0,5- oder 1,5-fache. Die anfängliche Anzahl der Vibrationen der ersten Welle 61A ist kleiner als die anfängliche Anzahl der Vibrationen der zweiten Welle 61B. Daher wählt die Anzahl-der-Vibrationen-Berechnungseinheit 24 aus mehreren Kandidaten für die Anzahl der Vibrationen eine kleinere als die für die zweite Welle 61B festgelegte Anzahl der Vibrationen aus. Es wird darauf hingewiesen, dass die Anzahl-der-Vibrationen-Berechnungseinheit 24 aus den mehreren Kandidaten für die Anzahl der Vibrationen denjenigen auswählen kann, der der anfänglichen Anzahl der Vibrationen am nächsten kommt.
  • Ähnlich zu dem Prozess führt die numerische Steuerung 1X einen Prozess aus, bei dem das Bearbeitungsprogramm ausgeführt wird, in dem die Anzahl der Vibrationen der ersten Welle 61A auf das 0,5-fache geändert wurde und die Anzahl der Vibrationen der zweiten Welle 61B auf das 1,5-fache geändert wurde. Das Bearbeitungsprogramm 82Q ist ein Bearbeitungsprogramm, bei dem die Anzahl der Vibrationen der ersten Welle 61A des Bearbeitungsprogramms 82P auf das 0,5-fache und die Anzahl der Vibrationen der zweiten Welle 61B auf das 1,5-fache geändert wurde. Das Bearbeitungsprogramm 82Q enthält ein Bearbeitungsprogramm 813A und ein Bearbeitungsprogramm 813B. Das Bearbeitungsprogramm 813A ist eine modifizierte Version des Bearbeitungsprogramms 812A, wobei die Anzahl der Vibrationen der ersten Welle 61A geändert wurde, und das Bearbeitungsprogramm 813B ist eine modifizierte Version des Bearbeitungsprogramms 812B, wobei die Anzahl der Vibrationen der zweiten Welle 61B geändert wurde. Es wird darauf hingewiesen, dass die numerische Steuerung 1X genauer gesagt das Bearbeitungsprogramm 82P in das Bearbeitungsprogramm 82Q umschreiben und das Bearbeitungsprogramm 82Q ausführen kann.
  • Bei der Beschreibung der ersten Ausführungsform umfasst die Werkzeugmaschine 110 zwei Antriebswellen für Werkzeuge, aber die Anzahl der Antriebswellen für Werkzeuge kann drei oder mehr betragen. In diesem Fall kann die Anzahl der Antriebswellen, für die die Anzahl der Vibrationen geändert werden soll, eine oder zwei oder mehr sein.
  • Wie oben beschrieben wurde, wird gemäß der ersten Ausführungsform die Anzahl der Vibrationen der ersten Welle 61A oder die Anzahl der Vibrationen der zweiten Welle 61B so geändert, dass die Anzahl der Vibrationen der ersten Welle 61A und die Anzahl der Vibrationen der zweiten Welle 61B mit der Arbeitsspindeldrehzahl synchronisiert werden und dieser folgen können, wodurch die Werkzeugmaschine 110 eine Vibrationsschneidbearbeitung mit mehreren Antriebswellen ausführen kann.
  • Zweite Ausführungsform
  • Als Nächstes wird die zweite Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die 6 bis 8 beschrieben. Bei der zweiten Ausführungsform wird bei der Werkzeugmaschine 110, die eine Arbeitsspindel und mehrere Antriebswellen aufweist, die Arbeitsspindeldrehzahl so geändert, dass die Anzahl der Vibrationen jeder Antriebswelle mit der Arbeitsspindeldrehzahl synchronisiert werden kann. Das bedeutet, dass bei der ersten Ausführungsform die Arbeitsspindeldrehzahl beibehalten und die Anzahl der Vibrationen einer Antriebswelle geändert wird, während bei der zweiten Ausführungsform die Anzahl der Vibrationen der Antriebswelle beibehalten und die Arbeitsspindeldrehzahl geändert wird.
  • 6 zeigt eine Darstellung zur Veranschaulichung eines Konfigurationsbeispiels einer numerischen Steuerung gemäß der zweiten Ausführungsform. Von den in 6 dargestellten Bestandteilen sind einige, die die gleichen Funktionen wie die der in 1 dargestellten numerischen Steuerung 1X der ersten Ausführungsform erfüllen, mit den gleichen Bezugszeichen versehen und ihre redundanten Beschreibungen werden weggelassen.
  • Die numerische Steuerung 1Y ist ein Computer, der eine ähnliche Konfiguration wie die numerische Steuerung 1X aufweist und die Werkzeugmaschine 110 veranlasst, eine Vibrationsschneidbearbeitung auszuführen. Verglichen mit der numerischen Steuerung 1X weist die numerische Steuerung 1Y eine Steuerungsberechnungseinheit 2Y anstelle der Steuerungsberechnungseinheit 2X auf. Verglichen mit der Steuerungsberechnungseinheit 2X umfasst die Steuerungsberechnungseinheit 2Y eine Interpolations-Verarbeitungseinheit 38Y anstelle der Interpolations-Verarbeitungseinheit 38X.
  • Verglichen mit der Interpolations-Verarbeitungseinheit 38X weist die Interpolations-Verarbeitungseinheit 38Y eine Arbeitsspindeldrehzahl-Berechnungseinheit 25 anstelle der Anzahl-der-Vibrationen-Berechnungseinheit 24 auf. Die Bestimmungseinheit 23 gemäß der zweiten Ausführungsform bestimmt auf der Basis der Anzahl der Vibrationen der ersten Welle 61A und der Arbeitsspindeldrehzahl, ob die Anzahl der Vibrationen der ersten Welle 61A mit der Arbeitsspindeldrehzahl synchron ist oder nicht. Die Bestimmungseinheit 23 bestimmt, dass die Anzahl der Vibrationen der ersten Welle 61A mit der Arbeitsspindeldrehzahl synchronisiert ist, wenn die der Anzahl der Vibrationen der ersten Welle 61A entsprechende Frequenz innerhalb eines bestimmten Bereichs liegt. Die Bestimmungseinheit 23 bestimmt auf Basis der Anzahl der Vibrationen der zweiten Welle 61B und der Arbeitsspindeldrehzahl, ob die Anzahl der Vibrationen der zweiten Welle 61B mit der Arbeitsspindeldrehzahl synchron ist oder nicht. Die Bestimmungseinheit 23 bestimmt, dass die Anzahl der Vibrationen der zweiten Welle 61B mit der Arbeitsspindeldrehzahl synchronisiert ist, wenn die der Anzahl der Vibrationen der zweiten Welle 61B entsprechende Frequenz innerhalb eines bestimmten Bereichs liegt.
  • Wenn die Anzahl der Vibrationen der ersten Welle 61A oder die Anzahl der Vibrationen der zweiten Welle 61B nicht mit der Arbeitsspindeldrehzahl synchronisiert ist oder der Arbeitsspindeldrehzahl nicht folgen kann, ändert die Arbeitsspindeldrehzahl-Berechnungseinheit 25 die Arbeitsspindeldrehzahl so, dass die Anzahl der Vibrationen der ersten Welle 61A und die Anzahl der Vibrationen der zweiten Welle 61B mit der Arbeitsspindeldrehzahl synchronisiert werden und ihr folgen können. Die Arbeitsspindeldrehzahl-Berechnungseinheit 25 ändert die Arbeitsspindeldrehzahl auf Basis der Anzahl der Vibrationen der ersten Welle 61A und der zweiten Welle 61B.
  • Wenn zwei oder mehr Kandidaten für die Arbeitsspindeldrehzahl verfügbar sind, wählt die Arbeitsspindeldrehzahl-Berechnungseinheit 25 den aus, der der anfänglichen Arbeitsspindeldrehzahl am nächsten liegt. Nachdem die Arbeitsspindeldrehzahl geändert wurde, sendet die Arbeitsspindeldrehzahl-Berechnungseinheit 25 die geänderte Arbeitsspindeldrehzahl an die Vibrationsbewegungsbetrag-Berechnungseinheiten 22A und 22B sowie an die Beschleunigungs- und Verzögerungs-Verarbeitungseinheit 39. Wenn die Arbeitsspindeldrehzahl nicht geändert wird, sendet die Arbeitsspindeldrehzahl-Berechnungseinheit 25 die unveränderte Arbeitsspindeldrehzahl an die Vibrationsbewegungsbetrag-Berechnungseinheiten 22A und 22B und an die Beschleunigungs- und Verzögerungs-Verarbeitungseinheit 39.
  • Die Vibrationsbewegungsbetrag-Berechnungseinheit 22A berechnet den Vibrationsbewegungsbetrag der ersten Welle 61A auf Basis der Arbeitsspindeldrehzahl und der Anzahl der Vibrationen der ersten Welle 61A, die von der Arbeitsspindeldrehzahl-Berechnungseinheit 25 gesendet wurden. Die Vibrationsbewegungsbetrag-Berechnungseinheit 22B berechnet den Vibrationsbewegungsbetrag der zweiten Welle 61B auf Basis der Arbeitsspindeldrehzahl und der Anzahl der Vibrationen der zweiten Welle 61B, die von der Arbeitsspindeldrehzahl-Berechnungseinheit 25 gesendet wurden. Andere Prozesse, die von der Interpolations-Verarbeitungseinheit 38Y ausgeführt werden, entsprechen den Prozessen der Interpolations-Verarbeitungseinheit 38X.
  • 7 zeigt eine Darstellung zur Veranschaulichung eines Beispiels eines Bearbeitungsprogramms zur Verwendung in der numerischen Steuerung gemäß der zweiten Ausführungsform. Das Bearbeitungsprogramm 83P wird verwendet, wenn die numerische Steuerung 1Y die Werkzeugmaschine 110 steuert. Das Bearbeitungsprogramm 83P umfasst ein Bearbeitungsprogramm 814A für die erste Welle 61A und ein Bearbeitungsprogramm 814B für die zweite Welle 61B.
  • Das Bearbeitungsprogramm 814A ähnelt dem unter Bezugnahme auf 3 beschriebenen Bearbeitungsprogramm 810A. Das Bearbeitungsprogramm 814B unterscheidet sich von dem unter Bezugnahme auf 3 beschriebenen Bearbeitungsprogramm 810B durch die Anzahl der Vibrationen in G165. Die Anzahl der Vibrationen in G165 beträgt im Bearbeitungsprogramm 814B das 2,5-fache.
  • Die Bestimmungseinheit 23 bestimmt basierend auf dem 1,5-fachen der Anzahl der Vibrationen der ersten Welle 61A und 3000 Umdrehungen der Arbeitsspindeldrehzahl, ob die Anzahl der Vibrationen der ersten Welle 61A mit der Arbeitsspindeldrehzahl synchronisiert ist und dieser folgen kann oder nicht. Hier ist die Anzahl der Vibrationen der ersten Welle 61A mit der Arbeitsspindeldrehzahl synchronisiert und kann dieser folgen.
  • Die Bestimmungseinheit 23 bestimmt ferner basierend auf dem 2,5-fachen der Anzahl der Vibrationen der zweiten Welle 61B und 3000 Umdrehungen der Arbeitsspindeldrehzahl, ob die Anzahl der Vibrationen der zweiten Welle 61B mit der Arbeitsspindeldrehzahl synchronisiert ist und dieser folgen kann oder nicht. Hier ist die Anzahl der Vibrationen der zweiten Welle 61B mit der Arbeitsspindeldrehzahl synchronisiert, kann aber der Arbeitsspindeldrehzahl nicht folgen. Das bedeutet, dass eine Vibrationsschneidbearbeitung, bei der sich die Arbeitsspindel 3000 Mal pro Minute dreht und 2,5 Mal pro Umdrehung der Arbeitsspindel zählt, zu keiner zufriedenstellenden Trennung von Spänen führt, weil die Bearbeitungsvorrichtung der Vibrationsbearbeitung aufgrund eines mechanischen Strukturfaktors der Werkzeugmaschine 110 (z. B. einer Eigenschaft wie Trägheit) nicht folgen kann. Wenn die Schwingungsfrequenz des Werkzeugs 66B zu hoch ist, wird der Vibrationskurvenverlauf des Werkzeugs 66B aufgrund eines strukturellen Faktors der Werkzeugmaschine 110 abgeflacht, d.h. der dem Vibrationsbefehl genau entsprechende ideale Vibrationskurvenverlauf kann nicht realisiert werden. Daher überlappt der Vibrationskurvenverlauf des Werkzeugs 66B bei der M-ten (M ist eine natürliche Zahl) Umdrehung nicht mit dem Vibrationsverlauf bei der (M+1)-ten Umdrehung. Demnach führt eine übermäßige Erhöhung der Arbeitsspindeldrehzahl zu einem Versagen bei der Trennung von Spänen vom Werkstück 70, weil die Anzahl der Vibrationen der zweiten Welle 61B nicht der Arbeitsspindeldrehzahl folgen kann. Daher wird im Folgenden ein Verfahren zur Einstellung einer Arbeitsspindeldrehzahl beschrieben, der die Anzahl der Vibrationen folgen kann.
  • Wie oben beschrieben wurde, wird angenommen, dass die Anzahl der Vibrationen der zweiten Welle 61B mit dem 2,5-fachen Wert nicht der Arbeitsspindeldrehzahl (S1) von 3000 Umdrehungen folgen kann. In diesem Fall wird die Arbeitsspindeldrehzahl so geändert, dass die Anzahl der Vibrationen der ersten Welle 61A und die Anzahl der Vibrationen der zweiten Welle 61B der Arbeitsspindeldrehzahl folgen können. Das bedeutet, dass die Arbeitsspindeldrehzahl-Berechnungseinheit 25 die Arbeitsspindeldrehzahl so ändert, dass die Anzahl der Vibrationen der zweiten Welle 61B der Arbeitsspindeldrehzahl folgt, während dasselbe Niveau bezüglich der Spantrennwirkung beibehalten wird. Zunächst berechnet die Arbeitsspindeldrehzahl-Berechnungseinheit 25 eine erste Schwingungsfrequenz f1, die der Anzahl der Vibrationen der ersten Welle 61A entspricht. Anschließend wird die erste Schwingungsfrequenz f1 vorübergehend als zweite Schwingungsfrequenz f2 für die zweite Welle 61B verwendet. Ferner berechnet die Arbeitsspindeldrehzahl-Berechnungseinheit 25 vorübergehend eine ideale Arbeitsspindeldrehzahl S2 für die zweite Welle 61B basierend auf der 2,5-fachen Anzahl der Vibrationen der zweiten Welle 61B und der vorübergehend auf die zweite Welle 61B angewendeten zweiten Schwingungsfrequenz f2.
  • An dieser Stelle werden vorübergehend die Arbeitsspindeldrehzahl S1, die 1,5-fache Anzahl der Vibrationen und die erste Schwingungsfrequenz f1 für die erste Welle 61A und die Arbeitsspindeldrehzahl S2, die 2,5-fache Anzahl der Vibrationen und die zweite Schwingungsfrequenz f2 (=f1) für die zweite Welle 61B berechnet. Da es sich hier bei der Arbeitsspindel 60 um nur eine einzige Arbeitsspindel für die erste Welle 61A und die zweite Welle 61B handelt, muss die Arbeitsspindeldrehzahl anhand deren Werte eingestellt werden. In dieser Situation wird die Arbeitsspindeldrehzahl durch Auswahl aus einem Bereich zwischen S1 und S2 eingestellt.
  • Zum Beispiel berechnet die Arbeitsspindeldrehzahl-Berechnungseinheit 25 den Mittelwert (Zwischenwert) der Arbeitsspindeldrehzahl für die erste Welle 61A und der für die zweite Welle 61B berechneten Arbeitsspindeldrehzahl und legt den Mittelwert (Zwischenwert) vorübergehend als eine gemeinsame Arbeitsspindeldrehzahl Sc für die erste Welle 61A und die zweite Welle 61B fest. Eine erste Schwingungsfrequenz f1c wird aus der Arbeitsspindeldrehzahl Sc und der 1,5-fachen Anzahl von Vibrationen der ersten Welle 61A neu berechnet, und es wird erneut geprüft, ob die erste Schwingungsfrequenz f1c der Arbeitsspindeldrehzahl Sc folgen kann. Zudem wird eine zweite Schwingungsfrequenz f2c aus der Arbeitsspindeldrehzahl Sc und der 2,5-fachen Anzahl der Vibrationen der zweiten Welle 62B neu berechnet, und es wird erneut geprüft, ob die zweite Schwingungsfrequenz f2c der Arbeitsspindeldrehzahl Sc folgen kann.
  • Wenn die erste Schwingungsfrequenz f1c und die zweite Schwingungsfrequenz f2c der Arbeitsspindeldrehzahl Sc folgen und mit ihr synchronisiert sind, wird die vorübergehend eingestellte Arbeitsspindeldrehzahl Sc als neue, geänderte Arbeitsspindeldrehzahl übernommen.
  • Im Beispiel von 7 wird angenommen, dass die ideale Arbeitsspindeldrehzahl S2, die aus der 2,5-fachen Anzahl der Vibrationen der zweiten Welle 61B berechnet wird, 1800 Umdrehungen beträgt. In diesem Fall stellt die Arbeitsspindeldrehzahl-Berechnungseinheit 25 zunächst vorübergehend als gemeinsame Arbeitsspindeldrehzahl Sc 2400 Umdrehungen ein, d. h. den Mittelwert (Zwischenwert) aus 3000 Umdrehungen, d. h. der anfänglichen Arbeitsspindeldrehzahl S1, und 1800 Umdrehungen, d. h. S2. Da die erste Welle 61A und die zweite Welle 61B der Arbeitsspindeldrehzahl Sc von 2400 Umdrehungen folgen und mit ihr synchronisieren können, wird die Arbeitsspindeldrehzahl Sc auf 2400 Umdrehungen festgelegt. Dann ändert die Arbeitsspindeldrehzahl-Berechnungseinheit 25 die Arbeitsspindeldrehzahl von 3000 Umdrehungen auf 2400 Umdrehungen.
  • Es wird darauf hingewiesen, dass, wenn die zweite Welle 61B der anfänglichen Arbeitsspindeldrehzahl für die erste Welle 61A von 3000 Umdrehungen folgen kann, die Arbeitsspindeldrehzahl-Berechnungseinheit 25 die anfängliche Arbeitsspindeldrehzahl als die gemeinsame Arbeitsspindeldrehzahl festlegen kann.
  • Wenn die erste Welle 61A und/oder die zweite Welle 61B der Arbeitsspindeldrehzahl Sc, die vorübergehend zwischen den Arbeitsspindeldrehzahlen S1 und S2 eingestellt wurde, nicht folgen oder sich mit ihr synchronisieren können, wird die Arbeitsspindeldrehzahl Sc vorübergehend wieder zwischen den Arbeitsspindeldrehzahlen S1 und S2 eingestellt, und ähnliche Schritte werden wiederholt. Wenn beispielsweise die zweite Welle 61B nicht der Arbeitsspindeldrehzahl Sc folgt, kann die Arbeitsspindeldrehzahl erneut zwischen den Arbeitsspindeldrehzahlen Sc und S2 eingestellt werden. Wenn die erste Welle 61A der Arbeitsspindeldrehzahl Sc nicht folgt, kann die Arbeitsspindeldrehzahl erneut zwischen Sc und S1 eingestellt werden.
  • Unter der Annahme, dass die Arbeitsspindeldrehzahl Sc beispielsweise als 2400 Umdrehungen bestimmt wurde, führt die numerische Steuerung 1Y einen dem Prozess ähnlichen Prozess aus, bei dem das Bearbeitungsprogramm, in dem die Arbeitsspindeldrehzahl auf 2400 Umdrehungen geändert wurde, ausgeführt wird. Ein Bearbeitungsprogramm 83Q ist ein Bearbeitungsprogramm, bei dem die Arbeitsspindeldrehzahl des Bearbeitungsprogramms 82P auf 2400 Umdrehungen geändert wird. Das Bearbeitungsprogramm 83Q umfasst das Bearbeitungsprogramm 815A und das Bearbeitungsprogramm 814B. Das Bearbeitungsprogramm 815A ist eine modifizierte Version des Bearbeitungsprogramms 814A, wobei die Arbeitsspindeldrehzahl geändert wurde. Es wird darauf hingewiesen, dass die numerische Steuerung 1Y das Bearbeitungsprogramm 83P genauer gesagt in das Bearbeitungsprogramm 83Q umschreiben und das Bearbeitungsprogramm 83Q ausführen kann.
  • Als Nächstes wird eine Verarbeitungsprozedur für die numerische Steuerung 1Y zur Steuerung der Werkzeugmaschine 110 beschrieben. 8 zeigt ein Flussdiagramm zur Veranschaulichung einer Verarbeitungsprozedur für die numerische Steuerung gemäß der zweiten Ausführungsform. 8 zeigt eine Verarbeitungsprozedur zur Steuerung der Werkzeugmaschine 110, die von der numerischen Steuerung 1Y durchgeführt wird. Es wird darauf hingewiesen, dass einige Prozesse von 8, die den bereits unter Bezugnahme auf 4 beschriebenen Prozessen ähneln, hier nicht beschrieben werden.
  • Die Prozeduren der Schritte S110 bis S130 von 8 sind äquivalent zu denen der Schritte S10 bis S30 von 4.
  • Die Bestimmungseinheit 23 bestimmt auf Basis der Arbeitsspindeldrehzahl und der Anzahl der Vibrationen, ob die Arbeitsspindeldrehzahl geändert werden soll (Schritt S140). Die Vibrationsbedingung ist die Anzahl der Vibrationen. Daher bestimmt die Bestimmungseinheit 23 in diesem Fall, ob die Schwingungsfrequenz, die der Anzahl der Vibrationen der ersten Welle 61A entspricht, der Arbeitsspindeldrehzahl folgen kann oder nicht, und ob die Schwingungsfrequenz, die der Anzahl der Vibrationen der zweiten Welle 61B entspricht, der Arbeitsspindeldrehzahl folgen kann. Wenn die Frequenz der ersten Welle 61A oder die Frequenz der zweiten Welle 61B der Arbeitsspindeldrehzahl nicht folgen kann, beispielsweise wenn Späne von dem Werkstück 70 nicht zufriedenstellend getrennt werden können, nimmt die Bestimmungseinheit 23 eine Änderung der Arbeitsspindeldrehzahl vor.
  • Ferner bestimmt die Bestimmungseinheit 23, ob die Anzahl der Vibrationen der ersten Welle 61A und der zweiten Welle 61B mit der Arbeitsspindeldrehzahl synchronisiert ist oder nicht. Wenn die Anzahl der Vibrationen der ersten Welle 61A oder die Anzahl der Vibrationen der zweiten Welle 61B nicht mit der Arbeitsspindeldrehzahl synchronisiert ist, bestimmt die Bestimmungseinheit 23, dass die Arbeitsspindeldrehzahl geändert wird. In diesem Beispiel bedeutet Synchronisation, dass das Werkzeug während einer Umdrehung der Arbeitsspindel (0,5+N) mal vibriert. Eine vollständige Synchronisation ist wünschenswert, aber nicht zwingend erforderlich, das Werkzeug muss während einer Umdrehung der Arbeitsspindel nur etwa (0,5+N) mal vibrieren.
  • Im Gegensatz dazu bestimmt die Bestimmungseinheit 23, die Arbeitsspindeldrehzahl nicht zu ändern, wenn die erste Welle 61A und die zweite Welle 61B mit der Arbeitsspindeldrehzahl synchronisiert sind und ihr folgen können. Die Bestimmungseinheit 23 kann bestimmen, die Arbeitsspindeldrehzahl nur dann zu ändern, wenn die erste Welle 61A und die zweite Welle 61B der Arbeitsspindeldrehzahl nicht folgen können.
  • Die Bestimmungseinheit 23 sendet das Bestimmungsergebnis an die Anzahl-der-Vibrationen-Berechnungseinheit 24. Die folgende Beschreibung basiert auf der Annahme, dass die Bestimmungseinheit 23 bestimmt hat, die Arbeitsspindeldrehzahl zu ändern. Die Arbeitsspindeldrehzahl-Berechnungseinheit 25 berechnet auf Basis der Arbeitsspindeldrehzahl und der Anzahl der Vibrationen eine Arbeitsspindeldrehzahl, die zur Anzahl der Vibrationen der ersten Welle 61A und der zweiten Welle 61B passt (Schritt S150). Konkret legt die Arbeitsspindeldrehzahl-Berechnungseinheit 25 für die Antriebswelle, die als der Arbeitsspindeldrehzahl nicht folgen könnend beurteilt wurde, eine Frequenz fest, die der Arbeitsspindeldrehzahl folgen kann, und berechnet daraufhin eine Arbeitsspindeldrehzahl, die mit der Anzahl der Vibrationen der ersten Welle 61A und der zweiten Welle 61B jeweils synchronisiert ist und ihnen folgen kann. Dann ändert die Arbeitsspindeldrehzahl-Berechnungseinheit 25 die anfängliche Arbeitsspindeldrehzahl in die berechnete Arbeitsspindeldrehzahl (Schritt S160). Wenn festgestellt wird, dass die Arbeitsspindeldrehzahl nicht geändert werden soll, führt die numerische Steuerung 1Y den normalen Betrieb gemäß dem Bearbeitungsprogramm aus, ohne die Arbeitsspindeldrehzahl zu ändern.
  • Die Vibrationsbewegungsbetrag-Berechnungseinheit 22B berechnet den Vibrationsbewegungsbetrag der ersten Welle 61A auf Basis der Arbeitsspindeldrehzahl und der Anzahl der Vibrationen der ersten Welle 61A und den Vibrationsbewegungsbetrag der zweiten Welle 61B auf Basis der Arbeitsspindeldrehzahl und der Anzahl der Vibrationen der zweiten Welle 61B. Die Kombinationseinheit 27 erzeugt einen kombinierten Bewegungsbetrag, indem sie den Befehlsbewegungsbetrag und den Vibrationsbewegungsbetrag kombiniert (Schritt S170).
  • Es wird darauf hingewiesen, dass die numerische Steuerung 1Y sowohl die Änderung der Arbeitsspindeldrehzahl als auch die Änderung bei der ersten Welle 61A oder der zweiten Welle 61B ausführen kann. Anders ausgedrückt nimmt die numerische Steuerung 1Y eine Änderung bezüglich der Arbeitsspindeldrehzahl und/oder der ersten Welle 61A und/oder der zweiten Welle 61B vor.
  • Wie oben beschrieben wurde, wird gemäß der zweiten Ausführungsform die Arbeitsspindeldrehzahl so geändert, dass die Anzahl der Vibrationen der ersten Welle 61A und die Anzahl der Vibrationen der zweiten Welle 61B mit der Arbeitsspindeldrehzahl synchronisiert werden und dieser folgen können, sodass die Werkzeugmaschine 110 die Vibrationsschneidbearbeitung mit mehreren Antriebswellen ausführen kann.
  • Dritte Ausführungsform
  • Als Nächstes wird die dritte Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die 9 bis 14 beschrieben. Wenn bei einer Änderung der Arbeitsspindeldrehzahl eine Antriebswelle bereits mit dem Vibrationsschneiden begonnen hat, beginnt bei der dritten Ausführungsform die andere Antriebswelle das Vibrationsschneiden nicht, und beide Antriebswellen führen die Vibrationsschneidbearbeitung bei einer geänderten Arbeitsspindeldrehzahl nur dann aus, wenn von beiden Antriebswellen kein Vibrationsschneiden mehr durchgeführt wurde.
  • 9 zeigt eine Darstellung zur Veranschaulichung eines Konfigurationsbeispiels einer numerischen Steuerung gemäß einer dritten Ausführungsform. Von den in 9 dargestellten Bestandteilen sind einige, die die gleichen Funktionen wie die Bestandteile der in 1 dargestellten numerischen Steuerung 1X der ersten Ausführungsform erfüllen, mit den gleichen Bezugszeichen versehen und ihre redundante Beschreibung erübrigt sich.
  • Die numerische Steuerung 1Z ist ein Computer mit einer ähnlichen Konfiguration wie der Computer der numerischen Steuerung 1X, wobei er die Werkzeugmaschine 110 zur Durchführung des Vibrationsschneidens veranlasst. Verglichen mit der numerischen Steuerung 1X enthält die numerische Steuerung 1Z eine Steuerungsberechnungseinheit 2Z anstelle der Steuerungsberechnungseinheit 2X. Verglichen mit der Steuerungsberechnungseinheit 2X umfasst die Steuerungsberechnungseinheit 2Z eine Interpolations-Verarbeitungseinheit 38Z anstelle der Interpolations-Verarbeitungseinheit 38X.
  • Verglichen mit der Interpolations-Verarbeitungseinheit 38X weist die Interpolations-Verarbeitungseinheit 38Z ferner eine Standby-Steuereinheit 26 auf. Die Standby-Steuereinheit 26 bestimmt, ob ein Zeitpunkt vorliegt, an dem die Arbeitsspindeldrehzahl geändert werden kann oder nicht. Die numerische Steuerung 1Z erlaubt einer Antriebswelle die Durchführung des Vibrationsschneidens, erlaubt jedoch nicht beiden Antriebswellen die Vibrationsschneidbearbeitung, bis die Arbeitsspindeldrehzahl geändert ist. Sofern nicht ein Zeitpunkt vorliegt, an dem die Arbeitsspindeldrehzahl geändert werden kann, schiebt die Standby-Steuereinheit 26 die Prozedur zur Änderung der Arbeitsspindeldrehzahl bis zu dem Zeitpunkt auf, an dem die Arbeitsspindeldrehzahl geändert werden kann.
  • Ein Zeitpunkt, an dem die Arbeitsspindeldrehzahl geändert werden kann, ist ein Zeitpunkt, an dem weder von der ersten Welle 61A noch von der zweiten Welle 61B eine Vibrationsschneidbearbeitung durchgeführt wird. Wenn die erste Welle 61A oder die zweite Welle 61B an dem Werkstück 70 mit dem Vibrationsschneiden beginnt, bevor die Arbeitsspindeldrehzahl geändert wird, lässt die Standby-Steuereinheit 26 nicht zu, dass die andere Antriebswelle, die noch keine Vibrationsschneidbearbeitung ausführt, mit dem Vibrationsschneiden beginnt. Die Standby-Steuereinheit 26 bewirkt eine Änderung der Arbeitsspindeldrehzahl zu dem Zeitpunkt, zu dem die eine Antriebswelle keine Vibrationsschneidbearbeitung mehr durchführt. Das bedeutet, dass zu dem Zeitpunkt, zu dem weder von der ersten Welle 61A noch von der zweiten Welle 61B eine Vibrationsschneidbearbeitung durchgeführt wird, die Standby-Steuereinheit 26 bewirkt, dass die Arbeitsspindeldrehzahl geändert wird, während sie verhindert, dass beide Antriebswellen ein Vibrationsschneiden ausführen. Ein Zeitraum, in dem kein Vibrationsschneiden ausgeführt wird, entspricht einem Zeitraum während der Ausführung des Positionierungsbefehls G0, einem Zeitraum während einer Arbeitspause der ersten Welle 61A und der zweiten Welle 61B oder ähnlichem. Nachdem die Arbeitsspindeldrehzahl geändert wurde, veranlasst die numerische Steuerung 1Z sowohl die erste Welle 61A als auch die zweite Welle 61B zur Ausführung des Vibrationsschneidens.
  • 10 zeigt eine Darstellung zur Veranschaulichung eines ersten Beispiels eines Bearbeitungsprogramms zur Verwendung in der numerischen Steuerung gemäß der dritten Ausführungsform. Das Bearbeitungsprogramm 84 wird verwendet, wenn die numerische Steuerung 1Z die Werkzeugmaschine 110 steuert. Das Bearbeitungsprogramm 84 umfasst ein Bearbeitungsprogramm 816A für die erste Welle 61A und ein Bearbeitungsprogramm 816B für die zweite Welle 61B.
  • Bevor die Arbeitsspindeldrehzahl geändert wird, kann die Ausführung des Bearbeitungsprogramms 816A fortgesetzt werden, und die Verarbeitung des Bearbeitungsprogramms 816B kann gegenüber der Verarbeitung des Bearbeitungsprogramms 816A verzögert werden. Die numerische Steuerung 1Z kann demnach zuerst die Vibrationsbefehle der a1- und a2-Blöcke des Bearbeitungsprogramms 816A starten und sich dann während des Vibrationsschneidens der ersten Welle 61A der Bearbeitung des Vibrationsbefehls des b1-Blocks des Bearbeitungsprogramms 816B zuwenden. In diesem Fall lässt die Standby-Steuereinheit 26 den Start des Vibrationsbefehls des b1-Blocks des Bearbeitungsprogramms 816B nicht zu, überspringt den Vibrationsbefehl und führt die Blöcke b2 und b3 aus. Erst nach Erreichen des Wartezustands des b3-Blocks und des a3-Blocks aktiviert die Standby-Steuereinheit 26 dann die Vibrationsschneidbedingung (Modus) für den b1-Block.
  • Wenn danach die erste Welle 61A keine Vibrationsschneidbearbeitung mehr ausführt, ändert die numerische Steuerung 1Z die Arbeitsspindeldrehzahl und führt dann das Vibrationsschneiden unter Verwendung der ersten Welle 61A und der zweiten Welle 61B aus.
  • Als Nächstes wird ein Verarbeitungsverfahren für die numerische Steuerung 1Z zur Steuerung der Werkzeugmaschine 110 beschrieben. 11 zeigt ein Flussdiagramm zur Veranschaulichung einer Verarbeitungsprozedur für die numerische Steuerung gemäß der dritten Ausführungsform. 11 zeigt eine Verarbeitungsprozedur zur Steuerung der Werkzeugmaschine 110 durch die numerische Steuerung 1Z. Es wird darauf hingewiesen, dass einige Prozeduren von 11, die den unter Bezugnahme auf 4 beschriebenen Prozeduren ähnlich sind, hier nicht beschrieben werden. Die folgende Beschreibung basiert auf der Annahme, dass das Vibrationsschneiden der ersten Welle 61A zuerst gestartet wird und das Vibrationsschneiden der zweiten Welle 61B später beginnt.
  • Die Prozeduren der Schritte S210 bis S230 von 11 ähneln denen der Schritte S10 bis S30 von 4. Die numerische Steuerung 1Z führt das Vibrationsschneiden der ersten Welle 61A mit der anfänglichen Arbeitsspindeldrehzahl aus, bis die Arbeitsspindeldrehzahl geändert wird.
  • Nachdem das Vibrationsschneiden der ersten Welle 61A begonnen hat, bestimmt die Standby-Steuereinheit 26, an dem Zeitpunkt, an dem das Vibrationsschneiden der zweiten Welle 61B beginnen soll, ob es sich um einen Zeitpunkt handelt, an dem die Arbeitsspindeldrehzahl geändert werden kann oder nicht. Als Reaktion auf Vibrationsbefehle für die erste Welle 61A und die zweite Welle 61B bestimmt die Standby-Steuereinheit 26 daher, ob das Vibrationsschneiden des nächsten Blocks an der ersten Welle 61A, d. h. der von der zweiten Welle 61B verschiedenen Achse, begonnen hat oder nicht (Schritt S240). Wenn beispielsweise der Vibrationsbefehl für den a1-Block des Bearbeitungsprogramms 816A ausgeführt wird, hat das Vibrationsschneiden für den nächsten Block an der ersten Welle 61A begonnen.
  • Wenn das Vibrationsschneiden an der ersten Welle 61A begonnen hat (Schritt S240: Ja), erlaubt die Standby-Steuereinheit 26 nicht, dass das Vibrationsschneiden an der zweiten Welle 61B beginnt. Dann überwacht die Standby-Steuereinheit 26 den Betrieb sowohl der ersten Welle 61A als auch der zweiten Welle 61B und bestimmt, ob sich sowohl die erste Welle 61A als auch die zweite Welle 61B in einem Zustand befinden, der von dem Zustand des Vibrationsschneidens verschieden ist, oder nicht (Schritt S250).
  • Wenn sich die erste Welle 61A oder die zweiten Welle 61B im Prozess des Vibrationsschneidens befindet (Schritt S250: Nein), überwacht die Standby-Steuereinheit 26 den Betrieb sowohl der ersten Welle 61A als auch der zweiten Welle 61B und bestimmt, ob sich sowohl die erste Welle 61A als auch die zweite Welle 61B in einem Zustand befinden, der von dem Zustand des Vibrationsschneidens verschieden ist, oder nicht (Schritt S250).
  • Wenn sich sowohl die erste Welle 61A als auch die zweite Welle 61B in einem Zustand befinden, der von dem Zustand des Vibrationsschneidens verschieden ist (Schritt S250: Ja), teilt die Standby-Steuereinheit 26 der Arbeitsspindeldrehzahl-Berechnungseinheit 25 mit, dass sich keine der beiden Antriebswellen im Prozess des Vibrationsschneidens befindet. Auf Basis von Prozeduren, die den unter Bezugnahme auf 8 beschriebenen Prozeduren ähnlich sind, führt die numerische Steuerung 1Z die Bestimmung, ob die Arbeitsspindeldrehzahl geändert werden soll oder nicht, die Berechnung der Arbeitsspindeldrehzahl, den Wechsel der Arbeitsspindeldrehzahl und die Erzeugung eines kombinierten Bewegungsbetrags durch (Schritte S260 bis S290). Die Prozeduren der Schritte S260 bis S290 sind ähnlich wie die der Schritte S140 bis S170 von 8. Danach beginnt die numerische Steuerung 1Z mit dem Vibrationsschneiden mit beiden Antriebswellen, d.h. der ersten Welle 61A und der zweiten Welle 61B (Schritt S300).
  • Wenn eines der Werkzeuge 66A und 66B zu einem Zeitpunkt mit dem Vibrationsschneiden beginnt, zu dem das andere Werkzeug gerade eine Vibrationsschneidbearbeitung durchführt, kann ein Bearbeitungsfehler in dem durch das Vibrationsschneiden bearbeiteten Bereich auftreten. Außerdem kann ein Bearbeitungsfehler in dem durch das Vibrationsschneiden bearbeiteten Bereich auftreten, wenn die Arbeitsspindeldrehzahl zu einem Zeitpunkt geändert wird, an dem eines der Werkzeuge 66A und 66B gerade ein Vibrationsschneiden durchführt. Bei der dritten Ausführungsform wird die Arbeitsspindeldrehzahl zu einem Zeitpunkt geändert, zu dem sowohl das Werkzeug 66A als auch das Werkzeug 66B kein Vibrationsschneiden durchführen, wodurch das Auftreten von Bearbeitungsfehlern verhindert werden kann.
  • Es wird darauf hingewiesen, dass die numerische Steuerung 1Z die Anzahl der Vibrationen der ersten Welle 61A oder der zweiten Welle 61B anstelle der Arbeitsspindeldrehzahl ändern kann. In diesem Fall ändert die numerische Steuerung 1Z die Anzahl der Vibrationen der ersten Welle 61A oder der zweiten Welle 61B, wenn sich weder die erste Welle 61A noch die zweite Welle 61B im Prozess des Vibrationsschneidens befindet. Die numerische Steuerung 1Z ändert die Anzahl der Vibrationen der ersten Welle 61A oder der zweiten Welle 61B auf Basis von Prozeduren, die den unter Bezugnahme auf 4 beschriebenen Prozeduren ähnlich sind.
  • Wenn eines der Werkzeuge 66A und 66B mit dem Vibrationsschneiden beginnt, bevor die Anzahl der Vibrationen der ersten Welle 61A und/oder die Anzahl der Vibrationen der ersten Welle 61A und/oder die Arbeitsspindeldrehzahl geändert wird, startet die numerische Steuerung 1Z infolgedessen das Vibrationsschneiden für das andere Werkzeug nicht. Wenn weder das Werkzeug 66A noch das Werkzeug 66B eine Vibrationsschneidbearbeitung durchführt, ändert die numerische Steuerung 1Z daraufhin die Anzahl der Vibrationen der ersten Welle 61A und/oder die Anzahl der Vibrationen der ersten Welle 61A und/oder die Arbeitsspindeldrehzahl.
  • Das Vibrationsschneiden kann nicht nur auf die Z-Achsenrichtung angewendet werden, sondern auch auf eine Interpolationsbearbeitung auf Basis von zwei oder mehr Achsen, wie beispielsweise der X-Achsenrichtung und der Z-Achsenrichtung. Die numerische Steuerung 1Z kann demnach bewirken, dass das Vibrationsschneiden in einer kombinierten Richtung der ersten Welle 61A und der zweiten Welle 61B durchgeführt wird. In diesem Fall wird das Vibrationsschneiden in einer axialen Richtung durchgeführt, die sich von der Zentralachse der Arbeitsspindel 60 unterscheidet.
  • 12 zeigt eine Darstellung zur Veranschaulichung eines weiteren Konfigurationsbeispiels einer Werkzeugmaschine gemäß der dritten Ausführungsform. Von den in 12 dargestellten Bestandteilen sind einige, die die gleichen Funktionen wie die der in 2 dargestellten Werkzeugmaschine 110 der ersten Ausführungsform erfüllen, mit den gleichen Bezugszeichen versehen und ihre redundante Beschreibung wird weggelassen.
  • Im Vergleich zur Werkzeugmaschine 110 umfasst die Werkzeugmaschine 111 anstelle der Werkzeugsäule 65B eine Werkzeugsäule 65C. Die Werkzeugsäule 65C, an der das Werkzeug 66B befestigt werden kann, ist ähnlich wie die Werkzeugsäule 65B ausgebildet. Ähnlich wie die Werkzeugsäule 65B ist die Werkzeugsäule 65C in X2-Achsenrichtung und in Z2-Achsenrichtung beweglich. Bei der Werkzeugmaschine 111 entspricht in ähnlicher Weise wie bei der Werkzeugmaschine 110 die Z2-Achse der zweiten Welle 61B.
  • Die Werkzeugsäule 65C wird in der X2-Achsenrichtung und der Z2-Achsenrichtung in Vibration versetzt, um dadurch mit dem Werkzeug 66B eine Vibrationsschneidbearbeitung an dem Werkstück 70 durchzuführen. Da die Werkzeugsäule 65C in X2-Achsenrichtung und in Z2-Achsenrichtung vibrieren kann, kann das Werkzeug 66B das Werkstück 70 in eine konische Form bringen. Auf diese Weise kann die numerische Steuerung 1Z die Werkzeugmaschine 111, die zur Bearbeitung von konischen Formen befähigt ist, zur Ausführung einer Vibrationsschneidbearbeitung veranlassen.
  • 13 zeigt eine Darstellung zur Veranschaulichung eines zweiten Beispiels für ein Bearbeitungsprogramm zur Verwendung in der numerischen Steuerung gemäß der dritten Ausführungsform. Das Bearbeitungsprogramm 85 wird verwendet, wenn die numerische Steuerung 1Z die Werkzeugmaschine 111 steuert. Das Bearbeitungsprogramm 85 enthält ein Bearbeitungsprogramm 817A für die erste Welle 61A und ein Bearbeitungsprogramm 817B für die zweite Welle 61B. Das Bearbeitungsprogramm 817B ist anders als das Bearbeitungsprogramm 810B oder dergleichen, die die Werkzeugsäule 65B in Z-Achsenrichtung vibrieren lassen, ein Bearbeitungsprogramm zum Vibrierenlassen der Werkzeugsäule 65C in X-Achsenrichtung und Z-Achsenrichtung. Daher umfasst das Bearbeitungsprogramm 817B einen X-Richtungsbefehl und einen Z-Richtungsbefehl in G1, wobei es sich um einen Bewegungsbefehl handelt. Es wird darauf hingewiesen, dass die Werkzeugmaschine 111 von der numerischen Steuerung 1X oder der numerischen Steuerung 1Y gesteuert werden kann.
  • Ähnlich wie die Werkzeugsäule 65C kann die Werkzeugsäule 65A in einer aus zwei axialen Richtungen kombinierten Richtung bewegt und vibrieren gelassen werden. In diesem Fall verfährt und vibriert die Werkzeugsäule 65A in einer aus X1-Achsenrichtung und Z1-Achsenrichtung kombinierten Richtung, d. h. einer Interpolationsrichtung, in der die X1-Achsenrichtung und die ZI-Achsenrichtung verwendet werden.
  • Es wird nun eine Hardwarekonfiguration für die Steuerungsberechnungseinheiten 2X bis 2Z beschrieben, die in den numerischen Steuerungen 1X bis 1Z enthalten sind. 14 zeigt eine Darstellung zur Veranschaulichung eines Beispiels für die Hardwarekonfiguration einer Steuerungsberechnungseinheit gemäß der ersten bis dritten Ausführungsform. Da die Steuerungsberechnungseinheiten 2X bis 2Z ähnliche Hardwarekonfigurationen aufweisen, wird hier die Hardwarekonfiguration der Steuerungsberechnungseinheit 2Z beschrieben.
  • Die Steuerungsberechnungseinheit 2Z kann durch eine in 14 dargestellte Steuerschaltung 300, d. h. einen Prozessor 301 und einen Speicher 302, implementiert werden. Der Prozessor 301 kann beispielsweise eine CPU (auch als Zentraleinheit, zentrale Verarbeitungseinrichtung, Verarbeitungseinrichtung, Recheneinheit, Mikroprozessor, Mikrocomputer, Prozessor oder DSP (Digitaler Signalprozessor) bezeichnet) oder ein LSI (Large Scale Integration)-System sein. Beispiele für den Speicher 302 sind ein Direktzugriffsspeicher (RAM) oder ein Festwertspeicher (ROM).
  • Die Steuerungsberechnungseinheit 2Z wird durch den Prozessor 301 implementiert, der ein in dem Speicher 302 gespeichertes Programm liest und ausführt, um die Steuerungsberechnungseinheit 2Z zu steuern. Man kann auch sagen, dass das Programm den Computer veranlasst, eine Prozedur oder ein Verfahren für die Steuerungsberechnungseinheit 2Z auszuführen. Der Speicher 302 wird auch als temporärer Speicher verwendet, wenn der Prozessor 301 verschiedene Arten der Verarbeitung durchführt.
  • Das von dem Prozessor 301 ausgeführte Programm kann ein Computerprogrammprodukt sein, das ein computerlesbares nichtflüchtiges Speichermedium mit mehreren computerausführbaren Anweisungen zur Durchführung der Datenverarbeitung umfasst. Das vom Prozessor 301 ausgeführte Programm veranlasst den Computer, eine Operation auszuführen, bei der durch die mehreren Anweisungen eine Datenverarbeitung durchgeführt wird.
  • Alternativ kann die Steuerungsberechnungseinheit 2Z auch durch dedizierte Hardware implementiert werden. Es wird darauf hingewiesen, dass einige der Funktionen der Steuerungsberechnungseinheit 2Z durch dedizierte Hardware implementiert sein können und die anderen Funktionen durch Software oder Firmware.
  • Wenn das Werkzeug 66A der ersten Welle 61A oder das Werkzeug 66B der zweiten Welle 61B mit dem Vibrationsschneiden beginnt, bevor die Anzahl der Vibrationen der ersten Welle 61A und/oder die Anzahl der Vibrationen der zweiten Welle 61B und/oder die Arbeitsspindeldrehzahl geändert wird, startet also die numerische Steuerung 1Z gemäß der dritten Ausführungsform das Vibrationsschneiden des anderen Werkzeugs nicht. Wenn weder das Werkzeug 66A noch die zweite Welle 61B eine Vibrationsschneidbearbeitung durchführt, ändert die numerische Steuerung 1Z die Anzahl der Vibrationen der ersten Welle 61A und/oder die Anzahl der Vibrationen der zweiten Welle 61B und/oder
    die Arbeitsspindeldrehzahl und veranlasst die erste Welle 61A und die zweite Welle 61B zur Durchführung der Vibrationsschneidbearbeitung. Selbst wenn die erste Welle 61A oder die zweite Welle 61B zuerst mit dem Vibrationsschneiden beginnt, kann die Werkzeugmaschine 110 zur Durchführung einer Vibrationsschneidbearbeitung auf Basis von mehreren Antriebswellen veranlasst werden.
  • Vierte Ausführungsform
  • Als Nächstes wird eine vierte Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die 15 und 16 beschrieben. Bei der vierten Ausführungsform lernt eine Maschinenlernvorrichtung, ob eine Kombination aus einer Anzahl von Vibrationen, einer Vibrationsamplitude und einer Arbeitsspindeldrehzahl eine für das Vibrationsschneiden geeignete Kombination ist oder nicht.
  • 15 zeigt eine Darstellung zur Veranschaulichung eines Konfigurationsbeispiels einer numerischen Steuerung gemäß einer vierten Ausführungsform. Von den in 15 dargestellten Bestandteilen sind einige, die die gleichen Funktionen wie die der in 1 dargestellten numerischen Steuerung 1X der ersten Ausführungsform erfüllen, mit den gleichen Bezugszeichen versehen und ihre redundante Beschreibung kann entfallen.
  • Die numerische Steuerung 1P ist ein Computer mit einer Konfiguration, die der der numerischen Steuerung 1X ähnlich ist, und sie veranlasst die Werkzeugmaschine 110 zur Durchführung der Vibrationsschneidbearbeitung. Verglichen mit der numerischen Steuerung 1X enthält die numerische Steuerung 1P eine Steuerungsberechnungseinheit 2P anstelle der Steuerungsberechnungseinheit 2X. Verglichen mit der Steuerungsberechnungseinheit 2X enthält die Steuerungsberechnungseinheit 2P eine Interpolations-Verarbeitungseinheit 38P anstelle der Interpolations-Verarbeitungseinheit 38X. Die Steuerungsberechnungseinheit 2P umfasst ferner eine Maschinenlernvorrichtung 50. Die Steuerungsberechnungseinheit 2P weist eine ähnliche Hardwarekonfiguration wie jede der Steuerungsberechnungseinheiten 2X bis 2Z auf.
  • Die Maschinenlernvorrichtung 50 ist mit der Speichereinheit 34 und der Interpolations-Verarbeitungseinheit 38P verbunden. Die Maschinenlernvorrichtung 50 umfasst eine Beobachtungseinheit 51, eine Datenbezugseinheit 52 und eine Lerneinheit 53. In der folgenden Beschreibung wird eine Eingabe, die die Maschinenlernvorrichtung 50 verwendet, mit (r) bezeichnet, eine Ausgabe, die die Maschinenlernvorrichtung 50 verwendet, wird mit (n) bezeichnet, und zusammenhängende Informationen, die von der Maschinenlernvorrichtung 50 verwendet werden, werden mit (i) bezeichnet.
  • Bei der vorliegenden Ausführungsform stellen die Eingaben eine Zustandsvariable (eine später beschriebene Vibrationsschneidbedingung) und Trainingsdaten (eine später beschriebene Pass/Fail-Information) dar, bei den zusammenhängenden Informationen handelt es sich um eine Kombination aus einer Zustandsvariablen und Trainingsdaten (einen später beschriebenen Datensatz), und eine Ausgabe ist das Ergebnis einer Pass/Fail-Bestimmung einer Vibrationsschneidbedingung. Jeder Prozess des Schreibens und Lesens von Informationen zwischen der Maschinenlernvorrichtung 50 und der Analyse-Verarbeitungseinheit 37 beinhaltet die Zwischenschaltung der Speichereinheit 34, die in der folgenden Beschreibung weggelassen sein kann.
  • Die Analyse-Verarbeitungseinheit 37 analysiert eine von einem Benutzer eingegebene Vibrationsschneidbedingung (r). Die Beobachtungseinheit 51 liest die analysierte Vibrationsschneidbedingung (r) als Zustandsvariable aus der Analyse-Verarbeitungseinheit 37 aus. Die von der Beobachtungseinheit 51 als Zustandsvariable gelesene Vibrationsschneidbedingung (r) ist eine Vibrationsschneidbedingung, die für die eigentliche Bearbeitung des Werkstücks 70 verwendet wird. Bei der Vibrationsschneidbedingung (r) handelt es sich um Vibrationsschneidbedingungen für die Arbeitsspindel 60 und die Antriebswellen zum Antrieb der Werkzeuge 66A und 66B. Konkret ist die tatsächlich für die Bearbeitung des Werkstücks 70 verwendete Vibrationsschneidbedingung (r) eine Kombination aus der Information über die Anzahl der Vibrationen (r), der Information über die Vibrationsamplitude (r) und der Information über die Arbeitsspindeldrehzahl (r), die für die Bearbeitung tatsächlich verwendet wird. Es wird darauf hingewiesen, dass die Beobachtungseinheit 51 die Informationen über die Anzahl der Vibrationen (r), Informationen über die Vibrationsamplitude (r) und Informationen über die Arbeitsspindeldrehzahl (r) aus einem Bearbeitungsprogramm im Bearbeitungsprogrammspeicherbereich 343 lesen kann. Alternativ kann die Beobachtungseinheit 51 die Informationen über die Anzahl der Vibrationen (r), Informationen über die Vibrationsamplitude (r) und Informationen über die Arbeitsspindeldrehzahl (r) aus der Interpolations-Verarbeitungseinheit 38P auslesen.
  • Die Information über die Anzahl der Vibrationen (r) ist eine Information, die die Anzahl der Vibrationen der ersten Welle 61A und die Anzahl der Vibrationen der zweiten Welle 61B für das Vibrationsschneiden angibt. Die Informationen über die Vibrationsamplitude (r) ist eine Information, die die Amplitude der Vibrationen der ersten Welle 61A und die Amplitude der Vibrationen der zweiten Welle 61B für das Vibrationsschneiden angibt. Die Information über die Arbeitsspindeldrehzahl (Arbeitsspindeldrehzahlinformation) (r) ist eine Information, die die Drehzahl der Arbeitsspindel für das Vibrationsschneiden angibt.
  • Die Beobachtungseinheit 51 verfolgt für jedes System Daten über die Vibrationsschneidbedingung (r). Das bedeutet, dass die Beobachtungseinheit 51 für jede der Werkzeugsäulen 65A und 65B Daten bezüglich des Anzahl-der-Vibrationen-Befehls, Vibrationsamplitudenbefehls und Arbeitsspindeldrehzahlbefehls verfolgt. Die Beobachtungseinheit 51 gibt die bezogene Vibrationsschneidbedingung (r) an die Lerneinheit 53 aus.
  • Die Datenbezugseinheit 52 liest Pass/Fail-Informationen (r), d. h. Trainingsdaten, aus dem gemeinsam genutzten Bereich 345 aus. Die Pass/Fail-Informationen (r), die von der Datenbezugseinheit 52 gelesen werden, sind Informationen, die angeben, ob das Vibrationsschneiden erfolgreich war oder fehlgeschlagen ist. Anders ausgedrückt sind die Pass/Fail-Informationen (r) Informationen, die angeben, ob das durch das Bearbeitungsprogramm spezifizierte Vibrationsschneiden erfolgreich abgeschlossen wurde oder nicht.
  • Die Pass/Fail-Informationen (r) werden auf Basis der Eingabe des Benutzers nach Abschluss der Bearbeitung des Werkstücks 70 in dem gemeinsam genutzten Bereich 345 gespeichert. Die Pass/Fail-Informationen (r) werden demnach vom Benutzer in die numerische Steuerung 1P eingegeben und in dem gemeinsam genutzten Bereich 345 gespeichert. Die Datenbezugseinheit 52 gibt die bezogenen Pass/Fail-Informationen (r) an die Lerneinheit 53 aus.
  • Die Lerneinheit 53 lernt eine Pass/Fail-Vorhersage (n), die einer Vibrationsschneidbedingung entspricht, in Übereinstimmung mit einem Datensatz (i), der auf Basis der Kombination der Vibrationsschneidbedingung (r), die eine Zustandsvariable ist, und der Pass/Fail-Information (r) erstellt wurde, und nimmt eine Pass/Fail-Schätzung vor.
  • Die Information über die Anzahl der Vibrationen (r) und die Information über die Vibrationsamplitude (r) der Vibrationsschneidbedingung (r) sind in dem vom Benutzer eingegebenen Vibrationsschneidbefehl enthalten. Die Information über die Arbeitsspindeldrehzahl (r) wird durch das Bearbeitungsprogramm definiert.
  • Die Vibrationsschneidbedingung (r) ist eine Vibrationsschneidbedingung, die von der Maschinenlernvorrichtung 50 als bestanden (geeignet) bewertet wurde, oder eine benutzermodifizierte Version einer Vibrationsschneidbedingung, die von der Maschinenlernvorrichtung 50 als nicht bestanden (ungeeignet) bewertet wurde.
  • Verglichen mit der Interpolations-Verarbeitungseinheit 38X enthält die Interpolations-Verarbeitungseinheit 38P eine Einstelleinheit 28 anstelle der Bestimmungseinheit 23 und der Anzahl-der-Vibrationen-Berechnungseinheit 24. Die Einstelleinheit 28 stellt die von der Maschinenlernvorrichtung 50 gesendete Vibrationsschneidbedingung (r) als Bedingungen zur Verwendung beim Vibrationsschneiden oder die vom Benutzer eingegebene Vibrationsschneidbedingung als Bedingungen zur Verwendung beim Vibrationsschneiden ein. Infolgedessen stellt die Einstelleinheit 28 eine Kombination aus Anzahl der Vibrationen, Vibrationsamplitude und Arbeitsspindeldrehzahl als Bedingungen zur Verwendung beim Vibrationsschneiden ein. Die von der Maschinenlernvorrichtung 50 gesendete Vibrationsschneidbedingung (r) ist eine Vibrationsschneidbedingung, die von der Maschinenlernvorrichtung 50 als „bestanden“ („pass“) bewertet wurde. Die vom Benutzer eingegebene Vibrationsschneidbedingung ist eine benutzermodifizierte Version einer Vibrationsschneidbedingung, die von der Maschinenlernvorrichtung 50 als „nicht bestanden“ („fail“) bewertet wurde.
  • Die Interpolations-Verarbeitungseinheit 38P führt die in der ersten bis dritten Ausführungsform beschriebene Interpolationsverarbeitung auf Basis der Kombination aus Anzahl der Vibrationen, Vibrationsamplitude und Arbeitsspindeldrehzahl aus, die von der Einstelleinheit 28 festgelegt wurden. Das heißt, die Interpolations-Verarbeitungseinheit 38P führt die Interpolationsverarbeitung auf Basis der Vibrationsschneidbedingung (r) aus, die von der Maschinenlernvorrichtung 50 als bestanden bewertet wurde, oder auf Basis einer benutzermodifizierten Version einer Vibrationsschneidbedingung, die von der Maschinenlernvorrichtung 50 als nicht bestanden bewertet wurde.
  • Es wird darauf hingewiesen, dass die Maschinenlernvorrichtung 50 ein von der numerischen Steuerung 1P getrenntes Gerät sein kann, das beispielsweise über ein Netzwerk mit der numerischen Steuerung 1P verbunden ist. Alternativ kann die Maschinenlernvorrichtung 50 in die numerische Steuerung 1P integriert sein, wie in 15 dargestellt ist. Weiterhin kann sich die Maschinenlernvorrichtung 50 alternativ auf einem Cloud-Server befinden.
  • Nun wird die Lernverarbeitung der Lerneinheit 53 detailliert beschrieben. Die Lerneinheit 53 lernt die Pass/Fail-Vorhersage (n) für jedes System anhand des sogenannten überwachten Lernens, beispielsweise gemäß einem neuronalen Netzwerkmodell. Die Lerneinheit 53 lernt die Pass/Fail-Vorhersage (n) aus dem Datensatz, in dem die Vibrationsschneidbedingung (r) und die Pass/Fail-Information (r) miteinander verknüpft sind. Überwachtes Lernen bezieht sich hier auf ein Modell, das einer Lerneinheit eine große Anzahl von Datensätzen aus Eingaben und Ergebnissen (Labels) bereitstellt, um dadurch Merkmale in den Datensätzen zu lernen und ein Ergebnis aus einer Eingabe zu schätzen.
  • Ein neuronales Netzwerk besteht aus einer Eingabeschicht, die aus mehreren Neuronen zusammengesetzt ist, einer Zwischenschicht (versteckte Schicht), die aus mehreren Neuronen zusammengesetzt ist, und einer Ausgabeschicht, die aus mehreren Neuronen zusammengesetzt ist. Die Anzahl der Zwischenschichten kann eine, zwei oder mehr sein.
  • In einem dreischichtigen neuronalen Netzwerk werden beispielsweise zwei oder mehr Eingaben in die Eingabeschicht eingegeben, dann werden deren Werte mit einem ersten Gewicht multipliziert und die Ergebnisse werden in die Zwischenschicht eingegeben, wobei die Ergebnisse zudem mit einem zweiten Gewicht multipliziert und aus der Ausgabeschicht ausgegeben werden. Die auf diese Weise erhaltenen Ausgabeergebnisse variieren je nach dem Wert des ersten Gewichts und dem Wert des zweiten Gewichts.
  • Bei der vorliegenden Anwendung lernt das neuronale Netzwerk die Pass/Fail-Vorhersage (n) durch das sogenannte überwachte Lernen gemäß einem Datensatz, der auf Basis der Kombination der von der Beobachtungseinheit 51 beobachteten Vibrationsschneidbedingung (r) und der von der Datenbezugseinheit 52 bezogenen Pass/Fail-Information (r) erzeugt wurde. Das neuronale Netzwerk lernt in diesem Fall, indem es das erste Gewicht und das zweite Gewicht so einstellt, dass sich das Ergebnis, das durch die Eingabe der Vibrationsschneidbedingung (r) in die Eingabeschicht und die Ausgabe aus der Ausgabeschicht erhalten wird, der Pass/Fail-Information (r) annähert. Wenn eine neue Vibrationsschneidbedingung (r) vom Benutzer empfangen wird, macht das neuronale Netzwerk eine Pass/Fail-Vorhersage unter Verwendung des angepassten ersten und zweiten Gewichts.
  • Das neuronale Netzwerk kann die Pass/Fail-Vorhersage (n) auch anhand des sogenannten unüberwachten Lernens erlernen. Unüberwachtes Lernen stellt eine Technik dar, bei der der Maschinenlernvorrichtung 50 lediglich eine große Menge an Eingabedaten zur Verfügung gestellt wird, um zu lernen, wie die Eingabedaten verteilt sind, und zu lernen, wie Vorrichtung eine Komprimierung, Klassifizierung, Modellierung oder Ähnliches an den Eingabedaten durchführt, ohne dass entsprechende Trainingsdaten dazu bereitgestellt werden. Merkmale in den Datensätzen können z. B. einer Segmentierung (Clustering) nach Ähnlichkeiten unterzogen werden. Anhand des Ergebnisses wird eine Ausgabezuordnung vorgenommen, so dass ein Kriterium festgelegt und zur Optimierung verwendet wird, wodurch eine Ausgabevorhersage realisiert werden kann. Eine Art von Problemstellung, die zwischen dem unüberwachten Lernen und dem überwachten Lernen liegt, ist das sogenannte halbüberwachte Lernen, bei dem nur einige Datensätze von Eingaben und Ausgaben existieren und die restlichen Datensätze nur Eingabedaten aufweisen.
  • Die Lerneinheit 53 kann so ausgebildet sein, dass sie die Pass/Fail-Vorhersage (n) gemäß den für mehrere numerische Steuerungen erstellten Datensätzen lernt. Die Lerneinheit 53 kann Datensätze von mehreren numerischen Steuerungen beziehen, die am selben Standort verwendet werden, oder kann die Pass/Fail-Vorhersage (n) unter Verwendung von Datensätzen lernen, die von mehreren numerischen Steuerungen gesammelt wurden, die unabhängig voneinander an verschiedenen Standorten im Einsatz sind.
  • Weiterhin ist es möglich, mitten im Lernprozess eine numerische Steuerung, die Datensätze sammelt, zu einer Erfassung hinzuzufügen oder umgekehrt eine numerische Steuerung aus der Erfassung zu entfernen. Außerdem kann eine Maschinenlernvorrichtung, die die Pass/Fail-Vorhersage (n) für eine bestimmte numerische Steuerung gelernt hat, an eine andere numerische Steuerung angefügt werden, um die Pass/Fail-Vorhersage (n) für die andere numerische Steuerung neu zu lernen und zu aktualisieren.
  • Als Lernalgorithmus zur Verwendung in der Lerneinheit 53 kann Deep Learning verwendet werden, das die Extraktion von Merkmalsmengen selbst lernt. Alternativ kann das maschinelle Lernen nach einer anderen allgemein bekannten Methode durchgeführt werden, wie z. B. bestärkendem Lernen (Reinforcement Learning), genetischer Programmierung, funktionaler Logikprogrammierung, Support-Vektor-Maschine oder Ähnliches. Die Maschinenlernvorrichtung 50 kann die Pass/Fail-Vorhersage (n) für jeden Bearbeitungstyp wie Drehen und Schneiden, Bohren und Gewindeschneiden lernen.
  • Nun werden ein Lernverarbeitungsverfahren und ein Vorhersageverarbeitungsverfahren beschrieben, die von der Maschinenlernvorrichtung 50 ausgeführt werden. 16 zeigt ein Flussdiagramm zur Veranschaulichung einer Verarbeitungsprozedur für eine Maschinenlernvorrichtung gemäß der vierten Ausführungsform.
  • Die Beobachtungseinheit 51 bezieht die Vibrationsschneidbedingung (r), bei der es sich um eine Zustandsvariable handelt, von der Analyse-Verarbeitungseinheit 37 (Schritt S310). Konkret beobachtet die Beobachtungseinheit 51 für jede der Werkzeugsäulen 65A und 65B Daten über den Anzahl-der-Vibrationen-Befehl, einen Vibrationsamplitudenbefehl und einen Arbeitsspindeldrehzahlbefehl. Die Beobachtungseinheit 51 gibt die bezogene Vibrationsschneidbedingung (r) an die Lerneinheit 53 aus.
  • Die Datenbezugseinheit 52 bezieht die Pass/Fail-Information (r), d. h. Trainingsdaten, aus dem gemeinsam genutzten Bereich 345 (Schritt S320). Es wird darauf hingewiesen, dass entweder der Prozess von Schritt S310 oder der Prozess von Schritt S320 zuerst ausgeführt werden kann.
  • Die Lerneinheit 53 lernt die Pass/Fail-Vorhersage (n), die der Vibrationsschneidbedingung (r) entspricht, gemäß dem Datensatz (i), der auf Basis der Kombination der Vibrationsschneidbedingung (r) und der Pass/Fail-Information (r) erstellt wurde (Schritt S330). Die Lerneinheit 53 lernt die Pass/Fail-Vorhersage (n) unter Verwendung des oben genannten neuronalen Netzwerks.
  • Wenn der Benutzer eine Vibrationsschneidbedingung in die numerische Steuerung 1P eingibt, analysiert die Analyse-Verarbeitungseinheit 37 die neue Vibrationsschneidbedingung. Die Maschinenlernvorrichtung 50 bezieht die analysierte neue Vibrationsschneidbedingung von der Analyse-Verarbeitungseinheit 37 (Schritt S340).
  • Die Maschinenlernvorrichtung 50 gibt die bezogene neue Vibrationsschneidbedingung in das durch Lernen erhaltene neuronale Netzwerk ein und erhält eine Pass/Fail-Vorhersage der neuen Vibrationsschneidbedingung entsprechend. Die Maschinenlernvorrichtung 50 führt also eine Pass/Fail-Bestimmung der neuen Vibrationsschneidbedingung auf Basis des gelernten Inhalts und der neuen Vibrationsschneidbedingung durch (Schritt S350).
  • Wenn die neue Vibrationsschneidbedingung als nicht bestanden (fail) bewertet wird (Schritt S350: fehlgeschlagen), teilt die Maschinenlernvorrichtung 50 dem Benutzer mit, dass die Vibrationsschneidbedingung keinen Erfolg hatte (Schritt S360). Beispielsweise zeigt die Anzeigeeinheit 4 veranlasst durch die Maschinenlernvorrichtung 50 eine Meldung an, aus der hervorgeht, dass die Vibrationsschneidbedingung keinen Erfolg hatte. Wenn die Vibrationsschneidbedingung fehlgeschlagen ist, modifiziert der Benutzer die Vibrationsschneidbedingung. Die numerische Steuerung 1P empfängt die modifizierte Vibrationsschneidbedingung, wobei die Analyse-Verarbeitungseinheit 37 die modifizierte Vibrationsschneidbedingung analysiert. Die Maschinenlernvorrichtung 50 bezieht die modifizierte Vibrationsschneidbedingung von der Analyse-Verarbeitungseinheit 37 (Schritt S340). Die Maschinenlernvorrichtung 50 wiederholt die Prozesse der Schritte S340 bis S360, bis die Vibrationsschneidbedingung bestanden hat (pass).
  • Wenn die neue Vibrationsschneidbedingung als bestanden bewertet wird (Schritt S350: bestanden), sendet die Maschinenlernvorrichtung 50 die neue Vibrationsschneidbedingung an die Einstelleinheit 28 der Interpolations-Verarbeitungseinheit 38P. Infolgedessen legt die Einstelleinheit 28 die neue Vibrationsschneidbedingung als Bedingung zur Verwendung beim Vibrationsschneiden fest. Die numerische Steuerung 1P steuert das Vibrationsschneiden unter Verwendung der neu festgelegten Vibrationsschneidbedingung.
  • Nach Beendigung des Vibrationsschneidens ermittelt der Benutzer, ob das Vibrationsschneiden ordnungsgemäß ausgeführt wurde oder nicht. Der Benutzer bewertet das Vibrationsschneiden als bestanden, wenn die durch das Vibrationsschneiden getrennten Späne im Durchschnitt in erfolgreicher Weise kurz sind, während der Benutzer das Vibrationsschneiden als nicht bestanden bewertet, wenn die durch das Vibrationsschneiden getrennten Späne lang sind oder große Längenschwankungen aufweisen.
  • Der Benutzer gibt in die numerische Steuerung 1P die Pass/Fail-Information (r) ein, die angibt, ob das Vibrationsschneiden erfolgreich war oder fehlgeschlagen ist. Die Pass/Fail-Information (r) wird im gemeinsam genutzten Bereich 345 gespeichert. Danach lernt die Maschinenlernvorrichtung 50 die Pass/Fail-Vorhersage (n) für eine Kombination aus der neuen Vibrationsschneidbedingung (r) und der Pass/Fail-Information (r), die der neuen Vibrationsschneidbedingung entspricht. Die Maschinenlernvorrichtung 50 lernt demnach die Pass/Fail-Vorhersage (n) für die neue Vibrationsschneidbedingung anhand der oben beschriebenen Prozesse der Schritte S310 bis S330. Konkret bezieht die Beobachtungseinheit 51 die neue Vibrationsschneidbedingung (r), die für das Vibrationsschneiden verwendet wird, als Zustandsvariable von der Analyse-Verarbeitungseinheit 37. Die Datenbezugseinheit 52 bezieht als Trainingsdaten die Pass/Fail-Information (r), die der neuen Vibrationsschneidbedingung (r) entspricht, aus dem gemeinsam genutzten Bereich 345 (Schritt S320). Die Lerneinheit 53 lernt die Pass/Fail-Vorhersage (n), die der neuen Vibrationsschneidbedingung (r) entspricht, gemäß dem Datensatz (i), der auf Basis der Kombination der neuen Vibrationsschneidbedingung (r) und der neuen Pass/Fail-Information (r) erstellt wurde (Schritt S330).
  • Wenn der Benutzer die nächste Vibrationsschneidbedingung in die numerische Steuerung 1P eingibt, erstellt die Maschinenlernvorrichtung 50 eine Pass/Fail-Vorhersage für die nächste Vibrationsschneidbedingung anhand der oben beschriebenen Prozesse der Schritte S340 bis S360. In der numerischen Steuerung 1P lernt die Maschinenlernvorrichtung 50 die Pass/Fail-Vorhersage (n) wiederholt und erstellt eine Pass/Fail-Vorhersage für die neue Vibrationsschneidbedingung (r).
  • Es wird darauf hingewiesen, dass der Benutzer einem Ergebnis des Vibrationsschneidens eine Punktzahl geben kann, und die Maschinenlernvorrichtung 50 kann die Punktzahl in Bezug auf die Vibrationsschneidbedingung lernen. Die Punktzahl ist umso höher, je kürzer die Länge der Späne in Bezug auf das Vibrationsschneiden ist und je geringer die Variationen bezüglich der Länge der Späne sind. Der Benutzer gibt die Vibrationsschneidbedingung (r) und die Punktzahl (r), die miteinander verknüpft sind, in die numerische Steuerung 1P ein. Die Beobachtungseinheit 51 bezieht die Vibrationsschneidbedingung (r), die eine Zustandsvariable ist, von der Analyse-Verarbeitungseinheit 37, und die Datenbezugseinheit 52 bezieht die Punktzahl (r), bei der es sich um Trainingsdaten handelt, aus dem gemeinsam genutzten Bereich 345.
  • Die Lerneinheit 53 lernt die Punktzahl (n), die der Vibrationsschneidbedingung (r) entspricht, gemäß dem Datensatz (i), der auf Basis einer Kombination aus der Vibrationsschneidbedingung (r) und der Punktzahl (r) erstellt wurde. Die Lerneinheit 53 lernt die Punktzahl (n) mit Hilfe des oben genannten neuronalen Netzwerks. Wenn eine neue Vibrationsschneidbedingung vom Benutzer empfangen wird, gibt die Maschinenlernvorrichtung 50 die bezogene neue Vibrationsschneidbedingung in das durch Lernen erhaltene neuronale Netzwerk ein und erhält eine Punktzahl, die der neuen Vibrationsschneidbedingung entspricht. Die Maschinenlernvorrichtung 50 veranlasst die Anzeigeeinheit 4, die berechnete Punktzahl anzuzeigen.
  • Es wird darauf hingewiesen, dass die Maschinenlernvorrichtung 50 die Punktzahl (r) auf Basis eines von Spänen oder Ähnlichem aufgenommenen Bildes berechnen kann. Auch in diesem Fall erstellt die Maschinenlernvorrichtung 50 die Punktzahl so, dass die Punktzahl höher ist, wenn die Länge der Späne beim Vibrationsschneiden kürzer ist, und die Punktzahl höher ist, wenn die Unterschiede in der Länge der Späne kleiner sind. Die Maschinenlernvorrichtung 50 kann bei der numerischen Steuerung 1Y der zweiten Ausführungsform oder der numerischen Steuerung 1Z der dritten Ausführungsform Anwendung finden.
  • Wie oben beschrieben wurde, lernt die Maschinenlernvorrichtung 50 gemäß der vierten Ausführungsform, ob eine Kombination aus der Anzahl der Vibrationen, der Vibrationsamplitude und der Arbeitsspindeldrehzahl eine geeignete Kombination für das Vibrationsschneiden ist oder nicht. Dadurch kann ein Benutzer auf einfache Weise bestimmen, ob die Kombination aus der Anzahl der Vibrationen, der Vibrationsamplitude und der Arbeitsspindeldrehzahl, die zur Verwendung vorgesehen ist, für das Vibrationsschneiden geeignet ist oder nicht.
  • Bei den oben beschriebenen beispielhaften Ausführungsformen weist die Werkzeugmaschine zwei Werkzeugsäulen auf, die vorliegende Erfindung kann jedoch auch auf eine Werkzeugmaschine mit einer Werkzeugsäule oder eine Werkzeugmaschine mit drei oder mehr Werkzeugsäulen angewendet werden.
  • Die in den oben genannten Ausführungsbeispielen beschriebenen Konfigurationen veranschaulichen Beispiele für den Inhalt der vorliegenden Erfindung und können jeweils mit anderen allgemein bekannten Techniken kombiniert und teilweise weggelassen und/oder modifiziert werden, ohne vom Umfang der vorliegenden Erfindung abzuweichen.
  • Bezugszeichenliste
  • 1P, 1X bis 1Z
    numerische Steuerung;
    2P, 2X bis 2Z
    Steuerungsberechnungseinheit;
    3
    Eingabeeinheit;
    4
    Anzeigeeinheit;
    5
    SPS-Betriebseinheit;
    11A, 11B
    Vibrationsbefehl-Analyseeinheit;
    12A, 12B
    Bewegungsbefehl-Analyseeinheit;
    21A, 21B
    Befehlsbewegungsbetrag-Berechnungseinheit;
    22A, 22B
    Vibrationsbewegungsbetrag-Berechnungseinheit;
    23
    Bestimmungseinheit;
    24
    Anzahl-der-Vibrationen-Berechnungseinheit;
    25
    Arbeitsspindeldrehzahl-Berechnungseinheit;
    26
    Standby-Steuereinheit;
    27
    Kombinationseinheit;
    28
    Einstelleinheit;
    34
    Speichereinheit;
    37
    Analyse-Verarbeitungseinheit;
    38P, 38X bis 38Z
    Interpolations-Verarbeitungseinheit;
    50
    Maschinenlernvorrichtung;
    51
    Beobachtungseinheit;
    52
    Datenbezugseinheit;
    53
    Lerneinheit;
    60
    Arbeitsspindel;
    61A
    erste Welle;
    61B
    zweite Welle;
    65A, 65B, 65C
    Werkzeugsäule;
    66A, 66B
    Werkzeug;
    70
    Werkstück;
    81P, 81Q, 82P, 82Q, 83P, 83Q, 84, 85
    Bearbeitungsprogramm;
    90
    Antriebseinheit;
    110, 111
    Werkzeugmaschine.
  • 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 (13)

  1. Numerische Steuerung, die eine Steuerungsberechnungseinheit zum Steuern einer Arbeitsspindel, bei der es sich um eine Drehachse eines zu bearbeitenden Objekts handelt, einer ersten Antriebswelle zum Antreiben eines ersten Werkzeugs für die Durchführung einer Vibrationsschneidbearbeitung an dem zu bearbeitenden Objekt und einer zweiten Antriebswelle zum Antreiben eines zweiten Werkzeugs für die Durchführung einer Vibrationsschneidbearbeitung an dem zu bearbeitenden Objekt aufweist, wobei die Steuerungsberechnungseinheit aufweist: eine Speichereinheit, um ein Bearbeitungsprogramm zur Durchführung einer Vibrationsschneidbearbeitung an dem zu bearbeitenden Objekt zu speichern; eine Bestimmungseinheit, um zu bestimmen, ob die Anzahl der Vibrationen der ersten Antriebswelle und der zweiten Antriebswelle einer durch das Bearbeitungsprogramm spezifizierten Drehzahl der Arbeitsspindel folgt; und eine Anzahl-der-Vibrationen-Berechnungseinheit, um, wenn die Bestimmungseinheit bestimmt, dass die Anzahl der Vibrationen der ersten Antriebswelle und/oder der zweiten Antriebswelle nicht der Drehzahl der Arbeitsspindel folgt, die Anzahl der Vibrationen, die der Drehzahl der Arbeitsspindel folgt, für die Antriebswelle zu berechnen, die als nicht der Drehzahl der Arbeitsspindel folgend bestimmt wurde.
  2. Numerische Steuerung nach Anspruch 1, wobei die Anzahl-der-Vibrationen-Berechnungseinheit zum Ändern der Anzahl der Vibrationen der ersten Antriebswelle aus mehreren Kandidaten einen Kandidaten auswählt, der zum kleinsten Unterschied zwischen vor und nach dem Ändern der Anzahl der Vibrationen führt, um die Anzahl der Vibrationen zu ändern.
  3. Numerische Steuerung nach Anspruch 1 oder 2, wobei die Anzahl-der-Vibrationen-Berechnungseinheit zum Ändern der Anzahl der Vibrationen der ersten Antriebswelle eine geänderte Anzahl von Vibrationen auf Basis der Summe aus 0,5 und 0 oder einer natürlichen Zahl festlegt.
  4. Numerische Steuerung nach einem der Ansprüche 1 bis 3, wobei die Steuerungsberechnungseinheit eine Kombinationseinheit enthält, um einen Vibrationsbewegungsbetrag der ersten Antriebswelle und der zweiten Antriebswelle und einen Befehlsbewegungsbetrag in Schneidrichtung zu kombinieren, wobei der Vibrationsbewegungsbetrag auf Basis der von der Anzahl-der-Vibrationen-Berechnungseinheit berechneten Anzahl von Vibrationen berechnet wird und wobei der Befehlsbewegungsbetrag auf Basis des Bearbeitungsprogramms berechnet wird, wodurch die erste Antriebswelle und die zweite Antriebswelle auf Basis eines von der Kombinationseinheit ausgegebenen Drehzahlbefehls gesteuert werden.
  5. Numerische Steuerung, die eine Steuerungsberechnungseinheit zum Steuern einer Arbeitsspindel, bei der es sich um eine Drehachse eines zu bearbeitenden Objekts handelt, einer ersten Antriebswelle zum Antreiben eines ersten Werkzeugs für die Durchführung einer Vibrationsschneidbearbeitung an dem zu bearbeitenden Objekt und einer zweiten Antriebswelle zum Antreiben eines zweiten Werkzeugs für die Durchführung einer Vibrationsschneidbearbeitung an dem zu bearbeitenden Objekt aufweist, wobei die Steuerungsberechnungseinheit aufweist: eine Speichereinheit, um ein Bearbeitungsprogramm zur Durchführung einer Vibrationsschneidbearbeitung an dem zu bearbeitenden Objekt zu speichern; eine Bestimmungseinheit, um zu bestimmen, ob eine durch das Bearbeitungsprogramm spezifizierte Anzahl von Vibrationen der ersten Antriebswelle und der zweiten Antriebswelle der Drehzahl der Antriebsspindel folgt; und eine Arbeitsspindeldrehzahl-Berechnungseinheit, um, wenn die Bestimmungseinheit bestimmt, dass die Anzahl der Vibrationen der ersten Antriebswelle und/oder der zweiten Antriebswelle nicht der Drehzahl der Antriebsspindel folgt, eine Drehzahl der Antriebsspindel zu berechnen, der sowohl die erste Antriebswelle als auch die zweite Antriebswelle folgen.
  6. Numerische Steuerung nach einem der Ansprüche 1 bis 5, wobei die Steuerungsberechnungseinheit die Anzahl der Vibrationen der ersten Antriebswelle und/oder die Anzahl der Vibrationen der zweiten Antriebswelle und/oder die Drehzahl der Arbeitsspindel zu einem Zeitpunkt ändert, an dem weder das erste Werkzeug noch das zweite Werkzeug eine Vibrationsschneidbearbeitung vornehmen.
  7. Numerische Steuerung nach einem der Ansprüche 1 bis 6, wobei die Steuerungsberechnungseinheit die erste Antriebswelle und/oder die zweite Antriebswelle zur Durchführung einer Vibrationsschneidbearbeitung in einer Schneidrichtung veranlasst, die nicht parallel zur Arbeitsspindel verläuft.
  8. Numerische Steuerung, die eine Steuerungsberechnungseinheit zum Steuern einer Arbeitsspindel, bei der es sich um eine Drehachse eines zu bearbeitenden Objekts handelt, einer ersten Antriebswelle zum Antreiben eines ersten Werkzeugs für die Durchführung einer Vibrationsschneidbearbeitung an dem zu bearbeitenden Objekt und einer zweiten Antriebswelle zum Antreiben eines zweiten Werkzeugs für die Durchführung einer Vibrationsschneidbearbeitung an dem zu bearbeitenden Objekt aufweist, wobei die Steuerungsberechnungseinheit aufweist: eine Maschinenlernvorrichtung zum Erlernen einer Pass/Fail-Vorhersage, bei der vorhergesagt wird, ob die Vibrationsschneidbearbeitung erfolgreich ist oder fehlschlägt, und die Maschinenlernvorrichtung aufweist: eine Beobachtungseinheit zum Beobachten einer Zustandsvariablen, die für die erste Antriebswelle und die zweite Antriebswelle eine Vibrationsschneidebedingung für die Vibrationsschneidebearbeitung umfasst; eine Datenbezugseinheit zum Beziehen von Pass/Fail-Informationen, die angeben, ob die Vibrationsschneidbearbeitung erfolgreich war oder fehlgeschlagen ist; und eine Lerneinheit zum Erlernen der Pass/Fail-Vorhersage gemäß einem Datensatz, der auf Basis einer Kombination aus der Zustandsvariablen und der Pass/Fail-Information erstellt wurde.
  9. Numerische Steuerung nach Anspruch 8, wobei die Vibrationsschneidbedingung den Anzahl-der-Vibrationen-Informationen, die die Anzahl der Vibrationen angeben, den Informationen über die Vibrationsamplitude, die eine Amplitude der Vibrationen angeben, und den Informationen über die Arbeitsspindeldrehzahl, die eine Drehzahl der Antriebsspindel angeben, entspricht.
  10. Maschinenlernvorrichtung zum Erlernen einer Pass/Fail-Vorhersage, bei der vorhergesagt wird, ob eine Vibrationsschneidbearbeitung unter Verwendung einer numerischen Steuerung erfolgreich ist oder fehlschlägt, wobei die numerische Steuerung so ausgebildet ist, dass sie eine Arbeitsspindel, bei der es sich um eine Drehachse eines zu bearbeitenden Objekts handelt, eine erste Antriebswelle zum Antreiben eines ersten Werkzeugs für die Durchführung einer Vibrationsschneidbearbeitung an dem zu bearbeitenden Objekt und eine zweite Antriebswelle zum Antreiben eines zweiten Werkzeugs für die Durchführung einer Vibrationsschneidbearbeitung an dem zu bearbeitenden Objekt steuert, wobei die Maschinenlernvorrichtung aufweist: eine Beobachtungseinheit zum Beobachten einer Zustandsvariablen, die eine Vibrationsschneidebedingung für die erste Antriebswelle und die zweite Antriebswelle umfasst, während einer Vibrationsschneidebearbeitung; eine Datenbezugseinheit zum Beziehen von Pass/Fail-Informationen, die angeben, ob die Vibrationsschneidbearbeitung erfolgreich war oder fehlgeschlagen ist; und eine Lerneinheit zum Erlernen der Pass/Fail-Vorhersage gemäß einem Datensatz, der auf Basis einer Kombination aus der Zustandsvariablen und der Pass/Fail-Information erstellt wurde.
  11. Maschinenlernvorrichtung nach Anspruch 10, wobei die Vibrationsschneidbedingung den Anzahl-der-Vibrationen-Informationen, die die Anzahl der Vibrationen angeben, den Informationen über die Vibrationsamplitude, die eine Amplitude der Vibrationen angeben, und den Informationen über die Arbeitsspindeldrehzahl, die eine Drehzahl der Antriebsspindel angeben, entspricht.
  12. Numerisches Steuerverfahren zum Steuern einer Arbeitsspindel, bei der es sich um eine Drehachse eines zu bearbeitenden Objekts handelt, einer ersten Antriebswelle zum Antreiben eines ersten Werkzeugs für die Durchführung einer Vibrationsschneidbearbeitung an dem zu bearbeitenden Objekt und einer zweiten Antriebswelle zum Antreiben eines zweiten Werkzeugs für die Durchführung einer Vibrationsschneidbearbeitung an dem zu bearbeitenden Objekt, wobei das numerische Steuerverfahren aufweist: einen Bestimmungsschritt, um zu bestimmen, ob die Anzahl der Vibrationen der ersten Antriebswelle und der zweiten Antriebswelle einer Drehzahl der Arbeitsspindel folgt, die durch ein Bearbeitungsprogramm zur Durchführung einer Vibrationsschneidbearbeitung an dem zu bearbeitenden Objekt spezifiziert wird; und einen Anzahl-von-Vibrationen-Berechnungsschritt, um, wenn in dem Bestimmungsschritt bestimmt wird, dass die Anzahl der Vibrationen der ersten Antriebswelle und/oder der zweiten Antriebswelle nicht der Drehzahl der Arbeitsspindel folgt, die Anzahl der Vibrationen, die der Drehzahl der Arbeitsspindel folgt, für die Antriebswelle zu berechnen, die als nicht der Drehzahl der Arbeitsspindel folgend bestimmt wurde.
  13. Numerisches Steuerverfahren zum Steuern einer Arbeitsspindel, bei der es sich um eine Drehachse eines zu bearbeitenden Objekts handelt, einer ersten Antriebswelle zum Antreiben eines ersten Werkzeugs für die Durchführung einer Vibrationsschneidbearbeitung an dem zu bearbeitenden Objekt und einer zweiten Antriebswelle zum Antreiben eines zweiten Werkzeugs für die Durchführung einer Vibrationsschneidbearbeitung an dem zu bearbeitenden Objekt, wobei das numerische Steuerverfahren aufweist: einen Bestimmungsschritt, um zu bestimmen, ob die Anzahl der Vibrationen der ersten Antriebswelle und die Anzahl der Vibrationen der zweiten Antriebswelle, die durch ein Bearbeitungsprogramm zur Durchführung einer Vibrationsschneidbearbeitung an dem zu bearbeitenden Objekt spezifiziert werden, einer Drehzahl der Antriebsspindel folgen; und einen Arbeitsspindeldrehzahl-Berechnungsschritt, um, wenn in dem Bestimmungsschritt bestimmt wird, dass die Anzahl der Vibrationen der ersten Antriebswelle und/oder der zweiten Antriebswelle nicht der Drehzahl der Antriebsspindel folgt, eine Drehzahl der Antriebsspindel zu berechnen, der sowohl die erste Antriebswelle als auch die zweite Antriebswelle folgen.
DE112019004762.0T 2018-10-26 2019-10-24 Numerische Steuerung, Maschinenlernvorrichtungund numerisches Steuerverfahren Pending DE112019004762T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPPCT/JP2018/039906 2018-10-26
PCT/JP2018/039906 WO2020084772A1 (ja) 2018-10-26 2018-10-26 数値制御装置および数値制御方法
PCT/JP2019/041726 WO2020085437A1 (ja) 2018-10-26 2019-10-24 数値制御装置、機械学習装置、および数値制御方法

Publications (1)

Publication Number Publication Date
DE112019004762T5 true DE112019004762T5 (de) 2021-07-08

Family

ID=70330652

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019004762.0T Pending DE112019004762T5 (de) 2018-10-26 2019-10-24 Numerische Steuerung, Maschinenlernvorrichtungund numerisches Steuerverfahren

Country Status (5)

Country Link
US (1) US20210382455A1 (de)
JP (2) JP6898530B2 (de)
CN (1) CN112912804B (de)
DE (1) DE112019004762T5 (de)
WO (2) WO2020084772A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020084772A1 (ja) * 2018-10-26 2020-04-30 三菱電機株式会社 数値制御装置および数値制御方法
CN115884847B (zh) * 2020-10-21 2024-03-19 三菱电机株式会社 数控装置及数控方法
JP2022174914A (ja) * 2021-05-12 2022-11-25 スター精密株式会社 工作機械
WO2024090373A1 (ja) * 2022-10-24 2024-05-02 Dmg森精機株式会社 Ncプログラム作成

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 (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5950443B2 (ja) * 1979-11-17 1984-12-08 株式会社大隈「テツ」工所 切屑切断方法
EP2192465B1 (de) * 2008-11-26 2011-09-28 Siemens Aktiengesellschaft Regelung eines Folgeantriebs mit dynamischer Ermittlung der Dynamik der Leitachse
US9886022B2 (en) * 2014-04-23 2018-02-06 Mitsubishi Electric Corporation Numerical control device
JP6151667B2 (ja) * 2014-06-06 2017-06-21 ファナック株式会社 重畳制御の速度制御機能を有する数値制御装置
CN107073612B (zh) * 2014-10-28 2019-03-08 三菱电机株式会社 数控装置
EP3225355B1 (de) * 2014-11-26 2019-09-11 Mitsubishi Electric Corporation Vorrichtung für numerische steuerung
JP6517060B2 (ja) * 2015-03-26 2019-05-22 シチズン時計株式会社 工作機械及びこの工作機械の制御装置
JP6470085B2 (ja) * 2015-03-26 2019-02-13 シチズン時計株式会社 工作機械及びこの工作機械の制御装置
JP6557198B2 (ja) * 2016-09-06 2019-08-07 ファナック株式会社 数値制御装置
JP6875810B2 (ja) * 2016-09-13 2021-05-26 シチズン時計株式会社 工作機械およびその制御装置
JP6744815B2 (ja) * 2016-12-15 2020-08-19 シチズン時計株式会社 工作機械の制御装置および工作機械
KR20190134697A (ko) * 2017-03-29 2019-12-04 시티즌 도케이 가부시키가이샤 공작 기계의 제어 장치 및 공작 기계
JP6412197B1 (ja) * 2017-04-04 2018-10-24 ファナック株式会社 揺動切削を行う工作機械の制御装置
JP6871842B2 (ja) * 2017-11-30 2021-05-19 三菱重工工作機械株式会社 加工シミュレーションの条件の適正化方法、加工シミュレーション装置、加工シミュレーションシステム及びプログラム
JP6740208B2 (ja) * 2017-12-27 2020-08-12 ファナック株式会社 切削条件検証装置
WO2020084772A1 (ja) * 2018-10-26 2020-04-30 三菱電機株式会社 数値制御装置および数値制御方法

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
JP7138746B2 (ja) 2022-09-16
CN112912804B (zh) 2023-09-22
CN112912804A (zh) 2021-06-04
JP6898530B2 (ja) 2021-07-07
WO2020085437A1 (ja) 2020-04-30
JP2021140819A (ja) 2021-09-16
US20210382455A1 (en) 2021-12-09
JPWO2020085437A1 (ja) 2021-02-15
WO2020084772A1 (ja) 2020-04-30

Similar Documents

Publication Publication Date Title
DE112019004762T5 (de) Numerische Steuerung, Maschinenlernvorrichtungund numerisches Steuerverfahren
DE102005015810B4 (de) Bearbeitungszeit-Berechnungsvorrichtung
DE102017215787B4 (de) Steuerungseinrichtung, Steuerungsverfahren und Computerprogramm für Werkzeugmaschine
DE102012207916B3 (de) Verfahren und Vorrichtung zur automatisierten Konfiguration einer Überwachungsfunktion einer Werkzeugmaschine
DE112013007444B4 (de) Einstell- und Justierfunktionsunterstützungseinrichtung für ein Mehrachsen-Steuerungssystem
DE112014000229B4 (de) Numerische Steuervorrichtung
DE102018005754A1 (de) Steuervorrichtung für eine werkzeugmaschine zum ausführen von schwingungsschneiden
DE112014007112B4 (de) Numerisch gesteuerte Vorrichtung
EP0902343A2 (de) Verfahren und System zum Erstellen oder Visualisieren von Steuerdatensätzen
DE102019209775A1 (de) Controller für Werkzeugmaschine
DE112014006864B4 (de) Numerische Steuervorrichtung
DE102007045595A1 (de) Verfahren und virtuelle Werkzeugmaschine zur Darstellung von Aktionen einer realen Werkzeugmaschine
DE112018008087B4 (de) Numerisches Steuerungsgerät und numerisches Steuerungsverfahren
DE112019007578T5 (de) Numerische Steuerung, numerisches Steuerverfahren und Maschinenlernvorrichtung
DE102014215738A1 (de) Störungsprüfvorrichtung
EP3220223A1 (de) Verfahren zur bearbeitung eines werkstücks in einer werkzeugmaschine mit optimierter bearbeitungszeit
DE112018008126T5 (de) Machine-Learning-Vorrichtung, Bearbeitungsprogrammerzeugungsvorrichtung und Machine-Learning-Verfahren
DE112019007434T5 (de) Numerische Steuerung, Maschinenlernvorrichtung und Verfahren zur numerischen Steuerung
DE102018218201A1 (de) Numerische steuereinrichtung, cnc-werkzeugmaschine, numerisches steuerverfahren und programm für eine numerische steuerung
DE102015008246B4 (de) Numerische Steuerung mit Werkzeugspitzenpunktsteuerungsfunktion
DE112018007741B4 (de) Maschinenlernvorrichtung und vorrichtung zur erzeugung vonprogrammen für eine numerisch gesteuerte bearbeitung
DE102015007130B4 (de) Numerische Steuerung mit Funktion zur Überlagerung eines Überlagerungsablaufs synchron mit einem periodischen Bearbeitungszyklus
WO2021185909A1 (de) Computerimplementiertes verfahren zum erstellen von steuerungsdatensätzen, cad-cam-system und fertigungsanlage
DE112021006982T5 (de) Simulationsvorrichtung, Werkzeugmaschinensystem, Simulationsverfahren und Bearbeitungsverfahren
DE102016014179B4 (de) Numerische Steuerung

Legal Events

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