DE102018005007B4 - Numerische Steuervorrichtung - Google Patents

Numerische Steuervorrichtung Download PDF

Info

Publication number
DE102018005007B4
DE102018005007B4 DE102018005007.7A DE102018005007A DE102018005007B4 DE 102018005007 B4 DE102018005007 B4 DE 102018005007B4 DE 102018005007 A DE102018005007 A DE 102018005007A DE 102018005007 B4 DE102018005007 B4 DE 102018005007B4
Authority
DE
Germany
Prior art keywords
command
program
path
order
execution
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.)
Active
Application number
DE102018005007.7A
Other languages
English (en)
Other versions
DE102018005007A1 (de
Inventor
Manabu Saitou
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Publication of DE102018005007A1 publication Critical patent/DE102018005007A1/de
Application granted granted Critical
Publication of DE102018005007B4 publication Critical patent/DE102018005007B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4142Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by the use of a microprocessor
    • 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/32Operator till task planning
    • G05B2219/32128Gui graphical user interface
    • 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/34Director, elements to supervisory
    • G05B2219/34013Servocontroller
    • 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/34Director, elements to supervisory
    • G05B2219/34216Programmable motion controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Numerical Control (AREA)

Abstract

Numerische Steuervorrichtung (1), die wenigstens ein NC-Programm ausführt, um eine Mehrzahl Pfade (Pfad 1, Pfad 2, Pfad 3) zu steuern, wobei zum Steuern eines Pfads jeweils zumindest ein Befehl vorgesehen ist, wobei das NC-Programm einen Reihenfolgefestlegungsbefehl umfasst, durch den zwischen Befehlen zum parallelen Steuern jedes der Mehrzahl Pfade (Pfad 1, Pfad 2, Pfad 3) eine Ausführungsreihenfolge festgelegt wird, wobei die numerische Steuervorrichtung (1) umfasst:- wenigstens eine Befehlsanalyseeinheit (100), die im NC-Programm enthaltene Befehle sequentiell ausliest und interpretiert, wobei ein aus dem NC-Programm ausgelesener Befehl den Reihenfolgefestlegungsbefehl umfasst und die wenigstens eine Befehlsanalyseeinheit (100) Befehlsdaten ausgibt, denen die Ausführungsreihenfolge hinzugefügt ist, und- wenigstens einen Befehlsausführer (120), der eine Befehlsverarbeitung jedes Pfads (Pfad 1, Pfad 2, Pfad 3) gemäß der Ausführungsreihenfolge basierend auf den Befehlsdaten ausführt, die durch die Befehlsanalyseeinheit (100) ausgegeben werden und denen die Ausführungsreihenfolge hinzugefügt ist.

Description

  • Hintergrund der Erfindung
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine numerische Steuervorrichtung und im Besonderen eine numerische Steuervorrichtung, die dazu fähig ist, eine Befehlsreihenfolge festzulegen.
  • Beschreibung des zugehörigen Standes der Technik
  • Ein Mehrpfadprogramm, das in einer numerischen Steuervorrichtung zur Steuerung einer Werkzeugmaschine verwendet wird, ist dazu fähig, durch Anwenden eines Warteschlangenbefehls Pfade zu synchronisieren. Dies ist ein wirksamer Befehl, wenn Blöcke vorhanden sind, bei denen es erwünscht ist, eine maschinelle Bearbeitung gleichzeitig zwischen Pfaden zu starten, nach der Warteschlangenbildung (Queuing) eine Routenberechnung erforderlich ist oder dergleichen. Wie in 11 gezeigt, wird bei einer herkömmlichen Warteschlangenverarbeitung zwischen Pfaden, wobei ein Warteschlangenbefehl vorab in ein NC-Programm jedes einzureihenden Pfads eingebettet wird, wenn der Warteschlangenbefehl bei der Programminterpretationsverarbeitung erkannt wird, die NC-Programminterpretationsverarbeitung eines derart erkannten Pfads zeitweilig gestoppt. Danach wird die Verarbeitung zu dem Zeitpunkt wieder aufgenommen, zu dem der Warteschlangenbefehl eines anderen ausgewiesenen Pfads erreicht wird (z.B. JP H01-295741 A ).
  • In den letzten Jahren ist es mit fortschreitender Prozesskonsolidierung erforderlich geworden, dass eine Steuereinrichtung nicht nur eine maschinelle Bearbeitung eines Werkstücks, sondern auch eine Handhabung und Messung des Werkstücks und dergleichen ausführt. Bei der Steuerung der Handhabung und Messung des Werkstücks ist eine Synchronizität mit anderen Pfaden häufig nicht nötig, es ist jedoch erforderlich, die Steuerung parallel zu den anderen Pfaden auszuführen und gleichzeitig die festgelegte Reihenfolgebeziehung der Verarbeitung einzuhalten.
  • Wie in 12 gezeigt, kann beispielsweise, wenn das Werkstück nach einer spanenden Bearbeitung transportiert wird, ein Rückzugsvorgang A eines Werkzeugs gestartet werden, ohne den Start eines Transportvorgangs B einer Transporteinrichtung abzuwarten, während andererseits, selbst wenn die Transporteinrichtung den Transportvorgang B zu einem beliebigen Zeitpunkt nach dem Start des Rückzugsvorgangs A des Werkzeugs startet, das Werkzeug und das Werkstück einander nicht beeinträchtigen. Ferner besteht, wie in 13 gezeigt, wenn der Transportvorgang B der Transporteinrichtung langsamer ist als der Rückzugsvorgang A des Werkzeugs und der Rückzugsvorgang A des Werkzeugs bereits am Ende eines Blocks b-1 des Transportvorgangs B gestartet wird, selbst dann kein Problem, wenn der Transportvorgang B durchgeführt wird, während der Block b-1 und ein Block b-2 einander ohne Warten am Ende des Blocks b-1 überlagern.
  • Der Einsatz der herkömmlichen Technik erfordert, dass der Warteschlangenbefehl dem NC-Programm hinzugefügt wird, um eine Beeinträchtigung zwischen den Pfaden zu verhindern. Der Einsatz des Warteschlangenbefehls bedingt jedoch, dass sowohl das Werkzeug als auch die Transporteinrichtung für einen Moment in einem Warteschlangenblock gestoppt werden, was dahingehend zu einem Problem führt, dass sich die Zykluszeit verlängert. Wenn nur einer der Pfade den Betrieb des anderen Pfades abwarten muss, um eine gegenseitige Beeinträchtigung zu verhindern, wie in 12 und 13 beschrieben, ist es nicht notwendig, die Warteschlangenverarbeitung durchzuführen, durch die die beiden Pfade miteinander synchronisiert werden.
  • Zur Lösung eines solchen Problems wird die Beseitigung von Redundanzen herkömmlicherweise durch Überwachen von Maschinenkoordinaten unter Verwendung eines Leiterprogramms oder dergleichen und Bestimmen einer Situation zum Aktivieren einer Verriegelung oder zum Verhindern der Startverarbeitung des Steuerbefehls (Einzelblockstopp) erzielt. Eine Kombinierung der Verarbeitung des NC-Programms und der Verarbeitung des Leiterprogramms, die parallel ausgeführt werden, macht es jedoch erforderlich, dass jedes Programm das Verarbeitungsergebnis des Partnerprogramms abwartet, wodurch dahingehend ein weiteres Problem verursacht wird, dass eine Verringerung der Ansprechempfindlichkeit auftritt.
  • Die Druckschrift DE 10 2011 008 020 A1 offenbart eine Werkzeugmaschine, die durch von einer NC-Vorrichtung ausgegebene NC-Programmbefehle automatisch betrieben wird, und so gesteuert wird, dass sie ihren automatischen Betrieb zum Bearbeiten eines Werkstück von jenem Unterbrechungspunkt aus, an dem sie veranlasst wurde, den Betrieb zu unterbrechen, wieder aufnimmt. Die NC-Programmbefehle werden in mehrere Hauptgruppen hinsichtlich der Bewegungsinhalte zum Ändern des Maschinenzustands der Werkzeugmaschine eingestuft. Wenn der automatische Betrieb der Werkzeugmaschine, nachdem er auf halbem Wege unterbrochen wurde, wieder einsetzt, wird zum automatischen Erzeugen des Maschinenzustandswiederherstellungsbefehls die Ausführungsreihenfolge der NC-Programmbefehle so bestimmt, dass die Hauptgruppen in einer vorgeschriebenen Reihenfolge angeordnet sind. Nachdem die Werkzeugmaschine veranlasst wurde, ihren automatischen Betrieb unter NC-Programmbefehlen zu unterbrechen, kann der automatische Betrieb der Werkzeugmaschine vom Unterbrechungspunkt aus wieder einsetzen, ohne dass der Bediener den Befehl zum Zurückführen der Werkzeugmaschine in ihren Maschinenzustand bei der Unterbrechung manuell erzeugen oder korrigieren muss und ebenso gewährleistet ist, dass es zwischen dem Werkstück und dem Werkzeug in ihrer Bewegung zu keiner Behinderung kommt.
  • Die Druckschrift DE 11 2014 000 400 T5 offenbart eine numerische Steuervorrichtung, die eine Steuerung einer Multisystem-Maschine ausführt, welche eine Vielzahl von zum unabhängigen Betrieb geeignete Systeme umfasst. Die numerische Steuervorrichtung umfasst eine Programm-Speichereinheit, welche ein Bearbeitungsprogramm mit einer Vielzahl von partiellen Programmen speichert, und eine Programm-Analyseeinheit, welche die partiellen Programme parallel für jedes der Systeme ausführt. Die Programm-Analyseeinheit extrahiert eine Programm-Aufrufer-System-Nummer-Variable in den partiellen Programmen und stellt auf der Basis einer Aufruf-Beziehung zwischen den partiellen Programmen eine Nummer des Systems des als Aufrufer in der Programm-Aufrufer-System-Nummer-Variablen dienendes partiellen Programms ein. Das die Programm-Aufrufer-System-Nummer-Variable umfassende partielle Programm wird geschrieben, um einen Betrieb der Maschine auf der Basis eines Werts der Programm-Aufrufer-System-Nummer-Variablen zu ändern.
  • Die Druckschrift DE 10 2011 000 886 A1 offenbart eine Automatik-Programmierung zum Erstellen eines Mehrwegeprogramms für eine Maschine mit einer Anzahl von Steuerwegen, die ein oder mehrere Bearbeitungsverfahren eines Bearbeitungsprogramms zum Bearbeiten eines Werkstücks ausführen, wobei die Bearbeitungszeit von jedem der Bearbeitungsverfahren berechnet wird, geeignete Wege für jedes der Bearbeitungsverfahren eingegeben werden, und dann geeignete Reihenfolgen der Bearbeitungsverfahren eingegeben werden. Für jedes der Bearbeitungsverfahren werden gegebenenfalls zeitgleich arbeitsfähige Bearbeitungsverfahren aus anderen Bearbeitungsverfahren eingegeben. Auf der Basis der vorstehenden Ergebnisse werden Bearbeitungsprogramme ausgewählt, die die kürzeste Bearbeitungszeit bereitstellen.
  • Zusammenfassung der Erfindung
  • Daher besteht ein Ziel der vorliegenden Erfindung darin, eine numerische Steuervorrichtung bereitzustellen, die dazu fähig ist, zwischen Befehlen eines NC-Programms eine Ausführungsreihenfolge festzulegen.
  • Gemäß der vorliegenden Erfindung wird das vorstehende Problem durch Bereitstellen einer numerischen Steuervorrichtung gemäß Anspruch 1 gelöst.
  • Gemäß einem Beispiel wird eine Einheit bereitgestellt, die die Ausführungsreihenfolgebeziehung zwischen den Warteschlangenbefehlen in den NC-Programmen unterschiedlicher Pfade festlegt. Bei einer Festlegung der Ausführungsreihenfolgebeziehung zwischen jeweiligen Befehlen zweier Pfade setzt die numerische Steuervorrichtung der vorliegenden Erfindung beispielsweise einen Block A (Befehl A) im NC-Programm eines Pfads 1 an die erste Stelle und einen Block B (Befehl B) im NC-Programm eines Pfads 2 an die zweite Stelle. Nach Durchführung einer solchen Festlegung führt die numerische Steuervorrichtung der vorliegenden Erfindung, wenn bei der Ausführung des NC-Programms der Befehl B nach dem Start des Befehls A gestartet wird, weder am Befehl A noch am Befehl B die Warteschlangenverarbeitung aus. Wenn der Befehl B vor dem Start des Befehls A gestartet wird, führt die numerische Steuervorrichtung die Steuerung so aus, dass die Startverarbeitung des Befehls B ausgesetzt wird, um den Start der Ausführung des Befehls A abzuwarten.
  • Die Festlegung der Reihenfolgebeziehung gemäß der vorliegenden Erfindung ist nicht auf den Startzeitpunkt einer Mehrzahl Blöcke beschränkt und die Reihenfolgebeziehung kann zwischen dem Ende der Ausführung des an die erste Stelle gesetzten Befehls A und dem Start der Ausführung des an die zweite Stelle gesetzten Befehls B festgelegt werden. Ferner kann bei der Festlegung der Reihenfolgebeziehung gemäß der vorliegenden Erfindung die Reihenfolge zwischen jeweiligen Befehlen von drei oder mehr Pfaden unter Verwendung fortlaufender Nummern, wie etwa 1 bis 2 bis 3, festgelegt werden.
  • Eine numerische Steuervorrichtung gemäß einem Aspekt der vorliegenden Erfindung führt wenigstens ein NC-Programm aus, um eine Mehrzahl Pfade zu steuern, wobei das NC-Programm einen Reihenfolgefestlegungsbefehl umfasst, durch den zwischen Befehlen zum Steuern jedes der Mehrzahl Pfade eine Ausführungsreihenfolge festgelegt werden kann. Die numerische Steuervorrichtung umfasst wenigstens einen Befehlsinterpreter, der einen im NC-Programm enthaltenen Befehl ausliest und interpretiert und, wenn die Ausführungsreihenfolge des Befehls durch den Reihenfolgefestlegungsbefehl festgelegt ist, Befehlsdaten ausgibt, denen die Ausführungsreihenfolge hinzugefügt ist, und wenigstens einen Befehlsausführer, der eine Befehlsverarbeitung jedes Pfads gemäß der Ausführungsreihenfolge basierend auf den Befehlsdaten ausführt, die durch den Befehlsinterpreter ausgegeben werden und denen die Ausführungsreihenfolge hinzugefügt ist.
  • Gemäß der vorliegenden Erfindung kann eine Mehrzahl Pfade parallel gesteuert werden, wobei die Reihenfolgebeziehung der Verarbeitung wie festgelegt eingehalten wird, ohne dass es erforderlich wäre, dass ein Autor des NC-Programms eine komplizierte Steuerung eingibt, wodurch eine zusätzliche Warteschlangenbildung oder ein zeitweiliger Stopp vermieden wird, was es ermöglicht, die Zykluszeit der maschinellen Bearbeitung ohne Verringerung der Ansprechempfindlichkeit der Programmverarbeitung zu verbessern.
  • Figurenliste
  • Die vorstehenden und andere Ziele und Merkmale der vorliegenden Erfindung gehen aus der folgenden Beschreibung von Beispielen unter Bezugnahme auf die beigefügten Zeichnungen hervor. In den Zeichnungen zeigt:
    • 1 eine schematische Hardwarekonfigurationsdarstellung, die eine numerische Steuervorrichtung gemäß einer ersten Ausführungsform und einen Hauptteil einer durch die numerische Steuervorrichtung angetriebenen und gesteuerten Bearbeitungseinrichtung zeigt;
    • 2 ein schematisches Funktionsblockdiagramm der numerischen Steuervorrichtung gemäß der ersten Ausführungsform;
    • 3 ein schematisches Flussdiagramm einer Ausführungsreihenfolgefestlegungsverarbeitung, die durch die numerische Steuervorrichtung gemäß der ersten Ausführungsform ausgeführt wird;
    • 4 eine Darstellung, die ein Beispiel einer Ausführungsreihenfolgefestlegung zwischen zwei Pfaden zeigt;
    • 5 eine Darstellung, die ein Zeitdiagramm zum Zeitpunkt einer Ausführungsreihenfolgefestlegung zwischen zwei Pfaden zeigt;
    • 6 eine Darstellung, die ein Beispiel einer Ausführungsreihenfolgefestlegung im Falle einer Steuerung zweier Pfade durch ein einzelnes Programm zeigt;
    • 7 eine Darstellung, die ein Zeitdiagramm zum Zeitpunkt einer Ausführungsreihenfolgefestlegung im Falle einer Steuerung zweier Pfade durch ein einzelnes Programm zeigt;
    • 8 eine Darstellung, die ein Beispiel einer Ausführungsreihenfolgefestlegung zwischen mehreren Pfaden zeigt;
    • 9 eine Darstellung, die ein Zeitdiagramm zum Zeitpunkt einer Ausführungsreihenfolgefestlegung zwischen mehreren Pfaden zeigt;
    • 10 ein schematisches Funktionsblockdiagramm einer numerischen Steuervorrichtung gemäß einer zweiten Ausführungsform;
    • 11 eine Darstellung, die ein Beispiel einer Warteschlangenverarbeitung zwischen Pfaden gemäß einer herkömmlichen Technik zeigt;
    • 12 eine Darstellung zur Erläuterung eines Problems der Warteschlangenverarbeitung zwischen Pfaden gemäß der herkömmlichen Technik; und
    • 13 eine Darstellung zur Erläuterung eines weiteren Problems der Warteschlangenverarbeitung zwischen Pfaden gemäß der herkömmlichen Technik.
  • Genaue Beschreibung der bevorzugten Ausführungsformen
  • Nachstehend ist ein Konfigurationsbeispiel einer numerischen Steuervorrichtung zum Umsetzen der vorliegenden Erfindung beschrieben.
  • 1 ist eine schematische Hardwarekonfigurationsdarstellung, die eine numerische Steuervorrichtung gemäß einer ersten Ausführungsform der vorliegenden Erfindung und einen Hauptteil einer durch die numerische Steuervorrichtung angetriebenen und gesteuerten Bearbeitungseinrichtung zeigt. Eine in einer numerischen Steuervorrichtung 1 gemäß der vorliegenden Ausführungsform enthaltene CPU (Zentraleinheit) 11 ist ein Prozessor, der eine Gesamtsteuerung der numerischen Steuervorrichtung 1 ausführt.
  • Die CPU 11 liest ein in einem ROM 12 gespeichertes Systemprogramm über einen Bus 20 aus und führt die Gesamtsteuerung der numerischen Steuervorrichtung 1 gemäß dem Systemprogramm aus. Ein RAM 13 speichert beispielsweise temporäre Berechnungsdaten, Anzeigedaten und verschiedene Arten von Daten, die durch einen Bediener über eine Anzeige-/MDI- (manuelle Dateneingabe) Einheit 70 (nachstehend beschrieben) eingegeben werden.
  • Ein nichtflüchtiger Speicher 14 dient als Speicher, der, beispielsweise aufgrund einer Unterstützung durch eine Batterie (nicht gezeigt), selbst dann Daten erhält, wenn die Stromversorgung der numerischen Steuervorrichtung 1 abgeschaltet ist. Zusätzlich zu einem NC-Programm, das über eine Schnittstelle 15 ausgelesen oder über die Anzeige-/MDI-Einheit 70 (nachstehend beschrieben) eingegeben wird, werden Werkzeugdaten, die einem empfohlenen Wert einer Schnittbedingung eines zur Bearbeitung verwendeten Werkzeugs und dergleichen enthalten, in dem nichtflüchtigen Speicher 14 gespeichert. Ferner werden im nichtflüchtigen Speicher 14 ein zum Betreiben des NC-Programms verwendetes NC-Programmbetriebsverarbeitungsprogramm und dergleichen gespeichert, wobei diese Programme während der Ausführungszeit in das RAM 13 geladen werden. Ferner werden verschiedene Systemprogramme zum Ausführen beispielsweise einer zum Erstellen und Editieren des NC-Programms erforderlichen Verarbeitung in einem Editionsmodus (einschließlich eines Systemprogramms einer Befehlsausführungsreihenfolgefestlegungsfunktion) vorab in das ROM 12 gespeichert.
  • Die Schnittstelle 15 ist eine Schnittstelle zum Verbinden der numerischen Steuervorrichtung 1 und eines externen Geräts 72, wie etwa einem Adapter. Aus dem externen Gerät 72 werden das NC-Programm, verschiedene Parameter und dergleichen ausgelesen. Ferner kann ein in der numerischen Steuervorrichtung 1 editiertes NC-Programm über das externe Gerät 72 in eine externe Speichereinheit gespeichert werden. Eine programmierbare Maschinensteuereinrichtung (PMC) 16 gibt über eine I/O- (Ein-/Ausgabe-) Einheit 17 ein Signal an ein Peripheriegerät (z.B. einen Aktor, wie etwa eine Roboterhand zum Werkzeugaustausch) einer Bearbeitungseinrichtung aus, um das Peripheriegerät gemäß einem in der numerischen Steuervorrichtung 1 gespeicherten Sequenzprogramm zu steuern. Ferner empfängt die PMC 16 Signale von verschiedenen Schaltern und dergleichen eines an einem Hauptkörper der Bearbeitungseinrichtung bereitgestellten Bedienpanels, führt an den Signalen eine erforderliche Signalverarbeitung durch und übermittelt die derart verarbeiteten Signale an die CPU 11.
  • Die Anzeige-/MDI-Einheit 70 ist eine manuelle Dateneingabeeinrichtung, die eine Anzeigeeinrichtung, eine Tastatur und dergleichen umfasst. Eine Schnittstelle 18 empfängt Befehle und Daten von der Tastatur der Anzeige-/MDI-Einheit 70 und übermittelt die Befehle und Daten an die CPU 11. Eine Schnittstelle 19 ist mit einem Bedienpanel 71 verbunden, das beispielsweise einen manuellen Impulsgeber umfasst, der zum manuellen Antreiben jeder Achse verwendet wird.
  • Eine Achsensteuerschaltung 30 zum Steuern einer Achse der Bearbeitungseinrichtung empfängt einen Bewegungsbefehlsbetrag für eine Achse von der CPU 11 und gibt einen Befehl für die Achse an einen Servoverstärker 40 aus. In Antwort auf diesen Befehl treibt der Servoverstärker 40 einen Servomotor 50 an, um die Achse der Bearbeitungseinrichtung zu bewegen. Der Servomotor 50 für die Achse umfasst einen Positions-/Drehzahldetektor und führt ein Positions-/Drehzahlrückkopplungssignal vom Positions-/Drehzahldetektor zur Achsensteuerschaltung 30 zurück, um eine Positions-/Drehzahlrückkopplungsregelung auszuführen. Es wird darauf hingewiesen, dass, in der Hardwarekonfigurationsdarstellung von 1 nur eine Achsensteuerschaltung 30, ein Servoverstärker 40 und ein Servomotor 50 dargestellt sind, tatsächlich aber entsprechend der Anzahl zu steuernder Achsen mehrere Achsensteuerschaltungen 30, Servoverstärker 40 und Servomotoren 50 bereitgestellt werden.
  • Eine Spindelsteuerschaltung 60 empfängt einen an die Bearbeitungseinrichtung gerichteten Hauptachsendrehbefehl und gibt ein Spindeldrehzahlsignal an einen Spindelverstärker 61 aus. In Antwort auf dieses Spindeldrehzahlsignal dreht der Spindelverstärker 61 einen Spindelmotor 62 der Bearbeitungseinrichtung mit einer durch den Befehl vorgegebenen Drehzahl, um das Werkzeug anzutreiben.
  • Ein Positionscodierer 63 ist mit dem Spindelmotor 62 verbunden und gibt in Synchronisation mit der Drehung der Hauptachse einen Rückkopplungsimpuls aus, wobei der Rückkopplungsimpuls durch die CPU 11 gelesen wird.
  • 2 ist ein schematisches Funktionsblockdiagramm, das einen Hauptteil der numerischen Steuervorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung im Falle einer Ausführung eines Systemprogramms zum Umsetzen der Ausführungsreihenfolgefestlegungsfunktion der vorliegenden Erfindung in der in 1 gezeigten numerischen Steuervorrichtung 1 zeigt. Jeder der in 2 gezeigten Funktionsblöcke wird durch die CPU 11 umgesetzt, die in der in 1 gezeigten numerischen Steuervorrichtung 1 enthalten ist, wobei die CPU 11 dafür konfiguriert ist, das Systemprogramm der Ausführungsreihenfolgefestlegungsfunktion auszuführen und den Betrieb jeder Einheit der numerischen Steuervorrichtung 1 zu steuern. Die numerische Steuervorrichtung 1 der vorliegenden Ausführungsform umfasst einen Befehlsinterpreter 100, einen Befehlsausführer 120, eine Interpolationseinheit 122 und eine Servosteuereinrichtung 124. Bei der numerischen Steuervorrichtung 1 der vorliegenden Ausführungsform werden der Befehlsinterpreter 100, der Befehlsausführer 120 und die Interpolationseinheit 122 für jeden Pfad bereitgestellt und die Servosteuereinrichtung 124 wird für jeden Servomotor 50 bereitgestellt, der eine zu steuernde Achse antreibt. Ferner wird im nichtflüchtigen Speicher 14 ein NC-Programmspeicherbereich 200 zum Speichern des NC-Programms zugewiesen, wobei das NC-Programm zum Steuern jedes Pfades vorab im NC-Programmspeicherbereich 200 gespeichert wird.
  • Es wird darauf hingewiesen, dass für jeden Pfad ein im NC-Programmspeicherbereich 200 gespeichertes NC-Programm bereitgestellt werden kann. Alternativ kann ein einzelnes NC-Programm Befehle zum Steuern einer Mehrzahl Pfade umfassen, was bedingt, dass genauso viele Befehlsanalyseeinheiten 100 wie gleichzeitig auszuführende NC-Programme bereitzustellen sind.
  • Die Befehlsanalyseeinheit 100 liest im NC-Programm enthaltene Befehlsblöcke sequentiell aus dem NC-Programmspeicherbereich 200 aus, interpretiert den derart ausgelesenen Befehlsblock und erzeugt Befehlsdaten. Die durch die Befehlsanalyseeinheit 100 erzeugten Befehlsdaten umfassen beispielsweise Bewegungsbefehlsdaten, die zum Steuern einer Achse jedes zu steuernden Pfads verwendet werden. Wenn der aus dem NC-Programm ausgelesene Block einen Reihenfolgefestlegungsbefehl zum Festlegen einer Ausführungsreihenfolge von Befehlen umfasst, erzeugt die Befehlsanalyseeinheit 100 Befehlsdaten, die die durch den Reihenfolgefestlegungsbefehl festgelegte Ausführungsreihenfolge umfassen. Die Ausführungsreihenfolge, die durch die Befehlsanalyseeinheit 100 den Befehlsdaten hinzugefügt wird, kann als Kennzeichnung (1, 2, 3 usw.) bezeichnet werden, anhand der sich eine vorgegebene Reihenfolge ermitteln lässt. Ferner kann die Ausführungsreihenfolge, die durch die Befehlsanalyseeinheit 100 den Befehlsdaten hinzugefügt wird, als Kennzeichnung (1A, 2A, 3A usw. und 1B, 2B, 3B usw.) bezeichnet werden, anhand der sich Befehlssätze zum Festlegen der Ausführungsreihenfolge voneinander unterscheiden lassen und sich eine vorgegebene Reihenfolge jedes der Befehlssätze ermitteln lässt, was es ermöglicht, die Ausführungsreihenfolge einer Mehrzahl Befehlssätze im NC-Programm festzulegen. Die Befehlsanalyseeinheit 100 gibt die derart erzeugten Befehlsdaten an den für jeden Pfad bereitgestellten Befehlsausführer 12 aus.
  • Der Befehlsausführer 120 ist eine Funktionseinheit, die die Ausführung der von der Befehlsanalyseeinheit 100 empfangenen Befehlsdaten gemäß dem Zeitpunkt steuert, der basierenden auf der Ausführungsreihenfolge bestimmt wird. Wenn die Befehlsdaten die Bewegungsbefehlsdaten umfassen, übermittelt der Befehlsausführer 120 die Bewegungsbefehlsdaten beispielsweise an die Interpolationseinheit 122. Der Befehlsausführer 120 kann die von der Befehlsanalyseeinheit 100 empfangenen Befehlsdaten in einer Warteschlange speichern und die Befehlsdaten am Kopf der Warteschlange beispielsweise an die Interpolationseinheit 122 übermitteln.
  • In diesem Fall übermittelt der Befehlsausführer 120, bei Befehlsdaten, für die die Befehlsausführungsreihenfolge nicht festgelegt ist, die Befehlsdaten an die Interpolationseinheit 122, ohne die Ausführungsreihenfolge zu überprüfen. Im Gegensatz dazu, überprüft der Befehlsausführer 120, bei Befehlsdaten, für die die Befehlsausführungsreihenfolge festgelegt ist, die Ausführungsreihenfolge der Befehlsdaten zusammen mit Befehlsausführern 120 anderer Pfade und übermittelt die Befehlsdaten an die Interpolationseinheit 122, wenn die Befehlsdaten als Nächstes auszuführen sind. Ein durch den Befehlsausführer 120 ausgeführtes Verfahren zum Überprüfen der Ausführungsreihenfolge umfasst beispielsweise ein Verfahren, das einen gemeinsam genutzten Zähler verwendet, der durch die Befehlsausführer 120 der jeweiligen Pfade gemeinsam genutzt wird, und ein Verfahren zum Mitteilen eines Kennzeichnungswerts, der der Ausführungsreihenfolge der Befehlsdaten entspricht, deren Ausführung gestartet wurde, durch eine Interprozesskommunikation zwischen den Befehlsausführern 120 der jeweiligen Pfade an die Befehlsausführer 120 anderer Pfade (und zum Veranlassen der Befehlsausführer 120, den Kennzeichnungswert zu speichern, der der Ausführungsreihenfolge der Befehlsdaten entspricht, deren Ausführung bereits begonnen hat). Es kann jedoch ein beliebiges Verfahren verwendet werden, sofern die Befehlsdaten gemäß der festgelegten Ausführungsreihenfolge übermittelt werden können. Es wird darauf hingewiesen, dass, wenn die Kennzeichnung (A1, A2, A3 usw. und B1, B2, B3 usw.) verwendet wird, anhand der sich eine Mehrzahl Befehlssätze voneinander unterscheiden und sich eine vorgegebene Reihenfolge jedes der Befehlssätze ermitteln lässt, das Verfahren beispielsweise mit einem gemeinsam genutzten Zähler ausgeführt werden kann, der für jeden der Mehrzahl Befehlssätze bereitgestellt wird, so dass eine Mehrzahl Reihenfolgekennzeichnungssätze gehandhabt werden kann.
  • Die Interpolationseinheit 122 teilt einen Befehlspfad, der durch die (die Bewegungsbefehlsdaten enthaltenden) vom Befehlsausführer 120 übermittelten Befehlsdaten vorgegeben wird, in Pfade auf, die den Interpolationsintervallen entsprechende Bewegungsstrecken umfassen, um Interpolationsdaten zu erzeugen.
  • Basierend auf den durch die Interpolationseinheit 122 erzeugten Interpolationsdaten steuert die Servosteuereinrichtung 124 den Servomotor 50, der eine zu steuernde Achse antreibt.
  • 3 ist ein Flussdiagramm, das ein Beispiel eines Verarbeitungsablaufs für jeden Steuerzyklus der Befehlsanalyseeinheit 100 und des Befehlsausführers 120 im Falle einer Verwendung eines Zählers zum Überprüfen der Ausführungsreihenfolge zeigt. Bei dem in 3 gezeigten Beispiel verwendet der Befehlsausführer 120 eine Warteschlange zum Verwalten der Befehlsdaten und ein gemeinsam genutzter Zähler C, der durch die Befehlsausführer 120 der jeweiligen Pfade gemeinsam genutzt wird, wird zum Überprüfen der Ausführungsreihenfolge zwischen den Pfaden verwendet. Zu Beginn der Verarbeitung wird der gemeinsam genutzte Zähler C, als Anfangswert, auf den kleinsten Wert der eine Reihenfolge angebenden Kennzeichnungen gesetzt (auf 1 gesetzt, wenn die die Reihenfolge angebenden Kennzeichnungen 1, 2, 3 usw. lauten).
  • Schritt SA01: Die Befehlsanalyseeinheit 100 erfasst einen Befehl A aus dem im NC-Programmspeicherbereich 200 gespeicherten NC-Programm.
  • Schritt SA02: Die Befehlsanalyseeinheit 100 bestimmt, ob der in Schritt SA01 erfasste Befehl A eine festgelegte Reihenfolge hat. Wenn der Befehl A eine festgelegte Reihenfolge hat, fährt der Ablauf mit Schritt SA03 fort, anderenfalls fährt der Ablauf mit Schritt SA04 fort.
  • Schritt SA03: Die Befehlsanalyseeinheit 100 erzeugt Befehlsdaten A, denen eine Reihenfolgekennzeichnung CA hinzugefügt ist, die einer im Befehl A vorgegebenen Reihenfolgekennzeichnung entspricht, und gibt die Befehlsdaten A an den Befehlsausführer 120 des den Befehl A ausführenden Pfads aus.
  • Schritt SA04: Die Befehlsanalyseeinheit 100 erzeugt Befehlsdaten A basierend auf dem Befehl A und gibt die Befehlsdaten A an den Befehlsausführer 120 des den Befehl A ausführenden Pfads aus.
  • Schritt SA05: Der Befehlsausführer 120 speichert die Befehlsdaten A in der Warteschlange.
  • Schritt SA06: Der Befehlsausführer 120 bestimmt, ob durch die Interpolationseinheit 122 kein Befehl ausgeführt wird. Wenn kein Befehl ausgeführt wird, fährt der Ablauf mit Schritt SA07 fort, anderenfalls endet der Ablauf des aktuellen Steuerzyklus.
  • Schritt SA07: Der Befehlsausführer 120 nimmt auf Befehlsdaten B Bezug, die den Befehlsdaten am Kopf der Warteschlange entsprechen.
  • Schritt SA08: Der Befehlsausführer 120 bestimmt, ob die Befehlsdaten B eine Reihenfolgekennzeichnung aufweisen. Wenn die Befehlsdaten B eine Reihenfolgekennzeichnung aufweisen, fährt der Ablauf mit Schritt SA09 fort, anderenfalls fährt der Ablauf mit Schritt SA11 fort.
  • Schritt SA09: Der Befehlsausführer 120 bestimmt, ob der Wert der den Befehlsdaten B hinzugefügten Reihenfolgenummer CB gleich dem durch den gemeinsam genutzten Zähler C angegebenen Wert ist. Wenn beide Werte gleich sind, fährt der Ablauf mit Schritt SA10 fort, anderenfalls endet der Ablauf des aktuellen Steuerzyklus.
  • Schritt SA10: Der Befehlsausführer 120 inkrementiert den durch den gemeinsam genutzten Zähler C angegebenen Wert um 1.
  • Schritt SA11: Der Befehlsausführer 120 extrahiert die Befehlsdaten B aus der Warteschlange und übermittelt die Befehlsdaten B an die Interpolationseinheit 122.
  • Die 4 und 5 zeigen ein Beispiel der vorliegenden Erfindung im Falle einer Festlegung der Ausführungsreihenfolge zwischen Programmen zweier Pfade.
  • In 4 ist ein NC-Programm 01001 ein NC-Programm zum Steuern einer Transporteinrichtung entsprechend einem ersten Pfad und ein NC-Programm 02001 ein NC-Programm zum Steuern der mit einem Werkzeug ausgestatteten Bearbeitungseinrichtung entsprechend einem zweiten Pfad. Bei dem in 4 gezeigten Beispiel sind ein Betrieb zum Zurückziehen des Werkzeugs von einem Werkstück nach der Bearbeitung des Werkstücks mit dem Werkzeug (Blöcke N20 bis N40 des NC-Programms 02001) und ein nachfolgender Betrieb zum Veranlassen der Transporteinrichtung, das Werkstück zu entnehmen (Blöcke N20 bis N40 des NC-Programms 01001), in den jeweiligen NC-Programmen definiert. Bei dem in 4 gezeigten Beispiel ist ein Befehl „M100P3“ ein Beispiel für einen Reihenfolgefestlegungsbefehl, wobei J1, J2, J3 oder dergleichen an den Befehl angehängt wird, so dass die Ausführungsreihenfolge eines Befehls des nächsten Blocks festgelegt ist, wobei J1, J2, J3 oder dergleichen der Reihenfolgekennzeichnung 1, 2, 3 oder dergleichen entspricht. Bei dem in 4 gezeigten Beispiel setzt ein Reihenfolgefestlegungsbefehl „M100P3J1“ des NC-Programms 02001 die Ausführungsreihenfolge des Blocks N40 des NC-Programms 02001, welcher der nächste Block ist, an die erste Stelle und ein Reihenfolgefestlegungsbefehl „M100P3J2“ des NC-Programms 01001 setzt die Ausführungsreihenfolge des Blocks N40 des NC-Programms O1001, welcher der nächste Block ist, an die zweite Stelle.
  • Wenn ein solches NC-Programm jedes Pfads durch die numerische Steuervorrichtung 1 der vorliegenden Erfindung ausgeführt wird, beträgt, wie in dem Zeitdiagramm von 5 gezeigt, wenn die Ausführung des Blocks N20 des NC-Programms 02001 vor Abschluss der Ausführung des Blocks N20 des NC-Programms O1001 abgeschlossen ist und dann die Ausführung des Blocks N40 des NC-Programms 02001 gestartet wird (wodurch der Wert des gemeinsam genutzten Zählers C um 1 inkrementiert wird), der Wert des gemeinsam genutzten Zählers C bereits 2, wenn die Befehlsdaten des Blocks N40 des NC-Programms O1001 den Kopf der Warteschlange des Befehlsausführers 120 erreichen, daher werden die Befehlsdaten wie sie sind an die Interpolationseinheit 122 übermittelt und ausgeführt.
  • Wenn hingegen die Ausführung des Blocks N20 des NC-Programms 02001 noch nicht abgeschlossen ist und die Ausführung des Blocks N40 des NC-Programms 02001 noch nicht gestartet wurde (was bewirkt, dass der Wert des gemeinsam genutzten Zählers C bleibt wie er ist, d.h. auf dem Anfangswert), beträgt der Wert des gemeinsam genutzten Zählers C 1, wenn die Befehlsdaten des Blocks N40 des NC-Programms 01001 den Kopf der Warteschlange des Befehlsausführers 120 erreichen, daher wird die Ausführung der Befehlsdaten nicht gestartet und ausgesetzt, bis die Ausführung des Blocks N20 des NC-Programms 02001 abgeschossen ist und die Ausführung des Blocks N40 des NC-Programms 02001 gestartet wird.
  • Die 6 und 7 zeigen ein Beispiel der vorliegenden Erfindung, bei dem die Ausführungsreihenfolge festgelegt ist, im Falle einer Steuerung zweier Pfade durch ein einzelnes Programm.
  • In 6 ist ein NC-Programm O1001 ein NC-Programm zum Steuern sowohl der Transporteinrichtung entsprechend dem ersten Pfad als auch der mit dem Werkzeug ausgestatteten Werkzeugmaschine entsprechend dem zweiten Pfad, wobei ein den ersten Pfad steuernder Block einen Befehl „PATH 1“ (Pfad 1) umfasst und ein den zweiten Pfad steuernder Block einen Befehl „PATH 2“ (Pfad 2) umfasst. Ferner ist bei dem in 6 gezeigten Beispiel ein Reihenfolgefestlegungsbefehl „//->“ zum Festlegen der Ausführungsreihenfolge zwischen Befehlen eingefügt, wobei es die Verwendung des Reihenfolgefestlegungsbefehls ermöglicht, zu verhindern, dass ein nach dem Reihenfolgefestlegungsbefehl beschriebener Befehl gestartet wird, bis der vor dem Reihenfolgefestlegungsbefehl beschriebene Befehl gestartet wird. In einem Block kann eine Mehrzahl Reihenfolgefestlegungsbefehle „//->“ beschrieben sein. Wenn beispielsweise drei Pfade durch ein Programm gesteuert werden, werden drei Befehle zum Steuern der jeweiligen Pfade durch zwei Reihenfolgefestlegungsbefehle „//->“ voneinander abgegrenzt, was es ermöglicht, zwischen den Befehlen der drei Pfade eine beliebige gewünschte Ausführungsreihenfolge festzulegen. Es wird darauf hingewiesen, dass, wenn sämtliche Pfade durch ein einzelnes NC-Programm gesteuert werden, wie vorstehend beschrieben, nur eine Befehlsanalyseeinheit 100 für sämtliche Pfade bereitgestellt wird, wobei eine Befehlsanalyseeinheit 100 Befehlsdatenelemente sämtlicher Pfade erzeugt. Beispielsweise erzeugt die Befehlsanalyseeinheit 100, nach dem Auslesen und Interpretieren des in 6 gezeigten Blocks N40, Befehlsdaten mit einer Reihenfolgekennzeichnung für einen Pfad 1 und Befehlsdaten mit einer Reihenfolgekennzeichnung für einen Pfad 2 und gibt die Befehlsdatenelemente an die an die Befehlsausführer 120 der jeweiligen Pfade aus.
  • Wenn ein solches NC-Programm jedes Pfads durch die numerische Steuervorrichtung 1 der vorliegenden Erfindung ausgeführt wird, beträgt, wie in dem Zeitdiagramm von 7 gezeigt, wenn die Ausführung des Blocks N21 vor dem Abschluss der Ausführung des Blocks N22 abgeschlossen ist und dann die Ausführung des Befehls des Pfads 2 des Blocks N40 (auf der linken Seite des Reihenfolgefestlegungsbefehl „//->“ beschriebener Befehl) gestartet wird (wodurch der Wert des gemeinsam genutzten Zählers C um 1 inkrementiert wird), der Wert des gemeinsam genutzten Zählers C bereits 2, wenn die Befehlsdaten des Pfads 1 des Blocks N40 (Befehlsdaten, die auf einem Befehl „G 01Z-100“ basieren, der auf der rechten Seite des Reihenfolgefestlegungsbefehls „//->“ beschrieben ist) den Kopf der Warteschlange des Befehlsausführers 120 erreichen, daher werden die Befehlsdaten wie sie sind an die Interpolationseinheit 122 übermittelt und ausgeführt.
  • Wenn hingegen die Ausführung des Blocks N21 noch nicht abgeschlossen ist und die Ausführung des Befehls des Pfads 2 des Blocks N40 (auf der linken Seite des Reihenfolgefestlegungsbefehls „//->“ beschriebener Befehl) noch nicht gestartet wurde (wobei der Wert des gemeinsam genutzten Zählers C bleibt wie er ist, d.h. auf dem Anfangswert), beträgt der Wert des gemeinsam genutzten Zählers C 1, wenn die Befehlsdaten des Pfads 1 des Blocks N40 (Befehlsdaten, die auf dem Befehl „G01Z-100“ basieren, der auf der rechten Seite des Reihenfolgefestlegungsbefehls „//->“ beschrieben ist) den Kopf der Warteschlange des Befehlsausführers 120 erreichen, daher wird die Ausführung der Befehlsdaten nicht gestartet und ausgesetzt bis die Ausführung des Blocks N22 abgeschossen ist und der Befehl des Pfads 2 des Blocks N40 gestartet wird.
  • Die 8 und 9 zeigen ein Beispiel der vorliegenden Erfindung im Falle einer Festlegung der Ausführungsreihenfolge zwischen Programmen mehrerer Pfade.
  • In 8 sind ein NC-Programm 01001, ein NC-Programm 02001, ein NC-Programm 03001 und ein NC-Programm 04001 NC-Programme zum Steuern eines ersten Pfads, eines zweiten Pfads, eines dritten Pfads bzw. eines vierten Pfads, wobei die Ausführungsreihenfolge des Befehls des Blocks N40 jedes NC-Programms durch einen Reihenfolgefestlegungsbefehl „M100P3“ des Blocks N30 jedes NC-Programms festgelegt wird. Bei dem in 8 gezeigten Beispiel ist für den Block N40 des NC-Programms 02001 die Ausführungsreihenfolge 1, für den Block N40 des NC-Programms O1001 und den Block N40 des NC-Programms 04001 die Ausführungsreihenfolge 2 und für den Block N40 des NC-Programms 03001 die Ausführungsreihenfolge 3 festgelegt. Es wird darauf hingewiesen, dass bei diesem Beispiel, wenn eine Mehrzahl Befehle vorhanden ist, für die dieselbe Ausführungsreihenfolge festgelegt ist, zwischen diesen Befehlen keine Reihenfolgebeziehung definiert ist, und nach der Ausführung des Befehls, für den die Ausführungsreihenfolge 1 festgelegt ist, ein beliebiger der Befehle ausgeführt werden kann, für den die Ausführungsreihenfolge 2 festgelegt ist.
  • Wenn ein solches NC-Programm jedes Pfads durch die numerische Steuervorrichtung 1 der vorliegenden Erfindung ausgeführt wird, wird, wie in dem Zeitdiagramm von 9 gezeigt, wenn zu dem Zeitpunkt, zu dem Ausführung des Blocks N20 des NC-Programms 01001 abgeschlossen ist, die Ausführung des Blocks N40 des NC-Programms 02001 noch nicht gestartet wurde, die Ausführung des Blocks N40 des NC-Programms O1001 ausgesetzt. Wenn hingegen zu dem Zeitpunkt, zu dem die Ausführung des Blocks N20 des NC-Programms 04001 abgeschlossen ist, die Ausführung des Blocks N40 des NC-Programms 02001 gestartet wurde, wird die Ausführung des Blocks N40 des NC-Programms 04001 ohne Warten ausgeführt. Ferner wird die Ausführung des Blocks N40 des NC-Programms 03001 ausgesetzt, bis die Ausführung des Blocks N40 des NC-Programms O1001, die Ausführung des Blocks N40 des NC-Programms 02001 und die Ausführung des Blocks N40 des NC-Programms 04001 gestartet werden.
  • Bei der numerischen Steuervorrichtung 1 der vorliegenden Erfindung mit der vorstehend beschriebenen Konfiguration ermöglicht es daher das Hinzufügen einer kurzen Beschreibung zum NC-Programm, die Ausführungsreihenfolge zwischen den Befehlen des jeden Pfad steuernden NC-Programms festzulegen. Die Verwendung der numerischen Steuervorrichtung 1 der vorliegenden Erfindung beseitigt die Notwendigkeit einer Überwachung von Maschinenkoordinaten unter Verwendung eines Leiterprogramms oder dergleichen und einer Bestimmung einer Situation zum Aktivieren einer Verriegelung oder zum Verhindern der Startverarbeitung des Steuerbefehls (Einzelblockstopp), wodurch es ermöglicht wird, die Ausführungsreihenfolge ohne Verringerung der Ansprechempfindlichkeit bei der Programmausführung festzulegen.
  • Bei der vorstehend beschriebenen Ausführungsform wurde das Beispiel beschrieben, bei dem die Befehle, für die die Ausführungsreihenfolge festgelegt ist, hauptsächlich die Bewegungsbefehle sind, die Ausführungsreihenfolgefestlegungsfunktion der vorliegenden Erfindung lässt sich jedoch auch auf andere Befehle als den Bewegungsbefehl anwenden. 10 ist ein schematisches Funktionsblockdiagramm, das einen Hauptteil einer numerischen Steuervorrichtung gemäß einer zweiten Ausführungsform der vorliegenden Erfindung zeigt. Jeder der in 10 gezeigten Funktionsblöcke wird durch die CPU 11 umgesetzt, die in der in 1 gezeigten numerischen Steuervorrichtung 1 enthalten ist, wobei die CPU 11 dafür konfiguriert ist, das Systemprogramm der Ausführungsreihenfolgefestlegungsfunktion auszuführen und den Betrieb jeder Einheit der numerischen Steuervorrichtung 1 zu steuern. Die numerische Steuervorrichtung 1 der vorliegenden Ausführungsform umfasst die Befehlsanalyseeinheit 100, den Befehlsausführer 120, die Interpolationseinheit 122, die Servosteuereinrichtung 124 und eine Messeinheit 126. Bei der numerischen Steuervorrichtung 1 der vorliegenden Ausführungsform sind die Befehlsanalyseeinheit 100 und der Befehlsausführer 120 für jeden Pfad bereitgestellt, die Interpolationseinheit 122 ist für jeden Pfad bereitgestellt, der den Bewegungsbefehl verarbeitet, die Messeinheit 126 ist für jeden Pfad bereitgestellt, der ein Messgerät (nicht gezeigt) handhabt, und die Servosteuereinrichtung 124 ist für jeden Servomotor 50 bereitgestellt, der eine zu steuernde Achse antreibt. Andere Konfigurationen entsprechen den Konfigurationen der ersten Ausführungsform.
  • Bei der derart konfigurierten numerischen Steuervorrichtung 1 gemäß der vorliegenden Ausführungsform interpretiert jede Befehlsanalyseeinheit 100 den Befehlsblock, der in dem aus dem NC-Programmspeicherbereich 200 ausgelesenen NC-Programm enthalten ist, und erzeugt Befehlsdaten, denen die Ausführungsreihenfolge gemäß dem Reihenfolgefestlegungsbefehl hinzugefügt ist, wie bei der ersten Ausführungsform. Beim Ausführen der Befehlsdaten, denen die Ausführungsreihenfolge hinzugefügt ist, arbeitet jeder Befehlsausführer 120 so, dass die Befehlsdaten an die Interpolationseinheit 122 oder die Messeinheit 126 übermittelt werden, um die festgelegte Ausführungsreihenfolge einzuhalten. Ein solcher Betrieb jeder Funktionseinheit ermöglicht es, die Ausführungsreihenfolge selbst dann leicht zu steuern, wenn beispielsweise eine Bewegungssteuerung und ein anderes Verfahren, wie etwa eine Messsteuerung kombiniert werden, wobei ein Wert des Messgeräts erfasst wird, nachdem die Bewegung des Werkzeugs abgeschlossen ist.
  • Obgleich vorstehend die Ausführungsformen der vorliegenden Erfindung beschrieben wurden, ist die vorliegende Erfindung nicht ausschließlich auf die Beispiele der vorstehend beschriebenen Ausführungsformen beschränkt und lässt sich durch geeignete Änderungen auf verschiedene Art und Weise ausführen.
  • Bei den vorstehend beschriebenen Ausführungsformen ermöglicht es beispielsweise das Hinzufügen des Reihenfolgefestlegungsbefehls „M100P3“ zum NC-Programm oder das Hinzufügen des Reihenfolgefestlegungsbefehls „//->“ zum NC-Programm, die Ausführungsreihenfolge festzulegen. Es kann jedoch innerhalb des Spezifikationsbereichs des NC-Programms eine beliebige Zeichenfolge als Reihenfolgefestlegungsbefehl verwendet werden, sofern sich die Zeichenfolge von anderen Befehlen unterscheiden lässt. Ferner können für die die Ausführungsreihenfolge angebende Kennzeichnung andere Zeichenfolgen als J1, J2, J3 usw. verwendet werden. Außerdem kann, wenn eine Kennzeichnung verwendet wird, anhand der sich eine Mehrzahl Befehlssätze voneinander unterscheiden und sich eine vorgegebene Reihenfolge jedes der Befehlssätze ermitteln lässt, innerhalb des Spezifikationsbereichs des NC-Programms eine beliebige Zeichenfolge verwendet werden, sofern sich die Zeichenfolge von anderen Befehlen oder dergleichen unterscheiden lässt.
  • Ferner ist in den vorstehend beschriebenen Ausführungsformen das Beispiel beschrieben, bei dem die Ausführungsreihenfolge in Bezug auf den Startzeitpunkt einer Mehrzahl Befehle festlegt wird. Es kann jedoch eine Reihenfolgebeziehung festgelegt werden, bei der der nächste Ausführungsreihenfolgebefehl gestartet wird, wenn der vorherige Ausführungsreihenfolgebefehl abgeschlossen ist. Ferner kann eine Konfiguration eingesetzt werden, bei der das Verfahren zum Festlegen einer solchen Reihenfolgebeziehung und die Festlegung der Ausführungsreihenfolge in Bezug auf den Startzeitpunkt einer Mehrzahl Befehle selektiv mit einem anderen Befehl oder Symbol verwendet werden.
  • Außerdem wurden in den vorstehend beschriebenen Ausführungsformen, das Beispiel, bei dem eine Mehrzahl Pfade durch jeweilige Programme gesteuert wird, und das Beispiel beschrieben, bei dem die Mehrzahl Pfade durch ein einzelnes Programm gesteuert wird, es ist jedoch auch möglich, die Mehrzahl Pfade in Gruppen einzuteilen (jede Gruppe umfasst einen oder mehrere Pfade) und die Gruppen durch jeweilige Programmen zu steuern. Selbst dann ermöglicht es eine geeignete Verwendung des Reihenfolgefestlegungsbefehls, die Ausführungsreihenfolge jedes Befehls zu steuern.
  • Obgleich vorstehend die Ausführungsformen der vorliegenden Erfindung beschrieben wurden, ist die vorliegende Erfindung nicht auf die Beispiele der vorstehend beschriebenen Ausführungsformen beschränkt und lässt sich durch geeignete Änderungen auf andere Art und Weise ausführen.

Claims (1)

  1. Numerische Steuervorrichtung (1), die wenigstens ein NC-Programm ausführt, um eine Mehrzahl Pfade (Pfad 1, Pfad 2, Pfad 3) zu steuern, wobei zum Steuern eines Pfads jeweils zumindest ein Befehl vorgesehen ist, wobei das NC-Programm einen Reihenfolgefestlegungsbefehl umfasst, durch den zwischen Befehlen zum parallelen Steuern jedes der Mehrzahl Pfade (Pfad 1, Pfad 2, Pfad 3) eine Ausführungsreihenfolge festgelegt wird, wobei die numerische Steuervorrichtung (1) umfasst: - wenigstens eine Befehlsanalyseeinheit (100), die im NC-Programm enthaltene Befehle sequentiell ausliest und interpretiert, wobei ein aus dem NC-Programm ausgelesener Befehl den Reihenfolgefestlegungsbefehl umfasst und die wenigstens eine Befehlsanalyseeinheit (100) Befehlsdaten ausgibt, denen die Ausführungsreihenfolge hinzugefügt ist, und - wenigstens einen Befehlsausführer (120), der eine Befehlsverarbeitung jedes Pfads (Pfad 1, Pfad 2, Pfad 3) gemäß der Ausführungsreihenfolge basierend auf den Befehlsdaten ausführt, die durch die Befehlsanalyseeinheit (100) ausgegeben werden und denen die Ausführungsreihenfolge hinzugefügt ist.
DE102018005007.7A 2017-06-30 2018-06-22 Numerische Steuervorrichtung Active DE102018005007B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-129591 2017-06-30
JP2017129591A JP6568152B2 (ja) 2017-06-30 2017-06-30 数値制御装置

Publications (2)

Publication Number Publication Date
DE102018005007A1 DE102018005007A1 (de) 2019-01-03
DE102018005007B4 true DE102018005007B4 (de) 2021-08-26

Family

ID=64662040

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018005007.7A Active DE102018005007B4 (de) 2017-06-30 2018-06-22 Numerische Steuervorrichtung

Country Status (4)

Country Link
US (1) US11226609B2 (de)
JP (1) JP6568152B2 (de)
CN (1) CN109213084A (de)
DE (1) DE102018005007B4 (de)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01295741A (ja) 1988-05-19 1989-11-29 Fanuc Ltd 複合工作機械の制御装置
DE102011008020A1 (de) 2010-01-29 2011-08-04 MORI SEIKI CO., Ltd., Nara Verfahren und Vorrichtung zum Steuern einer Werkzeugmaschine, damit sie ihren automatischen Betrieb wieder aufnimmt
DE102011000886A1 (de) 2010-04-16 2011-10-20 Fanuc Corporation Automatik-Programmierverfahren und Vorrichtung zur Erstellung eines Mehrwegeprogramms
DE112014000400T5 (de) 2014-01-15 2015-09-24 Mitsubishi Electric Corporation Numerische Steuervorrichtung

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3739157A (en) * 1970-09-30 1973-06-12 Bendix Corp Method for preparing program medium for multiple controlled element machine
JPS62105202A (ja) * 1985-10-31 1987-05-15 Fanuc Ltd Ncデ−タ作成方法
JPS62199338A (ja) * 1986-02-27 1987-09-03 Fanuc Ltd 工具衝突自動防止方法
JPH0690646B2 (ja) * 1986-09-25 1994-11-14 豊田工機株式会社 並行動作機能を備えた数値制御装置
JPH01226004A (ja) * 1988-03-07 1989-09-08 Okuma Mach Works Ltd 数値制御方式
JPH07104690B2 (ja) * 1988-07-29 1995-11-13 三菱電機株式会社 複数の刃物台の同期制御方法
JPH03158908A (ja) * 1989-11-17 1991-07-08 Fanuc Ltd 複合加工機における自動プログラミング方式
JP2824921B2 (ja) * 1989-12-26 1998-11-18 株式会社安川電機 多系列制御nc装置
JPH06314109A (ja) * 1993-04-28 1994-11-08 Mitsubishi Electric Corp 数値制御装置
JP3679844B2 (ja) * 1995-11-09 2005-08-03 ファナック株式会社 シーケンス・プログラムの実行装置
JP3761179B2 (ja) * 1996-02-14 2006-03-29 三菱電機株式会社 数値制御装置
JPH1049216A (ja) * 1996-08-06 1998-02-20 Fanuc Ltd 装置間データ通信方法
JP2003320484A (ja) 2002-05-01 2003-11-11 Murata Mach Ltd モータ駆動式リンクプレス
US7003373B2 (en) * 2002-09-27 2006-02-21 Siemens Aktiengesellschaft Method and device for numerical control
US20060058907A1 (en) * 2004-09-14 2006-03-16 Ugs Corp. System, method, and computer program product for machine tool programming
JP5555422B2 (ja) * 2008-12-26 2014-07-23 株式会社アマダ 数値制御装置及び数値制御方法
JP4620156B2 (ja) * 2009-03-11 2011-01-26 ファナック株式会社 軸の再構成機能を有する数値制御装置
JP5724679B2 (ja) 2011-06-29 2015-05-27 株式会社ジェイテクト ブロック実行順表示装置
JP5657623B2 (ja) 2012-09-21 2015-01-21 ファナック株式会社 系統間待合せ機能を有する数値制御装置
JP5620446B2 (ja) 2012-09-24 2014-11-05 ファナック株式会社 Gコード指令によりビデオカメラを操作する機能を備えた数値制御装置
US9465380B2 (en) * 2013-08-02 2016-10-11 ICAM Research Corporation Device, system and methods for automatic development and optimization of positioning paths for multi-axis numerically controlled machining
JP5916677B2 (ja) 2013-09-20 2016-05-11 株式会社日立製作所 制御コントローラ及びそのプログラミング方法
JP5956506B2 (ja) 2014-05-23 2016-07-27 ファナック株式会社 プログラム加工再開機能を有する数値制御装置
CN104076736B (zh) * 2014-07-15 2017-02-15 上海维宏电子科技股份有限公司 基于教导指令实现运动控制多分支同步执行的方法
JP6105016B1 (ja) 2015-09-30 2017-03-29 株式会社牧野フライス製作所 工作機械の制御装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01295741A (ja) 1988-05-19 1989-11-29 Fanuc Ltd 複合工作機械の制御装置
DE102011008020A1 (de) 2010-01-29 2011-08-04 MORI SEIKI CO., Ltd., Nara Verfahren und Vorrichtung zum Steuern einer Werkzeugmaschine, damit sie ihren automatischen Betrieb wieder aufnimmt
DE102011000886A1 (de) 2010-04-16 2011-10-20 Fanuc Corporation Automatik-Programmierverfahren und Vorrichtung zur Erstellung eines Mehrwegeprogramms
DE112014000400T5 (de) 2014-01-15 2015-09-24 Mitsubishi Electric Corporation Numerische Steuervorrichtung

Also Published As

Publication number Publication date
JP2019012472A (ja) 2019-01-24
US20190004500A1 (en) 2019-01-03
US11226609B2 (en) 2022-01-18
CN109213084A (zh) 2019-01-15
JP6568152B2 (ja) 2019-08-28
DE102018005007A1 (de) 2019-01-03

Similar Documents

Publication Publication Date Title
DE102008001011B4 (de) Numerische Steuervorrichtung
DE102017004366B4 (de) Numerische Steuervorrichtung
DE102012008541B4 (de) Numerische Steuervorrichtung mit einer Operationsfunktion auf der Grundlage von Daten im Tabellenformat
DE102017002373B4 (de) Numerische Steuerung mit Beschleunigungsfunktion für den Festzyklus
DE102015014701A1 (de) Numerische Steuervorrichtung zur Rückzugssteuerung
DE102015200870A1 (de) Gerät zum Erzeugen eines NC-Programms, das eine Leistungseinsparung berücksichtigt
DE102016103440A1 (de) Steuervorrichtung, die durch Gruppieren mehrerer Systeme eine Steuerung zentral handhaben kann
DE102014015008B4 (de) Numerische Steuerung, die einen Haltepunkt festlegen kann
DE102016000160B4 (de) Numerische Steuerung, eingerichtet für einen Teach-Betrieb mit wechselnden Arbeitsbereichen
DE2940444A1 (de) Kopierfraesmaschine
DE102015004930B4 (de) Numerische Steuervorrichtung für Maschinenwerkzeug
DE102016014179B4 (de) Numerische Steuerung
DE102014016807B4 (de) Numerische Steuervorrichtung mit einer Funktion zur gleichzeitigen Ausführung einer Vielzahl von Befehlen unter Verwendung von Daten im Tabellenformat
DE102015118431B4 (de) Autonomes Steuersystem
DE102018005007B4 (de) Numerische Steuervorrichtung
DE102015008297B4 (de) Numerische Steuerung mit Betrieb durch tabellenformatierte Daten
DE102015010654B4 (de) Numerische Steuerung zum Verkürzen der Taktzeit eines Maschinenprogramms
DE102019007382A1 (de) Numerische Steuerung
DE102015015954A1 (de) Numerische Steuerung
DE102017222137B4 (de) Numerische Steuervorrichtung
DE102016001642B4 (de) Numerische Steuerung mit übermäßige Positionsabweichungen unterbindender Geschwindigkeitssteuerung
DE102015012147B4 (de) Numerische Steuervorrichtung
EP3480671A1 (de) Verfahren zum betrieb einer numerisch gesteuerten produktionsanlage sowie produktionsanlage dazu
DE112022000258T5 (de) Numerische steuerung
DE102017001765A1 (de) Numerische steuerung für werkzeugmaschine

Legal Events

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