-
Technisches Gebiet
-
Die vorliegende Erfindung betrifft eine Vorrichtung zur Erzeugung von Befehlen und ein Computerprogramm.
-
Stand der Technik
-
In den letzten Jahren wurde zur Förderung der Automatisierung im Bereich der maschinellen Bearbeitung ein numerisches Steuersystem gefordert, das den Betrieb einer Werkzeugmaschine, die ein Werkstück bearbeitet, und den Betrieb eines Roboters, der in der Nähe der Werkzeugmaschine vorgesehen ist, in Verbindung miteinander steuert (siehe z. B. Patentschrift 1).
-
In der Regel sind ein numerisches Steuerungsprogramm zur Steuerung der Werkzeugmaschine und ein Roboterprogramm zur Steuerung des Roboters in einer Programmiersprache voneinander verschieden. Aus diesem Grund muss ein Bediener sowohl mit dem numerischen Steuerprogramm als auch mit dem Roboterprogramm vertraut sein, um die Werkzeugmaschine und den Roboter in Verbindung miteinander zu bedienen.
-
Patentdokument 1:
Japanisches Patent Nr.5 752 179
-
Offenbarung der Erfindung
-
Durch die Erfindung zu lösende Probleme
-
Insbesondere besteht das Problem, dass bei der Beschreibung des Roboterbetriebs im numerischen Steuersystem ein Koordinatenwert in einem Koordinatensystem, wie z. B. einem orthogonalen Koordinatensystem oder einem Koordinatensystem für jede Achse, das normalerweise für die Robotersteuerung verwendet wird, nicht intuitiv eingegeben werden kann. Darüber hinaus müssen Roboterkonfigurationsinformationen angegeben werden, mit denen der Benutzer einer Werkzeugmaschine nicht vertraut ist, und aus diesem Grund besteht das Problem, dass ein Roboterbetriebsprogramm nicht einfach in einer Werkzeugmaschinensprache erzeugt werden kann.
-
Somit ist es eine Aufgabe der vorliegenden Erfindung, eine Befehlserzeugungsvorrichtung und ein Computerprogramm bereitzustellen, die in der Lage sind, einen numerischen Steuerbefehl für einen Roboter zu erzeugen, ohne einen Koordinatenwert und Konfigurationsinformationen zu berücksichtigen.
-
Mittel zur Lösung der Probleme
-
Ein Aspekt der vorliegenden Erfindung betrifft eine Befehlserzeugungsvorrichtung mit einer numerischen Roboter-Steuerbefehlserzeugungseinheit, die einen numerischen Roboter-Steuerbefehl für einen Roboter gemäß einem numerischen Steuerprogramm erzeugt. Die numerische Roboter-Steuerbefehlserzeugungseinheit erzeugt den numerischen Roboter-Steuerbefehl auf der Basis von: mindestens einem der folgenden Elemente, umfassend einen Betriebstyp des Roboters, eine Betriebsgeschwindigkeit des Roboters, einen Positionierungstyp des Roboters und einen Koordinatenwerttyp des Roboters; einem Koordinatenwert eines Roboter-Einlernpunktes, der auf der Basis des Koordinatenwerttyps des Roboters erfasst wird; und Konfigurationsinformationen, die sich auf den Roboter an dem Roboter-Einlernpunkt beziehen.
-
Ein weiterer Aspekt der vorliegenden Erfindung betrifft ein Computerprogramm, das einen Computer veranlasst, einen Schritt des Erzeugens eines numerischen Roboter-Steuerbefehls für einen Roboter gemäß einem numerischen Steuerprogramm auszuführen, auf der Basis von: mindestens einem der folgenden Elemente, umfassend einen Betriebstyp des Roboters, eine Betriebsgeschwindigkeit des Roboters, einen Positionierungstyp des Roboters und einen Koordinatenwerttyp des Roboters; einem Koordinatenwert eines Roboter-Einlernpunktes, der auf der Basis des Koordinatenwerttyps des Roboters erfasst wird; und Konfigurationsinformationen, die sich auf den Roboter an dem Roboter-Einlernpunkt beziehen.
-
Gemäß der vorliegenden Erfindung können die Befehlserzeugungsvorrichtung und das Computerprogramm bereitgestellt werden, die in der Lage sind, den numerischen Steuerbefehl für den Roboter zu erzeugen, ohne den Koordinatenwert und die Konfigurationsinformationen zu berücksichtigen.
-
Kurze Beschreibung der Zeichnungen
-
- 1 ist eine schematische Ansicht eines numerischen Steuersystems gemäß einer Ausführungsform der vorliegenden Erfindung;
- 2 ist ein Funktionsblockdiagramm einer numerischen Steuervorrichtung und einer Roboter-Steuervorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung;
- 3 ist eine Ansicht zur Beschreibung des reibungslosen Betriebs;
- 4 ist ein Flussdiagramm, das den Ablauf der Erzeugung von numerischen Roboter-Steuerbefehlen zeigt;
- 5 ist eine Ansicht, die ein Beispiel für einen Betriebsbildschirm der numerischen Steuervorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
- 6 ist ein Flussdiagramm, das den Vorgang der Auswahl des Betriebstyps zeigt;
- 7 ist ein Flussdiagramm, das den Vorgang der Koordinatenwert-Auswahlverarbeitung zeigt; und
- 8 ist ein Flussdiagramm, das den Vorgang der Auswahl des Positionierungstyps zeigt.
-
Bevorzugte Ausführungsform der Erfindung
-
Nachfolgend wird eine Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die Zeichnungen im Detail beschrieben.
-
1 ist eine schematische Ansicht eines numerischen Steuersystems 1 gemäß einer Ausführungsform der vorliegenden Erfindung.
-
Das numerische Steuersystem 1 umfasst eine numerische Steuervorrichtung (CNC) 2, die eine Werkzeugmaschine 20 steuert, und eine Roboter-Steuervorrichtung 3, die kommunizierend mit der numerischen Steuervorrichtung 2 verbunden ist und einen in der Nähe der Werkzeugmaschine 20 vorgesehenen Roboter 30 steuert. Unter Verwendung der numerischen Steuervorrichtung 2 und der Roboter-Steuervorrichtung 3, die kommunizierend miteinander verbunden sind, steuert das numerische Steuersystem 1 gemäß der vorliegenden Ausführungsform den Betrieb der Werkzeugmaschine 20 und des Roboters 30 in Verbindung miteinander.
-
Die numerische Steuervorrichtung 2 erzeugt gemäß einem vorgegebenen numerischen Steuerprogramm ein Werkzeugmaschinen-Befehlssignal, das ein Befehl für die Werkzeugmaschine 20 ist, und ein Roboter-Befehlssignal, das ein Befehl für den Roboter 30 ist, und überträgt das Werkzeugmaschinen-Befehlssignal und das Roboter-Befehlssignal an die Werkzeugmaschine 20 und die Roboter-Steuervorrichtung 3. Die Roboter-Steuervorrichtung 3 steuert den Betrieb des Roboters 30 gemäß dem von der numerischen Steuervorrichtung 2 übertragenen Roboter-Befehlssignal.
-
Die Werkzeugmaschine 20 bearbeitet ein nicht dargestelltes Werkstück gemäß dem von der numerischen Steuervorrichtung 2 übertragenen Werkzeugmaschinen-Befehlssignal. Bei der Werkzeugmaschine 20 handelt es sich beispielsweise um eine Drehbank, eine Bohrmaschine, eine Fräsmaschine, eine Schleifmaschine, eine Laserstrahlmaschine oder eine Spritzgießmaschine, ohne darauf beschränkt zu sein.
-
Der Roboter 30 arbeitet unter der Steuerung der Roboter-Steuervorrichtung 3 und führt beispielsweise eine vorbestimmte Arbeit an dem Werkstück aus, das in der Werkzeugmaschine 20, beispielsweise einer Drehmaschine, bearbeitet wird. Der Roboter 30 ist beispielsweise ein Gelenkroboter, und ein Werkzeug 30b zum Greifen, Bearbeiten oder Prüfen des Werkstücks ist an einem Arm-Spitzendabschnitt 30a des Roboters 30 befestigt. Im Folgenden wird ein Fall beschrieben, in dem der Roboter 30 ein sechsachsiger Knickarmroboter ist, aber die vorliegende Erfindung ist nicht auf diesen Fall beschränkt. Auch der Fall, dass der Roboter 30 ein sechsachsiger Gelenkroboter ist, wird im Folgenden beschrieben, aber die Anzahl der Achsen ist nicht auf diesen Fall beschränkt.
-
2 ist ein Funktionsblockdiagramm der numerischen Steuervorrichtung 2 und der Roboter-Steuervorrichtung 3 gemäß einer Ausführungsform der vorliegenden Erfindung.
-
In der vorliegenden Ausführungsform ist in der numerischen Steuervorrichtung 2 eine Befehlserzeugungsvorrichtung der vorliegenden Erfindung angeordnet, die einen numerischen Steuerbefehl für den Roboter gemäß dem numerischen Steuerprogramm erzeugt, aber die vorliegende Erfindung ist nicht darauf beschränkt. Beispielsweise kann die Befehlserzeugungsvorrichtung der vorliegenden Erfindung in einem PC vorgesehen sein. Nachfolgend wird ein Beispiel beschrieben, bei dem sich die Befehlserzeugungsvorrichtung der vorliegenden Erfindung in der numerischen Steuervorrichtung 2 befindet.
-
Sowohl die numerische Steuervorrichtung 2 als auch die Roboter-Steuervorrichtung 3 ist ein Computer mit Hardware, die z.B., einen arithmetischen Verarbeitungsabschnitt, wie z.B. eine Zentraleinheit (CPU), einen Hilfsspeicherabschnitt, der verschiedene Computerprogramme speichert, wie z.B. ein Festplattenlaufwerk (HDD) oder ein Festkörperlaufwerk (SSD), einen Hauptspeicherabschnitt, der Daten speichert, die vorübergehend für die Ausführung der Computerprogramme durch den arithmetischen Verarbeitungsabschnitt benötigt werden, wie z.B. einen Direktzugriffsspeicher (RAM), einen Bedienungsabschnitt, der von einem Bediener verwendet wird, um verschiedene Arten von Operationen durchzuführen, wie z.B. eine Tastatur, und einen Anzeigeabschnitt, der verschiedene Arten von Informationen für den Bediener anzeigt, wie z.B. ein Display, umfasst. Die numerische Steuervorrichtung 2 und die Roboter-Steuervorrichtung 3 können verschiedene Signale, z.B. über das Ethernet (eingetragenes Warenzeichen), austauschen.
-
Zunächst wird eine detaillierte Konfiguration der numerischen Steuervorrichtung 2 beschrieben. Die numerische Steuervorrichtung 2 implementiert durch die zuvor beschriebene Hardwarekonfiguration eine Werkzeugmaschinensteuerfunktion zur Steuerung des Betriebs der Werkzeugmaschine 20 und eine Roboterbefehlssignalerzeugungsfunktion zur Steuerung des Betriebs des Roboters 30 um dessen Steuerachse. Insbesondere implementiert die numerische Steuervorrichtung 2 verschiedene Funktionen wie eine Auswahleinheit 21, eine numerische Roboter-Steuerbefehlserzeugungseinheit 22, eine Speichereinheit 23, eine Programmeingabeeinheit 24, eine Analyseeinheit 25, eine Roboter-Befehlssignalerzeugungseinheit 26, eine Datenübertragungs-/Empfangseinheit 27, eine Roboterbetriebseinheit 28 und eine Roboterkoordinatenwert-/Konfigurationsinformationserfassungseinheit 29.
-
Die Auswahleinheit 21 wählt mindestens eines der folgenden Elemente, umfassend den Betriebstyp des Roboters 30, die Betriebsgeschwindigkeit des Roboters 30, den Positionierungstyp des Roboters 30 oder den Koordinatenwerttyp des Roboters 30 aus. Genauer gesagt wählt die Auswahleinheit 21 gemäß der Eingabe durch den Bediener mindestens eines der folgenden Elemente, umfassend den Betriebstyp des Roboters 30, die Betriebsgeschwindigkeit des Roboters 30, den Positionierungstyp des Roboters 30 oder den Koordinatenwerttyp des Roboters 30 aus. Außerdem gibt die Auswahleinheit 21 ein Auswahlausgangsergebnis an die numerische Roboter-Steuerbefehlserzeugungseinheit 22 aus.
-
Insbesondere wählt und spezifiziert die Auswahleinheit 21 gemäß der Eingabe, die durch den Eingabevorgang des Bedieners erfolgt, einen beliebigen Betrieb, umfassend einen Betrieb jeder Achse bzw. Einzelachsenbetrieb, einen linearen Betrieb und einen gekrümmten Betrieb, als den Betriebstyp des Roboters 30. Dabei ist der Einzelachsenbetrieb ein Betriebstyp, bei dem jedes Gelenk des Roboters 30 um jede Achse arbeitet, ohne zusammenzuarbeiten. Der lineare Betrieb ist ein Betriebstyp, bei dem der Arm-Spitzendabschnitt 30a so arbeitet, dass eine Bewegungsbahn bzw. Pfad des an dem Arm-Spitzendabschnitt 30a des Roboters 30 befestigten Werkzeugs 30b eine gerade Strecke ist. Der gekrümmte Betrieb ist ein Betriebstyp, bei dem der Arm-Spitzenendabschnitt 30a so arbeitet, dass der Pfad des an dem Arm-Spitzenendabschnitt 30a des Roboters 30 befestigten Werkzeugs 30b ein gekrümmter bzw. gebogener Pfad ist.
-
Die Auswahleinheit 21 wählt und spezifiziert gemäß der Eingabe durch den Bediener einen beliebigen Roboterkoordinatensystem-Koordinatenwert eines Koordinatenwerts jeder Achse und eines orthogonalen Koordinatenwerts als den Koordinatenwerttyp des Roboters 30. Wenn die Auswahleinheit 21 ein Roboter-Koordinatensystem auswählt, erfasst die später beschriebene Roboterkoordinatenwert-/Konfigurationsinformationserfassungseinheit 29 einen Koordinatenwert eines Einlernpunktes des Roboters 30 und Konfigurationsinformationen bezüglich des Roboters 30 auf der Basis des ausgewählten Koordinatensystems.
-
Hier ist das Roboterkoordinatensystem ein Koordinatensystem, das als Ursprung einen Bezugspunkt aufweist, der auf dem Roboter 30 oder an einer beliebigen Position in der Nähe des Roboters 30 liegt. Nachfolgend wird ein Fall beschrieben, in dem sich das Roboterkoordinatensystem von einem Werkzeugmaschinenkoordinatensystem unterscheidet, aber die vorliegende Erfindung ist nicht auf diesen Fall beschränkt. Das Roboterkoordinatensystem kann mit dem Werkzeugmaschinenkoordinatensystem übereinstimmen. Mit anderen Worten, der Ursprung oder die Richtung der Koordinatenachse des Roboterkoordinatensystems kann mit dem Ursprung oder der Richtung der Koordinatenachse des Werkzeugmaschinenkoordinatensystems zusammenfallen.
-
Das Roboterkoordinatensystem ist zwischen zwei oder mehr Koordinatenformaten mit unterschiedlichen Steuerachsen umschaltbar. Genauer gesagt können die Position und die Lage eines Steuerpunktes des Roboters 30 durch ein orthogonales Koordinatenformat oder ein Koordinatenformat für jede Achse im numerischen Steuerungsprogramm angegeben werden.
-
Im Koordinatenformat für jede Achse werden die Position und die Haltung des Steuerpunktes des Roboters 30 durch die Summe von sechs reellen Zahlen von Koordinatenwerten angegeben, die als Komponenten Drehwinkelwerte (J1, J2, J3, J4, J5, J6) der sechs Gelenke des Roboters 30 aufweisen.
-
Im orthogonalen Koordinatenformat wird die Position und Haltung des Steuerpunktes des Roboters 30 durch die insgesamt sechs reellen Zahlen von Koordinatenwerten spezifiziert, die als Komponenten drei Koordinatenwerte (X, Y, Z) entlang dreier orthogonaler Koordinatenachsen und drei Drehwinkelwerte (A, B, C) um jede orthogonale Koordinatenachse aufweisen.
-
Im Koordinatenformat für jede Achse wird der Drehwinkel jedes Gelenks des Roboters 30 direkt angegeben, und daher sind die Wellenanordnung jedes Arms oder Handgelenks des Roboters 30 und die Rotationszahl eines Gelenks, das um 360 Grad oder mehr gedreht werden kann (im Folgenden gemeinsam als die „Konfiguration des Roboters 30“ bezeichnet), ebenfalls eindeutig festgelegt. Andererseits werden im orthogonalen Koordinatenformat die Position und die Haltung des Steuerpunktes des Roboters 30 durch die sechs Koordinatenwerte (X, Y, Z, A, B, C) angegeben, und daher kann die Konfiguration des Roboters 30 nicht eindeutig festgelegt werden. Daher kann im numerischen Steuerprogramm für den Roboter die Konfiguration des Roboters 30 durch einen Konfigurationswert P angegeben werden, der eine vorgegebene ganzzahlige Zahl ist. Somit werden die Position und die Haltung des Steuerpunktes des Roboters 30 und die Konfiguration des Roboters 30 durch die sechs Koordinatenwerte (J1, J2, J3, J4, J5, J6) im Koordinatenformat jeder Achse und durch die sechs Koordinatenwerte und den einen Konfigurationswert (X, Y, Z, A, B, C, P) im orthogonalen Koordinatenformat dargestellt.
-
Die Auswahleinheit 21 wählt gemäß der Eingabe durch den Bediener als Positionierungstyp des Roboters 30 einen Positionierungsbetrieb oder einen Gleichlaufbetrieb aus. Hier ist der Positionierungsbetrieb ein Positionierungstyp, bei dem in einem Fall, in dem drei Punkte, nämlich ein Startpunkt, ein Zielpunkt und ein nachfolgender Punkt, als Einlernpunkte des Roboters 30 festgelegt sind, der Betrieb durch jeden der drei Punkte durchgeführt wird.
-
3 ist eine Ansicht zur Beschreibung des Gleichlaufbetriebs. Wie in 3 gezeigt, ist der Gleichlaufbetrieb ein Positionierungstyp, bei dem der Roboter 30, um einer Zykluszeit Vorrang zu geben, sich innerhalb einer Bahn bewegt, die durch drei Punkte, umfassend einen Startpunkt, einen Zielpunkt und einen nachfolgenden Punkt, verläuft, und gleichmäßig vom Startpunkt zum nachfolgenden Punkt betrieben wird, ohne den Zielpunkt zu passieren. Bei diesem Gleichlaufbetrieb wird eine R-Adresse als innerer Bewegungsgrad festgelegt. Wie in 3 gezeigt, bedeutet beispielsweise ein innerer Bewegungsgrad von 0, dass keine innere Bewegung, d.h. derselbe Betrieb wie bei der Positionierung, stattfindet, und ein höherer innerer Bewegungsgrad bedeutet einen höheren Grad an innerer Bewegung und einen gleichmäßigeren Betrieb. Die R-Adresse wird durch den Eingabevorgang des Bedieners eingegeben.
-
Die numerische Roboter-Steuerbefehlserzeugungseinheit 22 erzeugt den numerischen Roboter-Steuerbefehl für den Roboter 30 gemäß dem numerischen Steuerprogramm. Insbesondere erzeugt die numerische Roboter-Steuerbefehlserzeugungseinheit 22 den numerischen Roboter-Steuerbefehl auf der Basis von: mindestens einem Element, umfassend den Betriebstyp des Roboters 30, die Betriebsgeschwindigkeit des Roboters 30, den Positionierungstyp des Roboters 30 oder den Koordinatenwerttyp des Roboters 30; dem Koordinatenwert des Roboter-Einlernpunktes, der auf der Basis des Koordinatenwerttyps des Roboters 30 erfasst wird; und den Konfigurationsinformationen, die sich auf den Roboter 30 am Roboter-Einlernpunkt beziehen.
-
Der Betriebstyp des Roboters 30, die Betriebsgeschwindigkeit des Roboters 30, der Positionierungstyp des Roboters 30 und der Koordinatenwerttyp des Roboters 30 werden als die Auswahlergebnisse, die durch die Auswahl durch die Auswahleinheit 21 wie zuvor beschrieben erhalten wurden, in die numerische Roboter-Steuerbefehlserzeugungseinheit 22 eingegeben. Darüber hinaus werden der Koordinatenwert des Roboter-Einlernpunktes, der auf der Basis des Auswahlergebnisses des Koordinatenwerttyps des Roboters 30 erfasst wird, und die Konfigurationsinformationen, die sich auf den Roboter 30 am Roboter-Einlernpunkt beziehen, von der Roboter-Steuervorrichtung 3 durch die später beschriebene Roboterkoordinatenwert-/Konfigurationsinformationserfassungseinheit 29 erfasst und in die numerische Roboter-Steuerbefehlserzeugungseinheit 22 eingegeben. Wie zuvor beschrieben, werden in der numerischen Steuervorrichtung 2 gemäß der vorliegenden Ausführungsform die Roboterkoordinatenwert-/Konfigurationsinformationserfassungseinheit automatisch durch die Betriebsauswahl durch den Eingabevorgang des Bedieners erfasst. Mit dieser Konfiguration kann der numerische Steuerbefehl für den Roboter einfach erzeugt werden, ohne dass der Bediener den Roboterkoordinatenwert-/Konfigurationsinformationserfassungseinheit berücksichtigen muss.
-
Die Speichereinheit 23 umfasst eine Programmspeichereinheit, eine Maschinenkoordinatenwertspeichereinheit, eine Roboterkoordinatenwertspeichereinheit und eine Roboterlernpositionsspeichereinheit, obwohl diese Einheiten in der Konfiguration nicht dargestellt sind.
-
Die Programmspeichereinheit speichert eine Vielzahl von numerischen Steuerungsprogrammen, die beispielsweise auf der Grundlage der Bedienung durch den Bediener erstellt werden. Genauer gesagt, speichert die Programmspeichereinheit ein numerisches Steuerprogramm, das eine Vielzahl von Werkzeugmaschinen-Befehlsblöcken 20 zur Steuerung des Betriebs der Werkzeugmaschine 20, eine Vielzahl von Roboter-Befehlsblöcken 30 zur Steuerung des Betriebs des Roboters 30 usw. enthält. Das in der Programmspeichereinheit gespeicherte numerische Steuerprogramm ist in einer bekannten Programmiersprache, wie z.B. G-Code oder M-Code, zur Steuerung des Betriebs der Werkzeugmaschine beschrieben.
-
Die Maschinenkoordinatenwert-Speichereinheit speichert Maschinenkoordinatenwerte, die die Positionen (d.h. die Positionen einer Werkzeugauflage, eines Tisches usw. der Werkzeugmaschine 20) verschiedener Wellen der Werkzeugmaschine 20 angeben, die unter dem zuvor beschriebenen numerischen Steuerprogramm betrieben werden. Es ist zu beachten, dass diese Maschinenkoordinatenwerte unter dem Werkzeugmaschinenkoordinatensystem definiert sind, das als Ursprung einen Bezugspunkt hat, der auf der Werkzeugmaschine oder an einer beliebigen Position in der Nähe der Werkzeugmaschine 20 liegt. Die Maschinenkoordinatenwert-Speichereinheit wird sequentiell aktualisiert, so dass der letzte Wert des Maschinenkoordinatenwertes, der sich im Rahmen des numerischen Steuerungsprogramms sequentiell ändert, gespeichert wird.
-
Die Roboterkoordinatenwert-Speichereinheit speichert Roboterkoordinatenwerte, die die Position und die Haltung des Steuerpunktes (z.B. des Arm-Spitzenendabschnitts 30a des Roboters 30) des Roboters 30 unter der Steuerung der Roboter-Steuervorrichtung 3 angeben, d.h. die Position des Roboters 30 um jede Steuerachse. Es sollte beachtet werden, dass diese Roboterkoordinatenwerte unter dem Roboterkoordinatensystem definiert sind, das sich vom Werkzeugmaschinenkoordinatensystem, wie zuvor beschrieben, unterscheidet. Die Roboterkoordinatenwert-Speichereinheit wird sequentiell auf den Roboterkoordinatenwert aktualisiert, der von der Roboter-Steuervorrichtung 3 durch eine nicht dargestellte Verarbeitung erfasst wird, so dass der neueste Wert des Roboterkoordinatenwertes, der sich sequentiell unter dem numerischen Steuerprogramm ändert, gespeichert wird.
-
Die Roboter-Einlernpositionsspeichereinheit speichert vom Bediener eingegebene Einlernpositionen, wie z.B. einen Startpunkt und einen Endpunkt, des Roboters 30, insbesondere über z.B. einen Einlernschalter eingegebene Einlernpositionen des Roboters 30 und über z.B. eine Tastatur eingegebene Einlernpositionen. Die T Einlernpositionen des Roboters 30 umfassen einen Roboterkoordinatenwert, der die Position des Roboters 30 um jede Steuerachse angibt, und diese Roboterkoordinatenwerte sind unter dem Roboter-Koordinatensystem definiert, das sich vom Koordinatensystem der Werkzeugmaschine unterscheidet.
-
Die Programmeingabeeinheit 24 liest das numerische Steuerprogramm aus der Programmspeichereinheit und gibt ein solches Programm sequentiell in die Analyseeinheit 25 ein.
-
Die Analyseeinheit 25 analysiert für jeden Befehlsblock einen Befehlstyp auf der Basis des von der Programmeingabeeinheit 24 eingegebenen numerischen Steuerprogramms und gibt ein Analyseergebnis an eine nicht dargestellte Werkzeugmaschinensteuereinheit und die später beschriebene Roboter-Befehlssignalerzeugungseinheit 26 aus. Genauer gesagt, in einem Fall, in dem der Befehlstyp des Befehlsblocks ein Befehl für die Werkzeugmaschine 20 ist, überträgt die Analyseeinheit 25 einen solchen Befehl an die Steuereinheit der Werkzeugmaschine. In einem Fall, in dem der Befehlstyp des Befehlsblocks ein Befehl für den Roboter 30 ist, gibt die Analyseeinheit 25 einen solchen Befehl an die Roboter-Befehlssignalerzeugungseinheit 26 aus.
-
Die nicht dargestellte Steuereinheit für die Werkzeugmaschine erzeugt ein Steuersignal für die Werkzeugmaschine zur Steuerung des Betriebs der Werkzeugmaschine 20 gemäß dem von der Analyseeinheit 25 übermittelten Analyseergebnis und gibt ein solches Signal an einen Aktuator weiter, der verschiedene Wellen der Werkzeugmaschine 20 antreibt. Die Werkzeugmaschine 20 arbeitet gemäß dem von der Steuereinheit der Werkzeugmaschine eingegebenen Steuersignal für die Werkzeugmaschine und bearbeitet dabei das nicht abgebildete Werkstück. Nachdem die Steuereinheit der Werkzeugmaschine 20 den Betrieb gemäß dem zuvor beschriebenen numerischen Steuerprogramm gesteuert hat, aktualisiert sie den in der Maschinenkoordinatenwert-Speichereinheit gespeicherten Maschinenkoordinatenwert auf den neuesten Maschinenkoordinatenwert.
-
Die Roboter-Befehlssignalerzeugungseinheit 26 erzeugt das Roboter-Befehlssignal gemäß dem Roboterprogramm, das in den in der Speichereinheit 23 gespeicherten Programmen enthalten ist und von der Analyseeinheit 25 als Befehlstyp des Befehlsblocks, der der Befehl für den Roboter 30 ist, analysiert wird. Das erzeugte Roboter-Befehlssignal enthält einen Roboterprogramm-Aktivierungsbefehl, der ein Auslöser für die Aktivierung eines in einer Speichereinheit 31 in der Roboter-Steuervorrichtung 3 gespeicherten Roboterprogramms ist. Die Roboter-Befehlssignalerzeugungseinheit 26 schreibt das erzeugte Roboter-Befehlssignal in die Datenübertragungs-/Empfangseinheit 27.
-
Die Datenübertragungs-/Empfangseinheit 27 tauscht verschiedene Befehle und verschiedene Arten von Daten mit einer Datenübertragungs-/Empfangseinheit 32 der Roboter-Steuervorrichtung 3 aus. Wenn die Roboter-Befehlssignalerzeugungseinheit 26 das Roboter-Befehlssignal schreibt, überträgt die Datenübertragungs-/Empfangseinheit 27 das Roboter-Befehlssignal an die Datenübertragungs-/Empfangseinheit 32 der Roboter-Steuervorrichtung 3. Wenn die später beschriebene Roboterbetriebseinheit 28 ein Positionierungsabschlusssignal schreibt und die Auswahleinheit 21 den Betrieb auswählt, empfängt die Datenübertragungs-/Empfangseinheit 27 den Koordinatenwert des Roboter-Einlernpunktes und die Konfigurationsinformationen bezüglich des Roboters 30 basierend auf dem ausgewählten Koordinatensystem von der Roboter-Steuervorrichtung 3 und gibt den Koordinatenwert und die Konfigurationsinformationen an die später beschriebene Roboterkoordinatenwert-/Konfigurationsinformationserfassungseinheit 29 aus.
-
Wenn der Bediener den Roboter 30 manuell bedient, um den Roboter 30 zu positionieren, schreibt die Roboterbetriebseinheit 28 das Positionierungsabschluss-Signal in die später beschriebene Datenübertragungs-/Empfangseinheit 27.
-
Die Roboterkoordinatenwert-/Konfigurationsinformationserfassungseinheit 29 erfasst von der Roboter-Steuervorrichtung 3, die den Roboter 30 steuert, den Koordinatenwert des Roboter-Einlernpunktes und die Konfigurationsinformationen bezüglich des Roboters 30 basierend auf dem von der Auswahleinheit 21 ausgewählten Koordinatensystem über die zuvor beschriebene Datenübertragungs-/Empfangseinheit 27. Genauer gesagt, wenn die zuvor beschriebene Roboterbetriebseinheit 28 das Positionierungsabschlusssignal in die Datenübertragungs-/Empfangseinheit 27 schreibt und die zuvor beschriebene Auswahleinheit 21 das Roboter-Koordinatensystem auswählt, werden der Koordinatenwert des Roboter-Einlernpunktes des Roboters 30 und die sich auf den Roboter 30 beziehenden Konfigurationsinformationen auf der Grundlage des ausgewählten Koordinatensystems von der Roboterkoordinatenwert-/Konfigurationsinformationserfassungseinheit 29 erfasst.
-
Als nächstes wird die Konfiguration der Roboter-Steuervorrichtung 3 im Detail beschrieben. Wie in 2 gezeigt, implementiert die Roboter-Steuervorrichtung 3 durch die zuvor beschriebene Hardware-Konfiguration verschiedene Funktionen wie die Speichereinheit 31, die Datenübertragungs-/Empfangseinheit 32, eine Analyseeinheit 33, eine Roboter-Befehlserzeugungseinheit 34, eine Programmverwaltungseinheit 35, eine Pfad-Steuereinheit 36, eine Kinematik-Steuereinheit 37 und eine Servo-Steuereinheit 38. Insbesondere steuert die Roboter-Steuervorrichtung 3 unter Verwendung der Speichereinheit 31, der Datenübertragungs-/Empfangseinheit 32, der Analyseeinheit 33, der Roboterbefehlserzeugungseinheit 34, der Programmverwaltungseinheit 35, der Pfad-Steuereinheit 36, der Kinematik-Steuereinheit 37 und der Servo-Steuereinheit 38 den Betrieb des Roboters 30 auf der Basis des von der numerischen Steuervorrichtung 2 übertragenen Befehls.
-
Die Datenübertragungs-/Empfangseinheit 32 empfängt das von der Datenübertragungs-/Empfangseinheit 27 der numerischen Steuervorrichtung 2 übertragene Roboterbefehlssignal. Außerdem gibt die Datenübertragungs-/Empfangseinheit 32 das empfangene Roboterbefehlssignal sequentiell an die Analyseeinheit 33 aus.
-
Die Analyseeinheit 33 wertet das von der Datenübertragungs-/Empfangseinheit 32 eingegebene Roboterbefehlssignal aus. Außerdem gibt die Analyseeinheit 33 ein Analyseergebnis an die Roboterbefehlserzeugungseinheit 34 aus.
-
Die Roboterbefehlserzeugungseinheit 34 erzeugt einen Roboterbefehl gemäß dem Roboterbefehlssignal gemäß dem von der Analyseeinheit 33 eingegebenen Roboterbefehlssignal-Analyseergebnis. Die Roboterbefehlserzeugungseinheit 34 gibt den erzeugten Roboterbefehl an die Programmverwaltungseinheit 35 aus.
-
Beim Empfang des Roboterbefehls von der Roboterbefehlserzeugungseinheit 34 führt die Programmverwaltungseinheit 35 einen solchen Befehl sequentiell aus, wodurch ein Betriebskonzept für den Roboter 30 gemäß dem zuvor beschriebenen Roboterbefehlssignal erzeugt und das Betriebskonzept an die Pfad-Steuereinheit 36 ausgegeben wird.
-
Außerdem fügt die Programmverwaltungseinheit 35 in einem Fall, in dem der von der Roboterbefehlserzeugungseinheit 34 eingegebene Roboterbefehl ein Roboterbefehlsblock ist, den eingegebenen Roboterbefehlsblock zu dem in der Speichereinheit 31 gespeicherten Roboterprogramm hinzu. Dementsprechend wird das Roboterprogramm gemäß dem von der numerischen Steuervorrichtung 2 übertragenen Roboterbefehlssignal erzeugt und in der Speichereinheit 31 gespeichert. Das gespeicherte Roboterprogramm wird in Reaktion auf einen Roboterprogramm-Aktivierungsbefehl aktiviert, der als Roboterbefehl von der Programmverwaltungseinheit 35 empfangen wird.
-
Beim Empfang des Betriebskonzepts von der Programmverwaltungseinheit 35 berechnet die Pfad-Steuereinheit 36 Zeitreihendaten über den Steuerpunkt des Roboters 30 und gibt diese Daten an die Kinematik-Steuereinheit 37 aus.
-
Die Kinematik-Steuereinheit 37 berechnet den Sollwinkel jedes Gelenks des Roboters 30 aus den eingegebenen Zeitreihendaten und gibt den Sollwinkel an die Servo-Steuereinheit 38 aus.
-
Die Servo-Steuerungseinheit 38 führt eine Rückkopplungssteuerung für jeden Servomotor des Roboters 30 durch, so dass der von der Kinematik-Steuerungseinheit 37 eingegebene Sollwinkel erreicht wird, wodurch ein Roboter-Steuersignal für den Roboter 30 erzeugt und ein solches Signal in jeden Servomotor des Roboters 30 eingegeben wird.
-
Nachfolgend wird das Verfahren zur Erzeugung eines numerischen Roboter-Steuerbefehls gemäß der vorliegenden Ausführungsform im Detail beschrieben. 4 ist ein Flussdiagramm, das den Ablauf der Verarbeitung der numerischen Roboter-Steuerbefehle zeigt.
-
In Schritt S1 bedient der Bediener den Roboter 30 manuell, wodurch der Roboter 30 positioniert wird. Danach wird die Verarbeitung mit Schritt S2 fortgesetzt.
-
In Schritt S2 klickt der Bediener eine Softwaretaste auf einem Betriebsbildschirm der numerischen Steuervorrichtung 2 an, wodurch der Roboterbetrieb ausgewählt wird. Insbesondere wählt der Bediener durch Betätigung der Softwaretaste z.B. den Roboterbetriebstyp aus, der später in Schritt S3 verarbeitet werden soll, und gibt diesen ein. Danach wird die Verarbeitung mit Schritt S3 fortgesetzt.
-
5 ist eine Ansicht, die ein Beispiel für den Betriebsbildschirm 200 der numerischen Steuervorrichtung 2 gemäß der vorliegenden Ausführungsform zeigt. Wie in 5 gezeigt, hat der Betriebsbildschirm 200 der numerischen Steuervorrichtung 2 gemäß der vorliegenden Ausführungsform eine Roboterkoordinatenwert-Anzeigeeinheit 201, die die Roboterkoordinatenwerte anzeigt, eine Programm-Aufbereiter-Einheit 202, die den numerischen Roboter-Steuerbefehl anzeit und bearbeitet, Softwaretasten 203 und einen Einabeuffer (Kev-In Buffer) 204, der einen Eingabewert vorübergehend speichert und anzeigt. Im obigen Schritt S2 klickt der Bediener auf die mehreren Softwaretasten 203, wodurch der Roboterbetriebstyp usw. gewählt und eingegeben wird.
-
In Schritt S3 wird die Auswahl des Roboterbetriebs durchgeführt. Insbesondere wird mindestens in Element, umfassend den Betriebstyp des Roboters 30, den Koordinatenwerttyp des Roboters 30, die Betriebsgeschwindigkeit des Roboters 30 oder den Positionierungstyp des Roboters 30, ausgewählt. Im Folgenden wird das Verfahren zur Auswahl des Betriebstyps des Roboters 30, zur Auswahl des Koordinatenwerttyps des Roboters 30 und zur Auswahl des Positionierungstyps des Roboters 30 unter Bezugnahme auf die 6 bis 8 im Detail beschrieben.
-
6 ist ein Flussdiagramm, das den Ablauf der Betriebsartauswahlverarbeitung zeigt. Dieser Verarbeitungsablauf wird von der Auswahleinheit 21 gemäß der Betätigung der Softwaretasten 203 durch den Bediener ausgeführt. Darüber hinaus bildet dieser Verarbeitungsablauf die Unterroutine von Schritt S3 in der zuvor beschriebenen Befehlsgenerierung der numerischen Robotersteuerung.
-
In Schritt S11 wird bestimmt, ob der Betriebstyp des Roboters 30, der durch Betätigung der Softwaretasten 203 durch den Bediener eingegeben wird, der Einzelachsenbetrieb ist oder nicht. Wenn die Antwort JA ist, fährt die Verarbeitung mit Schritt S12 fort, G07.3 wird ausgewählt und als ein Befehlscode angegeben, und diese Verarbeitung endet.
-
Wenn die Antwort in Schritt S11 NEIN ist, fährt die Verarbeitung mit Schritt S13 fort, und es wird bestimmt, ob der Betriebstyp des Roboters 30, der durch Betätigung der Softwaretasten 203 durch den Bediener eingegeben wird, der lineare Betrieb ist oder nicht. Wenn die Antwort JA ist, fährt die Verarbeitung mit Schritt S14 fort, G01 wird ausgewählt und als der Befehlscode festgelegt, und diese Verarbeitung endet.
-
Wenn die Antwort in Schritt S13 NEIN ist, fährt die Verarbeitung mit Schritt S15 fort, und es wird bestimmt, ob der Betriebstyp des Roboters 30, der durch die Betätigung der Softwaretasten 203 durch den Bediener eingegeben wird, ein gekrümmter Betrieb im Uhrzeigersinn bzw. gekrümmter CW-Betrieb ist oder nicht. Wenn die Antwort JA ist, fährt die Verarbeitung mit Schritt S16 fort, G02 wird ausgewählt und als der Befehlscode angegeben, und diese Verarbeitung endet.
-
Wenn die Antwort in Schritt S15 NEIN lautet, fährt die Verarbeitung mit Schritt S17 fort. Da in diesem Fall festgestellt wird, dass der Betriebstyp des Roboters 30, der durch Betätigung der Softwaretasten 203 durch den Bediener eingegeben wird, ein gekrümmter Betrieb gegen den Uhrzeigersinn ist, wird G03 ausgewählt und als Befehlscode festgelegt, und diese Verarbeitung endet.
-
7 ist ein Flussdiagramm, das den Ablauf der Koordinatenwerttyp-Auswahlverarbeitung zeigt. Dieser Verarbeitungsablauf wird, wie bei der zuvor beschriebenen Betriebsartauswahlverarbeitung, von der Auswahleinheit 21 gemäß der Betätigung der Softwaretasten 203 durch den Bediener ausgeführt. Darüber hinaus bildet dieser Verarbeitungsablauf die Unterroutine von Schritt S3 in der zuvor beschriebenen Verarbeitung zur Erzeugung von numerischen Roboter-Steuerbefehlen.
-
In Schritt S21 wird bestimmt, ob der Koordinatenwerttyp, der durch Betätigung der Softwaretasten 203 durch den Bediener eingegeben wird, der Koordinatenwert jeder Achse des Koordinatensystems jeder Achse ist oder nicht. Wenn die Antwort JA ist, fährt die Verarbeitung mit Schritt S22 fort, und die Roboterkoordinatenwert-/Konfigurationsinformationserfassungseinheit 29 erfasst den Koordinatenwert jeder Achse des Lehrpunktes des Roboters 30 von der Roboter-Steuervorrichtung 3. Der erfasste Koordinatenwert für jede Achse des Einlernpunktes des Roboters 30 wird auf der Roboterkoordinatenwert-Anzeigeeinheit 201 angezeigt, wie in 5 gezeigt. Danach ist diese Verarbeitung beendet.
-
Wenn die Antwort in Schritt S21 NEIN ist, fährt die Verarbeitung mit Schritt S23 fort, und es wird bestimmt, ob der durch Betätigung der Softwaretasten 203 durch den Bediener eingegebene Koordinatenwerttyp der orthogonale Koordinatenwert des orthogonalen Koordinatensystems ist oder nicht. Wenn die Antwort JA ist, fährt die Verarbeitung mit Schritt S24 fort, und die Roboterkoordinatenwert-/Konfigurationsinformationserfassungseinheit 29 erfasst den orthogonalen Koordinatenwert des Lehrpunktes des Roboters 30 von der Roboter-Steuervorrichtung 3. Der erfasste orthogonale Koordinatenwert des Einlernpunktes des Roboters 30 wird auf der Roboterkoordinatenwert-Anzeigeeinheit 201 angezeigt, wie in 5 gezeigt. Danach wird die Verarbeitung mit Schritt S25 fortgesetzt.
-
In Schritt S25 wird, da der Koordinatenwerttyp der orthogonale Koordinatenwert ist und die Position des Roboters 30 durch die sechs Koordinatenwerte und den einen Konfigurationswert (X, Y, Z, A, B, C, P) unter dem orthogonalen Koordinatensystem, wie zuvor beschrieben, dargestellt wird, der Konfigurationswert P als die Konfigurationsinformation in Bezug auf den Roboter 30 erfasst. Konkret erfasst die Roboterkoordinatenwert-/Konfigurationsinformationserfassungseinheit 29 den Konfigurationswert P des Einlernpunktes des Roboters 30 von der Roboter-Steuervorrichtung 3. Der erfasste Konfigurationswert P des Einlernpunktes des Roboters 30 wird auf der Roboterkoordinatenwert-Anzeigeeinheit 201 angezeigt. Danach ist diese Verarbeitung beendet.
-
Wenn die Antwort in Schritt S23 NEIN ist, gibt es keine Eingabe des Koordinatenwerttyps durch den Bediener, und daher endet diese Verarbeitung. In diesem Fall werden der Koordinatenwerttyp und der Koordinatenwert, die in der vorherigen Verarbeitung ausgewählt wurden, effektiv als modale Information beibehalten.
-
8 ist ein Flussdiagramm, das den Ablauf der Verarbeitung der Positionierungstypauswahl zeigt. Dieser Verarbeitungsablauf wird, wie bei der zuvor beschriebenen Betriebsartauswahlverarbeitung und der Koordinatenwertauswahlverarbeitung, von der Auswahleinheit 21 gemäß der Betätigung der Softwaretasten 203 durch den Bediener ausgeführt. Darüber hinaus bildet dieser Verarbeitungsablauf die Unterroutine von Schritt S3 in der zuvor beschriebenen Verarbeitung zur Erzeugung von numerischen Roboter-Steuerbefehlen.
-
In Schritt S31 wird bestimmt, ob der Positionierungstyp, der durch die Betätigung der Softwaretasten 203 durch den Bediener eingegeben wird, die Positionierungsoperation ist oder nicht. Wenn die Antwort JA ist, wird die Verarbeitung mit Schritt S32 fortgesetzt. Da es sich in diesem Fall nicht um den glatten Betrieb handelt und keine R-Adresse erforderlich ist, endet diese Verarbeitung, ohne dass der R-Adresswert zusätzlich angegeben wird.
-
Wenn die Antwort in Schritt S31 NEIN ist, fährt die Verarbeitung mit Schritt S33 fort, und es wird bestimmt, ob der Positionierungstyp, der durch die Betätigung der Softwaretasten 203 durch den Bediener eingegeben wird, der Gleichlaufbetrieb ist oder nicht. Wenn die Antwort JA ist, fährt die Verarbeitung mit Schritt S34 fort, die R-Adresse, die durch die Betätigung der Softwaretasten 203 durch den Bediener eingegeben wird, wird zusätzlich spezifiziert, und diese Verarbeitung endet. Es sollte beachtet werden, dass 4 ein Beispiel zeigt, bei dem ein innerer Bewegungsgrad von R46 als R-Adresse angegeben wird.
-
Wenn die Antwort in Schritt S33 NEIN ist, gibt es keine Eingabe des Positionierungstyps durch den Bediener, und daher endet diese Verarbeitung. In diesem Fall werden der Positionierungstyp und die R-Adresse, die in der vorherigen Verarbeitung ausgewählt wurden, effektiv als modale Information beibehalten.
-
Es sollte beachtet werden, dass das Flussdiagramm der Betriebsgeschwindigkeits-Auswahlverarbeitung für den Roboter 30 nicht gezeigt wird, aber dieser Verarbeitungsfluss wird, wie bei der zuvor beschriebenen Betriebstyp-Auswahlverarbeitung, Koordinatenwert-Auswahlverarbeitung und Positionierungstyp-Auswahlverarbeitung, von der Auswahleinheit 21 gemäß der Betätigung der Softwaretasten 203 durch den Bediener ausgeführt. Darüber hinaus bildet dieser Verarbeitungsablauf die Unterroutine von Schritt S3 in der zuvor beschriebenen Verarbeitung der numerischen Roboter-Steuerbefehle. Insbesondere wird in der Betriebsgeschwindigkeitsauswahlverarbeitung eine Betriebsgeschwindigkeit F, die durch Betätigung der Softwaretasten 203 durch den Bediener eingegeben wird, ausgewählt und festgelegt. Es sollte beachtet werden, dass 4 ein Beispiel zeigt, in dem 100 mm/min als Betriebsgeschwindigkeit F angegeben ist.
-
Unter erneuter Bezugnahme auf 4 klickt in Schritt S4 der Bediener auf eine Befehlserzeugungstaste, die eine der Softwaretasten 203 ist. Danach fährt die Verarbeitung mit Schritt S5 fort.
-
In Schritt S5 werden der Koordinatenwert des Einlernpunktes des Roboters 30 und die Konfigurationsinformationserfassungseinheit in Bezug auf den Roboter 30 erfasst. Insbesondere erfasst die Roboterkoordinatenwert-/Konfigurationsinformationserfassungseinheit 29 den Koordinatenwert des Roboter-Einlernpunktes des Roboters 30 und die sich auf den Roboter 30 beziehenden Konfigurationsinformationen von der Roboter-Steuervorrichtung 3. Danach wird die Verarbeitung mit Schritt S6 fortgesetzt.
-
In Schritt S6 wird ein entsprechender Befehl in den Eingabepuffer 204 eingefügt. Hier ist der entsprechende Befehl ein numerischer Roboter-Steuerbefehl, der von der numerischen Roboter-Steuerbefehlserzeugungseinheit 22 gemäß den in den obigen Schritten S1 bis S5 ausgewählten und angegebenen Bedingungen erzeugt wird. Wie in 4 beispielhaft gezeigt, wird der numerische Roboter-Steuerbefehl durch den Betriebstyp (z.B. G01) + den Koordinatenwerttyp (z.B. X100.0 Y0.0 Z100.0 A-180.0 B0.0 C0.0 P1211546) + die Betriebsgeschwindigkeit (z.B. F100) + den Positionierungstyp (z.B. R46) spezifiziert. Der numerische Roboter-Steuerbefehl als der zuvor beschriebene entsprechende Befehl wird vorübergehend im Eingabepuffer 204 gespeichert und angezeigt. Danach wird die Verarbeitung mit Schritt S7 fortgesetzt.
-
Es sollte beachtet werden, dass der Konfigurationswert P als eine siebenstellige Zahl definiert ist, wie oben als ein Beispiel gezeigt. Insbesondere wird der Konfigurationswert P durch eine siebenstellige Zahl in der Reihenfolge Handgelenk oben und unten (1, 2), Arm rechts und links (1, 2), Arm oben und unten (1, 2), Arm vorne und hinten (1, 2), die Rotationszahl um die J4-Achse (4, 5, 6), die Rotationszahl um die J5-Achse (4, 5, 6) und die Rotationszahl um die J6-Achse (4, 5, 6) dargestellt. So bedeutet der Konfigurationswert P1211546 eines obigen Beispiels, dass das Handgelenk oben ist, der Arm rechts ist, der Arm oben ist, der Arm vorne ist, die Rotationszahl um die J4-Achse 5 ist, die Rotationszahl um die J5-Achse 4 ist und die Rotationszahl um die J6-Achse 6 ist.
-
Es ist zu beachten, dass in Schritt S6 der entsprechende Befehl direkt in die Programm-Aufbereiter-Einheit 202 eingefügt und auf dieser angezeigt werden kann, ohne dass er vorübergehend im Eingabepuffer 204 gespeichert und auf diesem angezeigt wird.
-
In Schritt S7 wird der numerische Roboter-Steuerbefehl, der vorübergehend im Eingabepuffer 204 gespeichert und angezeigt wird, vom Bediener überprüft, und wenn es kein Problem gibt, drückt der Bediener eine EINGABE-Taste, die eine der Softwaretasten 203 ist. Danach wird die Verarbeitung mit Schritt S8 fortgesetzt.
-
In Schritt S8 wird der numerische Roboter-Steuerbefehl, der der entsprechende Befehl ist, als Reaktion auf das Anklicken der EINGABE-Taste durch den Bediener in Schritt S7 zu einem Programm-Aufbereiter hinzugefügt. Dementsprechend wird der durch diese Verarbeitung erzeugte numerische Roboter-Steuerbefehl in der Programm-Aufbereiter-Einheit 202 angezeigt. Der Bediener betätigt die Softwaretasten 203 nach Bedarf und bearbeitet dadurch den auf der Programm-Aufbereiter-Einheit 202 angezeigten numerischen Roboter-Steuerbefehl. Auf diese Weise wird der numerische Roboter-Steuerbefehl erzeugt, und diese Verarbeitung endet.
-
Gemäß der vorliegenden Ausführungsform werden die folgenden vorteilhaften Effekte bereitgestellt. Gemäß der vorliegenden Ausführungsform wird der numerische Steuerbefehl für den Roboter auf der Basis von: mindestens einem Element, umfassend den Betriebstyp des Roboters 30, die Betriebsgeschwindigkeit des Roboters 30, den Positionierungstyp des Roboters 30 oder den Koordinatenwerttyp des Roboters 30; dem Koordinatenwert des Roboter-Einlernpunktes, der auf der Basis des Koordinatenwerttyps des Roboters 30 erfasst wird; und den Konfigurationsinformationen in Bezug auf den Roboter 30 am Roboter-Einlernpunkt erzeugt. Mit dieser Konfiguration kann der Koordinatenwert in einem Koordinatensystem wie dem orthogonalen Koordinatensystem oder dem Koordinatensystem für jede Achse intuitiv eingegeben werden, und die Konfigurationsinformationen, mit denen der Benutzer der Werkzeugmaschine nicht vertraut ist, können leicht eingestellt werden. So kann ein Betriebsprogramm für den Roboter 30 einfach in einer numerischen Steuerprogrammsprache für die Werkzeugmaschine erstellt werden.
-
Die vorliegende Erfindung ist nicht auf die zuvor beschriebene Ausführungsform beschränkt, und es können verschiedene Änderungen und Modifikationen vorgenommen werden. In der zuvor beschriebenen Ausführungsform wurde beispielsweise der Fall beschrieben, dass die vorliegende Erfindung durch das numerische Steuersystem 1 mit der numerischen Steuervorrichtung 2 und der Roboter-Steuervorrichtung 3 implementiert wird, aber die vorliegende Erfindung ist nicht auf diesen Fall beschränkt. Die vorliegende Erfindung kann auch durch ein Computerprogramm implementiert werden, das einen Computer veranlasst, verschiedene Funktionen der numerischen Steuervorrichtung 2 und der Roboter-Steuervorrichtung 3 zu realisieren.
-
In der zuvor beschriebenen Ausführungsform wird als Koordinatensystem für den Roboter 30 eines der beiden Achsenkoordinatensysteme und das orthogonale Koordinatensystem gewählt, aber die vorliegende Erfindung ist nicht auf diesen Fall beschränkt. Zum Beispiel kann auch ein Werkzeugkoordinatensystem gewählt werden. Dabei ist das Werkzeugkoordinatensystem ein Koordinatensystem, in dem die Position eines Werkzeugspitzen-Endpunktes (TCP) des Roboters 30 und die Haltung des Werkzeugs definiert sind. Das Werkzeugkoordinatensystem bezieht sich auf den Betrieb um ein mechanisches Schnittstellenkoordinatensystem (Handgelenkflanschfläche) des Roboters 30 und wird so eingestellt, dass ein Abweichungswert vom Ursprung des mechanischen Schnittstellenkoordinatensystems und ein Drehwinkel um jede Koordinatenachse eingestellt werden.
-
In der zuvor beschriebenen Ausführungsform erfasst die Roboterkoordinatenwert-/Konfigurationsinformationserfassungseinheit 29 den Koordinatenwert des Roboter-Einlernpunktes und die Konfigurationsinformationen bezüglich des Roboters 30 von der Roboter-Steuervorrichtung 3, die den Roboter 30 steuert, aber die vorliegende Erfindung ist nicht darauf beschränkt. Beispielsweise kann die Roboterkoordinatenwert-/Konfigurationsinformationserfassungseinheit 29 den Koordinatenwert und die Konfigurationsinformationen von einem Offline-Programmiergerät erfassen, das das Betriebsprogramm für den Roboter 30 offline erstellt.
-
Bezugszeichenliste
-
- 1
- Numerisches Steuersystem
- 2
- Numerische Steuervorrichtung (Befehlserzeugungsvorrichtung)
- 3
- Roboter-Steuervorrichtung
- 21
- Auswahleinheit
- 22
- Numerische Roboter-Steuerbefehlserzeugungseinheit
- 23
- Speichereinheit
- 24
- Programmeingabeeinheit
- 25
- Analyseeinheit
- 26
- Roboter-Befehlssignalerzeugungseinheit
- 27
- Datenübertragungs-/Empfangseinheit
- 28
- Roboterbetriebseinheit
- 29
- Roboterkoordinatenwert-/Konfigurationsinformationserfassungseinheit
- 30
- Roboter
- 30a
- Arm-Spitzenendabschnitt
- 30b
- Werkzeug
- 31
- Speichereinheit
- 32
- Datenübertragungs-/Empfangseinheit
- 33
- Analyseeinheit
- 35
- Programmverwaltungseinheit
- 36
- Pfad-Steuereinheit
- 37
- Kinematik-Steuereinheit
- 38
- Servo-Steuerungseinheit
-
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
-