-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine numerische Steuerung, die eine Werkzeugmaschine steuert, und insbesondere eine numerische Steuerung, die eine Funktion umfasst, um ein Werkzeug während der Bearbeitung zurückzuziehen, um Zusammenstöße mit anderen Elementen zu vermeiden.
-
Allgemeiner Stand der Technik
-
Wenn bei einer numerisch gesteuerten Werkzeugmaschine während der Bearbeitung basierend auf der Ausführung eines Bearbeitungsprogramms die Bearbeitung aus einem beliebigen Grund oder einer beliebigen Ursache unterbrochen wird, muss ein Werkzeug in eine Position zurückgezogen werden, die für den Betrieb sicher ist, um den Grund oder die Ursache der Unterbrechung zu bestimmen und Wiederherstellungsmaßnahmen zu treffen. Bei diesem Rückzugvorgang muss das Werkzeug zurückgezogen werden, um einen Zusammenstoß des Werkzeugs und des Zielwerkstücks für die Bearbeitung während des Rückzugvorgangs zu vermeiden.
-
Wie beispielsweise in 12 abgebildet, kann während ein Loch 3 in einem Werkstück W gebildet wird, diese Bearbeitung unterbrochen werden, und ein Werkzeug 1, das an einer Hauptspindel 2 angebracht ist, kann zurückgezogen werden. In diesem Fall kann ein einfacher Rückzug des Werkzeugs 1 in nur einer Richtung verursachen, dass das Werkzeug 1 und das Werkstück W zusammenstoßen, was zu einer möglichen Beschädigung des Werkstücks W oder des Werkzeugs 1 führen würde. Somit wird ein Verfahren benötigt, um das Werkzeug 1 zurückzuziehen und dabei einen möglichen Zusammenstoß zu vermeiden.
-
Die
japanische Patent-Auslegungsschrift Nr. 2007-188170 beschreibt ein Verfahren zum Zurückziehen eines Werkzeugs, wobei ein möglicher Zusammenstoß vermieden wird. Bei dem Verfahren wird, wenn ein Bearbeitungsprogramm ausgeführt wird, ein Werkzeugrückzugprogramm, das eine Richtung entgegen einer Richtung, die in dem ausgeführten Programm vorkommt, umfasst, ständig berechnet und gesichert. Wenn die Bearbeitung unterbrochen wird, wird das Werkzeug über eine gegebene Entfernung in einer Richtung, die zu einem Werkzeugbewegungsvektor, der zu diesem Zeitpunkt erzielt wird, rechtwinklig ist, bewegt. Dann wird das bisher gesicherte Werkzeugrückzugprogramm ausgeführt, um das Werkzeug in einer Richtung entgegen der Richtung einer Bearbeitungsbahn zu bewegen, um das Werkzeug in eine Referenzposition zurückzuziehen. Somit wird das Werkzeug zurückgezogen, wobei ein Zusammenstoß des Werkstücks vermieden wird.
-
Wenn es bei numerisch gesteuerten Werkzeugmaschinen während der Bearbeitung dazu kommt, dass die Bearbeitung unterbrochen und das Werkzeug zurückgezogen werden muss, muss das Werkzeug zurückgezogen werden, um Zusammenstöße mit anderen Elementen zu vermeiden.
-
Bei dem Verfahren, das in der
japanischen Patentanmeldungs-Auslegeschrift Nr. 2007-188170 beschrieben wird, muss das Werkzeugrückzugprogramm, das die Bewegungsrichtung entgegen der Bewegungsrichtung, die in dem ausgeführten Bearbeitungsprogramm vorkommt, umfasst, ständig berechnet und gesichert werden. Dies führt zu dem Bedarf an Speichermitteln, in denen das Werkzeugrückzugprogramm gespeichert und gesichert wird, und die benötigte Kapazität der Speichermittel nimmt im Einklang mit der Größe des NC-Bearbeitungsprogramms zu. Falls das Speichermittel über einen unzureichenden Speicherplatz verfügt, kann das Werkzeugrückzugprogramm nicht gespeichert werden, was ungünstigerweise einen Rückzug in eine gewünschte Position verhindert.
-
Ferner ist je nach dem Inhalt des Bearbeitungsprogramms die Bewegung in der entgegengesetzten Richtung entlang der Bearbeitungsbahn zur Bearbeitung (Ausführung des Bearbeitungsprogramms in der entgegengesetzten Richtung) nicht immer angemessen. Beispielsweise wird bei der Bearbeitung eines Gewindelochs verhindert, dass eine Drehposition (Phase) und eine Zustellposition des Werkzeugs, für das die Bearbeitung angehalten wurde, genau bestimmt werden. Somit kann ein bearbeiteter Gewindeabschnitt beschädigt werden, wenn das Bearbeitungsprogramm in der entgegengesetzten Richtung ausgeführt wird, um die Bewegung in der entgegengesetzten Richtung entlang der Bearbeitungsbahn auszuführen.
-
Zudem kann es sein, dass durch das Verfahren, das darin besteht, das Werkzeug über die gegebene Entfernung in der Richtung rechtwinklig zu dem Werkzeugbewegungsvektor zu bewegen und dann das Werkzeug in der Richtung entgegen der Richtung der Bearbeitungsbahn zu bewegen, um das Werkzeug in die Referenzposition zurückzuziehen, wie es in der
japanischen Patentanmeldungs-Auslegeschrift Nr. 2007-188170 beschrieben wird, der Zusammenstoß nicht vermieden wird.
-
Wenn beispielsweise eine Bohrung unter Verwendung einer Bearbeitungsbahn L vorgenommen wird, die in dem Bearbeitungsprogramm angegeben ist, kann die Bearbeitung an einem Punkt Q1 vor der Beendigung angehalten werden und ein Werkzeug
1 kann zurückgezogen werden, wie in
13 abgebildet. Wenn in diesem Fall das Werkzeug
1 über eine gegebene Entfernung in einer Richtung, die zu einem Werkzeugbewegungsvektor (Punkt Q1') rechtwinklig ist, bewegt und verschoben wird und entlang einer Bahn RL für einen Rückzugvorgang, der darin besteht, das Werkzeug unter Verwendung eines Werkzeugrückzugprogramms, das eine Bewegungsrichtung entgegen einer Bewegungsrichtung in dem Bearbeitungsprogramm umfasst, zu bewegen, wie in der
japanischen Patentanmeldungs-Auslegeschrift Nr. 2007-188170 beschrieben, stößt das Werkzeug
1 an einem Punkt Q2 mit dem Werkstück W zusammen. Dies verhindert ungünstigerweise, dass das Werkzeug zurückgezogen und ein Zusammenstoß vermieden wird.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Eine Aufgabe der vorliegenden Erfindung besteht darin, eine numerische Steuerung bereitzustellen, die eine Werkzeugrückzugfunktion umfasst, um den Rückzug eines Werkzeugs während einer Bearbeitung durchzuführen, ohne einen Zusammenstoß zu verursachen.
-
Eine numerische Steuerung gemäß der vorliegenden Erfindung steuert eine Werkzeugmaschine und umfasst: eine Einheit zum Einstellen einer Bedingung zum Bestimmen eines Rückzugblocks, die konfiguriert ist, um eine Bedingung einzustellen, um als Rückzugblock einen Block in einem Bearbeitungsprogramm auszuwählen, der ein Werkzeug in eine entgegengesetzte Richtung entlang einer Sollbewegungsbahn bewegt, wenn die Bearbeitung während eines Bearbeitungsvorgangs unterbrochen und das Werkzeug zurückgezogen wird; eine Bestimmungseinheit, die konfiguriert ist, um zu bestimmen, wenn die Bearbeitung ausgeführt wird, um das Bearbeitungsprogramm auszuführen, ob ein decodierter Block in dem Bearbeitungsprogramm der Rückzugblock ist oder nicht, der die Bedingung erfüllt, die von der Einheit zum Einstellen einer Bedingung zum Bestimmen eines Rückzugblocks eingestellt wird; eine Einheit zum Lesen von ausführbaren Formatdaten, die konfiguriert ist, um ausführbare Formatdaten zu lesen, die sich aus der Decodierung des Blocks ergeben, von dem durch die Bestimmungseinheit bestimmt wird, dass er der Rückzugblock ist; eine Einheit zum Lesen einer Koordinatenposition eines Endpunktes, die konfiguriert ist, um eine Endpunkt-Koordinatenposition zu lesen, die in dem Block angegeben wird, von dem durch die Bestimmungseinheit bestimmt wird, dass er der Rückzugblock ist; eine Speichereinheit, die konfiguriert ist, um die gelesenen ausführbaren Formatdaten und die Endpunkt-Koordinatenposition zu speichern; und eine Werkzeugrückzugeinheit, die konfiguriert ist, wenn ein Werkzeugrückzugbefehl eingegeben wird, um das Werkzeug von einer aktuellen Werkzeugposition in die Endpunkt-Koordinatenposition des Rückzugblocks, der in der Speichereinheit gespeichert ist, zu bewegen, um dann die Bewegungsrichtung für die ausführbaren Formatdaten des Rückzugblocks, die in dem Speicher gespeichert sind, umzukehren, und um die ausführbaren Formatdaten auszuführen, um das Werkzeug zurückzuziehen.
-
Die Speichereinheit kann in der Lage sein, die ausführbaren Formatdaten und die Endpunkt-Koordinatenposition für eine Vielzahl von Rückzugblöcken zu speichern. Die Werkzeugrückzugeinheit kann konfiguriert sein, um Rückzugblockinformationen, die in der Speichereinheit gespeichert sind, in einer umgekehrten Reihenfolge als eine Speicherreihenfolge zu lesen, um das Werkzeug von einer Werkzeugposition, die eingenommen wird, wenn der Werkzeugrückzugbefehl eingegeben wird, in die Endpunkt-Koordinatenposition des gelesenen Rückzugblocks zu bewegen, und um die Bewegungsrichtung für die ausführbaren Formatdaten des Rückzugblocks umzukehren, um die ausführbaren Formatdaten auszuführen, um dann das Werkzeug in die Endpunkt-Koordinatenposition für den gelesenen Rückzugblock zu bewegen, und um dann die Bewegungsrichtung für die ausführbaren Formatdaten des Rückzugblocks umzukehren, um die Ausführung der ausführbaren Formatdaten zu wiederholen, bis die ausführbaren Formatdaten des letzten gelesenen Rückzugblocks ausgeführt sind, wobei die Bewegungsrichtung für die ausführbaren Formatdaten umgekehrt ist, wodurch das Werkzeug zurückgezogen wird.
-
Die Einheit zum Einstellen einer Bedingung zum Bestimmen eines Rückzugblocks kann eine Laufnummer oder eine Zeilennummer eines Blocks in dem Bearbeitungsprogramm, der als Rückzugblock auszuwählen ist, einstellen, und die Bestimmungseinheit kann bestimmen, ob ein Block der Rückzugblock ist oder nicht, basierend auf der eingestellten Laufnummer oder der Zeilennummer in dem Bearbeitungsprogramm.
-
Die Einheit zum Einstellen einer Bedingung zum Bestimmen eines Rückzugblocks kann als Auswahlbedingungen für den Rückzugblock eine Vielzahl von Informationen einstellen, die in den Informationen jedes Blocks des Bearbeitungsprogramms enthalten sind und die es ermöglichen, den Block als Rückzugblock zu bezeichnen. Die Bestimmungseinheit kann bestimmen, ob die Informationen des decodierten Blocks alle eingestellten Auswahlbedingungen erfüllen oder nicht, wodurch bestimmt wird, ob der Block der Rückzugblock ist oder nicht. Die Auswahlbedingungen können mindestens einen Positionierungsbefehl und eine Achse, auf die der Positionierungsbefehl abzielt, und eine Bewegungsentfernung derselben umfassen.
-
Der Rückzugblock kann statt unter Verwendung der Einheit zum Einstellen einer Bedingung zum Bestimmen eines Rückzugblocks durch das Hinzufügen eines vordefinierten Codes zu einem Block in dem Bearbeitungsprogramm bezeichnet werden, und die Bestimmungseinheit kann den Block, zu dem der vordefinierte Code hinzugefügt wurde, als Rückzugblock bestimmen.
-
Die Einheit zum Einstellen einer Bedingung zum Bestimmen eines Rückzugblocks kann als eine Bedingung für die Auswahl als Rückzugblock einen nächstgelegenen Block für den Positionierungsbefehl vor einem Befehl zum Ausgleichen eines Werkzeugdurchmessers, einen Block für den Positionierungsbefehl nach dem Befehl zum Ausgleichen eines Werkzeugdurchmessers oder einen Block für den Positionierungsbefehl sofort vor einem Block mit einem Bearbeitungsmodus-Umschaltcode, der durch einen zusammengesetzten Festzyklusbefehl dargestellt wird, einstellen, und die Bestimmungseinheit kann bestimmen, ob ein Block ein Rückzugblock ist oder nicht, indem sie bestimmt, ob die Informationen des decodierten Blocks die Bedingung erfüllen oder nicht, die von der Einheit zum Einstellen einer Bedingung zum Bestimmen eines Rückzugblocks eingestellt ist.
-
Die Bestimmungseinheit kann eine Vielzahl von Verfahren zum Bestimmen und Auswählen eines Rückzugblocks umfassen. Die Einheit zum Einstellen einer Bedingung zum Bestimmen eines Rückzugblocks kann das Verfahren zum Bestimmen und Auswählen eines Rückzugblocks und die Bestimmungsbedingungen einstellen. Die Bestimmungseinheit kann bestimmen, ob der Block ein Rückzugblock ist oder nicht, basierend auf dem Verfahren, das durch die Einheit zum Einstellen einer Bedingung zum Bestimmen eines Rückzugblocks ausgewählt und eingestellt wird.
-
Die vorliegende Erfindung ermöglicht es, das Werkzeug mühelos zurückzuziehen, wobei ein Zusammenstoß mit anderen Elementen vermieden wird, wenn das Werkzeug während der Bearbeitung zurückgezogen werden muss, und ermöglicht es, einen Rückzugvorgang auszuführen, ohne einen Zusammenstoß zu verursachen, und zwar selbst bei einem Bearbeitungsprogramm, das einen Teil umfasst, für den das Zurückziehen des Werkzeugs in der entgegengesetzten Richtung entlang der Bearbeitungsbahn von Nachteil ist. Ferner kann das Werkzeug zuverlässig in die gewünschte Position zurückgezogen werden, selbst bei einem Bearbeitungsprogramm mit einer großen Anzahl von Blöcken.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Es zeigen:
-
1 ein Diagramm, das ein Funktionsprinzip der vorliegenden Erfindung unter Verwendung einer Bohrung als Beispiel abbildet;
-
2 ein Funktionsblockdiagramm einer numerischen Steuerung in einer Ausführungsform der vorliegenden Erfindung;
-
3 ein Diagramm eines Beispiels, das eine Beziehung zwischen einem Rückzugblock, der bei der vorliegenden Erfindung bezeichnet wird, und einem Befehl zum Ausgleichen eines Werkzeugdurchmessers abbildet;
-
4 ein Diagramm eines Beispiels, das eine Beziehung zwischen dem Rückzugblock, der bei der vorliegenden Erfindung bezeichnet wird, und einem zusammengesetzten Festzyklusbefehl abbildet;
-
5 ein Ablaufschema, das einen Algorithmus eines Prozesses zum Bestimmen eines Rückzugblocks bei einer Ausführungsform der vorliegenden Erfindung abbildet, der ausgeführt wird, wenn der Rückzugblock unter Verwendung einer Laufnummer oder dergleichen bezeichnet wird;
-
6 ein Ablaufschema, das einen Algorithmus eines Prozesses zum Bestimmen eines Rückzugblocks bei einer Ausführungsform der vorliegenden Erfindung abbildet, der ausgeführt wird, wenn der Rückzugblock unter diversen Bedingungen ausgewählt wird;
-
7 ein Ablaufschema, das einen Algorithmus eines Prozesses zum Bestimmen eines Rückzugblocks bei einer Ausführungsform der vorliegenden Erfindung abbildet, der ausgeführt wird, wenn dem Bearbeitungsprogramm ein Code bereitgestellt wird, der den Rückzugblock angibt;
-
8 ein Ablaufschema, das einen Algorithmus eines Prozesses bei einer Ausführungsform der vorliegenden Erfindung abbildet, bei dem der Rückzugblock basierend auf einer Kombination eines Positionierungsbefehls, des Befehls zum Ausgleichen eines Werkzeugdurchmessers oder des zusammengesetzten Festzyklusbefehls bezeichnet wird;
-
9 ein Ablaufschema, das einen Algorithmus eines Prozesses zum Lesen von Rückzugblockinformationen bei einer Ausführungsform der vorliegenden Erfindung abbildet;
-
10 ein Ablaufschema, das einen Algorithmus eines Prozesses zum Lesen einer Endpunkt-Koordinatenposition des Rückzugblocks bei einer Ausführungsform der vorliegenden Erfindung abbildet;
-
11 ein Ablaufschema, das einen Algorithmus eines Werkzeugrückzugprozesses bei einer Ausführungsform der vorliegenden Erfindung abbildet;
-
12 ein Diagramm, das abbildet, dass ein Werkzeug mit einem Werkstück zusammenstößt, wenn die Bearbeitung unterbrochen wird und das Werkzeug zurückgezogen wird; und
-
13 ein Diagramm, das ein Beispiel abbildet, bei dem das Werkzeug mit dem Werkstück zusammenstößt, wenn das Werkzeug um einen vorbestimmten Betrag verschoben und in einer Richtung entgegen der Richtung einer Bearbeitungsbahn bewegt wird.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Bei der vorliegenden Erfindung wird ein Block (eine Befehlseinheit in einem Bearbeitungsprogramm) voreingestellt, für den eine Befehlsposition (im Allgemeinen eine Position vor Beginn der Schneidarbeit) eine Position ist, in der ein Werkzeug geeignet sicher (ohne einen Zusammenstoß zu verursachen) zurückgezogen wird. Wenn die Bearbeitung vor der Fertigstellung unterbrochen wird und das Werkzeug zurückgezogen wird, wird das Werkzeug von einer unterbrochenen Bearbeitungsposition in eine voreingestellte Endpunkt-Koordinatenposition des Blocks bewegt, wobei eine Bahn in dem Bearbeitungsprogramm ignoriert wird. Anschließend wird das Werkzeug in eine entgegengesetzte Richtung entlang der Bahn des angegebenen Blocks (Rückzugblocks) bewegt, um zurückgezogen zu werden, wobei ein Zusammenstoß mit anderen Elementen vermieden wird.
-
1 ist ein Diagramm, das einen Betriebsgrundsatz der vorliegenden Erfindung erläutert, wobei eine Bohrung zum Beispiel genommen wird. Eine Bahn, die als durchgehender Pfeil abgebildet ist, erläutert eine Werkzeugbahn, die in dem Bearbeitungsprogramm angegeben ist. Eine Bahn, die durch einen gestrichelten Pfeil abgebildet ist, stellt eine Bahn dar, auf der das Werkzeug zurückgezogen wird.
-
Bei diesem Bearbeitungsbeispiel wird in einem Block N1 in dem Bearbeitungsprogramm ein Werkzeug 1 durch einen Positionierungsvorgang zu einem Punkt P1 bewegt, ein Werkstück W wird anschließend zugeschnitten, während ein Schneidvorgang und ein Zustellvorgang ausgeführt werden. Bei der vorliegenden Erfindung wird der Rückzugblock eingestellt, um der Block N1 in dem Bearbeitungsprogramm zu sein, für den die Befehlsposition die Position ist, in der das Werkzeug 1 geeignet zurückgezogen wird. Der Block N1 für einen Positionierungsbefehl ist jedoch ein Block für einen Befehl, um das Werkzeug 1 ohne Schneidarbeit zu bewegen, und somit kann das Werkzeug, nachdem es erfolgreich in die Endpunkt-Koordinatenposition P1 des Blocks bewegt wurde, sicher zurückgezogen werden. Der Positionierungsblock N1 wird als Rückzugblock eingestellt, und die ausführbaren Formatdaten, die sich aus der Decodierung des Blocks und der Endpunkt-Koordinatenposition (P1) ergeben, werden gespeichert.
-
Während der anschließenden Schneidarbeit, wenn es dazu kommt, dass die Bearbeitung angehalten und das Werkzeug 1 zurückgezogen werden muss, beispielsweise wenn während der Ausführung eines Befehls in einem Block N11 die Bearbeitung in einer Position P2 unterbrochen und das Werkzeug 1 zurückgezogen wird, wird das Werkzeug 1 von der Position P2, die der Unterbrechung der Bearbeitung entspricht, in die Endpunkt-Koordinatenposition P1 des Rückzugblocks N1 bewegt (Bewegung, die in 1 durch die gestrichelte Linie abgebildet ist und nachstehend als Rückzugvorgang 1 bezeichnet wird) und wird dann in der umgekehrten Bewegungsrichtung basierend auf den eingestellten und gespeicherten ausführbaren Formatdaten des Rückzugblocks N1 bewegt (Bewegung, die in 1 durch die gestrichelte Linie abgebildet ist und nachstehend als Rückzugvorgang 2 bezeichnet wird).
-
Der zuvor beschriebene Rückzugvorgang wird ausgeführt, damit das Werkzeug 1 sicher zurückgezogen werden kann.
-
2 ist ein Funktionsblockdiagramm einer numerischen Steuerung bei einer Ausführungsform der vorliegenden Erfindung; eine numerische Steuerung ist mit dem Bezugszeichen 100 versehen, ein Bearbeitungsprogramm ist mit dem Bezugszeichen 200 versehen. Ein Servomotor, der jede Zustellachse einer Werkzeugmaschine antreibt, ist mit dem Bezugszeichen 300 versehen. Bestandteile, wie etwa ein Hauptspindelmotor und Steuermittel für den Hauptspindelmotor, werden nicht gezeigt, da sie von der vorliegenden Erfindung nicht direkt betroffen sind.
-
Die numerische Steuerung 100 umfasst eine Decodiereinheit 11, eine Impulsverteilungseinheit 12, eine Servosteuerungseinheit 13 und eine Koordinatenaktualisierungseinheit 14, wie es in der verwandten Technik der Fall ist. Die Decodiereinheit 11 liest der Reihe nach Befehle aus den Blöcken in dem Bearbeitungsprogramm 200, decodiert und konvertiert die Befehle in ausführbare Formatdaten und speichert die ausführbaren Formatdaten in einem Register. Die Decodiereinheit 11 lädt im Voraus eine Vielzahl von Blöcken, die auf den aktuellen Block folgen, bevor der Befehl des aktuellen Blocks ausgeführt wird, und speichert der Reihe nach die ausführbaren Formatdaten der Vielzahl von gelesenen Blöcken in dem Register (nachstehend als Vorgriffregister bezeichnet). Die Impulsverteilungseinheit 12 liest nach dem FIFO-Prinzip die ausführbaren Formatdaten, die in dem Vorgriffregister gespeichert sind, nachdem sie als Ergebnis der Decodierung durch die Decodiereinheit 11 erzielt wurden, und verteilt Impulse auf die Zustellachsen basierend auf den Daten. Gemäß der Impulsverteilung steuert die Servosteuerungseinheit 13 Servomotoren für die jeweiligen Zustellachsen. Die Koordinatenaktualisierungseinheit 14 aktualisiert die Koordinatenposition jeder der Zustellachsen (Koordinatenposition eines Werkzeugs) basierend auf den Impulsen, die von der Impulsverteilungseinheit 12 auf die Zustellachsen verteilt werden.
-
Die Konfigurationen und Auswirkungen der Decodiereinheit 11, der Impulsverteilungseinheit 12, der Servosteuerungseinheit 13 und der Koordinatenaktualisierungseinheit 14 werden herkömmlicherweise in der numerischen Steuerung 100 bereitgestellt. Bei der vorliegenden Ausführungsform umfasst die numerische Steuerung 100 jedoch ferner eine Einheit 15 zum Einstellen einer Bedingung eines Rückzugblocks, eine Einheit 16 zum Bestimmen eines Rückzugblocks, eine Einheit 17 zum Lesen von Rückzugblockinformationen, eine Einheit 17 zum Lesen einer Position eines Blockendpunktes, einen Speicher 19 zum Speichern von Rückzugblockinformationen, eine Werkzeugrückzugeinheit 20 und eine Rückzugbefehlseinheit 21. Diese zusätzlichen Einheiten ermöglichen es, dass ein Werkzeug zurückgezogen wird, wobei ein Zusammenstoß mit anderen Elementen vermieden wird, wenn das Werkzeug zurückgezogen werden muss, bevor die Bearbeitung fertiggestellt ist.
-
Bei der vorliegenden Erfindung werden die Bedingungen für den Rückzugblock bestimmt, und ein Block, der die Bedingungen erfüllt, wird als Rückzugblock bestimmt und als Rückzugblock eingestellt. Die Verfahren zum Einstellen und Bestimmen des Rückzugblocks umfassen die folgenden Verfahren A bis D.
- A. Ein Verfahren zum Einstellen einer Laufnummer oder einer Position (Zeilennummer) eines Blocks in dem Bearbeitungsprogramm als Bedingung zum Bestimmen eines Rückzugblocks und zum Einstellen eines Blocks, der diese Einstellbedingung erfüllt, als Rückzugblock.
- B. Ein Verfahren zum Vorgeben diverser Bedingungen, die für den Rückzugblock vorgegeben werden können (beispielsweise einen Positionierungsbefehl für eine gesteuerte Achse (Z-Achse, eine Achse, die zu einer Ebene rechtwinklig ist), eine Bewegungsentfernung für die Achse, einen Endpunkt-Koordinatenwert (oder einen Startpunkt-Koordinatenwert) für die Achse oder dergleichen) und zum Einstellen eines Blocks, der alle diese Bedingungen aufweist, als Rückzugblock.
- C. Ein Verfahren zum Bezeichnen eines Blocks unter Verwendung eines Codes in dem NC-Bearbeitungsprogramm, der angibt, dass der Block der Rückzugblock ist (beispielsweise G-Code oder M-Code) und zum Einstellen des Rückzugblocks unter einer Bedingung zum Bestimmen eines Rückzugblocks, dass der Code zu dem Rückzugblock hinzugefügt ist.
- D. Ein Verfahren zum Auswählen und Einstellen des Rückzugblocks unter der Bedingung, dass ein bestimmter Inhalt in dem Bearbeitungsprogramm vorliegt.
- D1. Ein Verfahren zum Einstellen eines Blocks für einen Positionierungsbefehl als Rückzugblock unter der Bedingung, dass der Positionierungsbefehl der nächstgelegene Positionierungsbefehl für die Z-Achse (= die Achse, die zu einer Ebene rechtwinklig ist, die eine Richtung zum Ausgleichen eines Werkzeugdurchmessers (nachstehend als Basisachse bezeichnet) umfasst) vor der Aktivierung des Ausgleichens eines Werkzeugdurchmessers ist.
- D2. Ein Verfahren zum Einstellen eines Blocks für einen Positionierungsbefehl als Rückzugblock unter der Bedingung, dass der Positionierungsbefehl ein Positionierungsbefehl für die Z-Achse (= Basisachse) nach der Aktivierung des Ausgleichens eines Werkzeugdurchmessers ist.
- D3. Ein Verfahren zum Einstellen eines Blocks für einen Positionierungsbefehl als Rückzugblock unter der Bedingung, dass der Positionierungsbefehl ein Positionierungsbefehl sofort vor einem zusammengesetzten Festzyklusbefehl ist.
-
Um einen Block als Rückzugblock zu bezeichnen, kann neben den zuvor beschriebenen Verfahren D1, D3 und D3 ein Verfahren verwendet werden, bei dem ein Block für einen Positionierungsbefehl sofort vor einem Block mit einem Bearbeitungsmodus-Umschaltcode für Gewindeschneiden oder dergleichen als Rückzugblock bezeichnet wird.
-
3 ist ein Diagramm, dass erläutert, dass der Block, der durch die Verfahren D1, D2 bestimmt wird, als Rückzugblock geeignet ist, an dem ein Rückzugvorgang 2 ausgeführt wird. Der Block für den Positionierungsbefehl für die Basisachse vor oder nach dem Ausgleichen des Werkzeugdurchmessers kann bewegt und positioniert werden, wobei ein Zusammenstoß des Werkzeugs mit einem Werkstück oder dergleichen als Ergebnis des Befehls des Blocks vermieden wird. Der Block kann auch bewegt werden, ohne einen Zusammenstoß zu verursachen, selbst wenn er in der entgegengesetzten Richtung entlang der gleichen Bahn bewegt wird, und ist somit als Block geeignet, an dem der Rückzugvorgang 2 ausgeführt wird.
-
Ein Bearbeitungsprogramm, bei dem ein Loch 3, das in 3 abgebildet ist, gebildet wird, und an dem das Einstellverfahren D1 wirksam ist, wird durch das folgende Beispiel 1 eines Bearbeitungsprogramms dargestellt.
- • Bearbeitungsprogramm Beispiel 1
G00X0Y0
Z-50.0
G42G01X-30.0D1F1000
G02I-30.0
Z-3.0
G02I-30.0
...
...
-
Wenn das Einstellverfahren D1 verwendet wird, um den Rückzugblock zu bezeichnen, wird ein Positionierungsbefehl „Z-50.0” für die Z-Achse sofort vor dem Block für einen Befehl zum Ausgleichen eines Werkzeugdurchmessers „G42” als Rückzugblock bezeichnet. „G00X0Y0” ist ein Positionierungsbefehl, „G42” ist ein Befehl zum Ausgleichen des Werkzeugdurchmessers nach rechts, „G01X-30.0” ist ein linearer Interpolationsbefehl, „D1” ist ein Befehl, der eine Korrekturzahl 1 für das Ausgleichen des Werkzeugdurchmessers angibt, „F1000” ist ein Befehl für eine Zustellgeschwindigkeit, „G02” ist ein Befehl für eine Kreisbogeninterpolation im Uhrzeigersinn, und „I-30.0” ist ein Befehl, der eine X-Achse als I-Achse verwendet und die I-Achse-30.0 als Mitte des Kreisbogens verwendet.
-
Ein Bearbeitungsprogramm, bei dem das in 3 abgebildete Loch gebildet ist und an dem das Einstellverfahren D2 wirksam ist, wird durch das folgende Beispiel 2 eines Bearbeitungsprogramms dargestellt.
- • Bearbeitungsprogramm Beispiel 2
G42X0Y0D1
G00Z-50.0
G01X-30.0F1000
G02I-30.0
Z-3.0
G02I-30.0
...
...
-
Ein Positionierungsbefehl „G00Z-50.0” für die Z-Achse sofort nach dem Befehl zum Ausgleichen eines Werkzeugdurchmessers „G42” wird als Rückzugblock bezeichnet.
-
4 ist ein Diagramm eines Beispiels der Bearbeitung eines Bohrungsdurchmessers unter Verwendung eines zusammengesetzten Festzyklus eines Drehbanksystems, bei dem die Bearbeitung gemäß einem Zyklusbefehl nach einem Positionierungsbefehl für eine erste Ebenenachse (Z-Achse) ausgeführt wird. Ein NC-Bearbeitungsprogramm für diese Bearbeitung wird durch das folgende Beispiel 3 eines Bearbeitungsprogramms dargestellt.
- • Bearbeitungsprogramm Beispiel 3
G00Z1.0
G71U_R_
G71P1Q9U_W_F_S_T_
N1G00X40.0Z0
N2G01Z-7.0
N3X35.0
...
...
-
Falls der Rückzugblock durch das Einstellverfahren D3 eingestellt wird, dann wird in dem NC-Bearbeitungsprogramm, das den zusammengesetzten Festzyklus verwendet, der Block für den Positionierungsbefehl „G00Z1.0”, der sofort vor dem Festzyklusbefehl „G71” ausgegeben wird, als Block bezeichnet, der die Ausführung des Rückzugvorgangs 2 ermöglicht. Bei einem Befehl „G71U_R_” wird ein Festzyklusbefehl mit G71 bezeichnet, die Schneidtiefe wird mit U bezeichnet, und ein Ausweichbetrag wird mit R bezeichnet. Bei einem Befehl „G71P1Q9U_W_F_S_T_” wird ein Festzyklusbefehl mit G71 bezeichnet und eine Umrissform wird mit P1Q9 bezeichnet, und dieser Befehl gibt Formen für die Laufnummern N1 bis N9 an. U (X-Richtung) und W (Z-Achsenrichtung) sind Codes, die Fertigungstoleranzen angeben, F ist ein Code, der die Zustellung angibt, S ist ein Code, der eine Hauptspindelgeschwindigkeit angibt, und T ist ein Code, der ein Werkzeug angibt.
-
Bei den Einstellverfahren A, B werden ein Anzeigegerät und Eingabemittel, wie etwa eine Tastatur, die in der numerischen Steuerung 100 bereitgestellt werden, als Einheit 15 zum Einstellen einer Bedingung eines Rückzugblocks verwendet, um eine Bedingung einzustellen, um den Rückzugblock basierend auf Parametern und dergleichen für die numerische Steuerung zu bestimmen. Das Einstellverfahren C umfasst das Bereitstellen in dem Bearbeitungsprogramm eines Codes, der einen Block als Rückzugblock bezeichnet, statt einen Code, der den Rückzugblock angibt, von der Einheit 15 zum Einstellen einer Bedingung eines Rückzugblocks zu empfangen. Somit kann ein Programm für das Einstellverfahren C, das als Einheit zum Bestimmen eines Rückzugblocks gespeichert ist, vorkonfiguriert werden, um als Rückzugblock einen Block mit einem Code, der den Rückzugblock angibt, auszuwählen. Auch bei den Verfahren D1 bis D3 zum Einstellen eines Rückzugblocks kann die Einheit 16 zum Bestimmen eines Rückzugblocks den Rückzugblock bestimmen, indem sie bestimmt, ob die Einstellbedingungen D1 bis D3 erfüllt sind. Folglich muss die Einheit 15 zum Einstellen einer Bedingung eines Rückzugblocks nicht speziell bereitgestellt werden.
-
Bei der vorliegenden Ausführungsform kann jedoch eines der Einstellverfahren A bis D für den Rückzugblock je nach diversen Bearbeitungsprogrammen ausgewählt werden. Die Einheit 15 zum Einstellen einer Bedingung eines Rückzugblocks, die das Anzeigegerät und die Eingabemittel, wie etwa die Tastatur, umfasst, kann verwendet werden, um eines der Einstellverfahren A bis D auszuwählen, um den Rückzugblock einzustellen.
-
Die Einheit 16 zum Bestimmen eines Rückzugblocks verwendet das Einstellverfahren, das von der Einheit 15 zum Einstellen einer Bedingung eines Rückzugblocks eingestellt wird, um zu bestimmen, ob der Block, der durch die Decodiereinheit 11 geladen wird, die Einstellbedingung erfüllt oder nicht:
- • wenn das Einstellverfahren A eingestellt ist, wird der Rückzugblock basierend auf der Laufnummer oder der Position (Zeilennummer) in dem Programm identifiziert;
- • wenn das Einstellverfahren B effektiv eingestellt ist, wird bestimmt, ob ein Block der Rückzugblock ist oder nicht, je nachdem ob die Blockinformationsdaten, die von der Decodiereinheit 11 ausgegeben werden, die Einstellbedingungen erfüllen oder nicht, die für das Einstellverfahren B eingestellt sind;
- • wenn das Einstellverfahren C effektiv eingestellt ist, wird bestimmt, ob ein Block der Rückzugblock ist oder nicht, je nachdem ob ein Code (G-Code oder M-Code) vorhanden ist oder nicht, der den Rückzugblock angibt, basierend auf den Blockinformationsdaten, die von der Decodiereinheit 11 ausgegeben werden; und
- • wenn das Einstellverfahren D effektiv eingestellt ist, wird der Rückzugblock basierend auf einer Kombination eines Blocks für den Befehl zum Ausgleichen eines Werkzeugdurchmessers und eines Blocks für den Positionierungsbefehl für die Basisachse oder eine Kombination eines Blocks für den zusammengesetzten Festzyklusbefehl und eines Blocks für den Positionierungsbefehl eingestellt.
-
Wenn die Einheit 16 zum Bestimmen eines Rückzugblocks den Rückzugblock bestimmt, liest die Einheit 17 zum Lesen von Rückzugblockinformationen die ausführbaren Formatdaten des Blocks, die sich aus dem Decodieren durch die Decodiereinheit 11 ergeben, um die ausführbaren Formatdaten in dem Speicher 19 zum Speichern von Rückzugblockinformationen zu speichern. Wenn die Einheit 16 zum Bestimmen eines Rückzugblocks den Rückzugblock bestimmt, liest die Einheit 17 zum Lesen einer Position eines Blockendpunktes die Koordinatenposition von der Koordinatenaktualisierungseinheit 14, um die Koordinatenposition des Speichers 19 zum Speichern von Rückzugblockinformationen zu speichern. Dadurch speichert der Speicher 19 zum Speichern von Rückzugblockinformationen die ausführbaren Formatdaten des Rückzugblocks und die Endpunkt-Koordinatenposition des Rückzugblocks.
-
Wenn ein Rückzugbefehl über die Rückzugbefehlseinheit 21, die ein Bedienungspult, programmierbare Tasten und manuelle Eingabemittel der numerischen Steuerung 100 umfasst, eingegeben wird, liest die Werkzeugrückzugeinheit 20 die ausführbaren Formatdaten und die Endpunkt-Koordinatenposition, die in dem Speicher 19 zum Speichern von Rückzugblockinformationen gespeichert sind, und gibt einen Befehl, um das Werkzeug von einer Koordinatenposition, die einer Unterbrechung der Bearbeitung entspricht, in die gelesene Endpunkt-Koordinatenposition des Rückzugblocks zu bewegen, an die Impulsverteilungseinheit 12 aus, um das Ausführen eines „Rückzugvorgangs 1” zu erlauben. Anschließend wird die Bewegungsrichtung für die gelesenen ausführbaren Formatdaten umgekehrt und die sich ergebenden ausführbaren Formatdaten werden an die Impulsverteilungseinheit 12 ausgegeben, um die Ausführung eines „Rückzugvorgangs 2” zu erlauben.
-
5 ist ein Ablaufschema eines Algorithmus eines Prozesses zum Bestimmen eines Rückzugblocks, der von einem Prozessor in der numerischen Steuerung 100 ausgeführt wird, die als Einheit 16 zum Bestimmen eines Rückzugblocks dient, wenn die Einheit 15 zum Einstellen einer Bedingung eines Rückzugblocks das Bestimmungsverfahren A für den Rückzugblock eingegeben und eingestellt hat und auch die Laufnummer oder die Zeilennummer des Blocks als Bestimmungsbedingung für das Bestimmungsverfahren eingibt und einstellt. Der Prozessor führt die Verarbeitung, die in 5 abgebildet ist, jedes Mal aus, wenn ein Block aus dem Bearbeitungsprogramm gelesen wird.
-
Zuerst liest der Prozessor die Laufnummer des aktuellen Blocks oder die Zeilennummer des Blocks (Schritt a1), bestimmt, ob die gelesene Laufnummer oder die Zeilennummer des Blocks mit der eingestellten Laufnummer oder der eingestellten Zeilennummer des Blocks übereinstimmt (Schritt a2), und falls die Nummern übereinstimmen, setzt er ein Flag F, das den Rückzugblock angibt und zusammen mit den ausführbaren Formatdaten, die sich aus der Decodierung des entsprechenden Blocks durch die Decodiereinheit 11 ergeben, bereitgestellt und in dem Vorgriffregister gespeichert ist, auf „1” (Schritt a3). Falls dagegen die Laufnummer oder die Zeilennummer des Blocks nicht mit der eingestellten Laufnummer oder der eingestellten Zeilennummer des Blocks übereinstimmt, wird das Flag F auf „0” gesetzt (Schritt a4), um den Rückzugbestimmungsprozess zu beenden, der ausgeführt wird, um den Block zu decodieren. Somit werden zusammen mit den ausführbaren Formatdaten des Blocks, von dem bestimmt wird, dass er der Rückzugblock ist, die Daten für das Flag F = 1 in dem Register gespeichert.
-
6 ist ein Ablaufschema eines Algorithmus eines Prozesses zum Bestimmen eines Rückzugblocks, der von dem Prozessor in der numerischen Steuerung 100 ausgeführt wird, die als Einheit 16 zum Bestimmen eines Rückzugblocks dient, wenn die Einheit 15 zum Einstellen einer Bedingung eines Rückzugblocks das Bestimmungsverfahren B für den Rückzugblock eingegeben und eingestellt hat und diverse Bedingungen (einen Positionierungsbefehl für eine vorbestimmte Achse, eine Bewegungsrichtung, eine Bewegungsentfernung, einen Endpunkt-Koordinatenwert und dergleichen) als Bestimmungsbedingungen für das Bestimmungsverfahren B eingibt und einstellt. Der Prozessor führt eine Verarbeitung, die in 6 abgebildet ist, jedes Mal aus, wenn die Decodiereinheit 11 einen Block aus dem Bearbeitungsprogramm liest.
-
Zuerst liest der Prozessor Blockinformationen, die sich aus der Decodierung durch die Decodiereinheit 11 ergeben (Schritt b1), er setzt einen Indikator i auf „1”, der eine Bedingung angibt, die eingestellt ist, um die Bestimmung des Rückzugblocks zu erlauben (Schritt b2), er bestimmt, ob die gelesenen Blockinformationen die i. Einstellbedingung erfüllen oder nicht (Schritt b3), und falls die Einstellbedingung erfüllt ist, bestimmt er, ob der Indikator i gleich oder größer als die Anzahl der eingestellten Bedingungen ist oder nicht (Schritt b4), und falls der Indikator i die Anzahl N der Bedingungen nicht erreicht hat, inkrementiert er den Indikator i um eins (Schritt b5) und kehrt zu Schritt b3 zurück. Der Prozessor führt anschließend die Verarbeitung in den Schritten b3 bis b5 wiederholt aus, und falls der Indikator i die Anzahl N der Einstellbedingungen erreicht hat und alle eingestellten Bestimmungsbedingungen für den Rückzugblock erfüllt sind (Bestimmung von JA in Schritt b4), setzt er das Flag F, das den Rückzugblock angibt und das in den ausführbaren Formatdaten bereitgestellt wird, die in dem Vorgriffregister gespeichert sind, auf „1” (Schritt b6). Während er die Verarbeitung in den Schritten b3 bis b5 wiederholt ausführt, geht der Prozessor dagegen von Schritt b3 auf Schritt b7 über, um das Flag F auf „0” zu setzen (Schritt b7), falls mindestens eine der Bestimmungsbedingungen nicht mit der entsprechenden eingestellten Bedingung übereinstimmt und nicht erfüllt ist (Bestimmung von NEIN in Schritt B3). Somit wird dieses Flag F, das den Rückzugblock angibt, zusammen mit den ausführbaren Formatdaten jedes Blocks auf „1” gesetzt, falls der Block der Rückzugblock ist, oder wird auf „0” gesetzt, falls der Block nicht der Rückzugblock ist. Dann ist der Prozess zum Bestimmen eines Rückzugblocks für den aktuellen Block beendet.
-
7 ist ein Ablaufschema eines Algorithmus eines Prozesses zum Bestimmen eines Rückzugblocks, der von dem Prozessor in der numerischen Steuerung 100 ausgeführt wird, die als Einheit 16 zum Bestimmen eines Rückzugblocks dient, wenn die Einheit 15 zum Einstellen einer Bedingung eines Rückzugblocks als Bestimmungsbedingung das Bestimmungsverfahren C für den Rückzugblock eingegeben und eingestellt hat und den Code (G-Code oder M-Code) eingestellt hat, der den Rückzugblock angibt (wenn dieses Bestimmungsverfahren übernommen wird, wird der Code, der den Rückzugblock angibt (G-Code oder M-Code) in dem Block in dem Bearbeitungsprogramm, der als Rückzugblock ausgewählt wird). Der Prozessor führt die Verarbeitung, die in 7 abgebildet ist, jedes Mal aus, wenn ein Block aus dem Bearbeitungsprogramm gelesen wird.
-
Der Prozessor liest Blockinformationen, die sich aus der Decodierung durch die Decodiereinheit 11 ergeben (Schritt c1), und bestimmt, ob die gelesenen Blockinformationen den Code (G-Code oder M-Code), der den eingestellten Rückzugblock bezeichnet, enthalten oder nicht (Schritt c2). Falls die Blockinformationen den Code enthalten, setzt der Prozessor das Flag F, das den Rückzugblock angibt, auf „1”, das zusammen mit den ausführbaren Formatdaten zu speichern ist (Schritt c3). Falls die Blockinformationen den Code nicht enthalten, setzt der Prozessor das Flag F auf „0” (Schritt c4), um den Prozess zum Bestimmen eines Rückzugblocks für den aktuellen Block zu beenden.
-
8 ist ein Ablaufschema eines Algorithmus eines Prozesses zum Bestimmen eines Rückzugblocks, der von dem Prozessor in der numerischen Steuerung 100 ausgeführt wird, die als Einheit 16 zum Bestimmen eines Rückzugblocks dient, wenn die Einheit 15 zum Einstellen einer Bedingung eines Rückzugblocks das Bestimmungsverfahren D für den Rückzugblock eingegeben und eingestellt hat. Der Prozessor führt die Verarbeitung, die in 8 abgebildet ist, jedes Mal aus, wenn ein Block aus dem Bearbeitungsprogramm gelesen wird.
-
Der Prozessor liest Blockinformationen, die sich aus der Decodierung durch die Decodiereinheit 11 ergeben (Schritt d1), und bestimmt, ob der aktuelle Block ein Block für den Positionierungsbefehl ist oder nicht (Schritt d2). Falls der aktuelle Block kein Block für den Positionierungsbefehl ist, bestimmt der Prozessor, ob der aktuelle Block ein Block für den Befehl zum Ausgleichen eines Werkzeugdurchmessers ist oder nicht (Schritt d3). Falls der aktuelle Block kein Block für den Befehl zum Ausgleichen eines Werkzeugdurchmessers ist, bestimmt der Prozessor, ob der aktuelle Befehl ein Block für den zusammengesetzten Festzyklusbefehl ist oder nicht (Schritt d4). Falls der aktuelle Block auch kein Block für den zusammengesetzten Festzyklusbefehl ist, bestimmt der Prozessor, ob ein Wert in einem Zähler „0” ist oder nicht (Schritt d13). Beim Bestimmen, dass der Wert in dem Zähler „0” ist, setzt der Prozessor das Flag F, das den Rückzugblock angibt, auf „0”, das zusammen mit den ausführbaren Formatdaten des aktuellen Blocks zu speichern ist (Schritt d8), um die Verarbeitung zu beenden. Der Prozessor führt anschließend die Verarbeitung in den Schritten d1, d2, d3, d4, d13, d8 jedes Mal aus, wenn ein Block decodiert wird, es sei denn ein Block für den Positionierungsbefehl, ein Block für den Befehl zum Ausgleichen eines Werkzeugdurchmessers oder ein Block für den zusammengesetzten Festzyklusbefehl wird geladen.
-
In Schritt d3 setzt der Prozessor beim Bestimmen, dass der gelesene Block ein Block für den Befehl zum Ausgleichen eines Werkzeugdurchmessers ist, ein Flag Fr, das angibt, dass ein Block zum Ausgleichen des Werkzeugdurchmessers geladen wurde, auf „1” (Schritt d6). In Schritt d4 setzt der Prozessor beim Bestimmen, dass der gelesene Block ein Block für den zusammengesetzten Festzyklusbefehl ist, ein Flag Fc, das angibt, dass ein Block für den zusammengesetzten Festzyklusbefehl geladen wurde, auf „1” (Schritt d5). Die Flags Fr, Fc und der Zähler werden während der Initialisierung für das Ausführen des Bearbeitungsprogramms auf „0” gesetzt.
-
Der Prozessor bestimmt dann, ob der Wert in dem Zähler „0” ist oder nicht (Schritt d7), und falls der Wert in dem Zähler „0” ist, setzt er das Flag F, das den Rückzugblock angibt, auf „0”, das zusammen mit den ausführbaren Formatdaten des aktuellen Blocks zu speichern ist (Schritt d8), um die Verarbeitung zu beenden.
-
Dagegen bestimmt der Prozessor beim Bestimmen bei der Bearbeitung in Schritt d2, dass der gelesene Block dem Positionierungsbefehl entspricht, ob eine Achse in dem Positionierungsbefehl die Basisachse ist oder nicht (Schritt d9). Falls die Achse in dem Positionierungsbefehl die Basisachse ist, bestimmt der Prozessor, ob das Flag Fr, das angibt, dass ein Block zum Ausgleichen des Werkzeugdurchmessers geladen wurde, auf „1” gesetzt ist oder nicht (Schritt d10). Falls das Flag Fr auf „1” gesetzt ist, setzt der Prozessor das Flag F, das den Rückzugblock angibt, auf „1”, das zusammen mit den ausführbaren Formatdaten des aktuellen Blocks zu speichern ist (Schritt d15), und setzt die Flags Fr, Fc auf „0” zurück (Schritt d16), um die Verarbeitung zu beenden.
-
Dagegen bestimmt der Prozessor beim Bestimmen, dass der Positionierungsbefehl nicht die Basisachse betrifft (Schritt d9), ob das Flag Fc, das angibt, dass ein Block für den zusammengesetzten Festzyklusbefehl geladen wurde, auf „1” gesetzt ist (Schritt d11). Falls das Flag Fc auf „1” gesetzt ist, setzt der Prozessor das Flag F, das den Rückzugblock angibt, auf „1”, das zusammen mit den ausführbaren Formatdaten des aktuellen Blocks zu speichern ist (Schritt d15), und setzt die Flags Fr, Fc auf „0” zurück (Schritt d16), um die Verarbeitung zu beenden.
-
D. h. falls der Positionierungsbefehl die Basisachse betrifft, bezeichnet der Prozessor den Block für den Positionierungsbefehl als Rückzugblock und setzt das Flag F auf „1”, vorausgesetzt der Block für den Befehl zum Ausgleichen eines Werkzeugdurchmessers wurde geladen, wobei das Flag Fr auf „1” gesetzt ist. Selbst wenn der Positionierungsbefehl die Basisachse nicht betrifft, bezeichnet der Prozessor den Block für den Positionierungsbefehl als Rückzugblock und setzt das Flag F auf „1”, vorausgesetzt der zusammengesetzte Festzyklusbefehl wurde geladen, wobei das Flag Fc auf „1” gesetzt ist.
-
Dagegen setzt der Prozessor beim Bestimmen bei der Verarbeitung in den Schritten d10, d11, dass die Flags Fc, Fr nicht auf „1” gesetzt sind (wenn ein Block für den Positionierungsbefehl geladen wird, bevor ein Block zum Ausgleichen des Werkzeugdurchmessers oder ein Block für den zusammengesetzten Festzyklusbefehl geladen wird), den Wert in dem Zähler auf „1” (Schritt d12). Der Prozessor fährt mit Schritt d8 fort, um das Flag F, das den Rückzugblock angibt, auf „0” zurückzusetzen, das zusammen mit den ausführbaren Formatdaten des aktuellen Blocks zu speichern ist, um die Verarbeitung zu beenden.
-
Sobald ein Block für den Positionierungsbefehl geladen wird, bevor ein Block für den Befehl zum Ausgleichen eines Werkzeugdurchmessers oder den zusammengesetzten Festzyklusbefehl geladen wird, und der Wert in dem Zähler auf „1” gesetzt ist, wird die Verarbeitung in den Schritten d1, d2, d3, d4, d13, d14, d8 jedes Mal ausgeführt, wenn ein Block decodiert wird, wobei der Wert in dem Zähler um eins inkrementiert wird (Schritt d14), bis ein Block für den Befehl zum Ausgleichen eines Werkzeugdurchmessers oder den zusammengesetzten Festzyklusbefehl geladen wird. Falls ein Block für den Positionierungsbefehl wieder vor einem Block für den Befehl zum Ausgleichen eines Werkzeugdurchmessers oder den zusammengesetzten Festzyklusbefehl geladen wird, führt der Prozessor die Verarbeitung in den Schritten d1, d2, d9, d10 oder d11, d12 aus, und der Wert in dem Zähler wird als Ergebnis der Verarbeitung in Schritt d12 auf „1” gesetzt, selbst wenn der Zähler einen Vorwärtszählvorgang ausführt.
-
Somit lädt der Prozessor einen Block für den Befehl zum Ausgleichen eines Werkzeugdurchmessers oder den zusammengesetzten Festzyklusbefehl (nach der Verarbeitung in den Schritten d3 bis d6 bestimmt der Prozessor in Schritt d7, ob der Zählwert in dem Zähler „0” ist oder nicht, und falls der Zählwert nicht „0” ist (was angibt, dass ein Block für den Positionierungsbefehl bereits geladen wurde), setzt er das Flag F, das den Rückzugblock angibt, auf „0”, das zusammen mit den ausführbaren Formatdaten dieses Blocks zu speichern ist, und verfolgt eine Anzahl von Blöcken zurück, die in dem Vorgriffregister gespeichert sind, deren Anzahl durch den Zählwert angegeben wird, um die Daten eines Blocks zu lesen, der sich aus der Rückverfolgung ergibt, und setzt das Flag F, das den Rückzugblock angibt, auf „1”, das zusammen mit den ausführbaren Formatdaten dieses Blocks (des Blocks für den Positionierungsbefehl) zu speichern ist) (Schritt d17). Der Prozessor setzt den Wert in dem Zähler auf „0” (Schritt d18), um die Verarbeitung zu beenden. D. h. wenn ein Block für den Positionierungsbefehl geladen wird, und dann ein Block für den Befehl zum Ausgleichen eines Werkzeugdurchmessers oder den zusammengesetzten Festzyklusbefehl geladen wird, wie bei dem Programmbeispiel 1 und dem Programmbeispiel 3, die zuvor beschrieben wurden, setzt der Prozessor das Flag F, das den Rückzugblock angibt, auf „1”, das zusammen mit den ausführbaren Formatdaten des zuvor geladenen Blocks für den Positionierungsbefehl zu speichern ist, um den Block für den Positionierungsbefehl als Rückzugblock zu bezeichnen.
-
In Schritt d17 setzt der Prozessor das Flag F für den Block (den Block für den Positionierungsbefehl), der sich aus der Rückverfolgung einer Anzahl von Blöcken in dem Vorgriffregister ergibt, dessen Anzahl durch den Zählwert angegeben wird, auf „1”. Falls jedoch keine Daten in dem Block vorliegen, die sich aus der Rückverfolgung einer Anzahl von Blöcken ergeben, deren Anzahl durch den Zählwert angegeben wird (der Block wurde bereits mit den ausführbaren Formatdaten ausgeführt, wobei der Block entfernt wurde), wird das Flag F nicht auf „1” gesetzt und wird ignoriert. D. h. der Rückzugblock wird nur bezeichnet, wenn der Befehl zum Ausgleichen eines Werkzeugdurchmessers ausgegeben wird, kurz nachdem der Positionierungsbefehl ausgegeben wurde. Selbst wenn in Schritt d17 das Flag F auf „1” gesetzt wird, um den Rückzugblock zu bezeichnen, bleiben die Flags Fr, Fc, die angeben, dass jeweils der Befehl zum Ausgleichen eines Werkzeugdurchmessers und der zusammengesetzte Festzyklusbefehl geladen wurden, auf „1” gesetzt, und es wird verhindert, dass sie auf „0” zurückgesetzt werden. Wenn somit ein Block für den nächsten Positionierungsbefehl geladen wird, wird die Verarbeitung in den Schritten d1, d2, d9, d10 oder den Schritten d11, d15 ausgeführt, um das Flag F für den Block für den Positionierungsbefehl auf „1” zu setzen, um den Block als Rückzugblock zu bezeichnen.
-
Dann werden, wie nachstehend beschrieben (siehe die in 9 abgebildete Verarbeitung), die Informationen des Blocks, für den das Flag F auf „1” gesetzt ist, in dem Speicher 19 zum Speichern von Rückzugblockinformationen gesichert, so dass der Speicher 19 zum Speichern von Rückzugblockinformationen mit den Informationen überschrieben wird. Somit werden die Informationen des zuletzt bezeichneten Rückzugblocks in dem Speicher 19 zum Speichern von Rückzugblockinformationen gespeichert. D. h. ein Block für den Positionierungsbefehl, der ausgegeben wird, nachdem der Befehl zum Ausgleichen eines Werkzeugdurchmessers ausgegeben wurde, wird bevorzugt als Rückzugblock bezeichnet.
-
Die Einheit 15 zum Einstellen einer Bedingung eines Rückzugblocks wählt und bezeichnet eines der Verfahren A bis D zum Bestimmen des Rückzugblocks, und die Einheit 16 zum Bestimmen eines Rückzugblocks bestimmt, ob der geladene Block der Rückzugblock ist oder nicht. Da das Flag F für die ausführbaren Formatdaten des Blocks, der als Rückzugblock bestimmt wird, auf „1” gesetzt wird, identifiziert das Flag F = 1 den Rückzugblock.
-
9 ist ein Ablaufschema eines Algorithmus eines Prozesses zum Lesen von Rückzugblockinformationen, der von dem Prozessor in der numerischen Steuerung 100 ausgeführt wird, die als Einheit 17 zum Lesen von Rückzugblockinformationen dient. Der Prozessor führt die Verarbeitung, die in 9 abgebildet ist, zu einem Zeitpunkt sofort vor dem Start der Impulsverteilung aus.
-
Der Prozessor liest aus den Informationen des Blocks (ausführbaren Formatdaten), der in dem Vorgriffregister gespeichert ist, die erste Information aus, die nach dem FIFO-Prinzip zu speichern ist (Schritt e1) und bestimmt, ob das Flag F in der Information auf „1” gesetzt ist (Schritt e2). Falls das Flag F nicht auf „1” gesetzt ist, ist die Verarbeitung beendet. Falls dagegen das Flag F auf „1” gesetzt ist, wird der Block als Rückzugblock bezeichnet. Somit speichert der Prozessor die ausführbaren Formatdaten des gelesenen Blocks in dem Speicher 19 zum Speichern von Rückzugblockinformationen, um den Speicher 19 zum Speichern von Rückzugblockinformationen mit den ausführbaren Formatdaten (Schritt e3) zu überschreiben, um die Verarbeitung zu beenden. Die ausführbaren Formatdaten des somit bezeichneten Rückzugblocks werden in dem Speicher 19 zum Speichern von Rückzugblockinformationen gespeichert.
-
10 ist ein Ablaufschema eines Algorithmus eines Prozesses zum Lesen von Rückzugblockinformationen, der von dem Prozessor in der numerischen Steuerung 100 ausgeführt wird, die als Einheit 17 zum Lesen einer Position eines Blockendpunktes dient. Der Prozessor führt die Verarbeitung, die in 10 abgebildet ist, während der Impulsverteilung aus.
-
Der Prozessor bestimmt, ob das Flag F für einen Block, der die laufende Impulsverteilung betrifft, auf „1” gesetzt ist oder nicht (Schritt f1). Falls das Flag F nicht auf „1” gesetzt ist, beendet der Prozessor die Verarbeitung. Falls das Flag F auf „1” gesetzt ist, bestimmt der Prozessor, ob die Impulsverteilung, die in dem Befehl des aktuellen Blocks angegeben ist, beendet ist, wobei der Endpunkt des Blockbefehls erreicht wird, oder nicht (Schritt f2). Falls der Endpunkt des Blockbefehls nicht erreicht ist, beendet der Prozessor die Verarbeitung. Falls der Endpunkt des Blockbefehls erreicht ist, speichert der Prozessor die Koordinatenposition, die durch die Koordinatenaktualisierungseinheit 14 aktualisiert wird, in dem Speicher 19 zum Speichern von Rückzugblockinformationen zusammen mit den zuvor gesicherten ausführbaren Formatdaten des Rückzugblocks (Schritt f3), um die Verarbeitung zu beenden.
-
Somit speichert der Speicher 19 zum Speichern von Rückzugblockinformationen die ausführbaren Formatdaten des bezeichneten Rückzugblocks und die Endpunkt-Koordinatenposition für den entsprechenden Blockbefehl.
-
11 ist ein Ablaufschema eines Algorithmus eines Werkzeugrückzugprozesses, der von dem Prozessor in der numerischen Steuerung 100 ausgeführt wird, die als Werkzeugrückzugeinheit 20 dient.
-
Obwohl die numerische Steuerung 100 das Bearbeitungsprogramm ausführt, um es der Werkzeugmaschine zu erlauben, eine Bearbeitung auszuführen, falls die Bearbeitung aus einem beliebigen Grund oder einer beliebigen Ursache unterbrochen wird, wird die in 11 abgebildete Verarbeitung gestartet. Der Prozessor prüft, um zu sehen, ob eine Werkzeugrückzuganfrage unter Verwendung der Rückzugbefehlseinheit 21, die das Bedienungsfeld, die programmierbaren Tasten und die MDI umfasst, eingegeben wurde (Schritt g1). Wenn die Werkzeugrückzuganfrage eingegeben wird, bestimmt der Prozessor basierend auf der Koordinatenposition eines Endpunktes, der in dem Rückzugblock angegeben ist, der in dem Speicher 19 zum Speichern von Rückzugblockinformationen gespeichert ist, und der aktuellen Koordinatenposition, die über die Einheit 17 zum Lesen einer Position eines Blockendpunktes gelesen wird, Daten über eine Bewegungsentfernung (die Bewegungsentfernung jeder Achse) von der aktuellen Position in die Endpunkt-Koordinatenposition des Befehls des Rückzugblocks. D. h. der Prozessor bestimmt die Bewegungsentfernung jeder Achse für den „Rückzugvorgang 1” für eine Bewegung von der aktuellen Position in die Endpunkt-Koordinatenposition des Rückzugblocks (Schritt g2). Der Prozessor erlaubt dann eine Ausführung des „Rückzugvorgangs 1” für eine Bewegung über die bestimmte Bewegungsentfernung mit einer voreingestellten Rückzuggeschwindigkeit (Schritt g3).
-
Der Prozessor speichert dann in einem zeitweiligen Puffer die ausführbaren Formatdaten des Rückzugblocks, die in dem Speicher 19 zum Speichern von Rückzugblockinformationen zu speichern sind, und bestimmt Daten für den „Rückzugvorgang 2”, bei dem die Bahn, die in dem Rückzugblock angegeben wird, in der entgegengesetzten Richtung befolgt wird (Schritt g4). D. h. die ausführbaren Formatdaten des Rückzugblocks umfassen die Bewegungsentfernung der Achse, die Bewegungsrichtung und die Geschwindigkeit und die Bewegungsrichtung wird umgekehrt und die Geschwindigkeit wird auf eine Rückzuggeschwindigkeit geändert, die der Sicherheit halber voreingestellt ist. Folglich werden die Daten für den „Rückzugvorgang 2” bestimmt, bei dem die Bahn, die in dem Rückzugblock angegeben ist, in der entgegengesetzten Richtung befolgt wird. Der Prozessor führt dann den bestimmten „Rückzugvorgang 2” aus, so dass die Impulsverteilungseinheit 12 Impulse verteilt, um das Werkzeug in die entgegengesetzte Richtung entlang der Bahn zu bewegen, die in dem Rückzugblock angegeben ist, um das Werkzeug zurückzuziehen.
-
Bei der vor beschriebenen Ausführungsform, wie in 1 gezeigt, wenn ein Rückzugblock bezeichnet wird, um das Werkzeug zurückzuziehen, wird der Rückzugvorgang ausgeführt, der den „Rückzugvorgang 1” zur Bewegung von der aktuellen Koordinatenposition in die Endpunkt-Koordinatenposition des Rückzugblocks und den „Rückzugvorgang 2” zur Bewegung in der entgegengesetzten Richtung entlang der Bewegungsbahn, die in dem Rückzugblock angegeben ist, umfasst. Wenn jedoch eine Vielzahl von Rückzugblöcken eingestellt werden kann, um den Rückzug zu erlauben, kann ein Rückzugvorgang ausgeführt werden, der in der aktuellen Position beginnt und die eingestellte Vielzahl von Rückzugblöcken umfasst. Da in diesem Fall eine Vielzahl von Positionierungsblöcken als Rückzugblöcke eingesetzt ist, werden die Informationen (ausführbaren Formatdaten) der Rückzugblöcke in dem Speicher zum Speichern von Rückzugblockinformationen gespeichert, ohne überschrieben zu werden. Die Endpunkt-Koordinatenpositionen, die sich aus der Ausführung der Rückzugblöcke ergeben, werden auch zusammen mit den gespeicherten Informationen (ausführbaren Formatdaten) der Rückzugblöcke gespeichert. Wenn dann die Werkzeugrückzuganfrage eingegeben wird, liest der Prozessor basierend auf der aktuellen Koordinatenposition die ausführbaren Formatdaten der Rückzugblöcke und die Endpunkt-Koordinatenpositionen, die in dem Speicher 19 zum Speichern von Rückzugblockinformationen gesichert sind, in umgekehrter chronologischer Reihenfolge (nach dem LIFO-Prinzip), um die Ausführung des Rückzugvorgangs zu erlauben.
-
Falls beispielsweise die Informationen eines Blocks B1, eines Blocks B2 und eines Blocks B3 in dem Speicher zum Speichern von Rückzugblockinformationen in dieser Reihenfolge gespeichert sind, wenn die Werkzeugrückzuganfrage eingegeben wird, werden die folgenden Schritte basierend auf der aktuellen Koordinatenposition ausgeführt, um das Werkzeug zurückzuziehen:
- • Bewegen in eine Endpunkt-Koordinatenposition des Blocks B3 (erster Rückzugvorgang 1);
- • Bewegen in der entgegengesetzten Richtung entlang einer Bahn, die in dem Block B3 angegeben ist (erster Rückzugvorgang 2);
- • anschließendes Bewegen in eine Endpunkt-Koordinatenposition des Blocks B2 (zweiter Rückzugvorgang 1);
- • Bewegen in die entgegengesetzte Richtung entlang einer Bahn, die in dem Block B2 angegeben ist (zweiter Rückzugvorgang 2);
- • weiteres Bewegen in eine Endpunkt-Koordinatenposition des Blocks B1 (dritter Rückzugvorgang 1); und
- • Bewegen in die entgegengesetzte Richtung entlang einer Bahn, die in dem Block B1 angegeben ist (dritter Rückzugvorgang 2).
-
Wenn ferner eine Vielzahl von Rückzugblöcken eingestellt ist, kann eine Vielzahl von Blöcken bei den Bestimmungsverfahren A, C für den Rückzugblock eingestellt werden. Bei dem Bestimmungsverfahren B für den Rückzugblock wird bzw. werden ein oder mehrere Blöcke ausgewählt, der bzw. die die Bedingungen erfüllt bzw. erfüllen. Falls eine Vielzahl von Rückzugblöcken bestimmt wird und bei dem Bestimmungsverfahren D für den Rückzugblock eingestellt wird, dann entfällt bei der Verarbeitung in 8 die Verarbeitung in Schritt d16 zum Zurücksetzen der Flags Fr, Fc auf „0”, wodurch die Flags Fr, Fc auf „1” gesetzt bleiben und jedes Mal wenn ein Block für den Positionierungsbefehl gelesen wird, der Block als Rückzugblock bezeichnet wird.
-
Bei der zuvor beschriebenen Ausführungsform umfasst der Rückzugvorgang 1 für eine Bewegung von der Position, in der die Bearbeitung angehalten wird, in die Endpunkt-Koordinatenposition des Rückzugblocks, eine lineare Bewegung, die in der Position beginnt, wo die Bearbeitung angehalten wird, bis zu der Endpunkt-Koordinatenposition des Rückzugblocks. Wenn die Bewegungsgeschwindigkeit jeder Achse jedoch auf eine entsprechende vorgegebene Geschwindigkeit eingestellt ist (beispielsweise eine Höchstgeschwindigkeit) kann die Bewegungsbahn von der Position, wo die Bearbeitung angehalten wird, bis zu der Endpunkt-Koordinatenposition des Rückzugblocks zickzackförmig sein. Ferner kann die Reihenfolge der Bewegungsachsen im Voraus vorgegeben werden, so dass jede Achse von der Position, in der die Bearbeitung angehalten wird, in die Endpunkt-Koordinatenposition des Rückzugblocks bewegt werden kann.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- JP 2007-188170 [0004, 0006, 0008, 0009]