-
Hintergrund der Erfindung
-
Gebiet der Erfindung
-
Die Erfindung betrifft eine numerische Steuerung und insbesondere eine solche mit einer Funktion zum Verhindern einer Kollision (unerwünschter Eingriff) zwischen einem Werkzeug und einem Werkstück bei einem Positionierungsbefehl zur gleichzeitigen Bewegung mehrerer Achsen.
-
Stand der Technik
-
Bei einem Positionierbefehl zum simultanen Bewegen einer Mehrzahl von Achsen wird der Bewegungsweg dann, wenn die jeweiligen Achsen sich nicht synchron bewegen, wie bei einem Schneidbefehl, keine gerade Linie. Damit können ein Werkzeug und ein Werkstück miteinander in Kollision (einen unerwünschten Eingriff) geraten. Ein Beispiel für eine Kollision zwischen einem Werkzeug und einem Werkstück wird nachfolgend mit Bezug auf 9 beschrieben.
-
Gemäß
9 ist ein Werkzeug
2 an einem Punkt A (momentane Position) positioniert und es wird ein Befehl zum Positionieren des Werkzeuges
2 an einem Punkt B (befohlene Position) ausgeführt, wobei das Werkzeug
2 so gesteuert wird, dass es sich auf einer geraden Linie bewegt, so dass das Werkzeug
2 sich entlang dem Pfad gemäß einem durchgezogenen Pfeil bewegt. Dabei geraten das Werkzeug
2 und das Werkzeug
3 nicht in Kollision. Tatsächlich aber ist in einem Positionierbefehl die Synchronisation der X-Achse und der Z-Achse nicht gesichert und die X-Achse und Z-Achse werden jeweils mit einer bestimmten Geschwindigkeit angetrieben. Entsprechend bewegt sich das Werkzeug
2 auf einem veränderlichen Weg, der in
9 mit gestrichelter Linie dargestellt ist und es kommt zu einer Kollision zwischen Werkzeug
2 und Werkstück
3. Um ein solches Problem zu vermeiden verwendet ein Stand der Technik eine Positionierung mit linearer Interpolation, wobei die Positionierung entlang einem Weg erfolgt, welcher einen Startpunkt und einen Endpunkt mit einer geraden Linie verbindet, siehe beispielsweise veröffentlichte japanische Patentanmeldung
JP H08-076827 A .
-
Jedoch muss bei einer Bewegung mehrerer Achsen auf einem Weg, welcher einen Startpunkt und einen Endpunkt mit einer geraden Linie verbindet, wie bei der offengelegten japanischen Patentanmeldung
JP H08-076827 A , eine Positionierung mit linearer Interpolation eingesetzt werden sowie eine Festzeitbeschleunigung und - Abbremsung, wobei alle interpolierten Achsen die gleiche Beschleunigung (Zeitkonstante) haben.
-
Die 10A und 10B vergleichen Geschwindigkeitsänderungen der Achsen zwischen einem Fall, bei dem die Werkzeugpositionierungssteuerung mit einer nichtlinearen Interpolationspositionierung erfolgt (10A) mit dem Fall, bei dem die Werkzeugpositionierungssteuerung mit einer linearen Interpolationspositionierung ( 10B) erfolgt.
-
10A zeigt, werden im Falle einer Positionierungssteuerung mit einer nichtlinearen Interpolationspositionierung eine X-Achse und eine Z-Achse beschleunigt bzw. abgebremst auf Basis von Zeitkonstanten, die für jede Achse eingestellt sind (Tx für die X-Achse und Tz für die Z-Achse) und der Antrieb erfolgt unabhängig. Im Unterschied hierzu wird gemäß 10B im Falle einer Werkzeugpositionierungssteuerung mit einer linearen Interpolationspositionierung mit Festzeit-Beschleunigung und - Abbremsung die Zeitkonstante Tz der Z-Achse an die Zeitkonstante Tx für die X-Achse bezüglich Beschleunigung und Abbremsung angepasst und die X-Achse und die Z-Achse werden bei der Steuerung synchron angetrieben, so dass eine vorgegebene Geschwindigkeit (Maximalgeschwindigkeit) nicht überschritten wird.
-
Wie oben beschrieben, muss bei der linearen Interpolationspositionierung die größte Zeitkonstante der interpolierten Achsen für alle zu interpolierenden Achsen eingestellt werden und die Steuerung muss so ausgeführt werden, dass die Geschwindigkeit jeder Achse nicht die vorgegebenen Geschwindigkeit überschreitet. Aus diesen Gründen tritt ein Nachteil im Vergleich zu der nichtlinearen Interpolationspositionierung dahingehend auf, dass die Zykluszeit länger wird.
-
Aus der
DE 10 2014 010 213 A1 ist eine numerische Steuerungsvorrichtung mit einer Funktion zur Verringerung des Pfads zum Startpunkt in einem festen Zyklus bekannt. Hierzu wird ein Bereich bestimmt, in welchem das betreffende Werkstück bereits spanend bearbeitet wurde. Dann wird ein Pfad von der Schneid-Abschlussposition in einem Zyklus zur Schneid-Startposition in dem folgenden Zyklus mit einer möglichst geringen Länge festgelegt. Auf diese Weise lässt sich eine verringerte Zykluszeit erzielen.
-
Aus der
US 2003/0009260 A1 ist eine Positionierungssteuervorrichtung bekannt, bei der ein Bewegungspfad eines Übertragungskopfes in mehrere lineare Abschnitte unterteilt wird, um den Übertragungskopf um einen zu vermeidenden Bereich herum zu steuern.
-
Aus der
DE 10 2009 048 252 A1 ist eine numerisch gesteuerte Maschine mit einer Kollisionsverhinderungsvorrichtung bekannt. Die Vorrichtung verwendet ein Verfahren, bei dem vorab geprüft wird, ob die Möglichkeit einer Kollision bezüglich eines Sollpfades besteht. Aus der
DE 11 2010 005 521 T5 ist eine numerische Steuervorrichtung mit einer Kollisionsbestimmungseinheit bekannt, die eine Möglichkeit einer Kollision zwischen einer Maschine und einem Zugangsverbotsbereich detektiert. Aus der
DE 10 2015 002 040 A1 ist eine numerische Steuerung für eine Laserbearbeitungsmaschine bekannt, bei der die Steuerung so durchgeführt wird, dass eine Kollision zwischen einem Werkstück und einer Düsenspitze dadurch vermieden wird, dass die Verstärkung bei der Abstandssteuerung vergrößert wird, wenn die Düsenspitze bei der Laserbearbeitung dem Werkstück sehr nahe kommt.
-
Kurzbeschreibung der Erfindung
-
Ziel der vorliegenden Erfindung ist die Bereitstellung einer numerischen Steuerung mit einer Funktion zum Verhindern einer Kollision zwischen einem Werkzeug und einem Werkstück, wobei die Zykluszeit bei einem Positionierungsbefehl zum simultanen Bewegen mehrerer Achsen kurz gehalten ist.
-
Diese Aufgabe wird mit einer numerischen Steuerung gemäß Anspruch 1 und mit einer numerischen Steuerung gemäß Anspruch 3 gelöst.
-
Die Erfindung lehrt eine numerische Steuerung, mit welcher bei einem Positionierungsbefehl zum simultanen Bewegen mehrerer Achsen dann, wenn ein einen Startpunkt und einen Endpunkt mit einer geraden Linie verbindender Weg nicht mit einem Werkstück kollidiert, auch wenn kein geradliniger Weg ausgewählt ist, eine Kollision mit einem Werkstück vermieden werden kann und eine Positionierung mit einer kurzen Zykluszeit ausführbar ist.
-
Eine numerische Steuerung gemäß der Erfindung treibt mehrere Achsen an, um ein Werkzeug und ein Werkstück relativ zueinander zu bewegen und so auf Basis eines Programmbefehls eine Maschine zu steuern, welche ein Werkstück bearbeitet. Eine erste Variante der numerischen Steuerung hat eine Befehlsanalyseeinheit, welche den Programmbefehl analysiert zur Erzeugung von Bewegungsbefehlsdaten und eine Wegkorrektureinheit, welche dann, wenn ein Befehl aus dem Programmbefehl ein Positionierbefehl ist, einen Korrekturweg erzeugt, der in einer Richtung weg vom Werkstück relativ zu einem geradlinigen Weg aus der momentanen Position des Werkstückes in Richtung auf eine durch die Bewegungsbefehlsdaten befohlene Position abgebogen ist. Die numerische Steuerung steuert die Achse dann entsprechend dem Korrekturweg.
-
Die Wegkorrektureinheit kann eingerichtet sein, für jede aus einer Mehrzahl von Achsen, welche entsprechend den Bewegungsbefehlsdaten bewegt werden, eine Bewegungszeit zu berechnen und den Korrekturweg zu erzeugen durch Verzögerung einer Bewegungsstartzeit einer Achse, die verschieden ist von der Achse mit der längten Bewegungszeit, so dass dann, wenn die von der Achse mit längster Bewegungszeit verschiedene Achse sich in einer Richtung bewegt, welche eine Annäherung des Werkzeuges an das Werkstück bewirkt, die von der Achse mit der längsten Bewegungszeit verschiedene Achse die Bewegung zur gleichen Zeit beendet wie die Achse mit der längsten Bewegungszeit.
-
Weiterhin kann die Wegkorrektureinheit eingerichtet sein, zu ermitteln, ob die von der Achse mit der längsten Bewegungszeit verschiedene Achse sich in einer Richtung bewegt, welche eine Annäherung des Werkzeuges an das Werkstück bewirkt, auf Basis von Daten bezüglich eines Zusammenhanges zwischen den Bewegungsrichtungen der Achsen, welche für die jeweiligen Achsen im Voraus eingestellt sind, und dem Werkstück.
-
Eine zweite Variante einer numerischen Steuerung gemäß der Erfindung hat eine Befehlsanalyseeinheit, welche den Programmfehler analysiert zur Erzeugung von Bewegungsbefehlsdaten und eine Wegkorrektureinheit, welche dann, wenn ein Befehl aus dem Programmbefehl ein Positionierungsbefehl ist, welcher einen Umgehungsbefehl enthält, der eine Richtung spezifizieren kann, welche eine Abbiegung des Werkzeugweges in Richtung weg vom Werkstück bewirkt, einen Korrekturweg erzeugt, der in Bezug auf eine gerade Linie in eine durch den Umgehungsbefehl spezifizierte Richtung abgebogen ist hin zu einer befohlenen Position, wie durch die Bewegungsbefehlsdaten befohlen, ausgehend von einer momentanen Position des Werkzeuges. Die numerische Steuerung steuert die Achsen entsprechend dem Korrekturweg.
-
Mit der vorliegenden Erfindung kann eine Kollision eines Werkzeuges mit einem Werkstück vermieden werden unter Verwendung einer nichtlinearen Interpolationspositionierung. Im Ergebnis kann eine kürzeste Zeitkonstante für jede Achse eingestellt werden, so dass die Zykluszeit verkürzt werden kann.
-
Figurenliste
-
Die obigen sowie weitere Ziele und Merkmale der Erfindung werden noch deutlicher aus der nachfolgenden Beschreibung bevorzugter Ausführungsbeispiele mit Bezug auf die Figuren:
- 1A und 1B sind Diagramme zur Erläuterung von Wegänderungen zur Vermeidung einer Kollision zwischen einem Werkzeug und einem Werkstück gemäß der Erfindung;
- 2 zeigt einen Werkzeugweg beim Drehen mit nichtlinearer Interpolationspositionierung;
- 3A bis 3C erläutern einen Weg beim Drehen mit nichtlinearer Interpolationspositionierung gemäß einem ersten Ausführungsbeispiel der Erfindung;
- 4 ist ein funktionales Blockdiagramm einer numerischen Steuerung gemäß einem ersten Ausführungsbeispiel der Erfindung;
- 5 ist ein Flussdiagramm zur Erläuterung des Ablaufs einer Wegkorrekturprozedur bei nichtlinearer Interpolationspositionierung, ausgeführt mit der numerischen Steuerung gemäß 4;
- 6 ist eine Erläuterung eines Weges bei nichtlinearer Interpolationspositionierung bei Bearbeitung in einem Bearbeitungszentrum;
- 7 erläutert einen Korrekturweg bei nichtlinearer Interpolationspositionierung unter Verwendung eines Umgehungsbefehls gemäß einem zweiten Ausführungsbeispiel der Erfindung;
- 8 ist ein Flussdiagramm zur Erläuterung des Ablaufs in einer numerischen Steuerung gemäß dem zweiten Ausführungsbeispiel der Erfindung;
- 9 zeigt ein Beispiel für eine Kollision zwischen einem Werkzeug und einem Werkstück bei Positionierung des Werkzeugs; und
- 10A und 10B vergleichen Geschwindigkeitsänderungen von Achsen zwischen nichtlinearer Interpolationspositionierung und linearer Interpolationspositionierung.
-
Beschreibung bevorzugter Ausführungsbeispiele im Einzelnen
-
Erfindungsgemäß wird eine nichtlineare Interpolationspositionierung eingesetzt zur unabhängigen Bewegung jeder Achse und wenn unter den instruierten Achsen eine Achse mit einer kürzeren Bewegungszeit sich „in Richtung auf das Werkstück“ bewegt, wird die Bewegungsstartzeit der Achse mit kürzerer Bewegungszeit verzögert, wodurch die Positionierung entlang einem Weg erfolgt, welcher in einer dem Werkstück entgegengesetzten Richtung verläuft (abgebogen ist) und entlang dem keine Kollision zwischen einem Werkzeug und einem Werkstück auftritt.
-
Die 1A und 1B sind Diagramme zur Erläuterung einer Wegänderung zum Vermeiden einer Kollision zwischen einem Werkzeug und einem Werkstück entsprechend der Erfindung. Beim Beispiel gemäß 1A ist der Bewegungsstart einer X-Achse, welche eine kürzere Bewegungszeit hat, so verzögert, dass die X-Achse zur gleichen Zeit ihre Bewegung beendet wie die Z-Achse, welche eine längere Bewegungszeit hat. Damit wird gemäß 1B der Bewegungsweg eines Werkzeuges 2 in einen Weg s3 geändert, auf welchem keine Kollision zwischen Werkzeug und Werkstück 3 auftritt.
-
Wenn die Richtung eines Werkstückes automatisch spezifizierbar ist aus einer Werkzeugkantenrichtung, einer Drehachsenrichtung des Werkstückes in einer Drehbank oder aufgrund von CAD-Daten des Werkstückes, welche in die numerische Steuerung übertragen sind, erfolgt erfindungsgemäß automatisch eine Bestimmung, ob eine Wegänderung in einem normalen Positionierbefehl erfolgt. Wenn hingegen die Richtung des Werkstückes nicht automatisch spezifizierbar ist, wird die Wegänderung durch ein Programm befohlen. Beispielsweise wird zwischen der linken Seite und der rechten Seite in Bewegungsrichtung eines einen Startpunkt und einen Endpunkt mit einer geraden Linie verbindenden Weges eines gewünschte Bewegungsrichtung spezifiziert und eine mögliche Bewegungsrichtung wird festgelegt bei Ausführung einer nichtlinearen Interpolationspositionierung. Erfolgte die Bewegung in Richtung entgegengesetzt zu der durch das Programm spezifizierten Richtung, erfolgt eine Wegänderung.
-
Zunächst soll ein erstes Ausführungsbeispiel der numerischen Steuerung gemäß der Erfindung mit Bezug auf die 2 bis 5 näher beschrieben werden.
-
Bei diesem Ausführungsbeispiel erfolgt eine Wegänderung in einer Drehbank auf Basis einer automatischen Bestimmung, wodurch eine Kollision zwischen einem Werkzeug und einem Werkstück vermieden wird.
-
2 erläutert einen Weg bei einer nichtlinearen Interpolationspositionierung beim Drehen. Wenn gemäß 2 eine grade Linie s1, welche einen Punkt A und eine Punkt B verbindet, das Werkstück 3 nicht kontaktiert, starten bei Ausführung eines Positionierungsbefehls vom Punkt A zum Punkt B (G00 XBx ZBz ) durch nichtlineare Interpolationspositionierung sowohl die X-Achse als auch die Z-Achse gleichzeitig ihre Bewegung. Damit wird der Werkzeugweg ein gekrümmter Weg.
-
Ist dabei der Weg des Werkzeuges 2 in einer Richtung von X=0 abgebogen unter Entfernung von der geraden Linie s1, welche den Punkt A und den Punkt B verbindet (in 2 eine Fläche unterhalb der die Punkte A und B verbindenden Linie) (der Weg, welcher mit einer durchgezogenen Linie s2 dargestellt ist), besteht die Möglichkeit, dass das Werkzeug 2 das Werkstück 3 kontaktiert. Aus diesem Grunde wird der Weg des Werkzeuges 2 so geändert, (siehe Weg s3 in 1), dass er in Richtung weg vom Werkstück 3 abgebogen ist (in 2 eine Fläche oberhalb der die Punkte A und B verbindenden geraden Linie s1), so dass das Werkzeug 2 das Werkstück 3 nicht kontaktiert.
-
Die 3A bis 3C sind Diagramme zur Erläuterung eines Weges bei nichtlinearer Interpolationspositionierung beim Drehen gemäß der Erfindung.
-
Beim Drehen werden Zeitkonstante bezüglich der X-Achse und der Z-Achse auf Tx bzw. Tz eingestellt, Eilganggeschwindigkeiten der X-Achse und der Z-Achse werden auf Vx bzw. Vz eingestellt und gemäß 3A werden Bewegungsbeträge bezüglich der X-Achse und der Z-Achse auf Dx bzw. Dz eingestellt. Damit ergibt sich gemäß 3B eine Bewegungszeit für die X-Achse von Tx + Dx/Vx und eine Bewegungszeit für die Z-Achse von Tz + Dz/Vz. Wenn in diesem Falle, bei dem die Achse mit der kürzeren Bewegungszeit sich „in Richtung auf das Werkstück“ bewegt, die X-Achse und die Z-Achse die Bewegung gleichzeitig starten, kann es zu einem Kontakt mit dem Werkstück kommen. Aus diesem Grunde wird die Bewegungsstarrzeit der Achse mit der kürzeren Bewegungszeit verzögert um die Differenz zwischen den Bewegungszeiten der Achsen, wodurch die X-Achse und die Z-Achse die Bewegung gleichzeitig beenden. Damit wird entsprechend 3C der Weg s3 des Werkzeuges 2 ein gekrümmter Weg in Richtung „weg vom Werkstück 3“.
-
Die obigen Berechnungsgleichungen und die Figuren sind Beispiele für den Fall einer linearen Beschleunigung und Abbremsung. In Fällen anderer Beschleunigungs- und Abbremsverfahren, wie beispielsweise einer glockenförmigen Beschleunigung oder Abbremsung, können Berechnungen auf Basis eines entsprechenden Konzeptes eingesetzt werden.
-
Die „direkte Annäherung an das Werkstück“ im Falle eines Koordinatensystems nach 3C ist die Richtung auf X=0 (in Richtung auf die Mittelachse des Werkstückes) bezüglich der X-Achse und die Minus-Richtung von Z für die Z-Achse. Die „Richtung mit Annäherung an das Werkstück“ kann einstellbar sein in einem Einstellbereich in einem Speicher der numerischen Steuerung, wo sie im Voraus der zu steuernden Maschine eingegeben wird.
-
4 ist ein funktionales Blockdiagramm einer numerischen Steuerung gemäß dem vorliegenden Ausführungsbeispiel zur Durchführung obiger Maßnahmen.
-
Die numerische Steuerung 1 hat eine Befehlsanalyseeinheit 10, welche einen CNC-Befehl 20 sequenziell aus einem Programm ausliest, welches beispielsweise in einem Speicher (nicht dargestellt) abgespeichert ist, und analysiert den ausgelesenen CNC-Befehl 20. Die Befehlsanalyseeinheit 10 erzeugt sodann Bewegungsbefehlsdaten zum Instruieren einer Bewegung jeder Achse auf Basis des Ergebnisses der Analyse und gibt die erzeugten Bewegungsbefehlsdaten an die Wegkorrektureinheit 11.
-
Betreffen die von der Befehlsanalyseeinheit 10 erhaltenen Bewegungsbefehlsdaten eine nichtlineare Interpolationspositionierung des Werkzeuges, berechnet die Wegkorrektureinheit 11 Bewegungszeiten für jede Achse auf Basis der Bewegungsbefehlsdaten und ermittelt, ob die Bewegungsrichtung der jeweiligen Achse mit der kürzeren Bewegungszeit eine „Richtung zum Werkstück hin“ ist, wie oben erläutert ist. Die Wegkorrektureinheit 11 führt dann eine Korrektur der Bewegungsbefehlsdaten aus, so dass dann, wenn festgestellt wird, dass die Bewegungsrichtung der Achse mit der kürzeren Bewegungszeit eine „Richtung zum Werkstück hin“ ist, die Bewegungsstartzeit der Achse mit der kürzeren Bewegungszeit so verzögert wird, dass die Achse ihre Bewegung gleichzeitig mit den anderen Achsen beendet. Die Wegkorrektureinheit 11 gibt dann die korrigierten Bewegungsbefehlsdaten an die Interpolationseinheit 12.
-
Handelt es sich hingegen bei dem Befehl entsprechend den von der Befehlsanalyseeinheit 10 empfangenen Bewegungsbefehlsdaten nicht um einen Befehl für eine nichtlineare Interpolationspositionierung des Werkzeuges oder handelt es sich um einen Befehl zum Instruieren einer nichtlinearen Interpolationspositionierung, ist jedoch die Bewegungsrichtung der Achse mit der kürzeren Bewegungszeit nicht eine Richtung zum Werkstück hin, gibt die Wegkorrektureinheit 11 die von der Befehlsanalyseeinheit 10 empfangenen Befehlsdaten direkt an die Interpolationseinheit 12.
-
Bei Prüfung, ob die Bewegungsrichtung der Achse mit der kürzeren Bewegungszeit eine „Richtung zum Werkstück hin“ ist oder nicht, erfolgt ein Rückgriff auf Informationen bezüglich „der Richtung zum Werkstück hin“, welche für jede Achse in einem Einstellbereich 21 eingestellt sind.
-
Die Interpolationseinheit 12 erzeugt Daten durch eine Interpolationsberechnung von Punkten auf einem Befehlsweg entsprechend einem Interpolationszyklus auf Basis eines Bewegungsbefehls, welcher durch die Bewegungsbefehlsdaten gegeben wird, welche wiederum durch die Wegkorrektureinheit 11 ausgegeben sind.
-
Die Steuereinheit 13 für Beschleunigung/Abbremsung führt eine Beschleunigungs- bzw. Abbremsprozedur aus auf Basis der Interpolationsdaten, wie durch die Interpolationseinheit 12 ausgegeben, berechnet die Geschwindigkeit jeder Antriebsachse für jeden Interpolationszyklus und gibt die resultierenden Daten an die Servosteuereinheit 14.
-
Sodann steuert die Servosteuereinheit 14 die Antriebseinheit jeder Achse der zu steuernden Maschine auf Basis des Ausgangs aus der Steuereinheit 13 für Beschleunigung/ Abbremsung.
-
5 erläutert mit einem Flussdiagramm den Wegkorrekturprozess bei nichtlinearer Interpolationspositionierung durch die numerische Steuerung gemäß 4.. Der Prozess wird nachfolgend mit den einzelnen Schritten erläutert.
-
[Schritt SA01]
-
Wird der Betrieb des Bearbeitungsprogrammes gestartet, liest die Befehlsanalyseeinheit 10 sequenziell Befehlsblöcke aus dem Programm, welches eine Vielzahl von Blöcken enthält, in einen Speicher der numerischen Steuerung 1 zum Erzeugen von Bewegungsbefehlsdaten.
-
[Schritt SA02]
-
Die Wegkorrektureinheit 11 prüft, ob jeder der in Schritt SA01 ausgelesenen Befehlsblöcke ein Block ist zum Befehl einer nichtlinearen Interpolationspositionierung zum Antrieb mehrerer Achsen. Ist der Befehlsblock ein Block zum Instruieren einer nichtlinearen Interpolationspositionierung zum Antrieb mehrerer Achsen, geht das Verfahren zu Schritt SA03. Handelt es sich bei dem Befehlsblock nicht um einen Block zum Instruieren einer nichtlinearen Interpolationspositionierung zum Antrieb mehrerer Achsen, geht das Verfahren zu Schritt SA06.
-
[Schritt SA03]
-
Die Wegkorrektureinheit 11 berechnet die Bewegungszeit für jede durch den Befehl für die nichtlineare Interpolationspositionierung anzutreibende Achse.
-
[Schritt SA04]
-
Die Wegkorrektureinheit 11 spezifiziert eine Achse, die verschieden ist von der Achse mit der längsten Bewegungszeit aus den durch den Befehl für die nichtlineare Interpolationspositionierung angetriebenen Achsen auf Basis der in Schritt SA03 berechneten Bewegungszeit und prüft, ob die spezifizierte Achse sich in einer Richtung zum Werkstück hin bewegt. Bewegt sich die Achse in Richtung zum Werkstück hin, geht das Verfahren zu Schritt SA05. Bewegt sich die Achse nicht zum Werkstück hin, geht das Verfahren zu Schritt SA06.
-
[Schritt SA05]
-
Die Wegkorrektureinheit 11 korrigiert die Bewegungsbefehlsdaten so, dass die Bewegungsstartzeit der Achse, welche verschieden ist von der Achse mit der längeren Bewegungszeit, so verzögert ist, dass diese Achse die Bewegung zur gleichen Zeit beendet wie die Achse mit der längeren Bewegungszeit.
-
[Schritt SA06]
-
Der Befehlsblock wird ausgeführt auf Basis der Bewegungsbefehlsdaten, wie durch die Wegkorrektureinheit 11 ausgegeben.
-
Im Flussdiagramm gemäß 5 sind die Prozeduren im Schritt SA01 und im Schritt SA06 die gleichen wie beim Stand der Technik, während die Prozeduren im Schritt SA02 und im Schritt SA05 der vorliegenden Erfindung entsprechen.
-
Wie oben erläutert, wird dann, wenn in der numerischen Steuerung 1 eine nichtlineare Interpolationspositionierung gemäß der Erfindung befohlen wird, entsprechend dem Weg s3 in den 1B und 3C eine Korrektur derart durchgeführt, dass der Bewegungsweg des Werkzeuges in einer Richtung weg vom Werkstück gekrümmt wird, wodurch eine Kollision zwischen dem Werkzeug und dem Werkstück vermieden ist. Gleichzeitig erfolgt die Korrektur so, dass für jede Achse die kürzeste Zeitkonstante gilt, wodurch die Zykluszeit kurz gehalten werden kann.
-
Nunmehr wird ein zweites Ausführungsbeispiel einer numerischen Steuerung gemäß der Erfindung näher mit Bezug auf die 6 bis 8 beschrieben. Bei diesem Ausführungsbeispiel erfolgt die Wegänderung durch einen Programmbefehl in einem Bearbeitungszentrum so, dass eine Kollision zwischen einem Werkzeug und einem Werkstück vermieden ist.
-
6 zeigt einen Weg bei nichtlinearer Interpolationspositionierung in einem Bearbeitungszentrum.
-
Wenn gemäß 6 ein Werkzeug 4 am Punkt A positioniert ist, wird ein Befehl zum Positionieren des Werkzeuges 4 am Punkt B (G00 YBy ZBz ) ausgeführt wenn für die Positionssteuerung eine nichtlineare Interpolationspositionierung ausgewählt ist, und sowohl die Y-Achse als auch die Z-Achse starten die Bewegung gleichzeitig, wodurch der Weg s2 in einer Weise gebogen wird, dass er in Richtung auf das Werkstück 5 hingebogen ist.
-
In dieser Situation erfolgt auch eine Änderung des Weges wie beim ersten Ausführungsbeispiel zum Vermeiden einer Kollision zwischen Werkzeug und Werkstück. Werden drei oder mehr Achsen gleichzeitig bewegt, so werden - wie beim ersten Ausführungsbeispiel - für die Achsen mit Bewegungszeiten kürzer als die der Achse mit der längsten Bewegungszeit und welche sich in Richtung auf das Werkstück hin bewegen die Bewegungsstartzeiten verzögert. Die Achsen werden so gesteuert, dass die Bewegungen zur gleichen Zeit enden wie die Bewegung der Achse mit der längsten Bewegungszeit, wodurch eine Kollision zwischen Werkzeug und Werkstück vermieden ist.
-
Es kommt vor, dass die Richtung auf das Werkstück hin nicht in einfacher Weise festgestellt werden kann, wie bei einem von Wänden umgebenen Innenraum. Um eine solche Situation zu meistern wird beim vorliegenden Ausführungsbeispiel ein Umgehungsbefehl in das Bearbeitungsprogramm eingeführt zum Spezifizieren der Richtung, in welcher der Bewegungsweg des Werkzeuges zu krümmen ist und auf Basis eines solchen Programmbefehls kann die Richtung, in welcher der Bewegungsweg zu krümmen ist, spezifiziert werden.
-
Als Beispiel bezüglich der Bewegungsrichtung eines Weges, welcher einen Start- und einen Endpunkt in der Y-Z-Ebene verbindet, wird ein G-Code eines Umgehungsbefehls bei Spezifikation der linken Seite auf G101 gesetzt und der Code eines Umgehungsbefehls bei Spezifikation der rechten Seite wird auf G102 gesetzt. Beim Beispiel gemäß 6 muss bei nichtlinearer Interpolationspositionierung zur Vermeidung einer Kollision zwischen Werkzeug und Werkstück der Werkzeugweg so gekrümmt werden, dass er auf der linken Seite des Weges verläuft, welcher den Startpunkt (Punkt A) und dem Endpunkt (Punkt B) mit einer geraden Linie s1 verbindet, bezogen auf die Vorschubrichtung und in Blickrichtung auf die Zeichnungsebene.
-
Entsprechend den obigen Ausführungen und gemäß 7 ist der Befehl G101 in einem Block des Positionierbefehls enthalten. Dementsprechend ist der Weg in einer Richtung abgebogen entgegengesetzt zur Richtung (rechte Seite) im Falle einer nichtlinearen Interpolationspositionierung. Aus diesem Grunde wird der Weg geändert und die Bewegungszeiten der beiden Achsen werden berechnet, womit der Bewegungsstart der Y-Achse, welche die kürzere Bewegungszeit hat, verzögert wird.
-
Dementsprechend erhält der Weg s3 des Werkzeuges 4 eine Krümmung weg vom Werkstück 5. Wie vorstehend beschrieben, kann auch in einer solchen Situation, in welcher nicht automatisch festgestellt werden kann, ob der Weg in Richtung auf das Werkstück oder in Richtung vom Werkstück weg gekrümmt ist, die Richtung durch das Programm spezifiziert werden, in welcher eine Kollision vermieden ist.
-
Ein funktionales Blockdiagramm einer numerischen Steuerung gemäß dem vorliegenden Ausführungsbeispiel zur Ausführung des oben beschriebenen Betriebs entspricht dem funktionalen Blockdiagramm der numerischen Steuerung gemäß dem ersten Ausführungsbeispiel (4). Bei dem vorliegenden Ausführungsbeispiel der numerischen Steuerung 1 ist aber die Wegkorrektureinheit 11 verschieden vom ersten Ausführungsbeispiel insofern, als die Wegkorrektureinheit 11 die Wegkorrektur, wie oben beschrieben, auf Basis eines Umgehungsbefehls ausführt.
-
8 ist ein Blockdiagramm zur Erläuterung des Ablaufs der Wegkorrektur bei einer nichtlinearen Interpolationspositionierung mit der numerischen Steuerung dieses Ausführungsbeispiels. Der Ablauf wird nachfolgend mit den einzelnen Schritten näher erläutert.
-
[Schritt SB01]
-
Wird der Betrieb des Bearbeitungsprogrammes gestartet, überträgt die Befehlsanalyseeinheit 10 sequenziell Befehlsblöcke aus dem Bearbeitungsprogramm, welches eines Vielzahl von Blöcken enthält, in einen Speicher der numerischen Steuerung 1 zur Berechnung der Bewegungsbefehlsdaten.
-
[Schritt SB02]
-
Die Wegkorrektureinheit 11 ermittelt, ob jeder der in Schritt SB01 ausgelesenen Befehlsblöcke ein Block für eine Instruktion einer nichtlinearen Interpolationspositionierung ist, welche eine Vielzahl von Achsen antreibt. Handelt es sich bei dem Befehlsblock um einen Block zum Befehlen einer nichtlinearen Interpolationspositionierung zum Antrieb einer Mehrzahl von Achsen, geht das Verfahren zu Schritt SB03. Handelt es sich bei dem Befehlsblock nicht um einen Block zum Befehlen einer nichtlinearen Interpolationspositionierung zum Antrieb mehrerer Achsen, geht das Verfahren zu Schritt SB08.
-
[Schritt SB03]
-
Die Wegkorrektureinheit 11 berechnet die Bewegungszeit jeder Achse, welche angetrieben wird durch den Befehl zur nichtlinearen Interpolationspositionierung, welcher die Mehrzahl von Achsen antreibt.
-
[Schritt SB04]
-
Die Wegkorrektureinheit 11 ermittelt, ob der in Schritt SB01 ausgelesene Befehlsblock einen Umgehungsbefehl enthält zur Instruktion einer Wegänderung. Enthält der Befehlsblock einen Umgehungsbefehl, geht das Verfahren zu Schritt SB05. Enthält der Befehlsblock keinen Umgehungsbefehl, geht das Verfahren zu Schritt SB06.
-
[Schritt SB05]
-
Die Wegkorrektureinheit 11 ermittelt, ob die durch den Umgehungsbefehl instruierte Krümmungsrichtung entgegengesetzt ist der Richtung der nichtlinearen Interpolationspositionierung, das heißt, ob die Wegkorrektur erforderlich ist oder nicht. Ist die Wegkorrektur erforderlich, geht das Verfahren zu Schritt SB07. Ist die Wegkorrektur nicht erforderlich, geht das Verfahren zu Schritt SB08.
-
[Schritt SB06]
-
Die Wegkorrektureinheit 11 spezifiziert aus den durch den Befehl für die nichtlineare Interpolationspositionierung angetriebenen Achsen eine Achse, die verschieden ist von der Achse mit der längsten Bewegungszeit auf Basis der in Schritt SB03 berechneten Bewegungszeit und prüft, ob die spezifizierte Achse sich in Richtung auf das Werkstück hin bewegt. Bewegt sich die Achse in Richtung auf das Werkstück hin, geht das Verfahren zu Schritt SB07. Bewegt sich die Achse nicht in Richtung auf das Werkstück hin, geht das Verfahren zu Schritt SB08.
-
[Schritt SB07]
-
Die Wegkorrektureinheit 11 korrigiert die Bewegungsbefehlsdaten für eine Verzögerung der Bewegungsstartzeit der von der Achse mit der längsten Bewegungszeit verschiedenen Achse so, dass die erstgenannte Achse die Bewegung zur gleichen Zeit beendet wie die Achse mit der längsten Bewegungszeit.
-
[Schritt SB08]
-
Der Befehlsblock wird ausgeführt auf Basis der durch die Wegkorrektureinheit 11 ausgegebenen Bewegungsbefehlsdaten.
-
Im Flussdiagramm gemäß 8 sind die Prozeduren in Schritt SB01 und in Schritt SB08 die gleichen wie beim Stand der Technik, während die Prozeduren in Schritt SB02 und in Schritt SB07 erfindungsgemäß sind.
-
Wie oben beschrieben, erfolgt bei Instruktion einer nichtlinearen Interpolationspositionierung in der numerischen Steuerung 1 gemäß diesem Ausführungsbeispiel eine Korrektur derart, dass der Bewegungsweg des Werkzeuges in einer Richtung weg vom Werkstück abgekrümmt ist, wodurch eine Kollision zwischen dem Werkzeug und dem Werkstück vermieden ist. Da eine Bedienungsperson die Abkrümmrichtung des Werkzeugweges unter Verwendung eines Umgehungsbefehls durch das Bearbeitungsprogramm spezifizieren kann, kann auch in einer Position, in welcher es schwierig ist, eine Richtung weg vom Werkstück zu bestimmen, eine Kollision zwischen Werkzeug und Werkstück vermieden werden. Im Ergebnis erfolgt eine Korrektur mit der zu diesem Zeitpunkt kürzesten Zeitkonstante für jede Achse, wodurch die Zykluszeit kurz gehalten wird.
-
Oben wurden Ausführungsbeispiele der Erfindung näher beschrieben. Jedoch ist die Erfindung nicht auf diese Beispiele beschränkt und kann mit unterschiedlichen Abwandlungen durch Modifikationen verwirklicht werden.