-
Hintergrund der Erfindung
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine numerische Steuervorrichtung und insbesondere eine numerische Steuervorrichtung mit Vorausschau (Look-Ahead) einer Bearbeitungsprogrammstartfunktion, die auf einer vorgegebenen Bedingung basiert.
-
Beschreibung des zugehörigen Standes der Technik
-
Numerische Steuervorrichtungen mancher Modelle sind mit einer sogenannten Vorausschau- (Look-Ahead-) Funktion versehen, so dass Blöcke eines Programms in einer Phase vor der Ausführung des Programms in einen Speicher jeder numerischen Steuervorrichtung vorabgerufen (prefetched) werden. Obgleich diese Vorausschaufunktion den Vorteil hat, dass sie den Einfluss einer verzögerten Analyse des Bearbeitungsprogramms minimieren kann, kann sie zu verschiedenen Problemen führen, wenn ein Block vorhanden ist, der erst analysiert werden soll, wenn ein auf dessen unmittelbar vorhergehenden Block basierender Bearbeitungsvorgang abgeschlossen ist.
-
Beispielsweise umfasst ein in
7 gezeigtes Programm O0001 eine Makroanweisung „IF[#100EQ1]GOTO
100“, die eine benutzerdefinierte Makrovariable #100 verwendet, welche 1 beträgt, wenn sich ein Werkzeug unter einem vorgegebenen Abstand von einem Werkstück befindet. Diese Makroanweisung ist im Programm in der Absicht beschrieben, den Abstand zwischen dem Werkzeug und dem Werkstück am Bewegungsendpunkt der z-Achse zu bestätigen. Bei der Ausführung des derart konzipierten Programms O0001 wird, wenn die Makroanweisung „IF[#100EQ1]GOTO
100“ vorausgeschaut wird, bevor die z-Achse in Antwort auf einen Bewegungsbefehl „G00 Z100.0“ die Bewegung von 0,0 zu 100,0 abschließt, die Makroanweisung im Unterschied zum Achsenbewegungsbefehl unweigerlich zusammen mit der Vorausschau-/Analyseverarbeitung ausgeführt. Daher besteht das Problem, dass eine Bestimmung der WENN-Anweisung und des Sprungs (Divergenz) der GOTO-Anweisung unweigerlich durchgeführt wird, ohne den Abstand zwischen dem Werkzeug und dem Werkstück in einer korrekten Position bestätigen zu können. Herkömmlicherweise wird, um dieses Problem zu vermeiden, die Vorausschau unter Verwendung eines Vorausschauunterdrückungsbefehls („M100“ im Programm von
7) unterdrückt, so dass die Makroanweisung nach Abschluss der auf dem Bewegungsbefehl „G00 Z100.0“ basierenden Bewegung der z-Achse eingelesen werden kann. Außerdem kann bei dem in der offengelegten japanischen Patentanmeldung
JP 2008-040542 A offenbarten Stand der Technik oder dergleichen nach der Unterdrückung der Vorausschau ein Neustart der Vorausschau Block für Block vorgegeben werden.
-
Zum anderen wird zusätzlich zu einem normalen Vorausschauunterdrückungsbefehl ein Hochgeschwindigkeits-Vorausschauunterdrückungsbefehl vorgeschlagen (japanisches Patent
JP 4271248 B2 ). Der Hochgeschwindigkeits-Vorausschauunterdrückungsbefehl ist so konzipiert, dass der Vorausschauunterdrückungsbefehl mit hoher Geschwindigkeit ausgeführt werden kann, indem nach Beendigung der Ausführung des unmittelbar vorhergehenden Blocks eine Bestimmung eines Vorausschaustoppcodes, eine Aussetzung einer Vorausschau-/Analyseverarbeitung und ein Neustart der Vorausschau-/Analyseverarbeitung durchgeführt werden.
-
Gemäß der in der offengelegten japanischen Patentanmeldung
JP 2008-040542 A offenbarten Technik wird der Neustart der Vorausschau jedoch Block für Block vorgegeben, so dass das Problem besteht, dass der Vorausschauneustart nicht problemlos durch spezifische Werte, wie etwa die Achsenposition und die Spindeldrehzahl, gesteuert werden kann. Es gibt beispielsweise keine Einrichtung zum Durchführen einer Vorausschau für eine Makroanweisung, wenn die z-Achse nach Ausgabe eines Vorausschauunterdrückungsbefehls des in
7 gezeigten Programms O0001 eine beliebige Position erreicht, z.B. eine 1 mm vom Endpunkt eines Blocks entfernte Position, selbst dann nicht, wenn eine solche Durchführung erwünscht ist. Dieses Problem tritt auch bei einem Hochgeschwindigkeits-Vorausschauunterdrückungsbefehl auf, wie etwa bei dem in dem japanischen Patent
JP 4271248 B2 offenbarten.
-
Das Dokument
US 2008/0294877 A1 offenbart eine numerische Steuerung für eine Werkzeugmaschine, welche ein Maschinensteuerprogramm blockweise ausliest und analysiert. Ferner offenbaren auch die Dokumente
DE 10 2013 015 236 A1 ,
DE 10 2015 005 907 A1 und
JP 2003058217 A jeweils numerische Maschinensteuerungen, welche ein Maschinensteuerprogramm jeweils blockweise laden bzw. verarbeiten.
-
Zusammenfassung der Erfindung
-
Die Erfindung ist durch den Hauptanspruch definiert. Eine weitere Ausgestaltung der Erfindung ist durch den Unteranspruch definiert.
-
Ein Ziel der vorliegenden Erfindung ist es, eine numerische Steuervorrichtung bereitzustellen, die dazu fähig ist, nach einer Vorausschauunterdrückung eine Neustartbedingung für eine Vorausschau für ein Programm genau vorzugeben.
-
Bei der vorliegenden Erfindung werden die vorstehend beschriebenen Probleme durch Bereitstellen einer numerischen Steuervorrichtung mit einer Funktion zum Neustarten der Vorausschau im nächsten und darauffolgenden Block gemäß Vorausschauneustartbedingungen gelöst, die zusammen mit einem Vorausschauunterdrückungsbefehl vorgegeben werden. Im Unterschied zum Stand der Technik werden die Vorausschauneustartbedingungen nicht basierend auf der Anzahl an Blöcken vorgegeben, es wird vielmehr ermöglicht, den verbleibenden Bewegungsbetrag und den Koordinatenwert einer Achse, den Abweichungsbetrag und das Drehmoment eines Servomotors, einen ein Peripheriegerät betreffenden Signaleingang und dergleichen vorzugeben, so dass die Neustartbedingungen durch einen Code angewiesen werden können, der die Vorausschau stoppt.
-
Eine numerische Steuervorrichtung gemäß der vorliegenden Ausführungsform ist dazu eingerichtet, Befehle für Blöcke eines Programms sequenziell auszulesen und zu analysieren, eine Vorausschauverarbeitung durchzuführen, um das Ergebnis der Analyse in einem Puffer zu speichern, und die Befehle für die vorausgeschauten Blöcke basierend auf dem im Puffer gespeicherten Analyseergebnis auszuführen, um dadurch eine Maschine zu steuern, und ist mit einer Funktion ausgestattet, um die Vorausschauverarbeitung zu stoppen, wenn ein Block, in den ein Code zum Stoppen der Vorausschau eingefügt ist, aus dem Programm ausgelesen wird. Die numerische Steuervorrichtung ist dadurch gekennzeichnet, dass sie mit einer Neustartbedingungsbestimmungseinheit, die dazu eingerichtet ist, zu bestimmen, ob eine durch den Code zum Stoppen der Vorausschau angewiesene Vorausschauneustartbedingung erfüllt ist, und einer Vorausschauvorgängerneustarteinheit ausgestattet ist, die dazu eingerichtet ist, die Vorausschauverarbeitung neu zu starten, wenn durch die Neustartbedingungsbestimmungseinheit bestimmt wird, dass die Neustartbedingung erfüllt ist, und dadurch, dass die Neustartbedingung eine Bedingung ist, die den Zustand der Maschine betrifft.
-
Darüber hinaus ist die numerische Steuervorrichtung dadurch gekennzeichnet, dass die Neustartbedingung einen verbleibenden Bewegungsbetrag einer Achse der Maschine, einen Koordinatenwert der Achse der Maschine, einen Abweichungsbetrag eines Servomotors zum Antreiben der Achse der Maschine, ein Drehmoment zum Antreiben der Achse der Maschine und/oder einen ein Peripheriegerät der Maschine betreffenden Signaleingang umfasst.
-
Gemäß der vorliegenden Erfindung kann der Ausführungszeitpunkt einer Makroanweisung im nächsten und darauffolgenden Block eines Vorausschauunterdrückungsbefehls genauer gesteuert werden. Außerdem kann die Zyklusdauer durch Vorverlegen des Zeitpunkts des Neustarts der Vorausschau verkürzt werden.
-
Figurenliste
-
Die vorstehenden und andere Ziele und Merkmale der vorliegenden Erfindung sind aus der folgenden Beschreibung von Ausführungsformen unter Bezugnahme auf die zugehörigen Zeichnungen ersichtlich. Es zeigt:
- 1 eine Hardwarekonfigurationsdarstellung, die Hauptteile einer numerischen Steuervorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
- 2 ein schematisches Funktionsblockdiagramm der numerischen Steuervorrichtung gemäß der einen Ausführungsform der vorliegenden Erfindung;
- 3 eine Darstellung, die Beispiele für Vorausschauneustartbedingungen zeigt, die durch einen die Vorausschau stoppenden Code angewiesen werden können;
- 4 eine Darstellung, die ein Beispiel für ein in der numerischen Steuervorrichtung gemäß 2 verwendetes Bearbeitungsprogramm zeigt;
- 5 ein schematisches Funktionsblockdiagramm einer numerischen Steuervorrichtung gemäß einer anderen Ausführungsform der vorliegenden Erfindung;
- 6 eine Darstellung, die ein Beispiel für ein in der numerischen Steuervorrichtung gemäß 5 verwendetes Bearbeitungsprogramm zeigt; und
- 7 eine Darstellung, die ein Beispiel für ein Bearbeitungsprogramm zeigt, in dem ein Vorausschauunterdrückungsbefehl gemäß dem Stand der Technik beschrieben ist.
-
Genaue Beschreibung der bevorzugten Ausführungsformen
-
1 ist eine Hardwarekonfigurationsdarstellung, die Hauptteile einer numerischen Steuervorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung und einer durch die numerische Steuervorrichtung antriebsgesteuerten Werkzeugmaschine zeigt. Eine Zentraleinheit (CPU) 11 einer numerischen Steuervorrichtung 1 ist ein Prozessor zur allgemeinen Steuerung der numerischen Steuervorrichtung 1. Die CPU 11 liest ein in einem ROM 12 gespeichertes Systemprogramm über einen Bus 20 aus und steuert die numerische Steuervorrichtung 1 allgemein gemäß diesem Systemprogramm. In einem RAM 13 sind temporäre Berechnungsdaten und Anzeigedaten, verschiedene Daten, die durch einen Bediener über eine CRT-/MDI-Einheit 70 eingegeben werden, und dergleichen gespeichert.
-
Ein nichtflüchtiger Speicher 14 ist als Speicher ausgeführt, der beispielsweise batteriegestützt (nicht gezeigt) ist, so dass sein Speicherzustand selbst dann aufrechterhalten werden kann, wenn die numerische Steuervorrichtung 1 abgeschaltet wird. Im nichtflüchtigen Speicher 14 sind ein über eine Schnittstelle 15 eingelesenes Bearbeitungsprogramm (nachstehend beschrieben) und ein über die CRT-/MDI-Einheit 70 eingegebenes Bearbeitungsprogramm gespeichert. Obgleich im nichtflüchtigen Speicher 14 ferner Programme zur Bearbeitungsprogrammbetriebsverarbeitung gespeichert sind, die zum Ausführen der Bearbeitungsprogramme verwendet wird, werden diese gespeicherten Programme zum Zeitpunkt der Ausführung im RAM 13 erweitert. Darüber hinaus werden verschiedene Systemprogramme zum Durchführen einer Editionsmodusverarbeitung und dergleichen, die zum Erstellen und Editieren der Bearbeitungsprogramme benötigt wird, vorab in das ROM 12 geschrieben. Die verschiedenen Bearbeitungsprogramme, die die Bearbeitungsprogramme zur Ausführung der vorliegenden Ausführungsform umfassen, können über die Schnittstelle 15 und die CRT-/MDI-Einheit 70 eingegeben und in den nichtflüchtigen Speicher 14 geladen werden.
-
Die Schnittstelle 15 ist eine Schnittstelle zum Verbinden der numerischen Steuervorrichtung 1 mit externen Geräten 72, wie etwa einem Adapter. Die Bearbeitungsprogramme und verschiedene Parameter werden von Seiten der externen Geräte 72 eingelesen. Außerdem können die in der numerischen Steuervorrichtung 1 editierten Bearbeitungsprogramme über die externen Geräte 72 in eine externe Speichereinrichtung gespeichert werden. Eine programmierbare Maschinensteuereinrichtung (PMC) 16 steuert Peripheriegeräte (z.B. einen Aktor, wie etwa eine Roboterhand zum Werkzeugaustausch) der Werkzeugmaschine durch Ausgeben von Signalen an diese über eine I/O- (Ein-/Ausgabe-) Einheit 17 gemäß einem in der numerischen Steuervorrichtung 1 gespeicherten Sequenzprogramm. Bei Empfang von Signalen von verschiedenen Schaltern eines am Hauptkörper der Werkzeugmaschine angeordneten Bedienpanels verarbeitet die PMC 16 außerdem die Signale nach Bedarf und übermittelt sie an die CPU 11.
-
Die CRT-/MDI-Einheit 70 ist eine manuelle Dateneingabeeinrichtung, die mit einer Anzeigeeinrichtung, einer Tastatur und dergleichen ausgestattet ist, und eine Schnittstelle 18 empfängt Befehle und Daten von der Tastatur der CRT-/MDI-Einheit 70 und übermittelt sie an die CPU 11. Eine Schnittstelle 19 ist mit einem Bedienpanel 71 verbunden, das mit einem manuellen Impulsgeber und dergleichen ausgestattet ist.
-
Eine Achsensteuerschaltung 30 zum Steuern von Achsen der Werkzeugmaschine empfängt einen Bewegungsbefehlsbetrag jeder Achse von der CPU 11 und gibt einen Bewegungsbefehl für die Achse an einen Servoverstärker 40 aus. Bei Empfang dieses Befehls treibt der Servoverstärker 40 einen Servomotor 50 an, um die Achse der Werkzeugmaschine zu bewegen. Der Servomotor 50 für die Achse weist einen eingebauten Positions-/Drehzahlsensor auf und ein Positions-/Drehzahlrückkopplungssignal wird von diesem Positions-/Drehzahlsensor zur Achsensteuerschaltung 30 zurückgeführt, um eine Positions-/Drehzahlrückkopplungsregelung durchzuführen.
-
In der Hardwarekonfigurationsdarstellung von 1 sind die Achsensteuerschaltung 30, der Servoverstärker 40 und der Servomotor 50 jeweils so dargestellt, dass ihre Anzahl lediglich eins beträgt. Tatsächlich können diese Elemente jedoch in einer der Anzahl der Achsen der Werkzeugmaschine entsprechenden Anzahl bereitgestellt werden. Außerdem ist die Positions-/Drehzahlrückkopplung vom Servomotor 50 nicht in 1 dargestellt.
-
Eine Spindelsteuerschaltung 60 empfängt einen Spindeldrehbefehl für die Werkzeugmaschine und gibt ein Spindeldrehzahlsignal an einen Spindelverstärker 61 aus. Bei Empfang des Spindeldrehzahlsignals dreht der Spindelverstärker 61 einen Spindelmotor 62 der Werkzeugmaschine mit einer vorgegebenen Drehzahl, wodurch ein Werkzeug angetrieben wird.
-
Ein Positionscodierer 63 ist mit dem Spindelmotor 62 durch Zahnräder, einen Riemen oder dergleichen verbunden. Der Positionscodierer 63 gibt in Synchronisation mit der Drehung einer Spindel Rückkopplungsimpulse aus, wobei die Rückkopplungsimpulse durch die CPU 11 gelesen werden.
-
2 zeigt ein schematisches Funktionsblockdiagramm gemäß der einen Ausführungsform, wobei eine erweiterte Vorausschaufunktion der vorliegenden Erfindung als Systemprogramm in der in 1 gezeigten numerischen Steuervorrichtung installiert ist. Jede der in 2 gezeigten Funktionseinrichtungen kann erhalten werden, wenn die in 1 gezeigte CPU 11 das Systemprogramm ausführt, um jede Funktion bereitzustellen. Die numerische Steuervorrichtung 1 der vorliegenden Ausführungsform umfasst eine Vorausschau-/Analyseeinheit 100, eine Programmausführungseinheit 110 und eine Vorausschauunterdrückungseinheit 120. Außerdem umfasst die Vorausschau-/Analyseeinheit 100 eine Codeanalyseeinheit 101, eine Neustartbedingungsanalyseeinheit 102 und eine Ausführungsdatenerzeugungseinheit 103, während die Programmausführungseinheit 110 eine Vorausschauunterdrückungsbestätigungseinheit 111, eine Neustartbedingungsbestimmungseinheit 112 und eine Vorausschauvorgängerneustarteinheit 113 umfasst.
-
Die Vorausschau-/Analyseeinheit 100 führt eine sequenzielle Vorausschau und Analyse von Blöcken zum Anweisen des Betriebs der zu steuernden Werkzeugmaschine aus einem im nichtflüchtigen Speicher 14 (in 2 nicht gezeigt) gespeicherten Bearbeitungsprogramm 200 durch. Dann erzeugt die Vorausschau-/Analyseeinheit 100 basierend auf dem Ergebnis der Analyse Ausführungsdaten, die den Inhalten der Blöcke entsprechen, und speichert diese in einer Ausführungsdatenspeichereinheit 210. Die Programmausführungseinheit 110 liest die Ausführungsdaten aus der Ausführungsdatenspeichereinheit 210 aus und führt basierend auf den Ausführungsdaten tatsächliche Betriebsbefehle für den Servomotor 50, den Spindelmotor 62 und die Peripheriegeräte der Werkzeugmaschine aus, wodurch die Werkzeugmaschine so gesteuert wird, dass sie gemäß dem Bearbeitungsprogramm 200 arbeitet. Außerdem löscht die Programmausführungseinheit 110 die ausgeführten Ausführungsdaten aus der Ausführungsdatenspeichereinheit 210.
-
Die Codeanalyseeinheit 101 analysiert Codes, die in den vorausgeschauten Blöcken aus dem Bearbeitungsprogramm 200 enthalten sind, und weist die Ausführungsdatenerzeugungseinheit 103 an, eine dem Typ der einzelnen Codes entsprechende Verarbeitung durchzuführen. Bei Empfang des Befehls von der Codeanalyseeinheit 101 erzeugt die Ausführungsdatenerzeugungseinheit 103 Ausführungsdaten, die den durch die Codeanalyseeinheit 101 analysierten Codes entsprechen.
-
Wenn hingegen ein die Vorausschau stoppender Code in den analysierten Codes enthalten ist, wird die Neustartbedingungsanalyseeinheit 102 angewiesen, den den betreffenden Code enthaltenen Block zu verarbeiten.
-
Bei Empfang des Befehls von der Codeanalyseeinheit 101 analysiert die Neustartbedingungsanalyseeinheit 102 den die Vorausschau stoppenden Code und weist basierend auf dem Ergebnis der Analyse die Vorausschauunterdrückungseinheit 120 an, die Unterdrückung der Vorausschau zu starten. Außerdem erzeugt die Neustartbedingungsanalyseeinheit 102 durch den betreffenden Code angewiesene Neustartbedingungsdaten und zeichnet die Daten in einer Neustartbedingungsdatenspeichereinheit 220 auf. Wie in 3 gezeigt, kann beispielsweise eine Vorausschauneustartbedingung, die für den Vorausschaustoppcode angewiesen werden kann, in einem Format zum Vorgeben des verbleibenden Bewegungsbetrags und Koordinatenwerts der Achse, des Abweichungsbetrags und Drehmoments des Servomotors und des Signaleingangswerts beschrieben werden. Diese Werte sind in 3 rein beispielhaft dargestellt und können innerhalb eines Auslegungsbereichs geeignet festgelegt werden, so dass eine beliebige Bedingung als Neustartbedingung angewiesen werden kann, wobei die Neustartbedingung so beschrieben werden kann, dass eine Mehrzahl Neustartbedingungen aufgezeichnet oder ein logischer Ausdruck direkt beschrieben werden kann.
-
Zum anderen bestimmt die Vorausschauunterdrückungsbestätigungseinheit 111 basierend auf der Vorausschauunterdrückungseinheit 120, der Neustartbedingungsdatenspeichereinheit 220 und dergleichen, ob die Vorausschau im aktuellen Verarbeitungszyklus gestoppt wurde. Wenn die Vorausschau gestoppt wurde, weist die Vorausschauunterdrückungsbestätigungseinheit 111 die Neustartbedingungsbestimmungseinheit 112 an, die Neustartbedingung zu überprüfen.
-
Bei Empfang des Befehls von der Vorausschauunterdrückungsbestätigungseinheit 111 nimmt die Neustartbedingungsbestimmungseinheit 112 auf die in der Neustartbedingungsdatenspeichereinheit 220 aufgezeichneten Neustartbedingungsdaten Bezug, erhält durch die Neustartbedingungsdaten zu bestimmende Werte (verbleibender Bewegungsbetrag und Koordinatenwert der Achse, etc.) von verschiedenen Teilen der numerischen Steuervorrichtung 1 und bestimmt, ob die erhaltenen Werte die durch die Neustartbedingungsdaten festgelegte Neustartbedingung erfüllen. Wenn die erhaltenen Werte die durch die Neustartbedingungsdaten festgelegte Neustartbedingung erfüllen, wird die Vorausschauvorgängerneustarteinheit 113 angewiesen, die Vorausschauneustartverarbeitung durchzuführen. Wenn eine Mehrzahl Neustartbedingungen in der Neustartbedingungsdatenspeichereinheit 220 aufgezeichnet ist, kann die Neustartbedingungsbestimmungseinheit 112 dazu eingerichtet sein, eine Bestimmung der durch die einzelnen Neustartbedingungsdaten festgelegten Neustartbedingungen durchzuführen und die Vorausschauvorgängerneustarteinheit 113 anzuweisen, die Vorausschauneustartverarbeitung nur dann durchzuführen, wenn alle Neustartbedingungen erfüllt sind.
-
Bei Empfang des Befehls von der Neustartbedingungsbestimmungseinheit 112 weist die Vorausschauvorgängerneustarteinheit 113 die Vorausschauunterdrückungseinheit 120 an, die Unterdrückung der Vorausschau zu stoppen (oder die Vorausschau neu zu starten) und löscht die in der Neustartbedingungsdatenspeichereinheit 220 gespeicherten Neustartbedingungsdaten.
-
Es folgt eine Beschreibung eines Betriebsbeispiels, bei dem eine Schleifmaschine durch die unter Bezugnahme auf 2 beschriebene numerische Steuervorrichtung 1 gesteuert wird.
-
Beim Abrichten eines Schleifsteins arbeitet die Schleifmaschine in der folgenden Reihenfolge.
- Vorgang 1: Die z-Achse wird in eine negative oder positive Richtung bewegt.
- Vorgang 2: Ein Berührungssensor wird am Endpunkt der z-Achse überprüft.
- Vorgang 3-1: Wenn der Kontakt zwischen dem Schleifstein und einer Abrichteinrichtung nicht durch den Berührungssensor erfasst wird, wird die x-Achse bewegt, um den Schleifstein und die Abrichteinrichtung einander näherzubringen, woraufhin der Betrieb zu Vorgang 1 zurückkehrt.
- Vorgang 3-2: Wenn der Kontakt zwischen dem Schleifstein und der Abrichteinrichtung durch den Berührungssensor erfasst wird, wird die Bewegung dort für eine gewisse Zeitspanne zum Abrichten gestoppt, woraufhin der Betrieb zu Vorgang 1 zurückkehrt.
-
Obgleich die Positionserreichungsüberprüfung durch den Berührungssensor aufgrund der Möglichkeit einer falschen Erfassung während der Bewegung der z-Achse nicht ausgeführt werden kann, wird angenommen, dass die Erfassung korrekt ist, wenn die z-Achse beinahe eine In-Positionsbreite des Endpunkts erreicht. Bei diesem Betriebsbeispiel ist, da der Berührungssensor in Vorgang 2 durch eine Makroanweisung überprüft wird, zwischen der Bewegung der z-Achse und der Makroanweisung ein Vorausschauunterdrückungsbefehl (G53P1, G04.1 oder dergleichen) erforderlich. Wenn der Vorausschauunterdrückungsbefehl ausgegeben wird, kann die Makroanweisung jedoch erst ausgeführt werden, wenn die z-Achse stoppt. Wenn der Berührungssensor dann überprüft werden kann, wenn sich die z-Achse ein Stück weit dem Endpunkt nähert, können diese Blöcke (x-Achsenbewegungsbefehle) während und nach der Berührungssensorüberprüfung vorausgeschaut werden, so dass die Zyklusdauer verkürzt werden kann.
-
4 ist eine Darstellung, die ein Programmbeispiel dieses Betriebsbeispiels zeigt. Wenn die Schleifmaschine durch die in 2 gezeigte numerische Steuervorrichtung 1 unter Verwendung eines in 4 gezeigten Programms O0010 gesteuert wird, kann die Vorausschau gemäß den folgenden schematischen Verarbeitungsvorgängen gestoppt und neu gestartet werden.
- Vorgang A1: Die Vorausschau-/Analyseeinheit 100 schaut einen Block M100Z5.0 aus dem Programm voraus.
- Vorgang A2: Die Codeanalyseeinheit 101 analysiert den Block M100Z5.0 und bestimmt, dass dieser Block einen Code (M100) enthält, der die Vorausschau stoppt.
- Vorgang A3: Die Neustartbedingungsanalyseeinheit 102 extrahiert eine Neustartbedingung Z5.0 (für einen Neustart mit einem verbleibenden Bewegungsbetrag von 5,0 mm) aus dem Block M100Z5.0, erzeugt basierend auf der extrahierten Bedingung Neustartbedingungsdaten und zeichnet die Daten in der Neustartbedingungsdatenspeichereinheit 220 auf.
- Vorgang A4: Die Vorausschauunterdrückungseinheit 120 unterdrückt danach die Vorausschau.
- Vorgang A5: Die Programmausführungseinheit 110 startet basierend auf in der Ausführungsdatenspeichereinheit 210 gespeicherten Ausführungsdaten eines Blocks G00Z100.0 die Ausführungsverarbeitung.
- Vorgang A6: Die Vorausschauunterdrückungsbestätigungseinheit 111 bestätigt basierend auf der Vorausschauunterdrückungseinheit 120 und der Neustartbedingungsdatenspeichereinheit 220, dass die Vorausschau unterdrückt ist.
- Vorgang A7: Wenn die Vorausschau unterdrückt ist, bestimmt die Neustartbedingungsbestimmungseinheit 112, ob die Neustartbedingung durch die z-Achse erfüllt wird. Wenn die Neustartbedingung durch die z-Achse erfüllt wird (oder wenn der verbleibende Bewegungsbetrag der z-Achse nicht mehr als 5,0 mm beträgt), weist die Neustartbedingungsbestimmungseinheit 112 die Vorausschauvorgängerneustarteinheit 113 an, die Vorausschauneustartverarbeitung durchzuführen.
- Vorgang A8: Die Vorausschauvorgängerneustarteinheit 113 weist die Vorausschauunterdrückungseinheit 120 an, die Unterdrückung der Vorausschau zu stoppen.
- Vorgang A9: Die Vorausschauunterdrückungseinheit 120 stoppt die Unterdrückung der Vorausschau. Daraufhin startet die Vorausschau-/Analyseeinheit 100 die Programmvorausschau neu.
-
Wenn diese Vorgänge durchgeführt werden, kann der Berührungssensor überprüft werden, bevor die Bewegung der z-Achse abgeschlossen ist. Somit kann durch Verwendung der numerischen Steuervorrichtung mit der vorstehend beschriebenen Konfiguration ein Betrieb zum „Überprüfen des Berührungssensors (oder Ausführen der Makroanweisung) in der Nähe des Endpunkts der z-Achse“ ausgeführt werden, so dass die Zyklusdauer im Vergleich zum Stand der Technik verkürzt werden kann.
-
5 zeigt ein schematisches Funktionsblockdiagramm gemäß einer anderen Ausführungsform, wobei die erweiterte Vorausschaufunktion der vorliegenden Erfindung als Systemprogramm in der in 1 gezeigten numerischen Steuervorrichtung 1 installiert ist. Die in 5 gezeigte numerische Steuervorrichtung 1 ist eine numerische Steuervorrichtung, die einem Hochgeschwindigkeits-Vorausschauunterdrückungsbefehl (z.B. G04.1) entspricht und zusätzlich zu den einzelnen Funktionseinrichtungen der unter Bezugnahme auf 2 beschriebenen numerische Steuervorrichtung eine Vorausschau-/Analyseaussetzungseinheit 104, eine Vorausschau-/Analyseneustartbestimmungseinheit 105 und eine Vorausschau-/Analyseneustarteinheit 106 umfasst.
-
Eine Vorausschau-/Analyseeinheit 100, eine Codeanalyseeinheit 101 und eine Ausführungsdatenerzeugungseinheit 103 der vorliegenden Ausführungsform werden im Wesentlichen auf die gleiche Weise wie diejenigen der unter Bezugnahme auf 2 beschriebenen numerischen Steuervorrichtung betrieben.
-
Bei Empfang des Befehls von der Codeanalyseeinheit 101 analysiert die Neustartbedingungsanalyseeinheit 102 den die Vorausschau stoppenden Code und weist basierend auf dem Ergebnis der Analyse die Vorausschau-/Analyseaussetzungseinheit 104 an, die Unterdrückung der Vorausschau zu starten. Außerdem erzeugt die Neustartbedingungsanalyseeinheit 102 durch den betreffenden Code angewiesene Neustartbedingungsdaten und zeichnet die Daten in einer Neustartbedingungsdatenspeichereinheit 220 auf.
-
Bei Empfang des Befehls von der Neustartbedingungsanalyseeinheit 102 setzt die Vorausschau-/Analyseaussetzungseinheit 104 die Vorausschau aus einem Bearbeitungsprogramm 200 aus.
-
Die Vorausschau-/Analyseneustartbestimmungseinheit 105 bestimmt basierend auf dem Befehl von der Vorausschauvorgängerneustarteinheit 113, ob die Vorausschau neu gestartet werden kann.
-
Die Vorausschau-/Analyseneustarteinheit 106 startet basierend auf dem Ergebnis der Bestimmung durch die Vorausschau-/Analyseneustartbestimmungseinheit 105 die Vorausschau aus dem Bearbeitungsprogramm 200 neu.
-
Eine Programmausführungseinheit 110, eine Vorausschauunterdrückungsbestätigungseinheit 111 und eine Neustartbedingungsbestimmungseinheit 112 der vorliegenden Ausführungsform werden hingegen im Wesentlichen auf die gleiche Weise wie diejenigen der unter Bezugnahme auf 2 beschriebenen numerischen Steuervorrichtung betrieben.
-
Bei Empfang des Befehls von der Neustartbedingungsbestimmungseinheit 112 meldet eine Vorausschauvorgängerneustarteinheit 113 der vorliegenden Ausführungsform der Vorausschau-/Analyseneustartbestimmungseinheit 105, dass ein Neustart der Vorausschau möglich ist und löscht die in der Neustartbedingungsdatenspeichereinheit 220 gespeicherten Neustartbedingungsdaten.
-
Es folgt eine Beschreibung eines Betriebsbeispiels, bei dem eine Schleifmaschine durch die unter Bezugnahme auf 5 beschriebene numerische Steuervorrichtung 1 gesteuert wird.
-
6 ist eine Darstellung, die ein Programmbeispiel dieses Betriebsbeispiels zeigt. Wenn die Schleifmaschine durch die in 5 gezeigte numerische Steuervorrichtung 1 unter Verwendung eines in 6 gezeigten Programms O0020 gesteuert wird, kann die Vorausschau gemäß den folgenden schematischen Verarbeitungsvorgängen gestoppt und neu gestartet werden.
- Vorgang B1: Die Vorausschau-/Analyseeinheit 100 schaut einen Block G04.1Z5.0 aus dem Programm voraus.
- Vorgang B2: Die Codeanalyseeinheit 101 analysiert den Block G04.1Z5.0 und bestimmt, dass dieser Block einen Code (G04.1) enthält, der die Vorausschau stoppt.
- Vorgang B3: Die Neustartbedingungsanalyseeinheit 102 extrahiert eine Neustartbedingung Z5.0 (für einen Neustart mit einem verbleibenden Bewegungsbetrag von 5,0 mm) aus dem Block G04.1Z5.0, erzeugt basierend auf der extrahierten Bedingung Neustartbedingungsdaten und zeichnet die Daten in der Neustartbedingungsdatenspeichereinheit 220 auf.
- Vorgang B4: Die Vorausschau-/Analyseaussetzungseinheit 104 setzt danach die Vorausschau aus.
- Vorgang B5: Die Programmausführungseinheit 110 startet basierend auf in der Ausführungsdatenspeichereinheit 210 gespeicherten Ausführungsdaten eines Blocks G00Z100.0 die Ausführungsverarbeitung.
- Vorgang B6: Die Vorausschauunterdrückungsbestätigungseinheit 111 bestätigt basierend auf der Neustartbedingungsdatenspeichereinheit 220 und dergleichen, dass die Vorausschau unterdrückt ist.
- Vorgang B7: Wenn die Vorausschau unterdrückt ist, bestimmt die Neustartbedingungsbestimmungseinheit 112, ob die Neustartbedingung durch die z-Achse erfüllt wird. Wenn die Neustartbedingung durch die z-Achse erfüllt wird (oder wenn der verbleibende Bewegungsbetrag der z-Achse nicht mehr als 5,0 mm beträgt), weist die Neustartbedingungsbestimmungseinheit 112 die Vorausschauvorgängerneustarteinheit 113 an, die Vorausschauneustartverarbeitung durchzuführen.
- Vorgang B8: Die Vorausschauvorgängerneustarteinheit 113 meldet der Vorausschau-/Analyseneustartbestimmungseinheit 105, dass ein Neustart der Vorausschau möglich ist.
- Vorgang B9: Die Vorausschau-/Analyseneustartbestimmungseinheit 105 bestimmt, dass die Vorausschau neu gestartet werden kann und weist die Vorausschau-/Analyseneustarteinheit 106 an, die Vorausschau neu zu starten.
- Vorgang B10: Die Vorausschau-/Analyseneustarteinheit 106 führt die Vorausschauneustartverarbeitung durch. Daraufhin startet die Vorausschau-/Analyseeinheit 100 die Programmvorausschau neu.
-
Wenn diese Vorgänge durchgeführt werden, kann der Berührungssensor überprüft werden, bevor die Bewegung der z-Achse abgeschlossen ist. Somit kann durch Verwendung der numerischen Steuervorrichtung mit der vorstehend beschriebenen Konfiguration auch dann, wenn der Hochgeschwindigkeits-Vorausschauunterdrückungsbefehl (z.B. G04.1) ausgeführt wird, ein Betrieb zum „Überprüfen des Berührungssensors (oder Ausführen der Makroanweisung) in der Nähe des Endpunkts der z-Achse“ ausgeführt werden, so dass die Zyklusdauer im Vergleich zum Stand der Technik verkürzt werden kann.
-
Obgleich hierin Ausführungsformen beschrieben sind, ist die Erfindung nicht auf die vorstehend beschriebenen Ausführungsformen beschränkt und kann auf verschiedene Art und Weise geeignet abgewandelt und ausgeführt werden.