DE112012006379B4 - Numerische Steuervorrichtung - Google Patents

Numerische Steuervorrichtung Download PDF

Info

Publication number
DE112012006379B4
DE112012006379B4 DE112012006379.1T DE112012006379T DE112012006379B4 DE 112012006379 B4 DE112012006379 B4 DE 112012006379B4 DE 112012006379 T DE112012006379 T DE 112012006379T DE 112012006379 B4 DE112012006379 B4 DE 112012006379B4
Authority
DE
Germany
Prior art keywords
command
spindle
program
determination unit
analyzing unit
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.)
Expired - Fee Related
Application number
DE112012006379.1T
Other languages
English (en)
Other versions
DE112012006379T5 (de
Inventor
c/o Mitsubishi Electric Corp. Iuchi Yukihiro
c/o Mitsubishi Electric Corpor Sato Tomonori
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 DE112012006379T5 publication Critical patent/DE112012006379T5/de
Application granted granted Critical
Publication of DE112012006379B4 publication Critical patent/DE112012006379B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/182Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by the machine tool function, e.g. thread cutting, cam making, tool direction control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • 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/4155Numerical 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 programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36056Modify program, machining order in real time, during operation, dynamically
    • 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/43Speed, acceleration, deceleration control ADC
    • G05B2219/43041Prediction, look ahead deceleration control, calculate start deceleration
    • 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/49Nc machine tool, till multiple
    • G05B2219/49108Spindle speed

Abstract

Numerische Steuervorrichtung (1) für eine Werkzeugmaschine, die in der Lage ist, ihre Spindeldrehgeschwindigkeit zu steuern, wobei die numerische Steuervorrichtung (1) umfasst: eine Programmanalysiereinheit (2), welche ein Bearbeitungsprogramm durch einen Block oder mehrere vorab liest und einen Befehl für die Werkzeugmaschine analysiert, bestimmt, ob ein erster Befehl vor einem Spindelsteuerbefehl irgendein Bearbeitungsproblem hervorruft, wenn der erste Befehl während einer Spindeldrehgeschwindigkeits-Änderung ausgeführt wird, wobei das Bearbeitungsproblem eine Zunahme einer Bearbeitungszeit oder eine Verschlechterung einer Bearbeitungsgenauigkeit umfasst, in einem Fall eines anderen Befehls als dem ersten Befehl, eine Reihenfolge der Befehle ändert, so dass der Spindelsteuerbefehl vor dem anderen Befehl ist, und die Befehle in der geänderten Reihenfolge in einen Puffer speichert; und eine Befehlsbestimmungseinheit (3), welche den Spindelsteuerbefehl früher als durch das Bearbeitungsprogramm vorgegeben ausgibt, gemäß der Reihenfolge der Befehle, die in dem Puffer gespeichert sind.

Description

  • Gebiet
  • Die vorliegende Erfindung betrifft eine numerische Steuervorrichtung, die eine numerische Steuerung (NC) einer Werkzeugmaschine durchführt, welche in der Lage ist, ihre Spindeldrehgeschwindigkeit zu steuern.
  • Hintergrund
  • In einer Werkzeugmaschine, die mit einer numerischen Steuervorrichtung ausgestattet ist, wird ein Bearbeiten durch ein Anfordern einer Spindeldrehgeschwindigkeit von einem Bearbeitungsprogramm durchgeführt. In der Werkzeugmaschine kann ein Bearbeiten während der Periode von dem Anfordern der Spindeldrehgeschwindigkeit, bis eine tatsächliche Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit erreicht, nicht durchgeführt werden. Daher tritt eine Wartezeit auf, und eine Bearbeitungszeit wird lang. Jedoch ist es mit einer derartigen numerischen Steuervorrichtung unnötig, dass bei jedem Befehl darauf gewartet wird, dass die Spindeldrehgeschwindigkeit angeforderte Drehgeschwindigkeiten erreicht. Beispielsweise ist es in dem Fall eines Schneidbefehls notwendig, darauf zu warten, dass die Spindeldrehgeschwindigkeit eine angeforderte Drehgeschwindigkeit erreicht. Jedoch ist es in dem Fall eines anderen Befehls als dem Schneidbefehl, wie etwa einem Positionierbefehl unnötig, darauf zu warten, dass die Spindeldrehgeschwindigkeit eine Drehgeschwindigkeit erreicht, die angefordert ist. Die Bestimmung für jeden Befehl, ob gewartet werden muss oder nicht, kann durchgeführt werden, indem eine Rangliste aufgestellt wird. Jedoch ist es für einen Benutzer nicht einfach, die Rangliste zu modifizieren, weil die Rangliste kompliziert ist.
  • Beispielsweise offenbart die Patentliteratur 1 eine Technologie, welche ein Bearbeitungsprogramm in einer Steuervorrichtung verwendet, um anzufordern und auszuwählen, ob der nächste Block ausgeführt wird, nach einem Warten, dass die Spindeldrehgeschwindigkeit eine angeforderte Drehgeschwindigkeit erreicht, oder ob der nächste Block ausgeführt wird, auch wenn die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit nicht erreicht hat.
  • Die Patentliteratur 2 offenbart eine Technologie, die in einer numerischen Steuervorrichtung verwendet wird, um die Zeitgebung der Ausgabe eines Spindeldrehbefehls derart zu steuern, dass die Spindeldrehgeschwindigkeit eine angeforderte Drehgeschwindigkeit gemäß einer Zeitgebung erreicht, wenn ein Schneidbefehl gestartet wird.
  • Patentliteratur
    • Patentliteratur 1: Japanische Gebrauchsmusterveröffentlichung JP S62-179 605 U
    • Patentliteratur 2: Offengelegte japanische Patentanmeldung JP 2011-118 952 A
  • Liu, Y. et. al. „An intelligent NC program processor for CNC system of machine tool”, in Robotics and computer-integrated manufacturing, Bd. 23, 2007, S. 160–169 beschreibt einen intelligenten NC-Programmprozessor für ein CNC-System einer Werkzeugmaschine. Die Druckschrift beschäftigt sich mit der Wiederverwendung von NC-Programmen von verschiedenen CNC-Systemen. Es wird eine Syntaxanalyse von Blöcken des NC-Programms durchgeführt, um sicherzustellen, dass die Logikrelation innerhalb jedes Blocks korrekt ist. Weiterhin wird nach einem Wort mit der höchsten Priorität innerhalb eines Blocks durch Bezugnahme auf eine Prioritätsregeltabelle gesucht.
  • EP 1 048 400 A1 beschreibt eine Vorrichtung zur Optimierung von NC-Programmen. Es werden einzelne NC-Befehle optimiert oder die Werkzeugreihenfolge.
  • EP 0 593 772 A1 betrifft ein NC-Daten-Aufbereitungssystem, bei dem die Befehlsreihenfolge gemäß einer Benutzereingabe geändert wird.
  • Technisches Problem
  • Es besteht jedoch bei der in der Patentliteratur 1 beschriebenen Technologie ein Problem dahingehend, dass dann, wenn die Steuervorrichtung anfordert, den nächsten Block auszuführen, nach einem Warten darauf, dass die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit erreicht, eine Bearbeitungszeit zunimmt, weil der nächste Block nach dem Warten, dass die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit erreicht, auch in einem Fall eines anderen Befehls als einem Schneidbefehl, wie etwa einem Positionierbefehl, ausgeführt wird. In einem anderen Fall besteht ein Problem dahingehend, dass dann, wenn die Steuervorrichtung die Werkzeugmaschine anweist, den nächsten Block auszuführen, auch wenn die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit nicht erreicht, der nächste Block auch in einem Fall eines Schneidbefehls ausgeführt wird, wenn die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit nicht erreicht, was zu einer Verschlechterung der Bearbeitungsgenauigkeit führt.
  • In der in der Patentliteratur 2 beschriebenen Technologie wird die Steuerung der numerischen Steuervorrichtung zum Zweck eines Verhinderns durchgeführt, dass sich eine Spindel nutzlos dreht, um Energie zu sparen. Deswegen besteht ein Problem dahingehend, dass eine Ausgabezeitgebung des Spindeldrehbefehls nur nach der Zeitgebung ausgegeben wird, die durch das Bearbeitungsprogramm vorgegeben wird, so dass eine Bearbeitungszeit nicht verringert werden kann.
  • Die vorliegende Erfindung ist in Anbetracht der obigen Ausführungen gemacht worden, und es ist eine Aufgabe der vorliegenden Erfindung, eine numerische Steuervorrichtung bereitzustellen, die in der Lage ist, eine Bearbeitungszeit in einer Werkzeugmaschine ohne ein Verschlechtern einer Maschinengenauigkeit zu verringern.
  • Lösung für das Problem
  • Diese Aufgabe wird gelöst durch die Gegenstände der unabhängigen Patentansprüche. Die abhängigen Ansprüche definieren bevorzugte Ausführungsformen. Vorteilhafte Wirkungen der Erfindung
  • Die numerische Steuervorrichtung gemäß der vorliegenden Erfindung erzielt eine Wirkung derart, dass es möglich ist, eine Bearbeitungszeit in einer Werkzeugmaschine ohne ein Verschlechtern einer Bearbeitungsgenauigkeit zu verringern.
  • Kurze Beschreibung der Zeichnungen
  • In den Zeichnungen zeigen:
  • 1 ein Diagramm, das ein Konfigurationsbeispiel einer numerischen Steuervorrichtung veranschaulicht;
  • 2 ein Flussdiagramm, das eine Verarbeitungsprozedur veranschaulicht, die durch eine Programmanalysiereinheit der numerischen Steuervorrichtung gemäß einer ersten Ausführungsform ausgeführt wird;
  • 3 ein Flussdiagramm, das eine Verarbeitungsprozedur veranschaulicht, die durch eine Befehlsbestimmungseinheit der numerischen Steuervorrichtung gemäß der ersten Ausführungsform ausgeführt wird;
  • 4 ein Diagramm, das ein Bearbeitungsprogrammbeispiel veranschaulicht, das durch die numerische Steuervorrichtung in der ersten Ausführungsform verarbeitet wird;
  • 5 ein Zeitdiagramm für das Bearbeitungsprogrammbeispiel, das in 4 gezeigt ist;
  • 6 ein Flussdiagramm, das eine Verarbeitungsprozedur veranschaulicht, die durch eine Programmanalysiereinheit einer numerischen Steuervorrichtung gemäß einer zweiten Ausführungsform ausgeführt wird;
  • 7 ein Flussdiagramm, das eine Verarbeitungsprozedur veranschaulicht, die durch eine Befehlsbestimmungseinheit der numerischen Steuervorrichtung gemäß der zweiten Ausführungsform ausgeführt wird;
  • 8 ein Diagramm, das ein Bearbeitungsprogrammbeispiel veranschaulicht, das durch die numerische Steuervorrichtung in der zweiten Ausführungsform verarbeitet wird;
  • 9 ein Zeitdiagramm für das in 8 gezeigte Bearbeitungsprogrammbeispiel;
  • 10 ein Flussdiagramm, das eine Verarbeitungsprozedur veranschaulicht, die durch eine Programmanalysiereinheit einer numerischen Steuervorrichtung gemäß einer dritten Ausführungsform ausgeführt wird;
  • 11 ein Zeitdiagramm für das Bearbeitungsprogrammbeispiel, das in 4 gezeigt ist;
  • 12 ein Flussdiagramm, das eine Verarbeitungsprozedur veranschaulicht, die durch eine Programmanalysiereinheit in einer numerischen Steuervorrichtung gemäß einer vierten Ausführungsform ausgeführt wird;
  • 13 ein Flussdiagramm, das eine Verarbeitungsprozedur veranschaulicht, die durch eine Befehlsbestimmungseinheit der numerischen Steuervorrichtung gemäß der vierten Ausführungsform ausgeführt wird;
  • 14 ein Diagramm, das ein Bearbeitungsprogrammbeispiel veranschaulicht, das durch die numerische Steuervorrichtung in der vierten Ausführungsform verarbeitet wird;
  • 15 ein Zeitdiagramm für das Bearbeitungsprogrammbeispiel, das in 14 gezeigt ist; und
  • 16 ein Diagramm, das ein Beispiel eines Anzeigeschirms in einer Anzeigeeinheit veranschaulicht, die in der numerischen Steuervorrichtung enthalten ist.
  • Beschreibung der Ausführungsformen
  • Ausführungsformen einer numerischen Steuervorrichtung gemäß der vorliegenden Erfindung werden im Detail untenstehend unter Bezugnahme auf die Zeichnungen erläutert. Es sei darauf hingewiesen, dass die vorliegende Erfindung nicht auf diese Ausführungsformen beschränkt ist.
  • Erste Ausführungsform
  • 1 ist ein Diagramm, das ein Konfigurationsbeispiel einer numerischen Steuervorrichtung gemäß der Ausführungsform veranschaulicht. In 1 bezeichnet ein Bezugszeichen 1 eine numerische Steuervorrichtung. Ein Bezugszeichen 2 bezeichnet eine Programmanalysiereinheit, 3 bezeichnet eine Befehlsbestimmungseinheit, 4 bezeichnet eine Interpolationseinheit, 5 bezeichnet eine Spindelsteuer-Befehlsausgabeeinheit, 6 bezeichnet ein Bearbeitungsprogramm, 7 bezeichnet einen Read-ahead-Puffer (Vorab-Lesepuffer), 8 bezeichnet einen Servoverstärker, 9 bezeichnet einen Spindelverstärker, 10 bezeichnet einen Bewegungsbefehl, 11 bezeichnet einen Bewegungsbetrag, 12 bezeichnet einen Spindelsteuerbefehl, 13 bezeichnet einen Spindeldrehbefehl, und 14 bezeichnet eine tatsächliche Spindeldrehgeschwindigkeit.
  • Die Programmanalysiereinheit 2 liest und analysiert das Bearbeitungsprogramm 6 und speichert sequentiell Analyseergebnisse der gelesenen Befehle. In dem Read-ahead-Puffer 7 werden Informationen, wie etwa Modale von Blöcken, Bewegungsbeträge von Wellen und eine Spindeldrehgeschwindigkeit gespeichert, welche Analyseergebnisse in der Programmanalysiereinheit 2 sind. Die Informationen, die in dem Read-ahead-Puffer 7 gespeichert sind, werden gelöscht, wenn ein angeforderter Betrieb beendet ist. Die Befehlsbestimmungseinheit 3 liest die Informationen betreffend die Blöcke, die in dem Read-ahead-Puffer 7 vorab gespeichert sind, und gibt Befehle zu Verarbeitungseinheiten entsprechend den Befehlen aus. Der Bewegungsbefehl 10 wird zu der Interpolationseinheit 4 ausgegeben. Die Interpolationseinheit 4 berechnet den Bewegungsbetrag 11 bei jedem Interpolationszyklus und gibt den Bewegungsbetrag 11 zu dem Servoverstärker 8 aus. Der Bewegungsbefehl 10 ist ein Befehl zum Steuern des Betriebs einer Welle, wie etwa ein Schneidbefehl und ein Positionierbefehl. Die Befehle sind kollektiv als ein Bewegungsbefehl 10 bezeichnet. Der Spindelsteuerbefehl 12 wird zu der Spindelsteuer-Befehlsausgabeeinheit 5 ausgegeben. Die Spindelsteuer-Befehlsausgabeeinheit 5 gibt die Spindeldrehgeschwindigkeit 13 zu dem Spindelverstärker 9 aus. Der Spindelsteuerbefehl 12 ist ein Befehl zum Steuern des Betriebs einer Spindel, wie etwa ein Spindeldrehbefehl und ein Spindelstoppbefehl. Die Befehle werden kollektiv als ein Spindelsteuerbefehl 12 bezeichnet. Der Spindelverstärker 9 gibt die tatsächliche Spindeldrehgeschwindigkeit 14 zu der Befehlsbestimmungseinheit 3 aus. Die Befehlsbestimmungseinheit 3 verwendet die tatsächliche Spindeldrehgeschwindigkeit 14 zum Bestimmen der Ausgabe eines Befehls.
  • 2 ist ein Flussdiagramm, das eine Verarbeitungsprozedur veranschaulicht, die durch die Programmanalysiereinheit 2 der numerischen Steuervorrichtung 1 gemäß der Ausführungsform ausgeführt wird. Bei einem Schritt S101 bestimmt die Programmanalysiereinheit 2, ob ein Befehl in dem Read-ahead-Puffer 7 gespeichert ist. Wenn ein Befehl in dem Read-ahead-Puffer 7 gespeichert ist (Ja bei Schritt S101), beendet die Programmanalysiereinheit 2 die Verarbeitung. Wenn ein Befehl in dem Read-ahead-Puffer 7 nicht gespeichert ist (Nein bei Schritt S101), schreitet die Programmanalysiereinheit 2 zu einem Schritt S102 fort. Bei dem Schritt S102 löscht die Programmanalysiereinheit 2 und setzt eine Spindel-Beschleunigungs- und -Verzögerungszeit T1 und eine Zeit T2 von einem Spindelsteuerbefehl auf 0 und schreitet zu einem Schritt S103 fort. Bei dem Schritt S103 liest die Programmanalysiereinheit das Bearbeitungsprogramm 6 und schreitet zu einem Schritt S104 fort. Bei dem Schritt S104 bestimmt die Programmanalysiereinheit 2, ob der gelesene Befehl der Spindelsteuerbefehl 12 ist. Wenn der gelesene Befehl der Spindelsteuerbefehl 12 ist (Ja bei dem Schritt S104), schreitet die Programmanalysiereinheit 2 zu einem Schritt S105 fort. Wenn der gelesene Befehl nicht der Spindelsteuerbefehl 12 ist (Nein bei dem Schritt S104), beendet die Programmanalysiereinheit 2 die Verarbeitung. Bei dem Schritt S105 berechnet die Programmanalysiereinheit 2 die Spindel-Beschleunigungs- und -Verzögerungsungszeit T1 auf der Grundlage eines Verfahrens zum Berechnen der Ausführungszeit von Blöcken, welches untenstehend erläutert ist, und schreitet zu einem Schritt S106 fort. Bei dem Schritt S106 bestimmt die Programmanalysiereinheit, ob der nächste Block vorhanden ist. Wenn der nächste Block vorhanden ist (Ja bei Schritt S106), schreitet die Programmanalysiereinheit 2 zu einem Schritt S107 fort. Wenn der nächste Block nicht vorhanden ist (Nein bei dem Schritt S106), beendet die Programmanalysiereinheit 2 die Verarbeitung. Bei einem Schritt S107 liest die Programmanalysiereinheit 2 den nächsten Block und schreitet zu einem Schritt S108 fort. Bei dem Schritt S108 bestimmt die Programmanalysiereinheit, ob der gelesene Befehl ein Befehl ist, für welchen ein Problem auftritt, wenn sich die Spindeldrehgeschwindigkeit ändert. Wenn der gelesene Befehl ein Befehl ist, für welchen ein Problem nicht auftritt (Nein bei dem Schritt S108), schreitet die Programmanalysiereinheit 2 zu einem Schritt S109 fort. Wenn der gelesene Befehl ein Befehl ist, für welchen ein Problem auftritt (Ja bei dem Schritt S108), beendet die Programmanalysiereinheit 2 die Verarbeitung. Bei einem Schritt S109 berechnet die Programmanalysiereinheit 2 eine Ausführungszeit des gelesenen Befehls auf Grundlage eines Verfahrens zum Berechnen der Ausführungszeiten von Blöcken, welches untenstehend erläutert ist, und schreitet zu einem Schritt S110 fort. Bei dem Schritt S110 akkumuliert die Programmanalysiereinheit 2 Ausführungszeiten, die bei dem Schritt S109 berechnet sind, um die Zeit T2 von dem Spindelsteuerbefehl zu berechnen, und schreitet zu einem Schritt S111 fort. Bei dem Schritt S111 vergleicht die Programmanalysiereinheit 2 die Spindel-Beschleunigungs- und -Verzögerungszeit T1 mit der Zeit T2 von dem Spindelsteuerbefehl. Wenn die Programmanalysiereinheit 2 bestimmt, dass die Spindel-Beschleunigungs- und -Verzögerungszeit T1 größer ist (Nein bei dem Schritt S111), kehrt die Programmanalysiereinheit zu dem Schritt S106 zurück. Wenn die Programmanalysiereinheit 2 bestimmt, dass die Zeit T2 von dem Spindelsteuerbefehl größer ist (Ja bei dem Schritt S111), beendet die Programmanalysiereinheit 2 die Verarbeitung. Es sei darauf hingewiesen, dass Informationen, die die Blöcke betreffen, die von der Programmanalysiereinheit 2 ausgelesen werden, sequentiell in dem Read-ahead-Puffer 7 gespeichert werden.
  • Hier wird ein Verfahren zum Bestimmen eines Befehls erläutert, für welchen ein Problem auftritt, wenn sich die Spindeldrehgeschwindigkeit ändert. Beispiele eines Befehls, für welche ein Problem auftritt, wenn sich die Spindeldrehgeschwindigkeit ändert, umfassen einen Werkzeugersetzbefehl und einen Schneidbefehl. Der Werkzeugersetzbefehl wird üblicherweise in einer Situation durchgeführt, in welcher die Spindel angehalten ist, so dass die Spindel nicht gedreht werden kann. Der Schneidbefehl wird in einem Zustand durchgeführt, in welchem Werkstücke bearbeitet werden, so dass sich eine Genauigkeit der Bearbeitung verschlechtert, wenn sich die Spindeldrehgeschwindigkeit ändert. Das heißt, als ein Befehl nach dem Spindeldrehbefehl ist der Befehl, für welchen ein Problem auftritt, wenn sich die Spindeldrehgeschwindigkeit ändert, der Schneidbefehl. Als ein Befehl vor dem Spindeldrehbefehl ist der Befehl, für welchen ein Problem auftritt, wenn sich die Spindeldrehgeschwindigkeit ändert, der Schneidbefehl und der Werkzeugersetzbefehl. Als ein Befehl nach dem Spindelstoppbefehl ist der Befehl, für welchen ein Problem auftritt, wenn sich die Spindeldrehgeschwindigkeit ändert, der Werkzeugersetzbefehl. Als ein Befehl vor dem Spindelstoppbefehl ist der Befehl, für welchen ein Problem auftritt, wenn sich die Spindeldrehgeschwindigkeit ändert, der Schneidbefehl. Hier wird ein anderer Befehl als der Werkzeugersetzbefehl und der Schneidbefehl, für welchen ein Problem auftritt, wenn sich die Spindeldrehgeschwindigkeit ändert, durch ein Einstellen des Befehls in Parametern oder dergleichen im Voraus bestimmt. Der Befehl, für welchen ein Problem auftritt, wenn sich die Spindeldrehgeschwindigkeit ändert, d. h. ein Befehl, in welchem ein gewisses Problem (z. B. eine Zunahme in einer Bearbeitungszeit oder eine Verschlechterung in der Bearbeitungsgenauigkeit) beim Bearbeiten wegen einer Implementierung, während sich die Spindeldrehgeschwindigkeit ändert, auftritt, wird hierin als ein erster Befehl bezeichnet. Ein Befehl, für welchen ein Problem nicht auftritt, auch wenn sich die Spindeldrehgeschwindigkeit ändert, d. h. ein anderer Befehl als der erste Befehl, in welchem ein gewisses Problem beim Bearbeiten auftritt, wird als ein zweiter Befehl bezeichnet.
  • Ein Verfahren zum Berechnen der Ausführungszeiten von Blöcken in der Programmanalysiereinheit 2 wird hier erläutert. In dem Fall des Positionierbefehls wird eine Ausführungszeit aus einer Schnellvorschubgeschwindigkeit und einer Beschleunigungs- und Verzögerungszeitkonstante, die im Voraus in Parametern eingestellt sind, und einer Bewegungsdistanz berechnet, die durch das Bearbeitungsprogramm 6 angefordert wird (Ausführungszeit = Bewegungsdistanz/Schnellvorschubgeschwindigkeit + Beschleunigungs- und Verzögerungszeitkonstante). In dem Fall eines M-Codes wird eine Ausführungszeit im Voraus in Parametern gesetzt. In dem Fall des Spindelsteuerbefehls 12 wird eine Ausführungszeit aus der maximalen Drehgeschwindigkeit und einer Beschleunigungs- und Verzögerungszeitkonstante der Spindel, die im Voraus eingestellt sind, der Spindeldrehgeschwindigkeit, die durch das Bearbeitungsprogramm 6 angefordert wird, und der gegenwärtigen Spindeldrehgeschwindigkeit berechnet (Ausführungszeit = (angeforderte Spindeldrehgeschwindigkeit – gegenwärtige Spindeldrehgeschwindigkeit) × Beschleunigungs- und Verzögerungszeitkonstante der Spindel/maximale Drehgeschwindigkeit).
  • 3 ist ein Flussdiagramm, das eine Verarbeitungsprozedur veranschaulicht, die durch eine Befehlsbestimmungseinheit 3 der numerischen Steuervorrichtung 1 gemäß der Ausführungsform ausgeführt wird. Die Befehlsbestimmungseinheit 3 führt sequentiell eine Verarbeitung auf der Grundlage der Informationen aus, die die Befehle betreffen, die durch die Programmanalysiereinheit 2 analysiert sind und in dem Read-ahead-Puffer 7 gespeichert sind. Bei einem Schritt S201 liest die Befehlsbestimmungseinheit 3 einen Befehl aus dem Read-ahead-Puffer 7 und schreitet zu einem Schritt S202 fort. Bei dem Schritt S202 bestimmt die Befehlsbestimmungseinheit 3, ob der gelesene Befehl der Spindelsteuerbefehl 12 ist. Wenn der gelesene Befehl der Spindelsteuerbefehl 12 ist (Ja bei dem Schritt S202), schreitet die Befehlsbestimmungseinheit 3 zu einem Schritt S203 fort. Wenn der gelesene Befehl nicht der Spindelsteuerbefehl 12 ist (Nein bei dem Schritt S202), schreitet die Befehlsbestimmungseinheit 3 zu einem Schritt S207 fort. Bei dem Schritt S203 gibt die Befehlsbestimmungseinheit 3 den Spindelsteuerbefehl 12 aus, welcher der gelesene Befehl ist, und schreitet zu einem Schritt S204 fort. Bei dem Schritt S204 löscht die Befehlsbestimmungseinheit 3 den Spindelsteuerbefehl 12, welcher der gelesene Befehl ist, aus dem Read-ahead-Puffer 7 und schreitet zu einem Schritt S205 fort. Bei dem Schritt S205 bestimmt die Befehlsbestimmungseinheit 3, ob der nächste Befehl in dem Read-ahead-Puffer 7 gespeichert ist. Wenn der nächste Befehl in dem Read-ahead-Puffer 7 gespeichert ist (Ja bei dem Schritt S205), schreitet die Befehlsbestimmungseinheit 3 zu einem Schritt S206 fort. Wenn der nächste Befehl nicht in dem Read-ahead-Puffer 7 gespeichert ist (Nein bei dem Schritt S205), beendet die Befehlsbestimmungseinheit 3 die Verarbeitung. Bei dem Schritt S206 liest die Befehlsbestimmungseinheit 3 den nächsten Befehl aus dem Read-ahead-Puffer 7 und schreitet zu einem Schritt S207 fort. Bei dem Schritt S207 bestimmt die Befehlsbestimmungseinheit 3, ob der gelesene Befehl ein Befehl ist, für welchen ein Problem auftritt, wenn sich die Spindeldrehgeschwindigkeit ändert. Wenn der gelesene Befehl der Befehl ist, für welchen ein Problem auftritt (Ja bei dem Schritt S207), schreitet die Befehlsbestimmungseinheit 3 zu einem Schritt S208 fort. Wenn der gelesene Befehl ein Befehl ist, für welchen ein Problem nicht auftritt (Nein bei dem Schritt S207), schreitet die Befehlsbestimmungseinheit 3 zu einem Schritt S209 fort. Bei dem Schritt S208 bestimmt die Befehlsbestimmungseinheit 3, ob die tatsächliche Spindeldrehgeschwindigkeit 14 die angeforderte Drehgeschwindigkeit erreicht. Wenn die tatsächliche Spindeldrehgeschwindigkeit 14 die angeforderte Drehgeschwindigkeit nicht erreicht (Nein bei dem Schritt S208), wartet die Befehlsbestimmungseinheit 3 darauf, dass die tatsächliche Spindeldrehgeschwindigkeit 14 die angeforderte Drehgeschwindigkeit erreicht (Ja bei dem Schritt S208) und schreitet zu dem Schritt S209 fort. Bei dem Schritt S209 gibt die Befehlsbestimmungseinheit 3 den gelesenen Befehl aus und beendet die Verarbeitung.
  • Es sei darauf hingewiesen, dass dann, wenn der gelesene Befehl der Bewegungsbefehl, wie etwa ein Schneidbefehl oder ein Positionierbefehl ist, die Befehlsbestimmungseinheit 3 den gelesenen Befehl zu der Interpolationseinheit 4 ausgibt. Die Interpolationseinheit 4 berechnet den Bewegungsbetrag 11 zu jedem Interpolationszyklus und gibt den Bewegungsbetrag 11 zu dem Servoverstärker 8 aus. Andererseits gibt die Befehlsbestimmungseinheit 3, wenn der gelesene Befehl der Spindelsteuerbefehl 12, wie etwa ein Spindeldrehbefehl oder ein Spindelstoppbefehl ist, den gelesenen Befehl zu der Spindelsteuer-Befehlsausgabeeinheit 5 aus. Die Spindelsteuer-Befehlsausgabeeinheit 5 gibt die Spindeldrehgeschwindigkeit 13 zu dem Spindelverstärker 9 aus. Obwohl in der Figur nicht gezeigt, werden andere Befehle als der Bewegungsbefehl 10 und die Spindelsteuerbefehle 12 durch die Verarbeitungseinheiten verarbeitet, die derartigen Befehlen entsprechen. Die Verarbeitung ist die gleiche wie die herkömmliche Verarbeitung.
  • Ein Verarbeitungsfluss in der numerischen Steuervorrichtung 1 wird spezifisch gemäß der Flussdiagramme der 2 und 3 unter Bezugnahme auf ein Bearbeitungsprogrammbeispiel erläutert. 4 ist ein Diagramm, das das Bearbeitungsprogrammbeispiel veranschaulicht, das durch die numerische Steuervorrichtung 1 in der Ausführungsform verarbeitet wird. Zunächst bestätigt die Programmanalysiereinheit 2 bei einem Schritt S101, dass ein Befehl in dem Read-ahead-Puffer 7 nicht gespeichert ist (Nein bei dem Schritt S101). Bei einem Schritt S102 löscht die Programmanalysiereinheit 2 und setzt die Spindel-Beschleunigungs- und Verzögerungszeit T1 und die Zeit T2 von dem Spindelsteuerbefehl auf 0. Bei einem Schritt S103 liest die Programmanalysiereinheit 2 einen Block von N101. Da der Block von N101 ein Schneidbefehl ist (Nein bei dem Schritt S104), beendet die Programmanalysiereinheit 2 die Verarbeitung. In diesem Fall wird ein Befehl von N101 in dem Read-ahead-Puffer 7 gespeichert.
  • Bei einem Schritt S201 liest die Befehlsbestimmungseinheit 3 den Befehl von N101, der in dem Read-ahead-Puffer 7 gespeichert ist. Da der Befehl von N101 der Schneidbefehl ist (Nein bei einem Schritt S202), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S207: Ja, Schritt S208: Ja, und Schritt S209 fort, gibt den Schneidbefehl aus und beendet die Verarbeitung.
  • Wenn die Ausführung des Schneidbefehls von N101 bei dem Schritt S101 beendet ist, bestätigt die Programmanalysiereinheit 2, dass ein Befehl in dem Read-ahead-Puffer 7 nicht gespeichert ist (Nein bei dem Schritt S101). Bei dem Schritt S102 löscht die Programmanalysiereinheit 2 und setzt die Spindel-Beschleunigungs- und Verzögerungszeit T1 und die Zeit T2 von dem Spindelsteuerbefehl auf 0. Bei dem Schritt S103 liest die Programmanalysiereinheit 2 einen Block von N102. Da der Block von N102 ein Positionierbefehl ist (Nein bei dem Schritt S104), beendet die Programmanalysiereinheit 2 die Verarbeitung. Dann wird ein Befehl von N102 in dem Read-ahead-Puffer 7 gespeichert.
  • Bei dem Schritt S201 liest die Befehlsbestimmungseinheit 3 den Befehl von N102, der in dem Read-ahead-Puffer 7 gespeichert ist. Da der Befehl von N102 der Positionierbefehl ist (Nein bei dem Schritt S202), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S207: Nein und dem Schritt S209 fort, gibt den Positionierbefehl aus und beendet die Verarbeitung.
  • Wenn die Ausführung des Positionierbefehls von N102 beendet ist, bestätigt die Programmanalysiereinheit 2 bei dem Schritt S101, dass ein Befehl in dem Read-ahead-Puffer 7 nicht gespeichert ist (Nein bei dem Schritt S101). Bei dem Schritt S102 löscht die Programmanalysiereinheit 2 und setzt die Spindel-Beschleunigungs- und -Verzögerungszeit T1 und die Zeit T2 von dem Spindelsteuerbefehl auf 0. Bei dem Schritt S103 liest die Programmanalysiereinheit 2 einen Block von N103. Da der Block N103 ein Spindelstoppbefehl ist (Ja bei dem Schritt S104), schreitet die Programmanalysiereinheit 2 zu dem Schritt S104 fort, berechnet die Spindel-Beschleunigungs- und -Verzögerungszeit T1, welche eine Zeitperiode ist, bis die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit erreicht, und schreitet zu dem Schritt S106 fort. Bei dem Schritt S106 bestätigt die Programmanalysiereinheit 2, dass der nächste Block vorhanden ist (Ja bei dem Schritt S106). Bei dem Schritt S107 liest die Programmanalysiereinheit 2 einen Block von N104, welches der nächste Block ist. Da der Block von N104 ein Positionierbefehl ist, um zu einer Werkzeugersetzposition zurückzukehren (Nein bei dem Schritt S108), schreitet die Programmanalysiereinheit 2 zu dem Schritt S109 fort und berechnet eine Ausführungszeit des Blocks von N104. Bei dem Schritt S110 aktualisiert die Programmanalysiereinheit 2 die Zeit T2 von dem Spindelsteuerbefehl. Bei dem Schritt S111 vergleicht die Programmanalysiereinheit 2 die Spindel-Beschleunigungs- und -Verzögerungszeit T1 mit der Zeit T2 von dem Spindelsteuerbefehl. Die Programmanalysiereinheit 2 kehrt, wenn die Spindel-Beschleunigungs- und -Verzögerungszeit T1 größer ist (Nein bei dem Schritt S111), zu dem Schritt S106 zurück.
  • Bei dem Schritt S106 bestätigt die Programmanalysiereinheit 2, dass der nächste Block vorhanden ist (Ja bei dem Schritt S106). Bei dem Schritt S107 liest die Programmanalysiereinheit 2 einen Block von N105, welches der nächste Block ist. Die Programmanalysiereinheit 2 schreitet zu dem Schritt S108 fort. Da der Block von N105 ein Werkzeugersetzbefehl ist (Ja bei dem Schritt S108), beendet die Programmanalysiereinheit 2 die Verarbeitung. Hier werden die Befehle von N103, N104 und N105 in dem Read-ahead-Puffer 7 gespeichert.
  • Bei dem Schritt S201 liest die Befehlsbestimmungseinheit 3 den Befehl von N103, der in dem Read-ahead-Puffer 7 gespeichert ist. Da der Befehl von N103 ein Spindelstoppbefehl ist (Ja bei dem Schritt S202), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S203 und dem Schritt S204 fort, gibt den Spindelstoppbefehl aus und löscht den Spindelstoppbefehl aus dem Read-ahead-Puffer 7. Bei dem Schritt S205 bestätigt die Befehlsbestimmungseinheit 3, dass der nächste Befehl in dem Read-ahead-Puffer 7 vorhanden ist (Ja bei dem Schritt S205). Bei dem Schritt S206 liest die Befehlsbestimmungseinheit 3 den Befehl von N104. Da der Befehl von N104 ein Positionierbefehl ist, um zu einer Werkzeugersetzposition zurückzukehren (Nein bei dem Schritt S207), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S209, gibt den Positionierbefehl, zu einer Werkzeugersetzposition zurückzukehren, aus und beendet die Verarbeitung.
  • Wenn die Ausführung des Positionierbefehls, um zu einer Werkzeugersetzposition von N104 zurückzukehren, beendet ist, beendet, weil ein Befehl noch immer in dem Read-ahead-Puffer 7 bei dem Schritt S101 gespeichert ist (Ja bei dem Schritt S101), die Programmanalysiereinheit 2 die Verarbeitung.
  • Bei dem Schritt S201 liest die Befehlsbestimmungseinheit 3 den Befehl von N105, der in dem Read-ahead-Puffer 7 gespeichert ist. Da der Befehl von N105 ein Werkzeugersetzbefehl ist (Nein bei dem Schritt S202), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S207: Ja, dem Schritt S208: Ja, und dem Schritt S209 fort, wartet darauf, dass die tatsächliche Spindeldrehgeschwindigkeit 14 die angeforderte Drehgeschwindigkeit erreicht, d. h. Null-Geschwindigkeit, gibt den Werkzeugersetzbefehl aus und beendet die Verarbeitung.
  • Wenn die Ausführung des Werkzeugersetzbefehls von N105 beendet ist, bestätigt die Programmanalysiereinheit 2 bei dem Schritt S101, dass ein Befehl in dem Read-ahead-Puffer 7 nicht gespeichert ist (Nein bei dem Schritt S101). Bei dem Schritt S102 löscht die Programmanalysiereinheit und setzt die Spindel-Beschleunigungs- und -Verzögerungszeit T1 und die Zeit T2 von dem Spindelsteuerbefehl auf 0. Bei dem Schritt S103 liest die Programmanalysiereinheit 2 einen Block von N106. Da der Block von N106 ein Positionierbefehl ist (Nein bei dem Schritt S104), beendet die Programmanalysiereinheit 2 die Verarbeitung. In diesem Fall wird ein Befehl von N106 in dem Read-ahead-Puffer 7 gespeichert.
  • Bei dem Schritt S201 liest die Befehlsbestimmungseinheit 3 den Befehl von N106, der in dem Read-ahead-Puffer 7 gespeichert ist. Da der Befehl von N106 ein Positionierbefehl ist (Nein bei dem Schritt S202), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S207: Nein und dem Schritt S209 fort, gibt den Positionierbefehl aus und beendet die Verarbeitung.
  • Da der nächste Block von N107 auch der Positionierbefehl ist, führen die Programmanalysiereinheit 2 und die Befehlsbestimmungseinheit 3 eine Verarbeitung durch, die die gleiche wie die Verarbeitung für den Block von N106 ist.
  • Wenn die Ausführung des Positionierbefehls von N107 bei dem Schritt S101 beendet ist, bestätigt die Programmanalysiereinheit 2, dass ein Befehl in dem Read-ahead-Puffer 7 nicht gespeichert ist (Nein bei dem Schritt S101). Bei dem Schritt S102 löscht die Programmanalysiereinheit 2 und setzt die Spindel-Beschleunigungs- und -Verzögerungszeit T1 und die Zeit T2 von dem Spindelsteuerbefehl auf 0. Bei dem Schritt S103 liest die Programmanalysiereinheit 2 einen Block von N108. Da der Block von N108 ein Spindeldrehbefehl ist (Ja bei dem Schritt S104), schreitet die Programmanalysiereinheit 2 zu einem Schritt S105 fort, berechnet die Spindel-Beschleunigungs- und -Verzögerungszeit T1 und schreitet zu dem Schritt S106 fort. Bei dem Schritt S106 bestätigt die Programmanalysiereinheit 2, dass der nächste Block vorhanden ist (Ja bei dem Schritt S106). Bei dem Schritt S107 liest die Programmanalysiereinheit 2 einen Block von N109, welches der nächste Block ist. Da der Block von N109 ein Positionierbefehl ist (Nein bei dem Schritt S108), schreitet die Programmanalysiereinheit 2 zu dem Schritt S109 fort und berechnet eine Ausführungszeit des Blocks von N109. Bei dem Schritt S110 aktualisiert die Programmanalysiereinheit 2 die Zeit T2 von dem Spindelsteuerbefehl. Bei dem Schritt S111 vergleicht die Programmanalysiereinheit 2 die Spindel-Beschleunigungs- und -Verzögerungszeit T1 mit der Zeit T2 von dem Spindelsteuerbefehl. Die Programmanalysiereinheit bestimmt, dass die Spindel-Beschleunigungs- und -Verzögerungszeit T1 größer ist (Nein bei dem Schritt S111) und kehrt zu dem Schritt S106 zurück.
  • Bei dem Schritt S106 bestätigt die Programmanalysiereinheit 2, dass der nächste Block vorhanden (Ja bei dem Schritt S106). Bei dem Schritt S107 liest die Programmanalysiereinheit 2 einen Block von N110, welches der nächste Block ist. Da der Block von N110 ein Positionierbefehl ist (Nein bei dem Schritt S108), schreitet die Programmanalysiereinheit 2 zu dem Schritt S109 fort und berechnet eine Ausführungszeit des Blocks 110. Bei dem Schritt S110 aktualisiert die Programmanalysiereinheit 2 die Zeit T2 aus dem Spindelsteuerbefehl. Bei dem Schritt S111 vergleicht die Programmanalysiereinheit 2 die Spindel-Beschleunigungs- und -Verzögerungszeit T1 mit der Zeit T2 von dem Spindelsteuerbefehl. Wenn die Programmanalysiereinheit 2 bestimmt, dass die Zeit T2 von dem Spindelsteuerbefehl größer ist (Ja bei dem Schritt S111), beendet die Programmanalysiereinheit 2 die Verarbeitung. In diesem Fall werden Befehle von N108, N109 und N110 in dem Read-ahead-Puffer 7 gespeichert.
  • Bei dem Schritt S201 liest die Befehlsbestimmungseinheit 3 den Befehl von N108, der in dem Read-ahead-Puffer 7 gespeichert ist. Da der Befehl von N108 ein Spindeldrehbefehl ist (Ja bei dem Schritt S202), schreitet die Programmbestimmungseinheit 3 zu dem Schritt S203 und dem Schritt S204 fort, gibt den Spindeldrehbefehl aus und löscht den Spindeldrehbefehl aus dem Read-ahead-Puffer 7. Bei dem Schritt S203 bestätigt die Programmbestimmungseinheit 3, dass der nächste Befehl in dem Read-ahead-Puffer 7 vorhanden ist (Ja bei dem Schritt S205). Bei dem Schritt S206 liest die Programmbestimmungseinheit 3 den Befehl von N109. Da der Befehl von N109 ein Positionierbefehl ist (Nein bei dem Schritt S207), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S209 fort, gibt den Positionierbefehl aus und beendet die Verarbeitung.
  • Wenn die Ausführung des Positionierbefehls von N109 bei dem Schritt S101 beendet ist, beendet die Programmanalysiereinheit 2, da ein Befehl noch immer in dem Read-ahead-Puffer 7 gespeichert ist (Ja bei dem Schritt S101), die Verarbeitung.
  • Bei dem Schritt S201 liest die Befehlsbestimmungseinheit 3 den Befehl von N110, der in dem Read-ahead-Puffer 7 gespeichert ist. Da der Befehl von N110 ein Positionierbefehl ist (Nein bei Schritt S202), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S207: Nein und dem Schritt S209 fort, gibt den Positionierbefehl aus und beendet die Verarbeitung.
  • Wenn die Ausführung des Positionierbefehls von N110 bei dem Schritt S101 beendet ist, bestätigt die Programmanalysiereinheit 2, dass ein Befehl in dem Read-ahead-Puffer 7 nicht gespeichert ist (Nein bei dem Schritt S101). Bei dem Schritt S102 löscht die Programmanalysiereinheit 2 und setzt die Spindel-Beschleunigungs- und -Verzögerungszeit T1 und die Zeit T2 von dem Spindelsteuerbefehl auf 0. Bei dem Schritt S103 liest die Programmanalysiereinheit 2 einen Block von N111. Da der Block von N111 ein Schneidbefehl ist (Nein bei dem Schritt S104), beendet die Programmanalysiereinheit 2 die Verarbeitung. In diesem Fall wird ein Befehl von N111 in dem Read-ahead-Puffer 7 gespeichert.
  • Bei dem Schritt S201 liest die Befehlsbestimmungseinheit 3 den Befehl von N111, der in dem Read-ahead-Puffer 7 gespeichert ist. Da der Befehl von N111 ein Schneidbefehl ist (Nein bei dem Schritt S202), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S207: Ja, dem Schritt S208: Ja, und dem Schritt S209 fort, wartet darauf, dass die tatsächliche Spindeldrehgeschwindigkeit 14 die angeforderte Drehgeschwindigkeit erreicht, gibt den Schneidbefehl aus und beendet die Verarbeitung.
  • 5 ist ein Zeitdiagramm für das in 4 gezeigte Bearbeitungsprogrammbeispiel. 5(1) zeigt eine herkömmliche Ausführung. 5(2) zeigt eine Ausführung in der Ausführungsform. Die Figuren zeigen jeweils Beziehungen zwischen Spindeldrehgeschwindigkeit, Wellenbewegungsbetrag und Vorhandensein oder Nicht-Vorhandensein einer Werkzeugersetz-Ausführung bei den jeweiligen Schritten. Bei der herkömmlichen Ausführung wird gemäß einer Rangfolge bestimmt, ob die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit erreicht hat, und dann schreitet die Ausführung zu dem nächsten Block fort. Wenn die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit erreicht und die Ausführung dann zu dem nächsten Block fortschreitet, wie in 5(1) gezeigt, werden die Positionierbefehle von N104, N109 und N110 ausgeführt, nachdem die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit erreicht. Im Gegensatz dazu werden bei der Ausführung in der Ausführungsform, wie in 5(2) gezeigt, die Positionierbefehle von N104, N109 und N110 ausgeführt, ohne von der Rangfolge abzuhängen, auch wenn die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit nicht erreicht. Der Werkzeugersetzbefehl von N105 und der Schneidbefehl von N111 werden ausgeführt, nachdem die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit erreicht. Deswegen ist es möglich, eine Verarbeitungszeit zu verringern, auch wenn eine komplizierte Rangfolge nicht konfiguriert ist. Das Vorab-Lesen in der Programmanalysiereinheit 2 endet in einem Fall, wenn ein Befehl, für welchen ein Problem auftritt, wenn sich die Spindeldrehgeschwindigkeit ändert, ausgegeben wird, oder in einem Fall, wenn die Zeitperiode von dem Spindelsteuerbefehl zu dem Befehl, für welchen ein Problem auftritt, wenn sich die Spindeldrehgeschwindigkeit ändert, größer als die Zeitperiode ist, bis die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit erreicht. Deswegen ist es möglich, eine Erhöhung in einer Verarbeitungslast bei der numerischen Steuervorrichtung 1 zu verringern.
  • Wie obenstehend erläutert, gibt die numerische Steuervorrichtung 1 gemäß der Ausführungsform, in dem Fall des Befehls, für welchen ein Problem auftritt, wenn sich die Spindeldrehgeschwindigkeit ändert, den Befehl aus, nachdem die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit erreicht; und in dem Fall eines anderen Befehls als der Befehl, für welchen ein Problem auftritt, wenn sich die Spindeldrehgeschwindigkeit ändert, gibt die numerische Steuervorrichtung 1 den Befehl aus, auch wenn die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit nicht erreicht. Aufgrund der oben erwähnten Ausführung ist es möglich, eine Bearbeitungszeit zu verringern, ohne eine komplizierte Rangfolge auszuführen, und ohne eine Bearbeitungsgenauigkeit einer Maschine zu beeinträchtigen.
  • Die Programmanalysiereinheit 2 kann die Anzahl von Blöcken, die vorab zu lesen sind, in zweckmäßiger Weise bestimmen, und kann eine Erhöhung in einer Verarbeitungslast der numerischen Steuervorrichtung verringern.
  • Zweite Ausführungsform
  • 6 ist ein Flussdiagramm, das eine Verarbeitungsprozedur veranschaulicht, die von der Programmanalysiereinheit 2 der numerischen Steuervorrichtung 1 gemäß einer Ausführungsform ausgeführt wird. Das Flussdiagramm der 6 ist grundsätzlich das gleiche wie das oben erläuterte Flussdiagramm der 2. Deswegen werden hauptsächlich Unterschiede zwischen diesen erläutert. Der Schritt S101, der Schritt S102 und der Schritt S103 sind die gleichen wie die in 2 gezeigten Schritte. Bei einem Schritt S301 bestimmt die Programmanalysiereinheit 2, ob der gelesene Befehl ein Spindeldrehbefehl ist. Wenn der gelesene Befehl der Spindeldrehbefehl ist (Ja bei dem Schritt S301), schreitet die Programmanalysiereinheit zu dem Schritt S105 fort. Wenn der gelesene Befehl nicht der Spindeldrehbefehl ist (Nein bei dem Schritt S301), beendet die Programmanalysiereinheit 2 die Verarbeitung. Der Schritt S105, der Schritt S106 und der Schritt S107 sind die gleichen wie die in 2 gezeigten Schritte. Bei einem Schritt S302 bestimmt die Programmanalysiereinheit 2, ob der gelesene Befehl ein Schneidbefehl ist. Wenn der gelesene Befehl nicht der Schneidbefehl ist (Nein bei dem Schritt S302), schreitet die Programmanalysiereinheit 2 zu dem Schritt S109 fort. Wenn der gelesene Befehl der Schneidbefehl ist (Ja bei dem Schritt S302), beendet die Programmanalysiereinheit 2 die Verarbeitung. Der Schritt S109 und der Schritt S110 sind die gleichen wie die in 2 gezeigten Schritte.
  • 7 ist ein Flussdiagramm, das eine Verarbeitungsprozedur veranschaulicht, die von der Befehlsbestimmungseinheit 3 der numerischen Steuervorrichtung 1 gemäß der Ausführungsform ausgeführt wird. Das Flussdiagramm der 7 ist grundsätzlich das gleiche wie das oben erläuterte Flussdiagramm der 3. Deswegen werden hauptsächlich Unterschiede zwischen diesen erläutert. Der Schritt S201 ist der gleiche wie der in 3 gezeigte Schritt. Bei einem Schritt S401 bestimmt die Befehlsbestimmungseinheit 3, ob der gelesene Befehl der Spindeldrehbefehl ist. Wenn der gelesene Befehl der Spindeldrehbefehl ist (Ja bei dem Schritt S401), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S402 fort. Wenn der gelesene Befehl nicht der Spindeldrehbefehl ist (Nein bei dem Schritt S401), schreitet die Befehlsbestimmungseinheit 3 zu einem Schritt S404 fort. Bei dem Schritt S402 vergleicht die Befehlsbestimmungseinheit 3 die Spindel-Beschleunigungs- und -Verzögerungszeit T1 mit der Zeit T2 von dem Spindelsteuerbefehl. Wenn die Befehlsbestimmungseinheit 3 bestimmt, dass die Spindel-Beschleunigungs- und Verzögerungszeit T1 größer ist (Nein bei dem Schritt S402), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S203 fort. Wenn die Befehlsbestimmungseinheit 3 bestimmt, dass die Zeit T2 von dem Spindelsteuerbefehl größer ist (Ja bei dem Schritt S402), schreitet die Befehlsbestimmungseinheit 3 einem Schritt S403 fort. Bei dem Schritt S403 ändert die Befehlsbestimmungseinheit 3 eine Beschleunigungs- und Verzögerungszeitkonstante einer Spindel derart, dass die Spindel-Beschleunigungs- und -Verzögerungszeit gleich der Zeit T2 von dem Spindelsteuerbefehl ist und schreitet zu dem Schritt S203 fort. Der Schritt S203, der Schritt S204, der Schritt S205 und der Schritt S206 sind die gleichen wie die in 3 gezeigten Schritte. Bei einem Schritt S404 bestimmt die Befehlsbestimmungseinheit 3, ob der gelesene Befehl ein Schneidbefehl ist. Wenn der gelesene Befehl der Schneidbefehl ist (Ja bei dem Schritt S404), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S208 fort. Wenn der gelesene Befehl nicht der Schneidbefehl ist (Nein bei dem Schritt S404), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S209 fort. Der Schritt S208 und der Schritt S209 sind die gleichen wie die in 3 gezeigten Schritte.
  • Ein Verarbeitungsfluss bei der numerischen Steuervorrichtung 1 wird gemäß der Flussdiagramme der 6 und der 7 unter Verwendung eines Bearbeitungsprogrammbeispiels spezifisch erläutert. 8 ist ein Diagramm, das das Bearbeitungsprogrammbeispiel veranschaulicht, das durch die numerische Steuervorrichtung 1 in der Ausführungsform verarbeitet wird. Zunächst bestätigt die Programmanalysiereinheit 2 bei dem Schritt S101, dass ein Befehl in dem Read-ahead-Puffer 7 nicht gespeichert ist (Nein bei dem Schritt S101). Bei dem Schritt S102 löscht die Programmanalysiereinheit 2 und setzt die Spindel-Beschleunigungs- und -Verzögerungszeit T1 und die Zeit T2 von dem Spindelsteuerbefehl auf 0. Bei dem Schritt S103 liest die Programmanalysiereinheit 2 einen Block von N201. Da der Block von N201 ein Werkzeugersetzbefehl ist (Nein bei dem Schritt S301), beendet die Programmanalysiereinheit die Verarbeitung. In diesem Fall wird ein Befehl von N201 in dem Read-ahead-Puffer 7 gespeichert.
  • Bei dem Schritt S201 liest die Befehlsbestimmungseinheit 3 den Befehl von N201, der in dem Read-ahead-Puffer 7 gespeichert ist. Da der Befehl von N201 der Werkzeugersetzbefehl ist (Nein bei dem Schritt S401), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S404: Nein, und dem Schritt S209 fort, gibt den Werkzeugersetzbefehl aus und beendet die Verarbeitung.
  • Wenn die Ausführung des Werkzeugersetzbefehls von N201 bei dem Schritt S101 beendet ist, bestätigt die Programmanalysiereinheit 2, dass ein Befehl in dem Read-ahead-Puffer 7 nicht gespeichert ist (Nein bei dem Schritt S101). Bei dem Schritt S102 löscht die Programmanalysiereinheit 2 und setzt die Spindel-Beschleunigungs- und -Verzögerungszeit T1 und die Zeit T2 von dem Spindelsteuerbefehl auf 0. Bei dem Schritt S103 liest die Programmanalysiereinheit 2 einen Block von N202. Da der Block von N202 ein Positionierbefehl ist (Nein bei dem Schritt S301), beendet die Programmanalysiereinheit 2 die Verarbeitung. In diesem Fall wird ein Befehl von N202 in dem Read-ahead-Puffer 7 gespeichert.
  • Bei dem Schritt S201 liest die Befehlsbestimmungseinheit 3 den Befehl von N202, der in dem Read-ahead-Puffer 7 gespeichert ist. Da der Befehl von N202 der Positionierbefehl ist (Nein bei dem Schritt S401), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S404: Nein, und dem Schritt S209 fort, gibt den Positionierbefehl aus und beendet die Verarbeitung.
  • Der nächste Block von N203 ist auch der Positionierbefehl. Deswegen führen die Programmanalysiereinheit 2 und die Befehlsbestimmungseinheit 3 eine Verarbeitung durch, welche die gleiche ist wie die Verarbeitung für den Block von N202.
  • Wenn die Ausführung des Positionierbefehls von N203 bei dem Schritt S101 beendet ist, bestätigt die Programmanalysiereinheit 2, dass ein Befehl in dem Read-ahead-Puffer 7 nicht gespeichert ist (Nein bei dem Schritt S101). Bei dem Schritt S102 löscht die Programmanalysiereinheit 2 und setzt die Spindel-Beschleunigungs- und -Verzögerungszeit T1 und die Zeit T2 von dem Spindelsteuerbefehl auf 0. Bei dem Schritt S103 liest die Programmanalysiereinheit 2 einen Block von N204. Da der Block von N204 ein Spindeldrehbefehl ist (Ja bei dem Schritt S301), schreitet die Programmanalysiereinheit 2 zu dem Schritt S105 fort, berechnet die Spindel-Beschleunigungs- und -Verzögerungszeit T1 und schreitet zu dem Schritt S106 fort. Bei dem Schritt 106 bestätigt die Programmanalysiereinheit 2, dass der nächste Block vorhanden ist (Ja bei dem Schritt S106). Bei dem Schritt S107 liest die Programmanalysiereinheit 2 einen Block von N205, welches der nächste Block ist. Da der Block von N205 ein Positionierbefehl ist (Nein bei dem Schritt S302), schreitet die Programmanalysiereinheit 2 zu dem Schritt S109 fort und berechnet eine Ausführungszeit des Blocks von N205. Bei dem Schritt S110 aktualisiert die Programmanalysiereinheit 2 die Zeit T2 von dem Spindelsteuerbefehl und kehrt zu dem Schritt S106 zurück.
  • Bei dem Schritt S106 bestätigt die Programmanalysiereinheit 2, dass der nächste Block vorhanden ist (Ja bei dem Schritt S106). Bei dem Schritt S107 liest die Programmanalysiereinheit 2 einen Block von N206, welches der nächste Block ist. Da der Block von N206 auch der Positionierbefehl ist, verarbeitet die Programmanalysiereinheit 2 den Block von N206 auf die gleiche Weise wie den Block von N205. Da ein Block von N207 auch der Positionierbefehl ist, verarbeitet die Programmanalysiereinheit 2 den Block auf die gleiche Weise.
  • Bei dem Schritt S106 bestätigt die Programmanalysiereinheit 2, dass der nächste Block vorhanden ist (Ja bei dem Schritt S106). Bei dem Schritt S107 liest die Programmanalysiereinheit 2 einen Block von N208, welches der nächste Block ist. Da der Block von N208 ein Schneidbefehl ist (Ja bei dem Schritt S302), beendet die Programmanalysiereinheit 2 die Verarbeitung. In diesem Fall werden Befehle von N204, N205, N206, N207 und N208 in dem Read-ahead-Puffer 7 gespeichert.
  • Bei dem Schritt S201 liest die Befehlsbestimmungseinheit 3 den Befehl von N204, der in dem Read-ahead-Puffer 7 gespeichert ist. Da der Befehl von N204 ein Spindeldrehbefehl ist (Ja bei dem Schritt S401), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S402 fort. Bei dem Schritt S402 vergleicht die Befehlsbestimmungseinheit 3 die Spindel-Beschleunigungs- und Verzögerungszeit T1 mit der Zeit T2 von dem Spindelsteuerbefehl. Wenn die Befehlsbestimmungseinheit 3 bestimmt, dass die Zeit T2 von dem Spindelsteuerbefehl größer ist (Ja bei dem Schritt S402), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt 403 fort. Bei dem Schritt 403 ändert die Befehlsbestimmungseinheit die Beschleunigungs- und Verzögerungszeitkonstante der Spindel, schreitet zu dem Schritt S203 und dem Schritt S204 fort, gibt einen Spindeldrehbefehl aus und löscht den Spindeldrehbefehl aus dem Read-ahead-Puffer 7. Bei dem Schritt S205 bestätigt die Befehlsbestimmungseinheit 3, dass der nächste Befehl in dem Read-ahead-Puffer 7 vorhanden ist (Ja bei dem Schritt S205). Bei dem Schritt S206 liest die Befehlsbestimmungseinheit 3 den Befehl von N205. Da der Befehl von N205 ein Positionierbefehl ist (Nein bei dem Schritt S404), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S209 fort, gibt den Positionierbefehl aus und beendet die Verarbeitung.
  • Wenn die Ausführung des Positionierbefehls von N205 bei dem Schritt S101 beendet ist, beendet die Programmanalysiereinheit 2, da ein Befehl noch immer in dem Read-ahead-Puffer 7 gespeichert ist (Ja bei dem Schritt S101), die Verarbeitung.
  • Bei dem Schritt S201 liest die Befehlsbestimmungseinheit 3 den Befehl von N206, der in dem Read-ahead-Puffer 7 gespeichert ist. Da der Befehl von N206 ein Positionierbefehl ist (Nein bei dem Schritt S401), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S404: Nein, und dem Schritt S209 fort, gibt den Positionierbefehl aus und beendet die Verarbeitung. Der Block von N207 wird auf die gleiche Weise wie der Block von N206 verarbeitet.
  • Wenn die Ausführung des Positionierbefehls von N207 beendet ist, ist immer noch ein Befehl in dem Read-ahead-Puffer 7 bei dem Schritt S101 gespeichert (Ja bei dem Schritt S101), so dass die Programmanalysiereinheit die Verarbeitung beendet.
  • Bei dem Schritt S201 liest die Befehlsbestimmungseinheit 3 den Befehl von N208, der in dem Read-ahead-Puffer 7 gespeichert ist. Da der Befehl von N208 ein Schneidbefehl ist (Nein bei dem Schritt S401), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S404: Ja, dem Schritt S208: Ja, und dem Schritt S209, bestätigt, dass die tatsächliche Spindeldrehgeschwindigkeit 14 die angeforderte Drehgeschwindigkeit ist, gibt den Schneidbefehl aus und beendet die Verarbeitung.
  • 9 ist ein Zeitdiagramm für das in 8 gezeigte Bearbeitungsprogrammbeispiel. 9(1) zeigt die herkömmliche Ausführung. 9(2) zeigt die Ausführung in der Ausführungsform. Bei der herkömmlichen Ausführung wird die tatsächliche Spindeldrehgeschwindigkeit 14 auf die angeforderte Drehgeschwindigkeit in der Zeit (T2) von dem Spindeldrehbefehl zu dem Schneidbefehl geändert. Daher wird, wenn die Spindel-Beschleunigungs- und -Verzögerungszeit (T1) sehr kurz, verglichen mit der Zeit (T2), von dem Spindeldrehbefehl zu dem Schneidbefehl ist, Energie durch einen nutzlosen Beschleunigungsbetrieb verschwendet. In der Ausführungsform wird, wenn die Zeit (T2) von dem Spindeldrehbefehl zu dem Schneidbefehl länger als die Spindel-Beschleunigungs- und -Verzögerungszeit (T1) ist, die Spindel-Beschleunigungs- und -Verzögerungszeit (T1) zur Anpassung an den Schneidbefehl erhöht. Aufgrund dieser Konfiguration ist es möglich, den Energieverbrauch zu verringern, ohne die Bearbeitungszeit zu ändern.
  • Wie obenstehend erläutert, wird gemäß der Ausführungsform in der numerischen Steuervorrichtung 1, wenn eine Toleranz in der Zeit vorhanden ist, die notwendig ist, bis die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit erreicht, die Spindel-Beschleunigungs- und -Verzögerungszeit erhöht. Folglich ist es, zusätzlich zu dem Wirkungen in der ersten Ausführungsform möglich, den Energieverbrauch zu verringern.
  • Dritte Ausführungsform
  • 10 ist ein Flussdiagramm, das eine Verarbeitungsprozedur veranschaulicht, die durch die Programmanalysiereinheit 2 der numerischen Steuervorrichtung 1 gemäß der Ausführungsform ausgeführt wird. Bei dem Schritt S501 bestimmt die Programmanalysiereinheit 2, ob ein Befehl in dem Read-ahead-Puffer 7 gespeichert ist. Wenn ein Befehl in dem Read-ahead-Puffer 7 gespeichert ist (Ja bei dem Schritt S105), beendet die Programmanalysiereinheit 2 die Verarbeitung. Wenn ein Befehl in dem Read-ahead-Puffer 7 nicht gespeichert ist (Nein bei dem Schritt S501, schreitet die Programmanalysiereinheit 2 zu einem Schritt S502 fort. Bei dem Schritt S502 liest die Programmanalysiereinheit 2 das Bearbeitungsprogramm 6 und schreitet zu einem Schritt S503 fort. Bei dem Schritt S503 bestimmt die Programmanalysiereinheit 2, ob der gelesene Befehl der Spindelsteuerbefehl 12 ist. Wenn der gelesene Befehl der Spindelsteuerbefehl 12 ist (Ja bei dem Schritt S503), schreitet die Programmanalysiereinheit 2 zu dem Schritt S504 fort. Wenn der gelesene Befehl nicht der Spindelsteuerbefehl 12 ist (Nein bei dem Schritt S503), schreitet die Programmanalysiereinheit 2 zu einem Schritt S505 fort. Bei einem Schritt S504 speichert die Programmanalysiereinheit 2 den Spindelsteuerbefehl 12 an dem Kopf des Read-ahead-Puffers 7. Bei dem Schritt S505 bestimmt die Programmanalysiereinheit 2, ob der gelesene Befehl ein Befehl ist, für welchen ein Problem auftritt, wenn sich die Spindeldrehgeschwindigkeit ändert. Wenn der gelesene Befehl ein Befehl ist, für welchen ein Problem nicht auftritt (Nein bei dem Schritt S505), schreitet die Programmanalysiereinheit 2 zu einem Schritt S506 fort. Wenn der gelesene Befehl der Befehl ist, für welchen ein Problem auftritt (Ja bei dem Schritt 505), beendet die Programmanalysiereinheit 2 die Verarbeitung. Bei dem Schritt S506 bestimmt die Programmanalysiereinheit 2, ob der nächste Block vorhanden ist. Wenn der nächste Block vorhanden ist (Ja bei dem Schritt S506), schreitet die Programmanalysiereinheit 2 zu einem Schritt S507 fort. Wenn der nächste Block nicht vorhanden ist (Nein bei dem Schritt S506), beendet die Programmanalysiereinheit 2 die Verarbeitung. Bei einem Schritt S507 liest die Programmanalysiereinheit 2 den nächsten Block und kehrt zu dem Schritt S503 zurück. Informationen, die die Blöcke betreffen, die von der Programmanalysiereinheit 2 gelesen werden, werden sequentiell in dem Read-ahead-Puffer 7 gespeichert.
  • Es sei darauf hingewiesen, dass ein Flussdiagramm zum Erläutern einer Verarbeitungsprozedur, die von der Befehlsbestimmungseinheit 3 der numerischen Steuervorrichtung 1 gemäß der Ausführungsform ausgeführt wird, das gleiche ist wie das Flussdiagramm für die erste Ausführungsform (siehe 3).
  • Ein Verarbeitungsfluss in der numerischen Steuervorrichtung 1 wird spezifisch unter Verwendung eines Bearbeitungsprogramms (siehe 4) in der ersten Ausführungsform gemäß den Flussdiagrammen der 10 und der 3 erläutert. Zunächst bestätigt die Programmanalysiereinheit 2 bei dem Schritt S501, dass ein Befehl nicht in dem Read-ahead-Puffer 7 gespeichert ist (Nein bei dem Schritt S501). Bei dem Schritt S502 liest die Programmanalysiereinheit 2 einen Block von N101. Da der Block von N101 ein Schneidbefehl ist (Nein bei dem Schritt S503), beendet die Programmanalysiereinheit 2 die Verarbeitung. In diesem Fall wird ein Befehl von N101 in dem Read-ahead-Puffer 7 gespeichert.
  • Bei dem Schritt S201 liest die Befehlsbestimmungseinheit 3 den Befehl von N101, der in dem Read-ahead-Puffer 7 gespeichert ist. Da der Befehl von N101 der Schneidbefehl ist (Nein bei dem Schritt S202), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S207: Ja, dem Schritt S208: Ja, und dem Schritt S209 fort, gibt den Schneidbefehl aus und beendet die Verarbeitung.
  • Wenn die Ausführung des Schneidbefehls von N101 bei dem Schritt S501 beendet ist, bestätigt die Programmanalysiereinheit 2, dass ein Befehl in dem Read-ahead-Puffer 7 nicht gespeichert ist (Nein bei dem Schritt S501). Bei dem Schritt S502 liest die Programmanalysiereinheit 2 einen Block von N102. Da der Block von N102 ein Positionierbefehl ist (Nein bei dem Schritt S503), schreitet die Programmanalysiereinheit 2 zu dem Schritt S505: Nein, fort. Bei dem Schritt S506 bestätigt die Programmanalysiereinheit 2, dass der nächste Block vorhanden ist (Ja bei dem Schritt S506). Bei dem Schritt S507 liest die Programmanalysiereinheit 2 einen Block von N103, welches der nächste Block ist. Da der Block von N103 ein Spindelstoppbefehl ist (Ja bei dem Schritt S503), schreitet die Programmanalysiereinheit 2 zu dem Schritt S504 fort, fügt den Spindelstoppbefehl in den Kopf des Read-ahead-Puffers 7 ein und beendet die Verarbeitung. In diesem Fall werden Befehle in dem Read-ahead-Puffer 7 in der Reihenfolge von N103 und N102 gespeichert.
  • Bei dem Schritt S201 liest die Befehlsbestimmungseinheit 3 den Befehl von N103, der in dem Read-ahead-Puffer 7 gespeichert ist. Da der Befehl von N103 ein Spindelstoppbefehl ist (Ja bei dem Schritt S202), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S203 und dem Schritt S204 fort, gibt den Spindelstoppbefehl aus und löscht den Spindelstoppbefehl aus dem Read-ahead-Puffer 7. Bei dem Schritt S205 bestätigt die Befehlsbestimmungseinheit 3, dass der nächste Befehl in dem Read-ahead-Puffer 7 vorhanden ist (Ja bei dem Schritt S205). Bei dem Schritt S206 liest die Befehlsbestimmungseinheit 3 den Befehl von N102. Da der Befehl von N102 ein Positionierbefehl ist (Nein bei dem Schritt S207), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S209 fort, gibt den Positionierbefehl aus und beendet die Verarbeitung.
  • Wenn die Ausführung des Positionierbefehls von N102 bei dem Schritt S501 beendet ist, bestätigt die Programmanalysiereinheit 2, dass ein Befehl in dem Read-ahead-Puffer 7 nicht gespeichert ist (Nein bei dem Schritt S501). Bei dem Schritt S501 liest die Programmanalysiereinheit 2 einen Block von N104. Da der Block von N104 ein Positionierbefehl ist (Nein bei dem Schritt S503), schreitet die Programmanalysiereinheit 2 zu dem Schritt S505: Nein, fort. Bei dem Schritt S506 bestätigt die Programmanalysiereinheit 2, dass der nächste Block vorhanden ist (Ja bei dem Schritt S506). Bei dem Schritt S507 liest die Programmanalysiereinheit 2 einen Block von N105, welches der nächste Block ist. Da der Block von N105 ein Werkzeugersetzbefehl ist (Nein bei dem Schritt S503), schreitet die Programmanalysiereinheit 2 zu dem Schritt S505: Ja, fort und beendet die Verarbeitung. In diesem Fall werden Befehle von N104 und N105 in dem Read-ahead-Puffer 7 gespeichert.
  • Bei dem Schritt S201 liest die Befehlsbestimmungseinheit 3 den Befehl von N104, der in dem Read-ahead-Puffer 7 gespeichert ist. Da der Befehl von N104 ein Positionierbefehl ist (Nein bei dem Schritt S202), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S207: Nein, und dem Schritt S209 fort, gibt einen Positionierbefehl aus und beendet die Verarbeitung. Wenn die Ausführung des Positionierbefehls von N102 bei dem Schritt S201 beendet ist, liest die Befehlsbestimmungseinheit 3 den Befehl von N105, der in dem Read-ahead-Puffer 7 gespeichert ist. Da der Befehl von N105 ein Werkzeugersetzbefehl ist (Nein bei dem Schritt S202), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S207: Ja, dem Schritt S208: Ja, und dem Schritt S209 fort, wartet darauf, dass die tatsächliche Spindeldrehgeschwindigkeit 14 die angeforderte Drehgeschwindigkeit erreicht, d. h. eine Geschwindigkeit von Null, gibt den Werkzeugersetzbefehl aus und beendet die Verarbeitung.
  • Wenn die Ausführung des Werkzeugersetzbefehls von N105 beendet ist, bestätigt die Programmanalysiereinheit 2 bei dem Schritt S501, dass ein Befehl in dem Read-ahead-Puffer 7 nicht gespeichert ist (Nein bei dem Schritt S501). Bei dem Schritt S502 liest die Programmanalysiereinheit 2 einen Block von N106. Da der Block von N106 ein Positionierbefehl ist (Nein bei dem Schritt S503), schreitet die Programmanalysiereinheit 2 zu dem Schritt S505: Nein, fort. Bei dem Schritt S506 bestätigt die Programmanalysiereinheit 2, dass der nächste Block vorhanden ist (Ja bei dem Schritt S506). Bei dem Schritt S507 liest die Programmanalysiereinheit 2 einen Block von N107, welches der nächste Block ist. Da der Block von N107 ein Positionierbefehl ist (Nein bei dem Schritt S503), schreitet die Programmanalysiereinheit 2 zu dem Schritt S505: Nein, fort. Bei dem Schritt S506 bestätigt die Programmanalysiereinheit 2, dass der nächste Block vorhanden ist. Bei dem Schritt S507 liest die Programmanalysiereinheit 2 einen Block von N108, welches der nächste Block ist. Da der Block von N108 ein Spindeldrehbefehl ist, schreitet die Programmanalysiereinheit 2 zu dem Schritt S503 (Ja bei dem Schritt S503) und dem Schritt S504 fort, fügt den Spindeldrehbefehl in den Kopf des Read-ahead-Puffers 7 ein und beendet die Verarbeitung. In diesem Fall werden in dem Read-ahead-Puffer 7 Befehle in der Reihenfolge von N108, N106 und N107 gespeichert.
  • Bei dem Schritt S201 liest die Befehlsbestimmungseinheit 3 den Befehl von N108, der in dem Read-ahead-Puffer 7 gespeichert ist. Da der Befehl von N108 ein Spindeldrehbefehl ist (Ja bei dem Schritt S202), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S203 und dem Schritt S204 fort, gibt den Spindeldrehbefehl aus und löscht den Spindeldrehbefehl aus dem Read-ahead-Puffer 7. Bei dem Schritt S205 bestätigt die Befehlsbestimmungseinheit 3, dass der nächste Befehl in dem Read-ahead-Puffer 7 vorhanden ist (Ja bei dem Schritt S205). Bei dem Schritt S206 liest die Befehlsbestimmungseinheit 3 den Befehl von N106. Da der Befehl von N106 ein Positionierbefehl ist (Nein bei dem Schritt S207), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S209 fort, gibt den Positionierbefehl aus und beendet die Verarbeitung. Wenn die Ausführung des Positionierbefehls von N106 beendet ist, liest die Befehlsbestimmungseinheit 3 bei dem Schritt S201 den Befehl von N107, der in dem Read-ahead-Puffer 7 gespeichert ist. Da der Befehl von N107 ein Positionierbefehl ist (Nein bei dem Schritt S202), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S207: Nein, und dem Schritt S209 fort, gibt den Positionierbefehl aus und beendet die Verarbeitung.
  • Wenn die Ausführung des Positionierbefehls von N107 beendet ist, bestätigt die Programmanalysiereinheit 2 den Schritt S501 (Nein bei dem Schritt S501), dass ein Befehl in dem Read-ahead-Puffer nicht gespeichert ist. Bei dem Schritt S502 liest die Programmanalysiereinheit 2 einen Block von N109. Da der Block von N109 ein Positionierbefehl ist (Nein bei dem Schritt S503), schreitet die Programmanalysiereinheit 2 zu dem Schritt S505: Nein, fort. Bei dem Schritt S506 bestätigt die Programmanalysiereinheit 2, dass der nächste Block vorhanden ist (Ja bei dem Schritt S506). Bei dem Schritt S507 liest die Programmanalysiereinheit 2 einen Block von N110, welches der nächste Block ist. Da der Block von N110 ein Positionierbefehl ist (Nein bei dem Schritt S503), schreitet die Programmanalysiereinheit 2 zu dem Schritt S505: Nein, fort. Bei dem Schritt S506 bestätigt die Programmanalysiereinheit 2, dass der nächste Block vorhanden ist (Ja bei dem Schritt S506). Bei dem Schritt S507 liest die Programmanalysiereinheit 2 einen Block von N111, welches der nächste Block ist. Da der Block von N111 ein Schneidbefehl ist (Nein bei dem Schritt S503), schreitet die Programmanalysiereinheit 2 zu dem Schritt S505: Ja, fort und beendet die Verarbeitung. In diesem Fall werden in dem Read-ahead-Puffer 7 Befehle von N109, N110 und N111 gespeichert.
  • Bei dem Schritt S201 liest die Befehlsbestimmungseinheit 3 den Befehl von N109, der in dem Read-ahead-Puffer 7 gespeichert ist. Da der Befehl von N109 ein Positionierbefehl ist (Nein bei dem Schritt S202), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S207: Nein, und dem Schritt S209 fort, gibt den Positionierbefehl aus und beendet die Verarbeitung. Wenn die Ausführung des Positionierbefehls N109 beendet ist, liest die Befehlsbestimmungseinheit 3 bei dem Schritt S201 den Befehl von N111, der in dem Read-ahead-Puffer 7 gespeichert ist. Da der Befehl von N111 ein Positionierbefehl ist (Nein bei dem Schritt S202), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S207: Nein, und dem Schritt S209 fort, gibt den Positionierbefehl aus und beendet die Verarbeitung. Wenn die Ausführung des Positionierbefehls von N111 beendet ist, liest die Befehlsbestimmungseinheit 3 bei dem Schritt S201 den Befehl von N111, der in dem Read-ahead-Puffer 7 gespeichert ist. Da der Befehl von N111 ein Schneidbefehl ist (Nein bei dem Schritt S202), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S207: Ja, dem Schritt S208: Ja, und dem Schritt S209 fort, wartet darauf, dass die tatsächliche Spindeldrehgeschwindigkeit 14 die angeforderte Drehgeschwindigkeit erreicht, gibt den Schneidbefehl aus und beendet die Verarbeitung.
  • 11 ist ein Zeitdiagramm für das in 4 gezeigte Bearbeitungsprogrammbeispiel. 11(1) veranschaulicht die herkömmliche Ausführung. 11(2) veranschaulicht eine Ausführung in der Ausführungsform. Bei der herkömmlichen Ausführung wird gemäß einer Rangliste bestimmt, ob die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit erreicht, und die Ausführung schreitet zu dem nächsten Block. Wenn die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit erreicht und die Ausführung zu dem nächsten Block schreitet, wie in 11(1) gezeigt, werden die Positionierbefehle von N104 und N109 ausgeführt, nachdem die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit erreicht. Andererseits werden bei der Ausführung in der Ausführungsform, wie in 11(2) gezeigt, die Positionierbefehle von N104 und N109 ausgeführt, ohne von der Rangliste abzuhängen, auch wenn die Spindeldrehgeschwindigkeit nicht die angeforderte Drehgeschwindigkeit erreicht. Der Werkzeugersetzbefehl von N105 und der Schneidbefehl von N111 werden ausgeführt, nachdem die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit erreicht. Deswegen ist es möglich, eine Bearbeitungszeit zu verringern, auch wenn eine komplizierte Rangfolge nicht ausgeführt wird. Ferner wird der Spindelstoppbefehl von N103 ausgegeben, wenn der Schneidbefehl in N101 beendet ist. Deswegen ist es möglich, eine Wartezeit, bis der Werkzeugersetzbefehl von N105 ausgeführt wird, zu verringern.
  • Es sei darauf hingewiesen, dass als ein anderer Befehl als der Werkzeugersetzbefehl und der Schneidbefehl ein Befehl vor dem Spindelsteuerbefehl auch als ein Erstausgabe-Verhinderungsbefehl im Voraus gesetzt werden kann. In diesem Fall bestimmt die Befehlsbestimmungseinheit 3, ob ein Befehl vor dem Spindelsteuerbefehl ein Befehl ist, der als ein Erstausgabe-Verhinderungsbefehl im Voraus gesetzt ist. Wenn der Befehl vor dem Spindelsteuerbefehl ein anderer als der Erstausgabe-Verhinderungsbefehl ist, gibt die Befehlsbestimmungseinheit 3 den Spindelsteuerbefehl früher als eine Zeitgebung aus, die durch das Bearbeitungsprogramm 6 vorgegeben ist.
  • Wie obenstehend erläutert, wird gemäß der Ausführungsform in der numerischen Steuervorrichtung 1 in dem Fall eines anderen Befehls als der Befehl, für welchen ein Problem auftritt, wenn sich die Spindeldrehgeschwindigkeit ändert, der Spindelsteuerbefehl früher als die Zeitgebung ausgegeben, die durch das Bearbeitungsprogramm vorgegeben ist. Folglich ist es möglich, eine Bearbeitungszeit zu verringern, ohne eine komplizierte Rangliste auszuführen, und ohne eine Bearbeitung und eine Maschine zu beeinträchtigen.
  • Vierte Ausführungsform
  • 12 ist ein Flussdiagramm, das eine Verarbeitungsprozedur veranschaulicht, die durch die Programmanalysiereinheit 2 der numerischen Steuervorrichtung 1 gemäß der Ausführungsform ausgeführt wird. Bei einem Schritt S601 bestimmt die Programmanalysiereinheit 2, ob ein Befehl in dem Read-ahead-Puffer 7 gespeichert ist. Wenn ein Befehl in dem Read-ahead-Puffer 7 gespeichert ist (Ja bei dem Schritt S601), beendet die Programmanalysiereinheit 2 die Verarbeitung. Wenn ein Befehl in dem Read-ahead-Puffer 7 nicht gespeichert ist (Nein bei dem Schritt S601), schreitet die Programmanalysiereinheit 2 zu einem Schritt S602 fort. Bei dem Schritt S602 löscht die Programmanalysiereinheit 2 und setzt die Spindel-Beschleunigungs- und -Verzögerungszeit T1, die Zeit T2 von dem Spindelsteuerbefehl, eine Zeit T3 zu dem Spindelsteuerbefehl und eine Spindelsteuerbefehls-Ausgabezeitgebung Ts auf 0, setzt ein Spindelsteuerbefehls-Flag auf AUS und schreitet zu einem Schritt S603 fort. Bei dem Schritt S603 liest die Programmanalysiereinheit 2 das Bearbeitungsprogramm 6 und schreitet zu einem Schritt S604 fort. Bei dem Schritt S604 bestimmt die Programmanalysiereinheit 2, ob der gelesene Befehl der Spindeldrehbefehl ist. Wenn der gelesene Befehl nicht der Spindeldrehbefehl ist (Nein bei dem Schritt S604), schreitet die Programmanalysiereinheit 2 zu einem Schritt S605 fort. Wenn der gelesene Befehl der Spindeldrehbefehl ist (Ja bei dem Schritt S604), schreitet die Programmanalysiereinheit 2 zu einem Schritt S610 fort. Bei dem Schritt S605 bestimmt die Programmanalysiereinheit 2, ob der gelesene Befehl ein Befehl ist, für welchen ein Problem auftritt, wenn sich die Spindeldrehgeschwindigkeit ändert. Wenn der gelesene Befehl der Befehl ist, für welchen ein Problem auftritt (Ja bei dem Schritt S605), beendet die Programmanalysiereinheit 2 die Verarbeitung. Wenn der gelesene Befehl nicht der Befehl ist, für welchen ein Problem auftritt (Nein bei dem Schritt S605), schreitet die Programmanalysiereinheit 2 zu einem Schritt S606 fort. Bei dem Schritt S606 berechnet die Programmanalysiereinheit 2 eine Ausführungszeit des gelesenen Befehls und schreitet zu einem Schritt S607 fort. Bei dem Schritt S607 akkumuliert die Programmanalysiereinheit 2 Ausführungszeiten, die bei dem Schritt S606 berechnet sind, um die Zeit T3 zu dem Spindelsteuerbefehl zu berechnen, und schreitet zu einem Schritt S608 fort. Bei dem Schritt S608 bestimmt die Programmanalysiereinheit 2, ob der nächste Block vorhanden ist. Wenn der nächste Block vorhanden ist (Ja bei dem Schritt S608), schreitet die Programmanalysiereinheit 2 zu dem Schritt S609 fort. Wenn der nächste Block nicht vorhanden ist (Nein bei dem Schritt S608), beendet die Programmanalysiereinheit 2 die Verarbeitung. Bei dem Schritt S609 liest die Programmanalysiereinheit 2 den nächsten Block und kehrt zu dem Schritt S604 zurück.
  • Bei einem Schritt S610 setzt die Programmanalysiereinheit 2 das Spindelsteuerbefehls-Flag auf EIN, berechnet die Spindel-Beschleunigungs- und -Verzögerungszeit T1 und schreitet zu einem Schritt S611 fort. Bei dem Schritt S611 bestimmt die Programmanalysiereinheit 2, ob der nächste Block vorhanden ist. Wenn der nächste Block vorhanden ist (Ja bei dem Schritt S611), schreitet die Programmanalysiereinheit zu einem Schritt S612 fort. Wenn der nächste Block nicht vorhanden ist (Nein bei dem Schritt S611), beendet die Programmanalysiereinheit 2 die Verarbeitung. Bei dem Schritt S612 liest die Programmanalysiereinheit 2 den nächsten Block und schreitet zu einem Schritt S613 fort. Bei dem Schritt S613 bestimmt die Programmanalysiereinheit 2, dass der gelesene Block ein Befehl ist, für welchen ein Problem auftritt, wenn sich die Spindeldrehgeschwindigkeit ändert. Wenn der gelesene Block der Befehl ist, für welchen ein Problem auftritt, wenn sich die Spindeldrehgeschwindigkeit ändert (Ja bei dem Schritt S613), schreitet die Programmanalysiereinheit 2 zu einem Schritt S616 fort. Wenn der gelesene Block nicht der Befehl ist, für welchen ein Problem auftritt (Nein bei dem Schritt S613), schreitet die Programmanalysiereinheit 2 zu einem Schritt S614 fort. Bei dem Schritt S614 berechnet die Programmanalysiereinheit 2 eine Ausführungszeit des gelesenen Befehls und schreitet zu einem Schritt S615 fort. Bei dem Schritt S615 akkumuliert die Programmanalysiereinheit 2 Ausführungszeiten, die in dem Schritt S614 berechnet sind, um die Zeit T2 von dem Spindelsteuerbefehl zu berechnen, und kehrt zu dem Schritt S611 zurück. Bei dem Schritt S616 berechnet die Programmanalysiereinheit 2 eine Spindelsteuerbefehls-Ausgabezeitgebung Ts von der Spindel-Beschleunigungs- und -Verzögerungszeit T1, die Zeit T2 von dem Spindelsteuerbefehl und die Zeit T3 zu dem Spindelsteuerbefehl (Ts = T3 – (T1 – T2)) und beendet die Verarbeitung. Informationen betreffend die Blöcke, die von der Programmanalysiereinheit 2 gelesen werden, und die Ausführungszeiten, die durch die Programmanalysiereinheit 2 berechnet werden, werden sequentiell in dem Read-ahead-Puffer 7 gespeichert.
  • 13 ist ein Flussdiagramm, das eine Verarbeitungsprozedur veranschaulicht, die durch die Befehlsbestimmungseinheit 3 der numerischen Steuervorrichtung 1 gemäß der Ausführungsform ausgeführt wird. Die Befehlsbestimmungseinheit 3 führt sequentiell eine Verarbeitung auf der Grundlage der Informationen durch, die die Befehle betreffen, die durch die Programmanalysiereinheit 2 analysiert sind und in den Read-ahead-Puffer 7 gespeichert sind. Bei einem Schritt S701 bestimmt die Befehlsbestimmungseinheit 3, ob das Spindelsteuerbefehls-Flag EIN ist. Wenn das Spindelsteuerbefehls-Flag EIN ist (Ja bei dem Schritt S701), schreitet die Befehlsbestimmungseinheit 3 zu einem Schritt S702 fort. Wenn das Spindelsteuerbefehls-Flag AUS ist (Nein bei dem Schritt S701), schreitet die Befehlsbestimmungseinheit 3 zu einem Schritt S712 fort. Bei dem Schritt S702 liest die Befehlsbestimmungseinheit 3 einen Befehl von dem Read-ahead-Puffer 7 und schreitet zu einem Schritt S703 fort. Bei dem Schritt S703 bestimmt die Befehlsbestimmungseinheit 3, ob der gelesene Befehl ein Spindeldrehbefehl ist. Wenn der gelesene Befehl der Spindeldrehbefehl ist (Ja bei dem Schritt S703), schreitet die Befehlsbestimmungseinheit 3 zu einem Schritt S704 fort. Wenn der gelesene Befehl nicht der Spindeldrehbefehl ist (Nein bei dem Schritt S703), schreitet die Befehlsbestimmungseinheit 3 zu einem Schritt S713 fort. Bei dem Schritt S704 gibt die Befehlsbestimmungseinheit 3 den Spindeldrehbefehl aus und schreitet zu einem Schritt S705 fort. Bei dem Schritt S705 löscht die Befehlsbestimmungseinheit 3 den Spindeldrehbefehl von dem Read-ahead-Puffer 7 und schreitet zu einem Schritt S706 fort. Bei dem Schritt S706 setzt die Befehlsbestimmungseinheit 3 das Spindelsteuerbefehls-Flag auf AUS und schreitet zu einem Schritt S707 fort. Bei dem Schritt S707 bestimmt die Befehlsbestimmungseinheit 3, ob der nächste Befehl in dem Read-ahead-Puffer 7 gespeichert ist. Wenn der nächste Befehl in dem Read-ahead-Puffer 7 gespeichert ist (Ja bei dem Schritt S707), schreitet die Befehlsbestimmungseinheit 3 zu einem Schritt S708 fort. Wenn der nächste Befehl nicht in dem Read-ahead-Puffer 7 gespeichert ist (Nein bei dem Schritt S707), beendet die Befehlsbestimmungseinheit 3 die Verarbeitung. Bei dem Schritt S708 liest die Befehlsbestimmungseinheit 3 den nächsten Befehl von dem Read-ahead-Puffer 7 und schreitet zu einem Schritt S709 fort. Bei dem Schritt S709 bestimmt die Befehlsbestimmungseinheit 3, ob der gelesene Befehl ein Befehl ist, für welchen ein Problem auftritt, wenn sich die Spindeldrehgeschwindigkeit ändert. Wenn der gelesene Befehl der Befehl ist, für welchen ein Problem auftritt (Ja bei dem Schritt S709), schreitet die Befehlsbestimmungseinheit zu einem Schritt S710 fort. Wenn der gelesene Befehl ein Befehl ist, für welchen ein Problem nicht auftritt (Nein bei dem Schritt S709), schreitet die Befehlsbestimmungseinheit 3 zu einem Schritt S711 fort. Bei dem Schritt S710 bestimmt die Befehlsbestimmungseinheit 3, ob die tatsächliche Spindeldrehgeschwindigkeit 14 die angeforderte Drehgeschwindigkeit erreicht. Wenn die tatsächliche Spindeldrehgeschwindigkeit 14 die angeforderte Drehgeschwindigkeit nicht erreicht (Nein bei dem Schritt S710), wartet die Befehlsbestimmungseinheit 3 darauf, dass die tatsächliche Spindeldrehgeschwindigkeit 14 die angeforderte Drehgeschwindigkeit erreicht (Ja bei dem Schritt S710), und schreitet zu dem Schritt S711 fort. Bei dem Schritt S711 gibt die Befehlsbestimmungseinheit 3 den gelesenen Befehl aus und beendet die Verarbeitung. Bei einem Schritt S712 liest die Befehlsbestimmungseinheit 3 einen Befehl von dem Read-ahead-Puffer 7 und schreitet zu dem Schritt S709 fort.
  • Dann gibt die Befehlsbestimmungseinheit 3 bei einem Schritt S713 den gelesenen Befehl aus und schreitet zu einem Schritt S714 fort. Bei dem Schritt S714 subtrahiert die Befehlsbestimmungseinheit 3 eine Ausführungszeit des gelesenen Befehls von der Spindelsteuerbefehls-Ausgabezeitgebung Ts und schreitet zu einem Schritt S715 fort. Bei dem Schritt S715 überprüft die Befehlsbestimmungseinheit 3, ob die Spindelsteuerbefehls-Ausgabezeitgebung Ts gleich oder kleiner als 0 ist. Wenn die Spindelsteuerbefehls-Ausgabezeitgebung Ts gleich oder kleiner als 0 ist (ja bei dem Schritt S715), schreitet die Befehlsbestimmungseinheit 3 zu einem Schritt S716 fort. Wenn die Spindelsteuerbefehls-Ausgabezeitgebung Ts nicht gleich oder kleiner als 0 ist (Nein bei dem Schritt S715), beendet die Befehlsbestimmungseinheit 3 die Verarbeitung. Bei dem Schritt S716 gibt die Befehlsbestimmungseinheit 3 den Spindeldrehbefehl aus und schreitet zu einem Schritt S717 fort. Bei dem Schritt S717 löscht die Befehlsbestimmungseinheit 3 den Spindeldrehbefehl von dem Read-ahead-Puffer 7 und schreitet zu einem Schritt S718 fort. Bei dem Schritt S718 setzt die Befehlsbestimmungseinheit 3 das Spindelsteuerbefehls-Flag auf AUS und beendet die Verarbeitung.
  • Spezifisch wird unter Verwendung eines Bearbeitungsprogrammbeispiels ein Verarbeitungsfluss in der numerischen Steuervorrichtung 1 gemäß der Flussdiagramme gemäß der 12 und der 13 erläutert. 14 ist ein Diagramm, das das Bearbeitungsprogrammbeispiel veranschaulicht, das von der numerischen Steuervorrichtung 1 in der Ausführungsform verarbeitet wird. Zunächst bestätigt die Programmanalysiereinheit 2 bei dem Schritt S601, dass ein Befehl in dem Read-ahead-Puffer 7 nicht gespeichert ist (Nein bei dem Schritt S601). Bei dem Schritt S602 löscht die Programmieranalysiereinheit 2 und setzt die Spindel-Beschleunigungs- und -Verzögerungszeit T1, die Zeit T2 von dem Spindelsteuerbefehl, die Zeit T3 zu dem Spindelsteuerbefehl und die Spindelsteuerbefehls-Ausgabezeitgebung Ts auf 0 und setzt das Spindelsteuerbefehls-Flag auf AUS. Bei dem Schritt S603 liest die Programmanalysiereinheit 2 einen Block von N301. Da der Block von N301 ein Werkzeugersetzbefehl ist (Nein bei dem Schritt S604), schreitet die Programmanalysiereinheit 2 zu dem Schritt S605: Nein, und dem Schritt S606 fort und berechnet eine Blockausführungszeit. Bei dem Schritt S607 berechnet die Programmanalysiereinheit 2 die Zeit T3 zu dem Spindelsteuerbefehl. Bei dem Schritt S608 bestätigt die Programmanalysiereinheit 2, dass der nächste Block vorhanden ist (Ja bei dem Schritt S608). Bei dem Schritt S609 liest die Programmanalysiereinheit 2 einen Block von N302.
  • Da der Block von N302 ein Positionierbefehl ist (Nein bei dem Schritt S604), wie in dem Fall des Blocks von N301, schreitet die Programmanalysiereinheit 2 zu dem Schritt S605: Nein, dem Schritt S606 und dem Schritt S607 fort, berechnet eine Blockausführungszeit des Blocks von N302 und aktualisiert die Zeit T3 zu dem Spindelsteuerbefehl. Die Programmanalysiereinheit 2 schreitet zu dem Schritt S608: Ja, und dem Schritt S609 fort und liest einen Block von N303.
  • Da der Block von N303 auch der Positionierbefehl ist (Nein bei dem Schritt S604), wie in dem Fall des Blocks von N302, schreitet die Programmanalysiereinheit 2 zu dem Schritt S605: Nein, dem Schritt S606 und dem Schritt S607 fort, berechnet eine Blockausführungszeit des Blocks von N303 und aktualisiert die Zeit T3 zu dem Spindelsteuerbefehl. Die Programmanalysiereinheit 2 schreitet zu dem Schritt S608: Ja, und dem Schritt S609 fort und liest einen Block von N304.
  • Da der Block von N304 ein Spindeldrehbefehl ist (Ja bei dem Schritt S604), schreitet die Programmanalysiereinheit 2 zu dem Schritt S610 fort, setzt das Spindelsteuerbefehls-Flag und berechnet die Spindel-Beschleunigungs- und -Verzögerungszeit T1. Die Programmanalysiereinheit 2 schreitet zu dem Schritt S611: Ja, und dem Schritt S612 fort und liest einen Block von N305. Da der Block von N305 ein Positionierbefehl ist (Nein bei dem Schritt S613), schreitet die Programmanalysiereinheit 2 zu dem Schritt S614 fort und berechnet eine Blockausführungszeit. Bei dem Schritt S615 berechnet die Programmanalysiereinheit 2 die Zeit T2 von dem Spindelsteuerbefehl.
  • Die Programmanalysiereinheit 2 kehrt zu dem Schritt S611 zurück, schreitet zu dem Schritt S611: Ja, und dem Schritt S612 fort und liest einen Block von N306. Da der Block von N306 auch der Positionierbefehl ist (Nein bei dem Schritt S613), wie in dem Fall des Blocks von N305, schreitet die Programmanalysiereinheit 2 zu dem Schritt S614 fort und berechnet eine Blockausführungszeit. Bei dem Schritt S615 berechnet die Programmanalysiereinheit 2 die Zeit T2 von dem Spindelsteuerbefehl.
  • Die Programmanalysiereinheit 2 kehrt zu dem Schritt S611 zurück, schreitet zu dem Schritt S611: Ja, und dem Schritt S612 fort und liest einen Block von N307. Da der Block von N307 ein Schneidbefehl ist (Ja bei dem Schritt S613), schreitet die Programmanalysiereinheit 2 zu dem Schritt S616 fort, berechnet die Spindelsteuerbefehls-Ausgabezeitgebung Ts und beendet die Verarbeitung. In diesem Fall werden Befehle N301 bis N307 in dem Read-ahead-Puffer 7 gespeichert. Blockausführungszeiten werden auch bezüglich der Blöcke N301 bis N303, N305 und N306 gespeichert.
  • Die Befehlsbestimmungseinheit 3 verarbeitet die Befehle von N301 bis N307, die in dem Read-ahead-Puffer 7 gespeichert sind, sequentiell. Zunächst überprüft die Befehlsbestimmungseinheit 3 bei dem Schritt S701, ob das Spindelsteuerbefehls-Flag EIN ist. Da das Spindelsteuerbefehls-Flag EIN ist (Ja bei dem Schritt S701), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S702 fort. Bei dem Schritt S702 liest die Befehlsbestimmungseinheit 3 den Befehl von N301. Da der Befehl von N301 ein Werkzeugersetzbefehl ist (Nein bei dem Schritt S703), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S713 fort und gibt einen Befehl aus. Bei dem Schritt S714 subtrahiert die Befehlsbestimmungseinheit 3 die Blockausführungszeit von N301 von der Spindelsteuerbefehls-Ausgabezeitgebung Ts. Bei dem Schritt S715 bestimmt die Befehlsbestimmungseinheit 3, ob die Spindelsteuerbefehls-Ausgabezeitgebung Ts gleich oder kleiner als 0 ist. Die Befehlsbestimmungseinheit 3 bestimmt, dass die Spindelsteuerbefehls-Ausgabezeitgebung Ts nicht kleiner oder kleiner als 0 bei dem gegenwärtigen Punkt ist (Nein bei dem Schritt S715) und beendet die Verarbeitung.
  • Wenn der Befehl von N301 beendet ist, schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S701: Ja, und dem Schritt S702 fort und liest den Befehl von N302. Da N302 ein Positionierbefehl ist (Nein bei dem Schritt S703), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S713 fort und gibt einen Befehl aus. Bei dem Schritt S714 subtrahiert die Befehlsbestimmungseinheit 3 die Blockausführungszeit von N302 von der Spindelsteuerbefehls-Ausgabezeitgebung Ts. Bei dem Schritt S715 bestimmt die Befehlsbestimmungseinheit 3, dass die Spindelsteuerbefehls-Ausgabezeitgebung Ts nicht gleich oder kleiner als 0 zu dem gegebenen Punkt ist (Nein bei dem Schritt S715) und beendet die Verarbeitung.
  • Wenn der Befehl von N302 beendet ist, schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S701: Ja, und dem Schritt S702 fort und liest den Befehl von N303. Da N303 ein Positionierbefehl ist (Nein bei dem Schritt S703), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S713 fort und gibt einen Befehl aus. Bei dem Schritt S714 subtrahiert die Befehlsbestimmungseinheit 3 die Blockausführungszeitgebung von N303 von der Spindelsteuerbefehls-Ausgabezeitgebung Ts. Bei dem Schritt S715 bestimmt die Befehlsbestimmungseinheit 3, dass die Spindelsteuer-Befehlsausgabezeitgebung Ts gleich oder kleiner als 0 bei dem gegenwärtigen Punkt ist (Ja bei dem Schritt S715), schreitet zu dem Schritt S716 fort, gibt den Spindeldrehbefehl (N304) aus, schreitet zu dem Schritt S717 fort, löscht den Spindeldrehbefehl (N304) von dem Read-ahead-Puffer 7, schreitet zu dem Schritt S718 fort, setzt das Spindelsteuerbefehls-Flag auf AUS und beendet die Verarbeitung.
  • Wenn der Befehl N303 beendet ist, schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S701: Nein, und dem Schritt S712 fort und liest den Befehl von N305. Da der Befehl von N305 ein Positionierbefehl ist (Nein bei dem Schritt S709), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S711 fort, gibt einen Befehl aus und beendet die Verarbeitung.
  • Wenn der Befehl von N305 beendet ist, schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S701: Nein, und dem Schritt S712 fort und liest den Befehl von N306. Da der Befehl von N306 ein Positionierbefehl ist (Nein bei dem Schritt S709), schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S711 fort, gibt einen Befehl aus und beendet die Verarbeitung.
  • Wenn der Befehl von N306 beendet ist, schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S701: Nein, und dem Schritt S712 fort und liest den Befehl von N307. Da der Befehl von N307 ein Schneidbefehl ist, schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt S709: Ja, und dem Schritt S710 fort und wartet darauf, dass die tatsächliche Spindeldrehgeschwindigkeit 14 die angeforderte Drehgeschwindigkeit erreicht. Wenn die tatsächliche Drehgeschwindigkeit 14 die angeforderte Drehgeschwindigkeit erreicht, schreitet die Befehlsbestimmungseinheit 3 zu dem Schritt 711 fort, gibt einen Befehl aus und beendet die Verarbeitung.
  • 15 ist ein Zeitdiagramm für das in 14 gezeigte Bearbeitungsprogrammbeispiel. 15(1) zeigt eine herkömmliche Ausführung. 15(2) zeigt eine Ausführung in der Ausführungsform. Bei der herkömmlichen Ausführung wird gemäß einer Rangliste bestimmt, ob die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit erreicht, und die Ausführung schreitet zu dem nächsten Block fort. Wenn konfiguriert ist, dass die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit erreicht und die Ausführung zu dem nächsten Block fortschreitet, wie in 15(1) gezeigt, werden die Positionierbefehle von N305 und N306 ausgeführt, nachdem die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit erreicht. Der Spindeldrehbefehl von N304 wird auch ausgegeben, nachdem die Bewegung von N303 beendet ist. Andererseits werden bei der Ausführung in der Ausführungsform, wie in 15(2) gezeigt, die Positionierbefehle von N305 und N306 ausgeführt, ohne von der Rangliste abzuhängen, auch wenn die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit nicht erreicht. Es sei darauf hingewiesen, dass der Schneidbefehl von N307 ausgeführt wird, nachdem die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit erreicht. Deswegen ist es möglich, eine Bearbeitungszeit zu verringern, auch wenn eine komplizierte Rangliste nicht ausgeführt wird. Ferner wird der Spindeldrehbefehl von N304 derart ausgegeben, dass die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit gemäß der Zeitgebung erreicht, wenn der Schneidbefehl von N307 gestartet wird. Deswegen ist es möglich, eine Wartezeit, bis der Schneidbefehl von N307 ausgeführt wird, zu verringern.
  • Wie obenstehend erläutert, gibt gemäß der Ausführungsform die numerische Steuervorrichtung 1 den Spindelsteuerbefehl im Voraus aus und beseitigt eine Wartezeit, bis die Spindeldrehgeschwindigkeit die angeforderte Drehgeschwindigkeit erreicht, in dem Fall des Befehls, für welchen ein Problem auftritt, wenn sich die Spindeldrehgeschwindigkeit ändert. Folglich ist es möglich, eine Bearbeitungszeit zu verringern.
  • Es sei darauf hingewiesen, dass die numerische Steuervorrichtung 1 konfigurierbar ist, mit einer Anzeigeeinheit ausgestattet zu werden. Auf einem Schirm der Anzeigeeinheit können Informationen betreffend eine Änderung einer Zeitgebung, die durch das Bearbeitungsprogramm vorgegeben wird, zu dem Bediener ausgegeben werden. 16 ist ein Diagramm, das ein Beispiel eines Anzeigeschirms in der Anzeigeeinheit veranschaulicht, die in der numerischen Steuervorrichtung 1 bereitgestellt ist.
  • 16(1) ist ein Diagramm eines Anzeigebeispiels eines Schirms einer herkömmlichen numerischen Steuervorrichtung. Auf einem Schirm 20 werden Positionsinformationen 21, wie etwa eine Maschinenposition, eine Modalinformation 22, wie etwa ein Zustand des Modals, Bearbeitungsinformationen 23, wie etwa eine Schneidgeschwindigkeit und eine Spindeldrehgeschwindigkeit, Bearbeitungsprogramminformationen 24 und dergleichen angezeigt. Wenn der Spindelsteuerbefehl 12 von einer Zeitgebung, die durch das Bearbeitungsprogramm vorbestimmt ist, zu ändern und auszugeben ist, wird die Änderung der Zeitgebung des Ausgangs dem Bediener von dem Schirm 20 mitgeteilt, um es zuzulassen, dass der Bediener die Änderung der Zeitgebung des Ausgangs erfährt.
  • 16(2) ist ein Diagramm eines Anzeigebeispiels eines Schirms der numerischen Steuervorrichtung in der Ausführungsform. Es ist gezeigt, wie die Ausgabezeitgebung des Spindelsteuerbefehls geändert wird. Wenn der Spindelsteuerbefehl 12 von einer Zeitgebung, die durch das Bearbeitungsprogramm vorgegeben ist, geändert und ausgegeben wird, wird die Bearbeitungsprogramminformation 24 in zwei Teile geteilt. Das ursprüngliche Bearbeitungsprogramm wird auf einem der geteilten beiden Teile der Bearbeitungsprogramminformation 24 angezeigt. In diesem Fall wird der zu ändernde Spindelsteuerbefehl 12 dünner als die ursprüngliche Anzeige angezeigt. Auf dem anderen der geteilten Teile der Bearbeitungsprogramminformation 24 wird der zu ändernde Spindelsteuerbefehl 12 gemäß der Zeitgebung der Ausgabe angezeigt. Auf diese Weise wird die zu ändernde Zeitgebung aus dem Schirm ersichtlich. Folglich kann der Bediener auf den Betrieb einer Maschine zugreifen und kann ohne ungebührliche Beeinträchtigungen arbeiten.
  • Bezugszeichenliste
  • 1
    numerische Steuervorrichtung
    2
    Programmanalysiereinheit
    3
    Befehlsbestimmungseinheit
    4
    Interpolationseinheit
    5
    Spindelsteuer-Befehlsausgabeeinheit
    6
    Bearbeitungsprogramm
    7
    Read-ahead-Puffer
    8
    Servoverstärker
    9
    Spindelverstärker
    10
    Bewegungsbefehl
    11
    Bewegungsbetrag
    12
    Spindelsteuerbefehl
    13
    Spindeldrehgeschwindigkeit
    14
    Tatsächliche Spindeldrehgeschwindigkeit
    20
    Schirm
    21
    Positionsinformation
    22
    Modalinformation
    23
    Bearbeitungsinformation
    24
    Bearbeitungsprogramminformation

Claims (7)

  1. Numerische Steuervorrichtung (1) für eine Werkzeugmaschine, die in der Lage ist, ihre Spindeldrehgeschwindigkeit zu steuern, wobei die numerische Steuervorrichtung (1) umfasst: eine Programmanalysiereinheit (2), welche ein Bearbeitungsprogramm durch einen Block oder mehrere vorab liest und einen Befehl für die Werkzeugmaschine analysiert, bestimmt, ob ein erster Befehl vor einem Spindelsteuerbefehl irgendein Bearbeitungsproblem hervorruft, wenn der erste Befehl während einer Spindeldrehgeschwindigkeits-Änderung ausgeführt wird, wobei das Bearbeitungsproblem eine Zunahme einer Bearbeitungszeit oder eine Verschlechterung einer Bearbeitungsgenauigkeit umfasst, in einem Fall eines anderen Befehls als dem ersten Befehl, eine Reihenfolge der Befehle ändert, so dass der Spindelsteuerbefehl vor dem anderen Befehl ist, und die Befehle in der geänderten Reihenfolge in einen Puffer speichert; und eine Befehlsbestimmungseinheit (3), welche den Spindelsteuerbefehl früher als durch das Bearbeitungsprogramm vorgegeben ausgibt, gemäß der Reihenfolge der Befehle, die in dem Puffer gespeichert sind.
  2. Numerische Steuervorrichtung nach Anspruch 1, wobei die Programmanalysiereinheit (2), wenn der Spindelsteuerbefehl ein Spindeldrehbefehl ist, bestimmt, ob der Befehl vor dem Spindeldrehbefehl ein Schneidbefehl oder ein Werkzeugersetzbefehl ist, und in einem Fall eines anderen Befehls als der Schneidbefehl und eines anderen Befehls als der Werkzeugersetzbefehl, eine Reihenfolge des Spindeldrehbefehls ändert, in einer Reihenfolge vorher zu sein, und jeden Befehl mit der geänderten Reihenfolge in den Puffer speichert, und die Befehlsbestimmungseinheit (3) den Spindeldrehbefehl früher als eine Zeitgebung ausgibt, die durch das Bearbeitungsprogramm vorgegeben ist.
  3. Numerische Steuervorrichtung (1) nach Anspruch 1, wobei die Programmanalysiereinheit (2), falls der Spindelsteuerbefehl ein Spindelstoppbefehl ist, bestimmt, ob ein Befehl vor dem Spindelstoppbefehl ein Schneidbefehl ist, und falls der Befehl ein anderer Befehl als der Schneidbefehl ist, eine Reihenfolge des Spindelstoppbefehls ändert, in einer Reihenfolge vorher zu sein, und jeden Befehl mit der geänderten Reihenfolge in den Puffer speichert, und die Befehlsbestimmungseinheit (3) den Spindelstoppbefehl früher als eine Zeitgebung ausgibt, die durch das Bearbeitungsprogramm vorgegeben ist.
  4. Numerische Steuervorrichtung für eine Werkzeugmaschine, die in der Lage ist, ihre Spindeldrehgeschwindigkeit zu steuern, wobei die numerische Steuervorrichtung (1) umfasst: eine Programmanalysiereinheit (2), welche vorab ein Bearbeitungsprogramm durch einen Block oder mehrere liest und einen Befehl für das Bearbeitungswerkzeug analysiert, bestimmt, ob ein erster Befehl vor oder nach dem Spindelsteuerbefehl irgendein Bearbeitungsproblem hervorruft, das bei einem Bearbeiten während einer Spindeldrehgeschwindigkeits-Änderung auftritt, oder ob ein zweiter Befehl vor oder nach dem Spindelsteuerbefehl kein Bearbeitungsproblem hervorruft, wobei das Bearbeitungsproblem eine Zunahme einer Bearbeitungszeit oder eine Verschlechterung einer Bearbeitungsgenauigkeit umfasst, und eine erste Zeitperiode, eine zweite Zeitperiode und eine dritte Zeitperiode berechnet, wobei die erste Zeitperiode (T1) von einem Zeitpunkt, wenn der Spindelsteuerbefehl startet, zu einem Zeitpunkt läuft, wenn die Spindeldrehgeschwindigkeit eine vorgegebene Drehgeschwindigkeit erreicht, was eine Spindel-Beschleunigungs- und -Verzögerungszeit ist, die zweite Zeitperiode (T2), nachdem der Spindelsteuerbefehl an dem Bearbeitungsprogramm endet, eine Ausführungszeitperiode des zweiten Befehls von einem Start des zweiten Befehls zu einem Start des ersten Befehls ist, und die dritte Zeitperiode (T3), vor dem Start des Spindelsteuerbefehls an dem Bearbeitungsprogramm, eine Ausführungszeitperiode des zweiten Befehls zwischen einem Start des zweiten Befehls zu einem Start des Spindelsteuerbefehls ist, und eine Ausgabezeitgebung (Ts) des Spindelsteuerbefehls unter Verwendung der ersten Zeitperiode, der zweiten Zeitperiode und der dritten Zeitperiode berechnet; und eine Befehlsbestimmungseinheit (3), welche den Spindelsteuerbefehl früher als eine Zeitgebung, die durch das Bearbeitungsprogramm vorgegeben ist, innerhalb eines Bereichs der Spindelsteuerbefehls-Ausgabezeitgebung ausgibt.
  5. Numerische Steuervorrichtung (1) nach Anspruch 4, wobei die Programmanalysiereinheit (2) bestimmt, falls der Spindelsteuerbefehl ein Spindeldrehbefehl ist, ob ein Befehl vor einem Spindeldrehbefehl ein Schneidbefehl oder ein Werkzeugersetzbefehl ist, bestimmt, ob ein Befehl nach dem Spindeldrehbefehl der Schneidbefehl ist, die erste Zeitperiode, die zweite Zeitperiode, nach dem Spindeldrehbefehl, von einem Start des zweiten Befehls zu einem Start des Schneidbefehls, und die dritte Zeitperiode, vor dem Spindeldrehbefehl berechnet, welche von einem Ende des Schneidbefehls oder des Werkzeugersetzbefehls läuft, was von einem Start des zweiten Befehls zu einem Start des Spindelsteuerbefehls ist, und eine Ausgabezeitgebung des Spindelsteuerbefehls berechnet, und die Programmbestimmungseinheit (3) den Spindeldrehbefehl früher als die Zeitgebung, die durch das Bearbeitungsprogramm vorgegeben ist, innerhalb eines Bereichs der Spindelsteuerbefehls-Ausgabezeitgebung ausgibt.
  6. Numerische Steuervorrichtung (1) nach Anspruch 4, wobei die Programmanalysiereinheit (2) bestimmt, falls der Spindelsteuerbefehl ein Spindelstoppbefehl ist, ob ein Befehl vor einem Spindelstoppbefehl ein Schneidbefehl ist, bestimmt, ob ein Befehl nach dem Spindelstoppbefehl ein Werkzeugersetzbefehl ist, und die erste Zeitperiode, die zweite Zeitperiode, nach dem Spindelstoppbefehl, von einem Start des zweiten Befehls zu einem Start des Werkzeugersetzbefehls, und die dritte Zeitperiode, vor dem Spindelstoppbefehl berechnet, was von einem Ende des Schneidbefehls, was ein Start des zweiten Befehls ist, zu einem Start des Spindelstoppbefehls ist, und eine Ausgabezeitgebung des Spindelsteuerbefehls berechnet, und die Befehlsbestimmungseinheit (3) den Spindelstoppbefehl früher als die Zeitgebung, die durch das Bearbeitungsprogramm vorgegeben ist, innerhalb eines Bereichs der Spindelsteuerbefehls-Ausgabezeitgebung ausgibt.
  7. Numerische Steuervorrichtung (1) nach einem der Ansprüche 1 bis 6, ferner umfassend eine Anzeigeeinheit (20), welche, falls der Spindelsteuerbefehl früher als die Zeitgebung ausgegeben wird, die durch das Bearbeitungsprogramm vorgegeben ist, eine Zeitgebung zum Ausgeben des Spindelsteuerbefehls anzeigt.
DE112012006379.1T 2012-05-15 2012-05-15 Numerische Steuervorrichtung Expired - Fee Related DE112012006379B4 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/062431 WO2013171850A1 (ja) 2012-05-15 2012-05-15 数値制御装置

Publications (2)

Publication Number Publication Date
DE112012006379T5 DE112012006379T5 (de) 2015-01-29
DE112012006379B4 true DE112012006379B4 (de) 2016-09-15

Family

ID=49583295

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012006379.1T Expired - Fee Related DE112012006379B4 (de) 2012-05-15 2012-05-15 Numerische Steuervorrichtung

Country Status (6)

Country Link
US (1) US9798312B2 (de)
JP (1) JP5496419B1 (de)
CN (1) CN104303118B (de)
DE (1) DE112012006379B4 (de)
TW (1) TWI493306B (de)
WO (1) WO2013171850A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015011081B4 (de) 2014-08-26 2024-02-29 Fanuc Corporation Numerische Steuerungsvorrichtung

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5715195B2 (ja) * 2013-07-03 2015-05-07 ファナック株式会社 プログラム実行ペースを指定できるモーションコントローラ
JP5820000B2 (ja) * 2014-02-21 2015-11-24 ファナック株式会社 テーブル形式データによる運転を行う数値制御装置
JP6298010B2 (ja) 2015-06-09 2018-03-20 ファナック株式会社 加減速設定自動切換機能を備えた数値制御装置
DE102017001765A1 (de) * 2016-02-29 2017-09-14 Fanuc Corporation Numerische steuerung für werkzeugmaschine
JP6444938B2 (ja) * 2016-05-12 2018-12-26 ファナック株式会社 条件指定による加工プログラム先読み開始機能を備えた数値制御装置
WO2017221309A1 (ja) * 2016-06-20 2017-12-28 三菱電機株式会社 加工時間算出装置及び加工時間算出方法
JP6453923B2 (ja) * 2017-02-28 2019-01-16 ファナック株式会社 数値制御装置および工作機械システム
JP7020367B2 (ja) * 2018-10-26 2022-02-16 ブラザー工業株式会社 数値制御装置
JP6997131B2 (ja) * 2019-04-05 2022-01-17 ファナック株式会社 数値制御装置
JP7332443B2 (ja) * 2019-11-20 2023-08-23 ファナック株式会社 ロボット制御装置及びロボット制御方法
WO2023228265A1 (ja) * 2022-05-24 2023-11-30 三菱電機株式会社 数値制御装置、数値制御システム、および、数値制御方法
WO2024003972A1 (ja) * 2022-06-27 2024-01-04 ファナック株式会社 プログラム最適化装置及び記憶媒体
WO2024003990A1 (ja) * 2022-06-27 2024-01-04 ファナック株式会社 プログラム最適化装置及び記憶媒体

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0593772A1 (de) * 1992-03-19 1994-04-27 Fanuc Ltd. System zur herstellung von numerischen steuerungsdaten
EP1048400A1 (de) * 1998-08-28 2000-11-02 Mori Seiki Co., Ltd. Verfahren und geraet zur optimierung von nc programmen in nc bearbeitung
JP2011118952A (ja) * 2011-03-23 2011-06-16 Mitsubishi Electric Corp 数値制御方法及びその装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62179605U (de) 1986-04-28 1987-11-14
JPH0290302A (ja) * 1988-09-28 1990-03-29 Okuma Mach Works Ltd 数値制御情報作成方式
JP2814278B2 (ja) * 1990-01-26 1998-10-22 中村留精密工業株式会社 2主軸対向型cnc旋盤及びワーク加工方法
JPH0628318A (ja) * 1992-07-07 1994-02-04 Sharp Corp モジュールデータ管理装置
JP2973770B2 (ja) * 1993-03-25 1999-11-08 三菱電機株式会社 数値制御工作機械
EP0606649B1 (de) * 1992-12-28 1998-03-18 Mitsubishi Denki Kabushiki Kaisha Numerische Steuerung für eine Werkzeugmaschine und Verfahren zur Fortsetzung eines Bearbeitungsprogramms nach dessen Unterbrechung
JPH0740187A (ja) * 1993-07-29 1995-02-10 Star Micronics Co Ltd Nc加工機の制御装置
JPH1148072A (ja) 1997-08-07 1999-02-23 Brother Ind Ltd 工作機械
JPH11202926A (ja) 1998-01-14 1999-07-30 Makino Milling Mach Co Ltd 数値制御における送り速度制御方法および装置
JPH11300577A (ja) * 1998-04-22 1999-11-02 Murata Mach Ltd 工作機械
US20020138171A1 (en) * 2001-02-22 2002-09-26 Mutoshi Fukutani Numerical control method and numerically controlled allaratus
JP2002283186A (ja) * 2001-03-27 2002-10-03 Toshiba Mach Co Ltd 工作機械、工作機械の数値制御装置および振動防止方法
JP3904945B2 (ja) * 2002-02-28 2007-04-11 スター精密株式会社 Ncプログラムのための最適データ変換方法および数値制御工作機械
JP2003330517A (ja) * 2002-05-16 2003-11-21 Brother Ind Ltd 数値制御装置、工具制御方法および工具制御用プログラム
US7110851B2 (en) * 2003-02-20 2006-09-19 Mitsubishi Denki Kabushiki Kaisha Numerically controlled device
JP2007179314A (ja) * 2005-12-28 2007-07-12 Star Micronics Co Ltd 工作機械及びそのプログラム変換方法
JP2007233624A (ja) * 2006-02-28 2007-09-13 Star Micronics Co Ltd 工作機械の数値制御装置
CN101233462B (zh) * 2006-07-26 2012-12-05 三菱电机株式会社 数控装置
JP5317532B2 (ja) * 2008-05-23 2013-10-16 三菱電機株式会社 数値制御装置
JP2010026920A (ja) * 2008-07-23 2010-02-04 Fanuc Ltd 加工プログラムの付加情報を表示する数値制御装置
JP5210070B2 (ja) * 2008-07-25 2013-06-12 オークマ株式会社 数値制御工作機械
JP5532306B2 (ja) 2010-01-13 2014-06-25 Dmg森精機株式会社 工作機械
JP5357082B2 (ja) * 2010-02-23 2013-12-04 スター精密株式会社 工作機械の制御装置および運転制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0593772A1 (de) * 1992-03-19 1994-04-27 Fanuc Ltd. System zur herstellung von numerischen steuerungsdaten
EP1048400A1 (de) * 1998-08-28 2000-11-02 Mori Seiki Co., Ltd. Verfahren und geraet zur optimierung von nc programmen in nc bearbeitung
JP2011118952A (ja) * 2011-03-23 2011-06-16 Mitsubishi Electric Corp 数値制御方法及びその装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LIU, Y. [u.a.]: An intelligent NC program processor for CNC system of machine tool. In: Robotics and Computer-Integrated Manufacturing, Bd. 23, 2007, H. 2, S. 160-169. - ISSN 1879-2537 (E); 0736- 5845 (P) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015011081B4 (de) 2014-08-26 2024-02-29 Fanuc Corporation Numerische Steuerungsvorrichtung

Also Published As

Publication number Publication date
TWI493306B (zh) 2015-07-21
DE112012006379T5 (de) 2015-01-29
CN104303118A (zh) 2015-01-21
WO2013171850A1 (ja) 2013-11-21
TW201346476A (zh) 2013-11-16
US9798312B2 (en) 2017-10-24
JPWO2013171850A1 (ja) 2016-01-07
JP5496419B1 (ja) 2014-05-21
US20150134100A1 (en) 2015-05-14
CN104303118B (zh) 2016-10-12

Similar Documents

Publication Publication Date Title
DE112012006379B4 (de) Numerische Steuervorrichtung
EP0311703B1 (de) Verfahren zum Steuern einer Werkzeugmaschine
DE112013006980B4 (de) Numerische Steuerungseinrichtung
DE60035129T2 (de) Vorrichtung und verfahren zur maschinellen simulation für numerisch gesteuerte bearbeitungsweisen
DE102017009760B4 (de) Numerische Steuervorrichtung und Steuerverfahren für eine numerische Steuervorrichtung
DE102017207822A1 (de) Vorrichtung zur verarbeitung eines bearbeitungsprogramms und damit ausgestattete mehrachsige bearbeitungsmaschine
DE102010064308A1 (de) Steuerung für eine Werkzeugmaschine
EP3873703B1 (de) Rechnergestützte optimierung einer numerisch gesteuerten bearbeitung eines werkstücks
DE112012005645T5 (de) Vorrichtung zur numerischen Steuerung
DE102014115129B4 (de) Draht-funkenerosionsmaschine und numerische steuerung for eine werkzeugmaschine
WO2008011845A1 (de) Positionsabhängige nachgiebigkeitskompensation bei einer werkzeugmaschine
DE102017007993A1 (de) Numerische steuerung mit werkzeugrückzugfunktion zum vermeiden von zusammenstössen
DE102016007688A1 (de) Numerische Steuervorrichtung, die entsprechend einer Vorschubgeschwindigkeitsänderung eine dreidimensionale Interferenzprüfung durchführt
DE102020003527A1 (de) Numerische Steuervorrichtung
DE102017003649A1 (de) Numerische Steuereinheit
DE102016012042B4 (de) Numerische Steuerung mit Positionierung zur Vermeidung einer Kollision mit einem Werkstück
DE102019007384A1 (de) Numerische Steuerung
DE4039132C2 (de) Verfahren zur Erzeugung von NC-Kodes
DE102019007383A1 (de) Numerische Steuerung
DE102012001840A1 (de) Numerische Steuerung zum Ausführen einer Positionierungsabschlussprüfung
EP3955073A1 (de) Betreiben einer wenigstens zweiachsigen werkzeugmaschine
DE102016006761B4 (de) Numerische Steuervorrichtung
DE102014116481A1 (de) Werkzeugmaschine zum Abkanten und Abkantverfahren
DE102016014179B4 (de) Numerische Steuerung
DE19614232A1 (de) Verfahren und Vorrichtung für die numerische Steuerung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee