-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die Erfindung betrifft eine numerische Steuerung und insbesondere eine solche, die eingerichtet ist zum Auffinden von Blöcken eines Bearbeitungsprogramms aus einer Maschinenposition.
-
Zum Stand der Technik
-
Bricht ein Werkzeug während der Bearbeitung unter Einsatz einer numerischen Steuerung, wird die Bearbeitung unterbrochen, so dass das Werkzeug ersetzt werden kann, und danach wird ein Block in einem Bearbeitungsprogramm (z.B. ein Block für die Unterbrechung des Betriebs) für die Wiederaufnahme des Betriebs identifiziert und der Betrieb wird mit dem identifizierten Block in der Regel wieder aufgenommen. Wird bei Bearbeitung unter Einsatz einer numerischen Steuerung beim Werkstück ein beschädigter Abschnitt der bearbeiteten Oberfläche gefunden, so wird ein Block des Bearbeitungsprogramms für die Bearbeitung der Oberfläche identifiziert, so dass die Bearbeitungsbedingungen vom identifizierten Block ausgehend für eine Neubearbeitung neu eingestellt werden können. Somit kommt es bei manchen Bearbeitungen unter Einsatz einer numerischen Steuerung dazu, dass ein spezifischer (bestimmter) Block des Bearbeitungsprogramms aufgefunden (zurückgeholt) werden muss. Im Allgemeinen werden ein Programmbefehlswert, eine Werkzeugnummer, eine Sequenznummer und dergleichen eingesetzt, um einen bestimmten Block aus einem Bearbeitungsprogramm aufzufinden.
-
Beispielsweise beschreibt die offengelegte
japanische Patentanmeldung 04-033010 einen Stand der Technik zum Auffinden eines bestimmten Blockes aus einem Bearbeitungsprogramm mit einem Verfahren, bei dem ein Werkzeugpfad in einer interaktiven numerischen Steuerung auf einem Bildschirm dargestellt wird, eine Markierung in den Punkt des dargestellten Werkzeugpfades gesetzt wird, bei dem eine Prüfung stattfinden soll, und der zu diesem zu prüfenden Punkt gehörige Block wird mit der Markierung aufgefunden.
-
Ist das Bearbeitungsprogramm relativ lang und hat es eine große Anzahl von ähnlichen Bohrbefehlen oder ähnlichen Bearbeitungsbefehlen in Folge, dann entstehen allerdings Probleme dahingehend, dass es Zeit und Mühe erfordert, den bestimmten Block aus graphischen Darstellungen oder dergleichen des Bearbeitungsprogrammes und des Bearbeitungspfades aufzufinden.
-
KURZBESCHREIBUNG DER ERFINDUNG
-
Dementsprechend ist ein Ziel der Erfindung die Bereitstellung einer numerischen Steuerung, die mit relativ geringem Zeit- und Arbeitsaufwand ermöglicht, einen Zielblock aus einem Bearbeitungsprogramm aufzufinden.
-
Erfindungsgemäß wird das obige Problem gelöst durch Bereitstellung einer numerischen Steuerung mit einer Funktion zum Analysieren eines Bearbeitungsprogrammes von Anfang an und zum Auffinden und Identifizieren eines Blockes für eine Bearbeitung in einer Position nahe einer laufenden Position eines Werkzeuges, und zum Wiederaufnehmen der Bearbeitung in beispielsweise der Mitte oder in der Nähe der Mitte des Bearbeitungsprogrammes. Eine Bedienungsperson kann in einfacher Weise den Block des Bearbeitungsprogrammes für die Wiederaufnahme der Bearbeitung auffinden.
-
Eine numerische Steuerung gemäß der Erfindung ist eingerichtet zum Auffinden eines bestimmten Blockes aus einem Bearbeitungsprogramm und hat eine Auffindbefehlseingabeeinheit, die eingerichtet ist zum Annehmen der Eingabe eines Auffindbefehls einschließlich Informationen zum Identifizieren des zu durchsuchenden Bearbeitungsprogrammes, eine Werkzeugpositionsgewinnungseinheit, eingerichtet zum Gewinnen einer laufenden Position eines Werkzeuges, eine Distanzberechnungseinheit, eingerichtet zum Berechnen der Distanz zwischen einem Befehlspfad auf Basis zumindest eines Blockes im Bearbeitungsprogramm und der laufenden Werkzeugposition, wie durch die Werkzeugpositionsgewinnungseinheit gewonnen, und eine Suchergebnisanzeigeeinheit, eingerichtet zum Anzeigen von zumindest einem der im Bearbeitungsprogramm enthaltenen Blöcke in aufsteigender Ordnung der Distanz zur laufenden Werkzeugposition, wie durch die Werkzeugpositionsgewinnungseinheit gewonnen, auf Basis der mit der Distanzberechnungseinheit berechneten Distanzen.
-
Die Distanzberechnungseinheit kann eingerichtet sein, die Distanz zwischen dem Befehlspfad entsprechend dem Block und der laufenden Werkzeugposition, wie durch die Werkzeugpositionsgewinnungseinheit gewonnen, auf Basis einer Interpolationsposition für jede Interpolationsperiode des Blockes zu berechnen.
-
Erfindungsgemäß kann die Bedienungsperson die Position bestimmen durch Ausrichtung der Schneidkante des Werkzeuges auf das tatsächliche Werkstück und Befehlsgabe für das Auffinden des Blockes im Bearbeitungsprogramm, so dass sie/er intuitiv eine Zielposition bestimmen kann. Auch kann die Bedienungsperson in einfacher Weise einen Block identifizieren entsprechend einem beeinträchtigten Abschnitt der bearbeiteten Oberfläche, so dass der Arbeitsaufwand für eine Neubearbeitung oder dergleichen reduziert ist.
-
Da die Bedienungsperson weiterhin in einfacher Weise den Block des Bearbeitungsprogrammes identifizieren kann, ist der Arbeitsaufwand für eine Modifikation des Bearbeitungsprogrammes ebenfalls reduziert.
-
Figurenliste
-
- 1 zeigt eine Darstellung einer Bearbeitungsprogrammsuchfunktion einer numerischen Steuerung gemäß einem Ausführungsbeispiel der Erfindung;
- 2 erläutert (1) ein Verfahren zum Berechnen der Distanz zwischen einer Werkzeugposition und einem Block mit einer numerischen Steuerung gemäß einem Ausführungsbeispiel der Erfindung;
- 3 erläutert (2) ein Verfahren zum Berechnen der Distanz zwischen einer Werkzeugposition und einem Block mit einer numerischen Steuerung gemäß einem Ausführungsbeispiel der Erfindung;
- 4 erläutert (3) ein Verfahren zum Berechnen der Distanz zwischen einer Werkzeugposition und einem Block mit einer numerischen Steuerung gemäß einem Ausführungsbeispiel der Erfindung;
- 5 erläutert ein Verfahren zum Berechnen der Distanz zwischen einer Werkzeugposition und einem Block mit einer numerischen Steuerung gemäß der Erfindung unter Verwendung einer Interpolationsposition bezüglich eines Befehlspfades;
- 6 zeigt schematisch den Hardware-Aufbau einer numerischen Steuerung gemäß einem Ausführungsbeispiel der Erfindung;
- 7 zeigt ein funktionales Blockdiagramm der numerischen Steuerung gemäß einem Ausführungsbeispiel der Erfindung;
- 8 ist ein Flussdiagramm zur Erläuterung des Prozesses bei der Berechnung der Distanz zwischen der Werkzeugposition und dem Block mit einer numerischen Steuerung gemäß 7; und
- 9 ist ein Flussdiagramm zur Erläuterung des Prozesses zum Berechnen der Distanz zwischen der Werkzeugposition und dem Block unter Verwendung der Interpolationsposition des Befehlspfades mit der numerischen Steuerung gemäß 7.
-
BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSBEISPIELE IM EINZELNEN
-
Ausführungsbeispiele der Erfindung werden nunmehr mit Blick auf die Figuren näher beschrieben. Zunächst wird ein Überblick gegeben über eine Bearbeitungsprogrammsuchfunktion einer numerischen Steuerung gemäß der Erfindung entsprechend den 1 bis 4.
-
Beim Auffinden von Blöcken des Bearbeitungsprogrammes berechnet gemäß 1 die numerische Steuerung die Distanz zwischen der laufenden (momentanen) Position eines Werkzeuges und jedem der in dem Bearbeitungsprogramm enthaltenen Blöcke und findet einen Zielblock auf Basis der berechneten Distanzen. Beim Berechnen der Distanz zwischen der laufenden Werkzeugposition und jedem Block des Bearbeitungsprogrammes berücksichtigt numerische Steuerung einen Werkzeugkorrekturbetrag des gerade ausgewählten (oder montierten) Werkzeuges, zusätzlich zum laufenden Koordinatenwert des Werkzeuges. Beim Auffinden des Blockes des Bearbeitungsprogrammes mittels der numerischen Steuerung bringt eine Bedienungsperson Werkzeuge und Werkstück an einer Maschine an, welche durch die numerische Steuerung gesteuert wird, wählt eines der angebrachten Werkzeuge, welches für die Bearbeitung eingesetzt wird, aus, richtet die Schneidkante des Werkzeuges auf eine Zielposition am Werkstück mittels manueller Steuerung oder dergleichen aus und selektiert das zu durchsuchende Bearbeitungsprogramm. Sodann befiehlt die Bedienungsperson der numerischen Steuerung, den Block aus dem Bearbeitungsprogramm aufzufinden. Daraufhin analysiert die numerische Steuerung das Bearbeitungsprogramm vom Start her, erfasst die Blöcke in aufsteigender Ordnung entsprechend der Distanz von der momentanen Werkzeugposition und präsentiert diese Blöcke der Bedienungsperson.
-
Die Distanz zwischen der laufenden (momentanen) Werkzeugposition und dem Block des Bearbeitungsprogrammes kann durch zum Beispiel die nachfolgenden zwei Verfahren berechnet werden. Eine numerische Steuerung berechnet die Distanz zwischen der momentanen Werkzeugposition und dem Block des Bearbeitungsprogrammes unter Einsatz einer der weiteren nachfolgenden Berechnungsverfahren.
- - Berechnungsverfahren 1: Bei diesem Verfahren wird die Distanz zwischen der momentanen Werkzeugposition und dem Block berechnet unter Verwendung eines Befehlspfades auf Basis des Blockes des Bearbeitungsprogrammes (dieses Verfahren hat eine sehr kurze Suchzeit, jedoch eine gewisse Fehleranfälligkeit bei einem gekrümmten Pfad).
- - Berechnungsverfahren 2: Bei diesem Verfahren wird die Distanz zwischen der momentanen Werkzeugposition und dem Block berechnet unter Verwendung einer Interpolationsposition des Blockes (dieses Verfahren hat eine relativ längere Suchzeit, jedoch die Möglichkeit, die Distanz zwischen einem komplizierten Befehlspfad und dem Werkzeug relativ genau zu berechnen).
-
Die 2 bis 4 erläutern Verfahren, mit denen die Distanz zwischen der momentanen Position eines Werkzeuges 2 und dem Block des Bearbeitungsprogrammes berechnet wird unter Verwendung der Start- und Endpunkte des Blockes. In den 2 bis 4 werden die Distanz-Berechnungsverfahren für ein zwei-dimensionales Koordinatensystem der Einfachheit halber erläutert, tatsächlich kann die Distanz auch in drei-dimensionalen Koordinatensystemen entsprechend dem Arbeitsbereich der Maschine berechnet werden.
-
Die numerische Steuerung berechnet eine Distanz L zwischen einer Werkzeugposition (X
0, Y
0) und dem Block mit der nachfolgenden Gleichung (1), wenn das Werkzeug
2 an einer Position ist, von der eine Gerade senkrecht zum Befehlspfad entsprechend dem Block gezogen werden kann, welcher Gegenstand der Distanzberechnung ist, das heißt, wenn die Winkel θ
AC und θ
BC zwischen den Vektoren A und C und den Vektoren B und C beide kleiner sind als 90 Grad, wobei A ein Vektor ist von der Werkzeugposition (X
0, Y
0) zum Startpunkt (Xs, Ys) des Blockes, B ein Vektor von der Werkzeugposition (X
0, Y
0) zu einem Endpunkt (Xe, Ye) des Blockes und Z ein Vektor ist vom Startpunkt (Xs, Ys) zum Endpunkt (Xe, Ye) des Blockes, wie
2 zeigt.
-
Die numerische Steuerung berechnet die Distanz L zwischen der Werkzeugposition (X
0, Y
0) und dem Block unter Verwendung der nachfolgenden Gleichung (2), wenn das Werkzeug
2 an einer Stelle startpunktseitig des Befehlspfades bezüglich des Blockes, welcher Gegenstand der Distanzberechnung ist, liegt, das heißt, wenn der Winkel θ
AC zwischen den Vektoren A und C nicht kleiner ist als 90 Grad, wobei A der Vektor ist von der Werkzeugposition (X
0, Y
0) zum Startpunkt (Xs, Ys) des Blockes, B der Vektor ist von der Werkzeugposition (X
0, Y
0) zum Endpunkt (Xe, Ye) des Blockes und C der Vektor ist vom Startpunkt (Xs, Ys) zum Endpunkt (Xe, Ye) des Blockes, siehe
3.
-
Die numerische Steuerung berechnet die Distanz L zwischen der Werkzeugposition (X
0, Y
0) und dem Block unter Anwendung der nachfolgenden Gleichung (3), wenn das Werkzeug
2 auf der Endpunktseite des Befehlspfades liegt für den Block, welcher Gegenstand der Distanzberechnung ist, das heißt, wenn der Winkel θ
BC zwischen den Vektoren B und C nicht kleiner ist als 90 Grad, wobei A der Vektor von der Werkzeugposition (X
0, Y
0) zum Startpunkt (Xs, Ys) des Blockes, B der Vektor von der Werkzeugposition (X
0, Y
0) zum Endpunkt (Xe, Ye) des Blockes und C der Vektor vom Startpunkt (Xs, Ys) zum Endpunkt (Xe, Ye) des Blockes sind, siehe
4.
-
5 erläutert ein Verfahren, bei dem die Distanz zwischen der laufenden Werkzeugposition und dem Block des Bearbeitungsprogrammes berechnet wird mit Verwendung der Interpolationsposition des Blockes. Zwar wird gemäß 5 die Distanzberechnung für ein zwei-dimensionales Koordinatensystem zum leichteren Verständnis beschrieben, jedoch kann die Distanz auch in einem drei-dimensionalen Koordinatensystem entsprechend dem Arbeitsbereich der Maschine analog berechnet werden.
-
Beim Berechnen der Distanz zwischen der laufenden Position des Werkzeuges
2 und dem Block mit der Interpolationsposition des Blockes des Bearbeitungsprogrammes gewinnt die numerische Steuerung die Distanz L
Ii zwischen einer Interpolationsposition (i) (X
Ii, Y
Ii) (i = 0 bis n) für jede Interpolationsperiode des Blockes, für den die Distanzberechnung durchgeführt wird, und der Werkzeugposition (X
0, Y
0) mit der nachfolgenden Gleichung (4), siehe
5.
-
Die numerische Steuerung stellt die kürzeste der Distanzen LIi bis LIn zwischen der Werkzeugposition (X0, Y0) und der Interpolationsposition (i) für jede Interpolationsperiode in dem Block, welche auf diese Weise gewonnen wird, als die Distanz zwischen dem betreffenden Block und der laufenden Position des Werkzeuges 2 ein.
-
Wird die Distanz zwischen der laufenden Position des Werkzeuge 2 und dem Block berechnet unter Verwendung der Interpolationsposition des Blockes des Bearbeitungsprogrammes, kann die numerische Steuerung die Distanz mit einer notwendigen und hinreichenden Interpolationsperiode (z.B. einige zehn ms) entsprechend der Befehlsgeschwindigkeit der Maschine berechnen, ohne dass eine Interpolationsverarbeitung mit einer feineren Interpolationsperiode von beispielsweise einigen Millisekunden (ms) erforderlich wäre, was aber für die tatsächliche Bearbeitung erforderlich ist. Auf diese Weise kann die Suchzeit reduziert werden.
-
Nachfolgend erfolgt eine Beschreibung der Konfiguration der numerischen Steuerung gemäß einem Ausführungsbeispiel.
-
6 zeigt die Konfiguration mit den wesentlichen Komponenten der numerischen Steuerung gemäß dem Ausführungsbeispiel sowie eine Endbearbeitungsmaschine, welche durch die numerische Steuerung gesteuert wird.
-
Eine CPU 11 (zentraler Prozessor) der numerischen Steuerung 1 steuert diese insgesamt. Die CPU 11 liest ein Systemprogramm aus einem ROM 12 über einen Bus 20 und steuert die numerische Steuerung 1 gemäß diesem Systemprogramm. Ein RAM 13 speichert zeitweise Rechendaten und Anzeigedaten, verschiedene von einer Bedienungsperson über eine Anzeige/MDI-Einheit 70 eingegebene Daten (weiter unten näher beschrieben) und dergleichen.
-
Ein nicht-flüchtiger Speicher 14 ist beispielsweise durch eine Batterie (nicht dargestellt) gestützt, so dass sein Speicherzustand auch nach Abschalten der numerischen Steuerung 1 beibehalten wird. Der nicht-flüchtige Speicher 14 speichert ein über eine Schnittstelle 15 eingelesenes Bearbeitungsprogramm und ein über die Anzeige/MDI-Einheit 70 eingegebenes Bearbeitungsprogramm (weiter unten näher beschrieben). Die im nicht-flüchtigen Speicher 14 gespeicherten Programme für den Bearbeitungsbetrieb werden bei Ausführung in den RAM 13 überführt. Verschiedene Systemprogramme (einschließlich eines Systemprogramms für das Durchsuchen des Bearbeitungsprogrammes) zum Editieren und dergleichen sind vorab in den ROM 12 eingeschrieben.
-
Die Schnittstelle 15 verbindet die numerische Steuerung 1 mit externer Ausrüstung 72, wie einem Adapter. Die Bearbeitungsprogramme und verschiedene Parameter werden aus der externen Ausrüstung 72 eingelesen. Das in der numerischen Steuerung 1 editierte Bearbeitungsprogramm kann in einer externen Speichereinrichtung über die externe Ausrüstung 72 abgespeichert werden. Eine programmierbare Maschinensteuerung (PMC) 16 steuert periphere Einrichtungen (z.B. einen Aktuator, wie eine Roboterhand zum Werkzeugwechsel) der Endbearbeitungsmaschine durch Ausgabe von Signalen über eine Eingabe/Ausgabe-Einheit (I/O) 17 entsprechend einem sequenziellen Programm, welches in der numerischen Steuerung 1 abgespeichert ist. Bei Empfang der Signale von unterschiedlichen Bedienelementen einer Steuertafel am Hauptkörper der Endbearbeitungsmaschine verarbeitet die PMC 16 die Signale und liefert die Ergebnisse an die CPU 11.
-
Die Anzeige/MDI-Einheit 70 ist eine manuelle Dateneingabeeinheit, ausgerüstet mit insbesondere einer Anzeigeeinrichtung, einer Tastatur und dergleichen. Eine Schnittstelle 18 empfängt Befehle und Daten von der Tastatur und liefert sie zur CPU 11. Eine Schnittstelle 19 ist mit einer Steuertafel 71 verbunden, welche mit einem manuellen Pulsgenerator oder dergleichen versehen ist, um Achsen manuell antreiben zu können.
-
Die Achsensteuereinheit 30 zum Steuern der Achsen der Endbearbeitungsmaschine empfängt einen Bewegungsbefehlsbetrag für jede Achse von der CPU 11 und gibt einen Befehl für die jeweilige Achse an einen Servoverstärker 40. Bei Empfang dieses Befehls treibt der Servoverstärker 40 einen Servomotor 50 zum Bewegen der Achse der Endbearbeitungsmaschine. Der Servomotor 50 hat einen eingebauten Positions-/Geschwindigkeitsdetektor und ein Positions-/Geschwindigkeitsrückkoppelsignal von diesem Detektor wird zur Achsensteuerschaltung 30 rückgeführt, um eine Positions-/Geschwindigkeitsregelung durchzuführen. In der Darstellung gemäß 6 hat die Konfiguration jeweils nur eine Achsensteuerschaltung 30, einen Servoverstärker 40 und einen Servomotor 50, jedoch entsprechen tatsächlich die Zahlen dieser Komponenten der Anzahl der Achsen der Endbearbeitungsmaschine.
-
Eine Spindelsteuerschaltung 60 empfängt einen Spindeldrehbefehl für die Endbearbeitungsmaschine und gibt ein Spindelgeschwindigkeitssignal an einen Spindelverstärker 61. Bei Empfang dieses Spindelgeschwindigkeitssignals dreht der Spindelverstärker 61 einen Spindelmotor 62 der Endbearbeitungsmaschine entsprechend der befohlenen Drehgeschwindigkeit, wodurch das Werkzeug angetrieben wird.
-
Ein Positionscodierer 63 ist mit dem Spindelmotor 62 verbunden. Der Positionscodierer 63 gibt Rückmeldungspulse synchron mit der Drehung der Spindel und die Rückmeldungspulse werden in die CPU 11 gegeben.
-
7 ist ein funktionales Blockdiagramm der numerischen Steuerung gemäß dem Ausführungsbeispiel entsprechend dem Fall, bei dem die numerische Steuerung 1 gemäß 6 entsprechend einem Systemprogramm die oben beschriebene Bearbeitungsprogrammsuchfunktion ausführt. Jeder der in 7 gezeigten Funktionsblöcke kann dadurch implementiert werden, dass die CPU 11 entsprechend 6 das Systemprogramm für die Bearbeitungsprogrammsuchfunktion ausführt und den Betrieb der Komponenten der numerischen Steuerung 1 steuert. Die numerische Steuerung 1 gemäß diesem Ausführungsbeispiel hat eine Suchbefehlseingabeeinheit 100, eine Werkzeugpositionsgewinnungseinheit 120, eine Distanzberechnungseinheit 130 und eine Suchergebnisanzeigeeinheit 140.
-
Die Suchbefehlseingabeeinheit 100 nimmt einen Suchbefehl bezüglich des Blockes des Bearbeitungsprogrammes von der Bedienungsperson über die Anzeige-/MDI-Einheit 70 an. Dieser Suchbefehl enthält zumindest Informationen zum Identifizieren des zu durchsuchenden Bearbeitungsprogrammes. Auch kann dieser Suchbefehl Informationen beinhalten bezüglich des Werkzeuges, wie die Werkzeugnummer und ein Werkzeugkorrekturbetrag, eine Bestimmung bezüglich des oben beschriebenen Verfahrens zum Berechnen der Distanz zwischen der momentanen Werkzeugposition und dem Block des Bearbeitungsprogrammes, Typen von Codierungen (schneller Vorlauf, Schneidgeschwindigkeit etc.), welche aufzufinden sind, und dergleichen. Der durch die Suchbefehlseingabeeinheit 100 angenommene Suchbefehl wird zur Distanzberechnungseinheit 130 gegeben.
-
Die Werkzeugpositionsgewinnungseinheit 120 gewinnt die momentane Werkzeugposition und gibt das Ergebnis an die Distanzberechnungseinheit 130. Die Werkzeugpositionsgewinnungseinheit 120 kann eingerichtet sein, die momentane (laufende) Werkzeugposition aus der Achsensteuerschaltung 30 oder dergleichen zu gewinnen.
-
Die Distanzberechnungseinheit 130 liest ein Bearbeitungsprogramm 200, welches durch den Suchbefehl identifiziert ist, aus dem nicht-flüchtigen Speicher 14 und führt die oben beschriebene Bearbeitungsprogrammsuchfunktion aus auf Basis des ausgelesenen Bearbeitungsprogrammes 200, der momentanen Werkzeugposition, wie durch die Werkzeugpositionsgewinnungseinheit 120 gewonnen, und entsprechend den Suchbedingungen, die im Suchbefehl enthalten sind. Enthält der Suchbefehl die Werkzeugnummer, den Werkzeugkorrekturwert und dergleichen als Suchbedingungen, kann die Distanzberechnungseinheit 130 eingerichtet sein, die mit der Werkzeugpositionsgewinnungseinheit 120 gewonnene momentane Werkzeugposition zu korrigieren unter Verwendung des Werkzeugkorrekturwertes bezüglich des über die Werkzeugnummer identifizierten Werkzeuges, des über den Suchbefehl direkt eingegebenen Werkzeugkorrekturwertes oder dergleichen. Sind mit dem Suchbefehl das Verfahren zum Berechnen der Distanz zwischen der momentanen Werkzeugposition und dem Block des Bearbeitungsprogrammes als Suchbedingungen bestimmt, berechnet die Distanzberechnungseinheit 130 die Distanz zwischen der momentanen Werkzeugposition und dem Block des Bearbeitungsprogrammes unter Einsatz des bestimmten Berechnungsverfahrens. Enthält der Suchbefehl die Typen von Codes (schneller Vorlauf, Schneidgeschwindigkeit etc.) als Suchbedingungen, kann die Distanzberechnungseinheit 130 eingerichtet sein, die Typen der zu suchenden Blöcke des Bearbeitungsprogrammes auf die bestimmten Code-Typen einzuschränken. Die Distanzberechnungseinheit 130 berechnet die Distanz zwischen der momentanen Werkzeugposition und jedem Block und gibt dann die Ergebnisse an die Suchergebnisanzeigeeinheit 140.
-
Die Suchergebnisanzeigeeinheit 140 zeigt die Blöcke des Bearbeitungsprogrammes 200 auf der Anzeige-/MDI-Einheit 70 in einer Reihenfolge mit zunehmender Distanz von der momentanen Werkzeugposition entsprechend der Distanz zwischen der momentanen Werkzeugposition und jedem Block an. Die Suchergebnisanzeigeeinheit 140 kann eingerichtet sein, nur denjenigen Block anzuzeigen, welcher der momentanen Werkzeugposition am nächsten liegt, oder sie kann die Mehrzahl von Blöcken Seite an Seite anzeigen in aufsteigender Ordnung der Distanz von der momentanen Werkzeugposition. Die Suchergebnisanzeigeeinheit 140 kann eingerichtet sein, entweder die Blocknummer jedes Blockes und einen Befehl des Blockes anzuzeigen oder jeden Block so anzuzeigen, dass einige vorhergehende und nachfolgende Blöcke mit dargestellt werden. Die Suchergebnisanzeigeeinheit 140 kann eingerichtet sein, solche Blöcke nicht anzuzeigen, welche von der momentanen Werkzeugposition eine Distanz entfernt sind, die größer ist als eine vorgegebene Schwellenwertdistanz.
-
8 ist ein Flussdiagramm zur Erläuterung der Bearbeitungsprogrammsuchfunktion, ausgeführt mit der numerischen Steuerung 1. Der Prozess wird nachfolgend mit seinen einzelnen Schritten dargestellt.
- - [Schritt SA01] Die Distanzberechnungseinheit 130 liest das Bearbeitungsprogramm Block für Block aus dem nicht-flüchtigen Speicher 14 oder dergleichen.
- - [Schritt SA02] Die Distanzberechnungseinheit 130 berechnet die Distanz zwischen dem in Schritt SA01 ausgelesenen Block und der momentanen Werkzeugposition, wie durch die Werkzeugpositionsgewinnungseinheit 120 ermittelt, unter Anwendung des oben beschriebenen Berechnungsverfahrens.
- - [Schritt SA03] Die Distanzberechnungseinheit 130 speichert die Distanz zwischen dem Block und der momentanen Werkzeugposition, wie in Schritt SA02 berechnet, in einem zeitweisen Speicherbereich in dem RAM 13 zusammen mit dem betreffenden Block.
- - [Schritt SA04] Die Distanzberechnungseinheit 130 ermittelt, ob der in Schritt SA01 ausgelesene Block der letzte Block des Bearbeitungsprogrammes 200 ist oder nicht. Ist der ausgelesene Block der letzte Block, geht das Verfahren zu Schritt SA05. Wenn nicht, geht das Verfahren zurück zu Schritt SA01.
- - [Schritt SA05] Die Suchergebnisanzeigeeinheit 140 liest aus dem zeitweisen Speicherbereich im RAM 13 die Distanz zwischen jedem Block und der jeweils momentanen Werkzeugposition und zeigt die Blöcke in aufsteigender Ordnung entsprechend der Distanz an.
-
9 zeigt mit einem Flussdiagramm den Prozess der Bearbeitungsprogrammdurchsuchung in der numerischen Steuerung 1 für den Fall, dass die Distanz zwischen der momentanen Werkzeugposition und dem Block berechnet wird unter Verwendung der Interpolationspositionen des Blockes. Das Verfahren wird nachfolgend mit den einzelnen Schritten dargestellt.
- - [Schritt SB01] Die Distanzberechnungseinheit 130 liest aus dem nicht-flüchtigen Speicher 14 oder dergleichen das Bearbeitungsprogramm Block für Block.
- - [Schritt SB02] Die Distanzberechnungseinheit 130 berechnet auf Basis des in Schritt SB01 ausgelesenen Blockes des Bearbeitungsprogrammes einen Bewegungsbetrag für jede Interpolationsperiode.
- - [Schritt SB03] Die Distanzberechnungseinheit 130 berechnet die Interpolationsposition für die nächste Interpolationsperiode auf Basis des Bewegungsbetrages für jede in Schritt SB02 berechnete Interpolationsperiode und aktualisiert den Koordinatenwert zu der berechneten Interpolationsposition.
- - [Schritt SB04] Die Distanzberechnungseinheit 130 berechnet die Distanz zwischen der Interpolationsposition, wie in Schritt SB03 berechnet, und der momentanen Werkzeugposition, wie durch die Werkzeugpositionsgewinnungseinheit 120 ermittelt, und speichert den berechneten Wert in dem zeitweisen Speicherbereich im RAM 13.
- - [Schritt SB05] Die Distanzberechnungseinheit 130 ermittelt, ob die Distanz vom Werkzeug für alle Interpolationspositionen des Blockes berechnet ist oder nicht. Ist die Distanz vom Werkzeug für alle Interpolationspositionen berechnet, geht das Verfahren zu Schritt SB06. Wenn nicht, geht das Verfahren zurück zu Schritt SB03.
- - [Schritt SB06] Die Distanzberechnungseinheit 130 setzt die kürzeste der Distanzen zwischen der momentanen Werkzeugposition und den Interpolationspositionen für die einzelnen Interpolationsperioden, wie in Schritt SB04 abgespeichert, als die Distanz zwischen dem Block und der momentanen Position des Werkzeuges und speichert die Distanz im zeitweisen Speicherbereich des RAM 13 in Verknüpfung mit dem betreffenden Block.
- - [Schritt SB07] Die Distanzberechnungseinheit 130 ermittelt, ob der in Schritt SB01 ausgelesene Block der letzte Block des Bearbeitungsprogrammes 200 ist oder nicht. Ist der ausgelesene Block der letzte Block, geht das Verfahren zu Schritt SB08. Wenn nicht, geht das Verfahren zurück zu Schritt SB01.
- - [Schritt SB08] Die Suchergebnisanzeigeeinheit 140 liest die Distanz zwischen jedem Block und der momentanen Werkzeugposition aus dem zeitweisen Speicherbereich im RAM 13 und zeigt die Blöcke in aufsteigender Ordnung entsprechend der Distanz an.
-
Die numerische Steuerung gemäß diesem Ausführungsbeispiel ist insbesondere in folgenden Situationen einsetzbar.
-
<Wiederaufnahme des Bearbeitungsbetriebs>
-
Ist ein Bearbeitungsbetrieb entsprechend dem Bearbeitungsprogramm der Maschine unterbrochen, zum Beispiel aus verschiedenen Gründen (z.B. Werkzeugbruch), kann die Bedienungsperson den Bearbeitungsprogrammblock, der an der Werkzeugposition eingenommen wird, auffinden durch Einsatz der Bearbeitungsprogrammsuchfunktion gemäß der Erfindung zum Wiederaufnehmen des Bearbeitungsbetriebs. Auch in Fällen, in denen eine Position, in welcher der Bearbeitungsbetrieb an einem Werkstück wieder aufzunehmen ist, sichergestellt werden kann, jedoch der Block des Programmes nicht sichergestellt werden kann, kann die Bedienungsperson in einfacher Weise den Block finden.
-
<Änderung des Bearbeitungsprogrammes>
-
Wenn nach überwiegender Vervollständigung des Bearbeitungsprogrammes ein beeinträchtigter Abschnitt einer bearbeiteten Oberfläche, zum Beispiel aufgrund von Vibrationen oder dergleichen, gefunden wird, kann die Bedienungsperson in einfacher Weise den Block des Bearbeitungsprogrammes identifizieren, welcher die Bearbeitung des beeinträchtigten Abschnittes implementiert, unter Verwendung der Bearbeitungsprogrammsuchfunktion gemäß der Erfindung, nachdem das Werkzeug zu der beeinträchtigten Stelle der bearbeiteten Oberfläche bewegt ist. Auch kann die Bedienungsperson die bearbeitete Oberfläche reinigen durch Reduzierung der Vorschubrate beim identifizierten Block oder durch andere Maßnahmen. Wird ein und derselbe Abschnitt mehrfach bearbeitet, z.B. durch Rohbearbeitung, Endbearbeitung und Entgratung, in dieser Reihenfolge, kann die Bedienungsperson alle Schritte der Bearbeitung dieses Bereichs aufrufen und einzeln wahlweise modifizieren.
-
Oben wurden Ausführungsbeispiele der Erfindung näher beschrieben, jedoch ist die Erfindung nicht hierauf beschränkt und kann in unterschiedlicher Weise abgewandelt werden.
-
Beispielsweise wird bei obigen Ausführungsbeispielen davon ausgegangen, dass die Blöcke nahe der momentanen Werkzeugposition aus dem gesamten Bearbeitungsprogramm aufzufinden sind. Ist jedoch die Werkzeugnummer oder dergleichen als Suchbedingung von der Bedienungsperson eingegeben (oder ausgewählt), können die Blöcke als Suchgegenstand auf einen Bereich eingeschränkt werden, wo das bestimmte Werkzeug im Bearbeitungsprogramm eingesetzt ist. Auf diese Weise kann die Suchzeit weiter reduziert werden und darüber hinaus kann auch die Genauigkeit der Suche verbessert werden.
-
Im Zusammenhang mit obigem Ausführungsbeispiel wird das Verfahren zum Berechnen der Distanz zwischen der momentanen Werkzeugposition und dem Block eingeschränkt auf den Fall, wo der Befehlspfad entsprechend dem Block des Bearbeitungsprogrammes beispielhaft eine gerade Linie ist. Jedoch kann dieses Verfahren auch eingesetzt werden bei einem Befehlspfad, für den die Distanz von der momentanen Werkzeugposition geometrisch berechnet wird, wie zum Beispiel mit einer Bogen-Interpolation oder dergleichen.
-
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
-