-
TECHNISCHES GEBIET
-
Die vorliegende Erfindung betrifft ein numerisches Steuersystem.
-
STAND DER TECHNIK
-
Allgemein werden ein numerisches Steuerprogramm für das Steuern einer Werkzeugmaschine und ein Roboterprogramm für das Steuern eines Roboters in verschiedenen Programmiersprachen geschrieben. Aus diesem Grund muss sich ein Benutzer mit dem numerischen Steuerprogramm und dem Roboterprogramm vertraut machen, um eine Werkzeugmaschine und einen Roboter parallel betreiben zu können.
-
Das Patendokument 1 gibt eine numerische Steuervorrichtung an, die sowohl eine Werkzeugmaschine als auch einen Roboter mittels eines numerischen Steuerprogramms steuert. Die numerische Steuervorrichtung des Patentdokuments 1 erlaubt, dass ein mit dem numerischen Steuerprogramm vertrauter Betreiber einen Roboter steuert, ohne dass er sich mit dem Roboterprogramm vertraut zu machen braucht.
-
Patentdokument 1:
Japanisches Patent Nr. 6647472
-
BESCHREIBUNG DER ERFINDUNG
-
Problemstellung
-
Die numerische Steuervorrichtung des Patentdokuments 1 basiert auf der Vorbedingung, dass ein numerisches Steuerprogramm für eine Werkzeugmaschine und ein numerisches Steuerprogramm für einen Roboter basierend auf einem Werkzeugmaschinen-Koordinatensystem, das einen Ursprung an einem in Bezug auf die Werkzeugmaschine gesetzten Referenzpunkt aufweist, erstellt wird. Deshalb muss ein für das Erstellen des numerischen Steuerprogramms verantwortlicher Betreiber die Entsprechungsbeziehung zwischen dem oben genannten Werkzeugmaschinen-Koordinatensystem und einem Roboter-Koordinatensystem, das einen Ursprung an einem in Bezug auf den Roboter gesetzten Referenzpunkt aufweist, verstehen, was sehr anspruchsvoll ist. Zum Beispiel müssen unter Umständen eine Vielzahl von numerischen Steuervorrichtungen eine Vielzahl von Werkzeugmaschinen und einen einzelnen Roboter steuern, wobei in diesem Fall eine Vielzahl von Werkzeugmaschine-Koordinatensystemen definiert werden müssen.
-
Es ist eine Roboter-Steuervorrichtung bekannt, die direkt den Betrieb eines Roboters gemäß einem von einer numerischen Steuervorrichtung gesendeten Befehlssignal steuert. Damit eine derartige Roboter-Steuervorrichtung eine kinematische Transformation in dem Roboter-Koordinatensystem korrekt durchführen und die Drehwinkel der Gelenke des Roboters korrekt gemäß einem Befehl steuern kann, müssen Koordinatensystem-Wandlungseinrichtungen (insbesondere zum Beispiel eine Koordinatensystem-Wandlungstabelle) für das Wandeln von Koordinatenwerten zwischen dem Werkzeugmaschine-Koordinatensystem und dem Roboter-Koordinatensystem vorgesehen sein. Eine derartige Wandlungseinrichtung erhöht die Rechenlast, wodurch die Bearbeitungsperformanz des Roboters und der Werkzeugmaschine beeinträchtigt werden kann.
-
Die vorliegende Erfindung nimmt auf die vorstehend geschilderten Nachteile Bezug und sieht ein numerisches Steuersystem vor, das die Erstellung eines numerischen Steuerprogramms ermöglicht, mit dem eine numerische Steuervorrichtung zum Steuern eines Roboters basierend auf einem Roboter-Koordinatensystem veranlasst wird.
-
Ein Aspekt der vorliegenden Erfindung betrifft ein numerisches Steuersystem, das umfasst: eine numerische Steuervorrichtung, die konfiguriert ist zum Erzeugen eines Werkzeugmaschinen-Befehlssignals als eines Befehls für eine Werkzeugmaschine gemäß einem ersten numerischen Steuerprogramm, das basierend auf einem ersten Koordinatensystem beschrieben ist, und eines Roboter-Befehlssignals als eines Befehls für einen Roboter gemäß einem zweiten numerischen Steuerprogramm, das basierend auf einem zweiten Koordinatensystem beschrieben ist; und eine Roboter-Steuervorrichtung, die mit der numerischen Steuervorrichtung kommunizieren kann und konfiguriert ist zum Steuern des Betriebs des Roboters basierend auf dem Roboter-Befehlssignal. Die Roboter-Steuervorrichtung erfasst Koordinatenwerte des Roboters in dem zweiten Koordinatensystem und sendet die Koordinatenwerte als Referenzkoordinatenwerte an die numerische Steuervorrichtung. Die numerische Steuervorrichtung erzeugt das Roboter-Befehlssignal basierend auf den von der Roboter-Steuervorrichtung gesendeten Referenzkoordinatenwerten und auf dem zweiten numerischen Steuerprogramm.
-
Effekte der Erfindung
-
Gemäß einem Aspekt der Erfindung erzeugt die numerische Steuervorrichtung ein Werkzeugmaschinen-Befehlssignal für die Werkzeugmaschine gemäß dem ersten numerischen Steuerprogramm, das basierend auf dem ersten Koordinatensystem beschrieben ist, und ein Roboter-Befehlssignal für den Roboter gemäß dem zweiten numerischen Steuerprogramm, das basierend auf dem zweiten Koordinatensystem beschrieben ist. Die Roboter-Steuervorrichtung kann mit der numerischen Steuervorrichtung kommunizieren und steuert den Betrieb des Roboters basierend auf dem von der numerischen Steuervorrichtung gesendeten Roboter-Befehlssignal. Die Roboter-Steuervorrichtung erhält Koordinatenwerte des Roboters in dem zweiten Koordinatensystem und sendet die Koordinatenwerte als Referenzkoordinatenwerte an die numerische Steuervorrichtung. Die numerische Steuervorrichtung erzeugt das Roboter-Befehlssignal basierend auf den von der Roboter-Steuervorrichtung gesendeten Referenzkoordinatenwerten und auf dem zweiten numerischen Steuerprogramm. Gemäß diesem Aspekt der Erfindung ermöglicht also die numerische Steuervorrichtung die Erstellung des zweiten numerischen Steuerprogramms basierend auf dem zweiten Koordinatensystem, das gleich dem als Referenz für die Roboter-Steuervorrichtung dienenden Koordinatensystem ist. Dadurch wird ermöglicht, dass ein Bediener ein zweites numerisches Steuerprogramm erstellt, ohne die Beziehung zwischen dem ersten Koordinatensystem für die Werkzeugmaschine und dem zweiten Koordinatensystem für den Roboter zu erkennen. Weiterhin müssen gemäß diesem Aspekt der Erfindung die numerische Steuervorrichtung und die Roboter-Steuervorrichtung die Koordinatenwerte nicht zwischen dem ersten Koordinatensystem und dem zweiten Koordinatensystem wandeln, sodass die Rechenlast entsprechend reduziert werden kann. Folglich kann auch eine Verschlechterung der Leistungsperformanz des Roboters und der Werkzeugmaschine unterdrückt werden.
-
Figurenliste
-
- 1 ist eine schematische Ansicht, die ein numerisches Steuersystem gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
- 2 ist ein Funktionsblockdiagramm einer numerischen Steuervorrichtung und einer Roboter-Steuervorrichtung.
- 3A ist ein Flussdiagramm (Teil 1), das eine Prozedur eines Koordinatenkonfigurationsinformationen-Verwaltungsprozesses zeigt.
- 3B ist ein Flussdiagramm (Teil 2), das die Prozedur des Koordinatenkonfigurationsinformationen-Verwaltungsprozesses zeigt.
- 4 zeigt ein Beispiel eines numerischen Steuerprogramms für einen Roboter.
- 5A ist ein Sequenzdiagramm (Teil 1) in einem Fall, in dem eine numerische Steuervorrichtung gemäß dem numerischen Steuerprogramm für einen Roboter von 4 betrieben wird.
- 5B ist ein Sequenzdiagram (Teil 2) in dem Fall, in dem die numerische Steuervorrichtung gemäß dem numerischen Steuerprogramm für einen Roboter von 4 betrieben wird.
-
BEVORZUGTE AUSFÜHRUNGSFORM DER ERFINDUNG
-
Ein numerische Steuersystem 1 gemäß einer Ausführungsform der vorliegenden Erfindung wird mit Bezug auf die Zeichnungen beschrieben.
-
1 ist eine schematische Ansicht, die das numerische Steuersystem 1 gemäß dieser Ausführungsform zeigt.
-
Das numerische Steuersystem 1 umfasst eine Werkzeugmaschine 2, eine numerische Steuervorrichtung (CNC) 5 für das Steuern der Werkzeugmaschine 2, einen Roboter 3, der in der Nähe der Werkzeugmaschine 2 vorgesehen ist, und eine Roboter-Steuervorrichtung 6, die kommunikativ mit der numerischen Steuervorrichtung 5 verbunden ist. Die numerische Steuervorrichtung 5 erzeugt ein Werkzeugmaschinen-Befehlssignal als einen Befehl für die Werkzeugmaschine 2 und ein Roboter-Befehlssignal als einen Befehl für den Roboter 3 gemäß vorbestimmten numerischen Steuerprogrammen und sendet das Werkzeugmaschinen-Befehlssignal und das Roboter-Befehlssignal an die Werkzeugmaschine 2 und die Roboter-Steuervorrichtung 6. Die Roboter-Steuervorrichtung 6 steuert den Betrieb des Roboters 3 in Reaktion auf das von der numerischen Steuervorrichtung 5 gesendete Roboter-Befehlssignal.
-
Die Werkzeugmaschine 2 bearbeitet ein Werkstück (nicht gezeigt) in Reaktion auf das von der numerischen Steuervorrichtung 5 gesendete Werkzeugmaschinen-Befehlssignal. Beispiele für die Werkzeugmaschine 2 sind eine Drehbank, eine Bohrpresse, eine Fräsmaschine, eine Schleifmaschine, eine Laserverarbeitungsmaschine, eine Spritzgussmaschine usw.
-
Der Roboter 3 wird unter der Steuerung der Roboter-Steuervorrichtung 6 betrieben und führt eine vorbestimmte Aufgabe in Bezug auf ein durch die Werkzeugmaschine 2 bearbeitetes Werkstück durch. Der Roboter 3 ist zum Beispiel ein gelenkiger Roboter und weist ein fernes Armende 31 auf, an dem ein Greifwerkzeug 32 für das Greifen des Werkstücks angebracht ist. In der folgenden Beschreibung wird ein nicht-einschränkendes Beispiel beschrieben, in dem der Roboter 3 das durch die Werkzeugmaschine 2 bearbeitete Werkstück an einer vorbestimmten Position mit dem Greifwerkzeug 32 greift und das Werkstück zu einer vorbestimmten Position transportiert. In dem folgenden nicht-einschränkenden Beispiel ist der Roboter 3 ein sechsachsiger gelenkiger Roboter, wobei die Anzahl der Achsen jedoch nicht darauf beschränkt ist.
-
Die numerische Steuervorrichtung 5 und die Roboter-Steuervorrichtung 6 sind jeweils ein Computer, der durch Hardware gebildet wird, die umfasst: eine arithmetische Verarbeitungseinrichtung wie etwa eine zentrale Verarbeitungseinheit (CPU); eine Hilfsspeichereinrichtung wie etwa ein Festplattenlaufwerk (HDD) oder ein Solid-State-Laufwerk (SSD), in der verschiedene Programme gespeichert sind; eine Hauptspeichereinrichtung wie etwa einen Direktzugriffspeicher (RAM), in dem vorübergehend für die Ausführung durch die arithmetische Verarbeitungseinrichtung benötigte Daten gespeichert sind; eine Betätigungseinrichtung wie etwa eine Tastatur, an der ein Bediener verschiedene Operationen durchführt; und eine Anzeigeeinrichtung wie etwa ein Display für das Anzeigen von verschiedenen Arten von Informationen für den Bediener. Die Robotersteuereinrichtung 6 und die numerische Steuereinrichtung 5 können verschiedene Signale zu- und voneinander über zum Beispiel ein Ethernet (eingetragene Marke) senden und empfangen.
-
2 ist ein Funktionsblockdiagramm der numerischen Steuervorrichtung 5 und der Roboter-Steuervorrichtung 6.
-
Wie in 2 gezeigt, werden in der numerischen Steuervorrichtung 5 verschiedene Funktionen wie etwa ein Werkzeugmaschinen-Steuermodul 51 als ein Steuersystem für die Werkzeugmaschine 2, ein Robotersteuermodul 52 als ein Steuersystem für den Roboter 3 und eine Speichereinheit 53 durch die weiter oben genannte Hardwarekonfiguration implementiert.
-
Die Speichereinheit 53 speichert eine Vielzahl von numerischen Steuerprogramen, die durch zum Beispiel Betätigungen eines Bedieners erstellt werden. Insbesondere speichert die Speichereinheit 53 zum Beispiel ein numerisches Steuerprogramm für eine Werkzeugmaschine, das ein erstes numerisches Steuerprogramm für das Steuern des Betriebs der Werkzeugmaschine 2 ist, und ein numerisches Steuerprogram für einen Roboter, das ein zweites numerisches Steuerprogramm für das Steuern des Betriebs des Roboters 3 ist. Das numerische Steuerprogramm für eine Werkzeugmaschine und das numerische Steuerprogramm für einen Roboter werden in einer üblichen Programmiersprache (zum Beispiel G-Code) geschrieben.
-
Das numerische Steuerprogramm für eine Werkzeugmaschine wird basierend auf einem Werkzeugmaschinen-Koordinatensystem beschrieben, das ein erstes Koordinatensystem mit einem Ursprung an einem an der Werkzeugmaschine 2 oder in der Nähe der Werkzeugmaschine 2 gesetzten Referenzpunkt ist. In dem numerischen Steuerprogramm für eine Werkzeugmaschine werden die Position und die Haltung eines Steuerpunkts der Werkzeugmaschine 2 unter Verwendung von Koordinatenwerten in dem Werkzeugmaschinen-Koordinatensystem beschrieben.
-
Das numerische Steuerprogramm für einen Roboter wird basierend auf einem Roboter-Koordinatensystem beschrieben, das ein von dem Werkzeugmaschinen-Koordinatensystem verschiedenes zweites Koordinatensystem ist. In dem numerischen Steuerprogramm für einen Roboter werden also die Position und die Haltung eines Steuerpunkts des Roboters 3 (z.B. das ferne Armende 31 des Roboters 3) unter Verwendung von Koordinatenwerten in dem von dem Werkzeugmaschinen-Koordinatensystem verschiedenen Roboter-Koordinatensystem beschrieben. Das Roboter-Koordinatensystem ist ein Koordinatensystem mit einem Ursprung an einem an dem Roboter 3 oder in der Nähe des Roboters 3 gesetzten Referenzpunkt. Im Folgenden wird ein Beispiel beschrieben, in dem das Roboter-Koordinatensystem verschieden von dem Werkzeugmaschinen-Koordinatensystem ist, wobei die vorliegende Erfindung aber nicht darauf beschränkt ist. Das Roboter-Koordinatensystem kann mit dem Werkzeugmaschinen-Koordinatensystem zusammenfallen. Mit anderen Worten können der Ursprung und die Richtungen der Koordinatenachsen des Roboter-Koordinatensystems mit dem Ursprung und den Richtungen der Koordinatenachsen des Werkzeugmaschinen-Koordinatensystems zusammenfallen.
-
In dem numerischen Steuerprogram für einen Roboter kann das Roboter-Koordinatensystem zwischen zwei oder mehr Koordinatenformaten mit verschiedenen Steuerachsen gewechselt werden. Insbesondere können in dem numerischen Steuerprogramm für einen Roboter die Position und die Haltung eines Steuerpunkts des Roboters 3 in einem rechtwinkligen Koordinatenformat oder einem Gelenkkoordinatenformat spezifiziert werden.
-
In dem Gelenk-Koordinatenformat werden die Position und die Haltung des Steuerpunkts des Roboters 3 unter Verwendung von insgesamt sechs Koordinatenwerten, die echte Zahlen sind und als Komponenten die Drehwinkelwerte (J1, J2, J3, J4, J5, J6) der sechs Gelenke des Roboters 3 aufweisen, spezifiziert.
-
In dem rechtwinkligen Koordinatenformat werden die Position und die Haltung des Steuerpunkts des Roboters 3 unter Verwendung von insgesamt sechs Koordinatenwerten, die echte Zahlen sind und als Komponenten drei Koordinatenwerte (X, Y, Z) entlang der drei orthogonalen Koordinatenachsen und drei Drehwinkelwerte (A, B, C) um die entsprechenden orthogonalen Koordinatenachsen herum aufweisen, spezifiziert.
-
Dabei werden in dem Gelenkkoordinatenformat die Drehwinkel der Gelenke des Roboters 3 direkt spezifiziert und werden dementsprechend die Achsenanordnung der Arme und des Handgelenks des Roboters 3 und eine Drehzahl der Gelenke, die sich um 360 Grad oder mehr drehen können (nachfolgend werden diese gesammelt als „Konfiguration des Roboters 3“ bezeichnet), eindeutig bestimmt. Weil im Gegensatz dazu in dem rechtwinkligen Koordinatenformat die Position und die Haltung des Steuerpunkts des Roboters 3 unter Verwendung der sechs Koordinatenwerte (X, Y, Z, A, B, C) spezifiziert werden, kann die Konfiguration des Roboters 3 eindeutig bestimmt werden. Deshalb kann in dem numerischen Steuerprogramm für einen Roboter die Konfiguration des Roboters 3 unter Verwendung eines Konfigurationswerts P, der eine Ganzzahl mit einer vorbestimmten Anzahl von Stellen ist, spezifiziert werden. Es werden also die Position und die Haltung des Steuerpunkts des Roboters 3 und die Konfiguration des Roboters 3 durch die sechs Koordinatenwerte (J1, J2, J3, J4, J5, J6) in dem Gelenkkoordinatenformat und durch die sechs Koordinatenwerte und einen Konfigurationswert (X, Y, Z, A, B, C, P) in dem rechtwinkligen Koordinatenformat wiedergegeben.
-
In dem numerischen Steuerprogramm für einen Roboter kann das Koordinatenformat mit den G-Codes „G68.8“ und „G68.9“ gesetzt werden. Insbesondere wird das Koordinatenformat zu dem Gelenkkoordinatenformat gesetzt, indem der G-Code „G68.8“ eingegeben wird, während das Koordinatenformat zu dem rechtwinkligen Koordinatenformat gesetzt wird, indem der G-Code „G68.9" eingegeben wird. Die G-Codes „G68.8“ und „G68.9“ für das Setzen der Koordinatenformate sind modale Codes. Nachdem also das Koordinatenformat zu dem Gelenkkoordinatenformat oder dem rechtwinkligen Koordinatenformat durch den entsprechenden G-Code gesetzt wurde, wird das gesetzte Koordinatenformat aufrechterhalten, bis das Koordinatenformat erneut durch einen anderen G-Code gewechselt wird. Wenn in dieser Ausführungsform das numerische Steuerprogramm für einen Roboter die G-Codes für das Setzen der Koordinatenformate nicht enthält, wird das Koordinatenformat automatisch zu dem rechtwinkligen Koordinatenformat gesetzt. Die Erfindung ist jedoch nicht darauf beschränkt.
-
Das Werkzeugmaschinen-Steuermodul 51 erzeugt das Werkzeugmaschinen-Befehlssignal als einen Befehl für die Werkzeugmaschine 2 gemäß dem numerischen Steuerprogramm für eine Werkzeugmaschine und gibt das Werkzeugmaschinen-Befehlssignal in ein Stellglied (nicht gezeigt) der Werkzeugmaschine 2 ein. Insbesondere liest das Werkzeugmaschinen-Steuermodul 51 das in der Speichereinheit 53 gespeicherte numerische Steuerprogramm für eine Werkzeugmaschine, analysiert einen auf dem numerischen Steuerprogramm basierenden Befehlstyp und erzeugt dadurch das Werkzeugmaschinen-Befehlssignal. Die Werkzeugmaschine 2 wird in Reaktion auf das von dem Werkzeugmaschinen-Steuermodul 51 gesendete Werkzeugmaschinen-Befehlssignal betrieben, um ein Werkstück (nicht gezeigt) zu bearbeiten.
-
Das Roboter-Steuermodul 52 erzeugt gemäß dem numerischen Steuerprogramm für einen Roboter das Roboter-Befehlssignal als einen Befehl für den Roboter 3 und verschiedene an die Roboter-Steuervorrichtung 6 gerichtete Anfragesignale und sendet die Signale an die Roboter-Steuervorrichtung 6. Insbesondere umfasst das Roboter-Steuermodul 52 eine Programmeingabeeinheit 521, eine Eingabeanalyseeinheit 522, eine Koordinatenkonfigurationsinformationen-Steuereinheit 523, eine Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524, eine Roboter-Befehlssignal-Erzeugungseinheit 525, einen Speicher 526, eine Koordinatenanzeigeeinheit 527 und eine Daten-Sendeempfangseinheit 528 und erzeugt das Roboter-Befehlssignal und verschiedene Anfragesignale unter Verwendung dieser Einheiten.
-
Die Programmeingabeeinheit 521 liest numerische Steuerprogramme für einen Roboter aus der Speichereinheit 53 und gibt die numerischen Steuerprogramme sequentiell in die Eingabeanalyseeinheit 522 ein.
-
Die Eingabeanalyseeinheit 522 analysiert die Befehlstypen, die auf den von der Programmeingabeeinheit 521 für jeden Block eingegebenen numerischen Steuerprogrammen basieren, und sendet die Analyseergebnisse an die Koordinatenkonfigurationsinformationen-Steuereinheit 523 und die Roboter-Befehlssignal-Erzeugungseinheit 525.
-
Basierend auf dem von der Eingabeanalyseeinheit 522 eingegebenen Analyseergebnis identifiziert die Koordinatenkonfigurationsinformationen-Steuereinheit 523 ein designiertes Koordinatenformat, das ein gemäß dem numerischen Steuerprogramm für einen Roboter gesetztes Koordinatenformat ist. Wie weiter oben beschrieben, kann in dem numerischen Steuerprogramm für einen Roboter das Koordinatenformat gesetzt oder zu dem Gelenkkoordinatenformat oder dem rechtwinkligen Koordinatenformat unter Verwendung der vorbestimmten G-Codes gewechselt werden. Die Koordinatenkonfigurationsinformationen-Steuereinheit 523 identifiziert das designierte Koordinatenformat basierend auf dem von der Eingabeanalyseeinheit 522 eingegebenen Analyseergebnis und sendet Informationen in Bezug auf das aktuell designierte Koordinatenformat an die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 und die Roboter-Befehlssignal-Erzeugungseinheit 525.
-
Weiterhin schreibt die Koordinatenkonfigurationsinformationen-Steuereinheit 523 ein Referenzkoordinatenwert-Anfragesignal und ein Referenzkonfigurationswert-Anfragesignal zu der Daten-Sendeempfangseinheit 528 zu einem vorbestimmten Zeitpunkt während der Ausführung des numerischen Steuerprogramms für einen Roboter. Das Referenzkoordinatenwert-Anfragesignal fragt ein neues Erhalten, von der Roboter-Steuervorrichtung 6, von Referenzkoordinatenwerten gemäß den aktuellen Koordinatenwerten der Steuerachsen in dem designierten Koordinatenformat, das identifiziert wurde, an. Das Referenzkonfigurationswert-Anfragesignal fragt ein neues Erhalten eines Referenzkonfigurationswerts gemäß einem aktuellen Konfigurationswert des Roboters 3 von der Roboter-Steuervorrichtung 6 an. Das Referenzkoordinatenwert-Anfragesignal und das Referenzkonfigurationswert-Anfragesignal werden dann an die Robotersteuervorrichtung 6 gesendet. Der Zeitpunkt, zu dem das Referenzkoordinatenwert-Anfragesignal und das Referenzkonfigurationswert-Anfragesignal an die Roboter-Steuervorrichtung 6 gesendet werden, wird weiter unten im Detail beschrieben.
-
Die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 verwaltet in dem Speicher 526 Koordinateninformationen, die als Komponenten die Koordinatenwerte der Steuerachsen des designierten Koordinatenformats, das durch die Koordinatenkonfigurationsinformationen-Steuereinheit 523 identifiziert wurde, enthalten, und Konfigurationsinformationen, die als Komponente den Konfigurationswert des Roboters 3 enthalten. Wie in 2 gezeigt, enthält der Speicher 526 einen Koordinateninformationen-Speicherbereich 526a zum Speichern von Koordinatenwerten als einer Vielzahl von Komponenten, und einen Konfigurationsinformationen-Speicherbereich 526b zum Speichern des Konfigurationswerts. Der Speicher 526 speichert zum Beispiel eine Vielzahl von Sätzen von Koordinatenwerten in dem Koordinateninformationen-Speicherbereich 526a und einen Satz von Konfigurationswerten in dem Konfigurationsinformationen-Speicherbereich 526b. Die Anzahl von Sätzen von Koordinatenwerten, die in dem Koordinateninformationen-Speicherbereich 526a gespeichert werden können, d.h. die Anzahl von Komponenten der Koordinateninformationen, die durch die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 und den Speicher 526 verwaltet werden, ist vorzugsweise kleiner als die Summe aus sechs, d.h. der Anzahl von Steuerachsen in dem rechtwinkligen Koordinatenformat, und sechs, d.h. der Anzahl von Steuerachsen in dem Gelenkkoordinatenformat. Im Folgenden wird ein Fall beschrieben, in dem die Anzahl der Sätze von Koordinatenwerten, die in dem Koordinateninformationen-Speicherbereich 526a gespeichert werden kann, sechs ist, was der Anzahl der Steuerachsen in dem rechtwinkligen Koordinatenformat und der Anzahl der Steuerachsen in dem Gelenkkoordinatenformat entspricht, wobei die Erfindung jedoch nicht darauf beschränkt ist.
-
In einem Fall, in dem das designierte Format das Gelenkkoordinatenformat ist, erhält die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 die Koordinatenwerte (J1, J2, J3, J4, J5, J6) der Steuerachsen des Roboters 3 in dem Gelenkkoordinatenformat gemäß einer weiter unten mit Bezug auf 3A und 3B beschriebenen Prozedur und speichert diese Koordinatenwerte in einer ersten Komponente #1, einer zweiten Komponente #2, einer dritten Komponente #3, einer vierten Komponente #4, einer fünften Komponente #5 und einer sechsten Komponente #6 des Koordinateninformationen-Speicherbereichs 526a.
-
In einem Fall, in dem das designierte Koordinatenformat das rechtwinklige Koordinatenformat ist, erhält die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 die Koordinatenwerte (X, Y, Z, A, B, C) der Steuerachsen des Roboters 3 in dem rechtwinkligen Steuerformat gemäß der weiter unten mit Bezug auf 3A und 3B beschriebenen Prozedur und speichert diese Koordinatenwerte in den ersten bis sechsten Komponenten #1 bis #6 des Koordinateninformationen-Speicherbereichs 526a. In einem Fall, in dem das designierte Koordinatenformat das rechtwinklige Koordinatenformat ist, erhält die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 den Konfigurationswert P des Roboters 3 gemäß der weiter unten mit Bezug auf 3A und 3B beschriebenen Prozedur und speichert den Konfigurationswert P in dem Konfigurationsinformationen-Speicherbereich 526b.
-
3A und 3B sind Flussdiagrame, die die Prozedur eines Prozesses zum Verwalten der Koordinateninformationen und der Konfigurationsinformationen in dem designierten Koordinatenformat (nachfolgend als „Koordinatenkonfigurationsinformationen-Verwaltungsprozess“ bezeichnet) zeigen, der durch die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 und den Speicher 526 durchgeführt wird. Der in 3A und 3B gezeigte Koordinatenkonfigurationsinformationen-Verwaltungsprozess wird wiederholt in vorbestimmten Zyklen durch die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 während der Ausführung des numerischen Steuerprogramms für einen Roboter durch das Roboter-Steuermodul 52 durchgeführt.
-
Zuerst bestimmt in Schritt S1 die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524, ob das designierte Koordinatenformat das Gelenkkoordinatenformat ist. Wenn das Bestimmungsergebnis in Schritt S1 JA ist, schreitet die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 zu Schritt S2 fort. Und wenn das Bestimmungsergebnis in Schritt S1 NEIN ist, schreitet die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 zu Schritt S4 fort.
-
In Schritt S2 bestimmt die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524, ob der Empfang von Referenzkoordinatenwertinformationen einschließlich der neuesten Referenzkoordinatenwerte von der Roboter-Steuervorrichtung 6 unmittelbar zurückliegt oder nicht. Wie oben beschrieben sind die Referenzkoordinatenwerte die aktuellen Koordinatenwerte der Steuerachsen in dem designierten Koordinatenformat. Wie weiter unten beschrieben, erhält die Robotersteuervorrichtung 6 die Referenzkoordinatenwerte in Antwort auf ein Referenzkoordinatenwert-Anfragesignal, das zu einem vorbestimmten Zeitpunkt von der Koordinatenkonfigurationsinformationen-Steuereinheit 523 gesendet wird, und sendet Referenzkoordinatenwertinformationen einschließlich der Referenzkoordinatenwerte zurück an die nummerische Steuervorrichtung 5. Wenn das Bestimmungsergebnis in Schritt S2 JA ist, schreitet die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 zu Schritt S3 fort. Und wenn das Bestimmungsergebnis NEIN ist, beendet die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 den in 3A und 3B gezeigten Prozess.
-
In Schritt S3 aktualisiert die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 die in dem Koordinateninformationen-Speicherbereich 526a des Speichers 526 gespeicherten Koordinateninformationen gemäß den von der Roboter-Steuervorrichtung 6 gesendeten Referenzkoordinatenwerten und beendet dann den in 3A und 3B gezeigten Prozess. Insbesondere ersetzt die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 die in den Komponenten #1 bis #6 des Koordinateninformationen-Speicherbereichs 526a gespeicherten Koordinatenwerte durch die von der Roboter-Steuervorrichtung 6 gesendeten Referenzkoordinatenwerte.
-
In Schritt S4 bestimmt die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524, ob der Empfang der Referenzkoordinatenwertinformationen einschließlich der neuesten Referenzkoordinatenwerte von der Roboter-Steuervorrichtung 6 unmittelbar zuvor erfolgt ist oder nicht. Wenn das Bestimmungsergebnis in Schritt S4 JA ist, schreitet die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 zu Schritt S5 fort. Und wenn das Bestimmungsergebnis in Schritt S4 NEIN ist, schreitet die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 zu Schritt S6 fort.
-
In Schritt S5 aktualisiert die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 die in dem Koordinateninformationen-Speicherbereich 526a des Speichers 526 gespeicherten Koordinateninformationen gemäß den von der Roboter-Steuervorrichtung 6 gesendeten Referenzkoordinatenwerten mittels der gleichen Prozedur wie in dem weiter oben beschriebenen Schritt S3 und schreitet dann zu Schritt S6 fort.
-
In Schritt S6 bestimmt die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524, ob Referenzkonfigurationswertinformationen einschließlich eines neuesten Referenzkonfigurationswerts von der Roboter-Steuervorrichtung 6 empfangen wurden. Wie weiter oben beschrieben ist der Referenzkonfigurationswert der aktuelle Konfigurationswert des Roboters 3. Wie weiter unten beschrieben, erhält die Roboter-Steuervorrichtung 6 den Referenzkonfigurationswert in Antwort auf ein Referenzkonfigurationswert-Anfragesignal, das zu einem vorbestimmten Zeitpunkt von der Koordinatenkonfigurationsinformationen-Steuereinheit 523 gesendet wird, und sendet die Referenzkonfigurationswertinformationen einschließlich des Referenzkonfigurationswerts zurück an die numerische Steuervorrichtung 5. Wenn das Bestimmungsergebnis in Schritt S6 JA ist, schreitet die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 zu Schritt S7 fort. Und wenn das Bestimmungsergebnis in Schritt S6 NEIN ist, schreitet die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 zu Schritt S8 fort.
-
In Schritt S7 aktualisiert die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 die in dem Konfigurationsinformationen-Speicherbereich 526b des Speichers 526 gespeicherten Konfigurationsinformationen gemäß dem von der Roboter-Steuervorrichtung 6 gesendeten Referenzkonfigurationswert und beendet dann den in 3A und 3B gezeigten Prozess. Insbesondere ersetzt die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 den in dem Konfigurationsinformationen-Speicherbereich 526b des Speichers 526 gespeicherten Konfigurationswert durch den von der Roboter-Steuervorrichtung 6 gesendeten Referenzkonfigurationswert.
-
In Schritt S8 aktualisiert die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 die in dem Konfigurationsinformationen-Speicherbereich 526b des Speichers 526 gespeicherten Konfigurationsinformationen gemäß dem in dem numerischen Steuerprogramm spezifizierten und von der Eingabe-Analyseeinheit 522 eingegebenen Konfigurationswert und beendet dann den in 3A und 3B gezeigten Prozess.
-
Wie weiter oben beschrieben, aktualisiert die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 die in dem Koordinateninformationen-Speicherbereich 526a des Speichers 526 gespeicherten Koordinateninformationen zu den Referenzkoordinatenwerten zu dem Zeitpunkt des Empfangens der von der Robotersteuereinrichtung 6 gesendeten Referenzkoordinatenwerte.
-
In einem Fall, in dem das designierte Koordinatenformat das rechtwinklige Koordinatenformat ist, aktualisiert die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 die in dem Konfigurationsinformationen-Speicherbereich 526b des Speichers 526 gespeicherten Konfigurationsinformationen gemäß dem von der Roboter-Steuervorrichtung 6 gesendeten Referenzkonfigurationswert oder dem in dem numerischen Steuerprogramm spezifizierten Konfigurationswert. Insbesondere in einem Fall, in dem der von der Roboter-Steuervorrichtung 6 gesendete Referenzkonfigurationswert empfangen wird, aktualisiert die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 die in dem Konfigurationsinformationen-Speicherbereich 526b gespeicherten Konfigurationsinformationen gemäß dem Referenzkonfigurationswert und aktualisiert ansonsten die in dem Konfigurationsinformationen-Speicherbereich 526b gespeicherten Konfigurationsinformationen gemäß dem in dem numerischen Steuerprogram spezifizierten Konfigurationswert.
-
Wie in 2 gezeigt, liest die Koordinaten-Anzeigeeinheit 527 die in dem Koordinateninformationen-Speicherbereich 526a des Speichers 526 gespeicherten Koordinateninformationen in vorbestimmten Zyklen während der Ausführung des numerischen Steuerprogramms für einen Roboter und zeigt die Koordinateninformationen zusammen mit dem designierten Koordinatenformat an einem Display (nicht gezeigt) an. Auf diese Weise kann der Bediener die Position und Haltung des Roboters 3 mit Bezug auf die numerischen Werte prüfen.
-
Basierend auf den neuesten Koordinateninformationen und den neuesten Konfigurationsinformationen, die in dem Speicher 526 gespeichert sind, und dem Analyseergebnis des numerischen Steuerprogramms, das von der Eingabeanalyseeinheit 522 eingegeben wird, erzeugt die Roboter-Befehlssignal-Erzeugungseinheit 525 ein Roboter-Befehlssignal gemäß dem numerischen Steuerprogramm, schreibt das erzeugte Roboter-Befehlssignal zu der Daten-Sendeempfangseinheit 528 und sendet das Roboterbefehlssignal an die Roboter-Steuervorrichtung 6.
-
Es wird hier ein Fall beschrieben, in dem der Befehlstyp basierend auf dem numerischen Steuerprogramm eine Änderung in der Position und Haltung des Steuerpunkts des Roboters 3 oder eine Änderung in der Konfiguration des Roboters 3 veranlasst (insbesondere in einem Fall, in dem der G-Code „G00“ gemäß der Positionierung (Schnellvorschub) oder „G01“ gemäß einer linearen Interpolation ist usw.). In diesem Fall berechnet die Roboter-Befehlssignal-Erzeugungseinheit 525 in dem designierten Koordinatenformat einen Endpunkt und eine Geschwindigkeit des Steuerpunkts des Roboters 3, während die die in dem Koordinateninformationen-Speicherbereich 526a des Speichers 526 gespeicherten Koordinatenwerte als der Startpunkt für den Steuerpunkt des Roboters 3 gesetzt werden, und schreibt ein Roboter-Befehlssignal einschließlich der Informationen in Bezug auf das designierte Koordinatenformat, den Endpunkt und die Geschwindigkeit zu der Daten-Sendeempfangseinheit 528. Nach dem Berechnen der Koordinatenwerte des Endpunkts des Steuerpunkts des Roboters 3 in der oben beschriebenen Weise aktualisiert die Roboter-Befehlssignal-Erzeugungseinheit 525 die in dem Koordinateninformationen-Speicherbereich 526a des Speichers 526 gespeicherten Startpunkt-Koordinatenwerte gemäß den berechneten Endpunkt-Koordinatenwerten.
-
Wie weiter oben beschrieben, kann die Konfiguration des Roboters 3 nicht eindeutig in dem rechtwinkligen Koordinatenformat bestimmt werden. Wenn also das designierte Koordinatenformat das rechtwinklige Koordinatenformat ist, betrachtet die Roboter-Befehlssignal-Erzeugungseinheit 525 die in dem Koordinateninformationen-Speicherbereich 526a des Speichers 526 gespeicherten Koordinatenwerte als den Startpunkt für den Steuerpunkt des Roboters 3, berechnet einen Endpunkt und eine Geschwindigkeit für den Steuerpunkt des Roboters 3 und einen Konfigurationswert an dem Endpunkt und schreibt ein Roboter-Befehlssignal einschließlich der Informationen in Bezug auf das designierte Koordinatenformat, den Endpunkt, die Geschwindigkeit und den Konfigurationswert an dem Endpunkt zu der Daten-Sendeempfangseinheit 528. Nach dem Berechnen der Koordinatenwerte des Endpunkts des Steuerpunkts des Roboters 3 in der oben beschriebenen Weise aktualisiert die Roboter-Befehlssignal-Erzeugungseinheit 525 die in dem Koordinateninformationen-Speicherbereich 526a des Speichers 526 gespeicherten Startpunkt-Koordinatenwerte gemäß den berechneten Endpunkt-Koordinatenwerten.
-
Im Folgenden wird der Zeitpunkt, zu dem die Koordinatenkonfigurationsinformationen-Steuereinheit 523 das Referenzkoordinatenwert-Anfragesignal und das Referenzkonfigurationswert-Anfragesignal erzeugt und diese Anfragesignale an die Roboter-Steuervorrichtung 6 sendet, beschrieben. Wie weiter oben beschrieben, funktionieren das Referenzkoordinatenwert-Anfragesignal und das Referenzkonfigurationswert-Anfragesignal als ein Auslöser für das Aktualisieren der Koordinateninformationen und der Konfigurationsinformationen, die in dem Speicher 526 gespeichert sind, gemäß den von der Roboter-Steuervorrichtung 6 gesendeten Informationen. Dementsprechend bestimmt die Koordinatenkonfigurationsinformationen-Steuereinheit 523, ob es erforderlich ist oder nicht, die Referenzkoordinatenwerte oder den Referenzkonfigurationswert während der Ausführung des numerischen Steuerprogramms für einen Roboter durch das Roboter-Steuermodul 52 zu erhalten, und sendet das Referenzkoordinatenwert-Anfragesignal an die Roboter-Steuervorrichtung 6, wenn bestimmt wird, dass das Erhalten der Referenzkoordinatenwerte erforderlich ist, und sendet das Referenzkonfigurationswert-Anfragesignal an die Roboter-Steuervorrichtung 6, wenn bestimmt wird, dass das Erhalten des Referenzkonfigurationswerts erforderlich ist.
-
Insbesondere bestimmt die Koordinatenkonfigurationsinformationen-Steuereinheit 523, dass das Erhalten der Referenzkoordinatenwerte in den folgenden Fällen erforderlich ist: wenn die Ausführung des numerischen Steuerprogramms für einen Roboter gestartet wird; wenn das aus einem bestimmten Grund gestoppte numerische Steuerprogramm für einen Roboter erneut gestartet wird; wenn das designierte Koordinatenformat gemäß dem numerischen Steuerprogramm für einen Roboter neu gesetzt wird; und wenn das designierte Koordinatenformat gemäß dem numerischen Steuerprogram für eine Roboter gewechselt wird. In diesen Fällen schreibt die Koordinatenkonfigurationsinformationen-Steuereinheit 523 das Referenzkoordinatenwert-Anfragesignal zu der Daten-Sendeempfangseinheit 528. In Reaktion darauf wird das Referenzkoordinatenwert-Anfragesignal von der Daten-Sendeempfangseinheit 528 an die Roboter-Steuervorrichtung 6 gesendet.
-
Die Koordinatenkonfigurationsinformationen-Steuereinheit 523 bestimmt, dass das Erhalten des Referenzkonfigurationswerts wenigstens in einem Fall, in dem das designierte Koordinatenformat das rechtwinklige Koordinatenformat ist, erforderlich ist, und schreibt das Referenzkonfigurationswert-Anfragesignal zu der Daten-Sendeempfangseinheit 528. In Reaktion darauf wird das Referenzkonfigurationswert-Anfragesignal von der Daten-Sendeempfangseinheit 528 an die Roboter-Steuervorrichtung 6 gesendet. Insbesondere in einem Fall, in dem die Ausführung des numerischen Steuerprogramms für einen Roboter gestartet wird, während das designierte Koordinatenformat zu dem rechtwinkligen Koordinatenformat gesetzt ist, und in einem Fall, in dem das designierte Koordinatenformat das rechtwinklige Koordinatenformat ist und kein Konfigurationswert in dem numerischen Steuerprogramm spezifiziert ist, bestimmt die Koordinatenkonfigurationsinformationen-Steuereinheit 523, dass das Erhalten des Referenzkonfigurationswerts erforderlich ist, und sendet das Referenzkonfigurationswert-Anfragesignal an die Roboter-Steuervorrichtung 6. In einem Fall, in dem das designierte Koordinatenformat das rechtwinklige Koordinatenformat ist und ein Konfigurationswert in dem numerischen Steuerprogramm spezifiziert ist, bestimmt die Koordinatenkonfigurationsinformationen-Steuereinheit 523, dass das Erhalten des Referenzkonfigurationswerts nicht erforderlich ist, und sendet kein Referenzkonfigurationswert-Anfragesignal an die Roboter-Steuervorrichtung 6. Mit anderen Worten erzeugt in dem Fall, in dem ein Konfigurationswert in dem numerischen Steuerprogramm spezifiziert ist, die Koordinatenkonfigurationsinformationen-Steuereinheit 523 ein Roboter-Befehlssignal und räumt dabei dem in dem numerischen Steuerprogramm spezifizierten Konfigurationswert Priorität über einen in der Roboter-Steuervorrichtung 6 erhaltenen Referenzkonfigurationswert ein.
-
In Reaktion darauf, dass die Roboter-Befehlssignal-Erzeugungseinheit 525 ein Roboter-Befehlssignal schreibt, sendet die Daten-Sendeempfangseinheit 528 das Roboterbefehlssignal an die Daten-Sendeempfangseinheit 61 der Roboter-Steuervorrichtung 6. In Reaktion darauf, dass die Koordinatenkonfigurationsinformationen-Steuereinheit 523 ein Referenzkoordinatenwert-Anfragesignal oder ein Referenzkonfigurationswert-Anfragesignal schreibt, sendet die Daten-Sendeempfangseinheit 528 das Referenzkoordinatenwert-Anfragesignal oder das Referenzkonfigurationswert-Anfragesignal an die Daten-Sendeempfangseinheit 61 der Roboter-Steuervorrichtung 6.
-
Wenn die Referenzkoordinatenwertinformationen oder die Referenzkonfigurationswertinformationen von der Daten-Sendeempfangseinheit 61 der Roboter-Steuervorrichtung 6 gesendet werden, sendet die Daten-Sendeempfangseinheit 528 die Referenzkoordinatenwertinformationen oder die Referenzkonfigurationswertinformationen an die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524.
-
Wie in 2 gezeigt, umfasst die Roboter-Steuervorrichtung 6 verschiedene Funktionen wie etwa die Daten-Sendeempfangseinheit 61, eine Eingabeanalyseeinheit 62, eine Roboter-Positionssteuereinheit 63, eine Servosteuereinheit 64 und eine Roboter-Positionsverwaltungseinheit 65, die durch die weiter oben beschriebene Hardwarekonfiguration implementiert werden.
-
Wenn das Roboter-Befehlssignal, das Referenzkoordinatenwert-Anfragesignal und das Referenzkonfigurationswert-Anfragesignal, die von der Daten-Sendeempfangseinheit 528 der numerischen Steuervorrichtung 5 gesendet werden, empfangen werden, sendet die Daten-Sendeempfangseinheit 61 diese Signale an die Eingabeanalyseeinheit 62.
-
In Reaktion darauf, dass die Roboter-Positionsverwaltungseinheit 65 Referenzkoordinatenwertinformationen oder Referenzkonfigurationswertinformationen schreibt, sendet die Daten-Sendeempfangseinheit 61 die Referenzkoordinatenwertinformationen oder die Referenzkonfigurationswertinformationen an die Daten-Sendeempfangseinheit 528 der numerischen Steuervorrichtung 5.
-
Wenn das von der Daten-Sendeempfangseinheit 61 gesendete Roboter-Befehlssignal empfangen wird, führt die Eingabeanalyseeinheit 62 eine Wandlung zu einem Roboterprogramm für das Steuern des Roboters 3 basierend auf dem Roboter-Befehlssignal durch und sendet das Roboterprogramm an die Roboter-Positionssteuereinheit 63. Wenn das Referenzkoordinatenwert-Anfragesignal oder das Referenzkonfigurationswert-Anfragesignal von der Daten-Sendeempfangseinheit 61 empfangen wird, sendet die Eingabeanalyseeinheit 62 das Anfragesignal an die Roboter-Positionsverwaltungseinheit 65.
-
Die Roboter-Positionssteuereinheit 63 führt eine kinematische Transformation gemäß dem von der Eingabeanalyseeinheit 62 gesendeten Roboterprogramm durch, um Befehle für eine Vielzahl von Servomotoren (nicht gezeigt), die die Gelenke des Roboters 3 drehen, zu erzeugen, und gibt die Befehle in die Servosteuereinheit 64 ein.
-
Die Servosteuereinheit 64 führt eine Regelung an den Servomotoren des Roboters 3 durch, um die von der Roboter-Positionssteuereinheit 63 eingegebenen Befehle zu implementieren.
-
Wenn das von der Eingabeanalyseeinheit 62 gesendete Referenzkoordinatenwert-Anfragesignal empfangen wird, erhält die Roboter-Positionsverwaltungseinheit 65 Erfassungswerte von verschiedenen an dem Roboter 3 vorgesehenen Positionssensoren (nicht gezeigt) und berechnet die Koordinatenwerte der Steuerachsen des Roboterkoordinatensystems in dem designierten Koordinatenformat basierend auf den Erfassungswerten. Die Roboter-Positionsverwaltungseinheit 65 setzt die berechneten Koordinatenwerte als Referenzkoordinatenwerte und schreibt Referenzkoordinatenwertinformationen einschließlich der Referenzkoordinatenwerte zu der Daten-Sendeempfangseinheit 61. In Reaktion darauf, sendet die Daten-Sendeempfangseinheit 61 die Referenzkoordinatenwertinformationen an die numerische Steuervorrichtung 5.
-
Wenn das von der Eingabeanalyseeinheit 62 gesendete Referenzkonfigurationswert-Anfragesignal empfangen wird, erhält die Roboter-Positionsverwaltungseinheit 65 Erfassungswerte von den verschiedenen an dem Roboter 3 vorgesehenen Positionssensoren und berechnet einen Konfigurationswert des Roboters 3 basierend auf den Erfassungswerten. Die Roboter-Positionsverwaltungseinheit 65 setzt den berechneten Konfigurationswert als einen Referenzkonfigurationswert und schreibt Referenzkonfigurationswertinformationen einschließlich des Referenzkonfigurationswerts zu der Daten-Sendeempfangseinheit 61. In Reaktion darauf sendet die Daten-Sendeempfangseinheit 61 die Referenzkonfigurationswertinformationen an die numerische Steuervorrichtung 5.
-
Im Folgenden wird ein Fluss der verschiedenen Signale und Informationen in dem numerischen Steuersystem 1 mit der oben beschriebenen Konfiguration mit Bezug auf 4, 5A und 5b beschrieben.
-
4 zeigt ein Beispiel eines numerischen Steuerprogramms für einen Roboter. 5A und 5B sind Sequenzdiagramme, die den Fluss der Signale und Informationen zwischen der numerischen Steuervorrichtung 5 und der Robotersteuervorrichtung 6 in einem Fall, in dem die numerische Steuervorrichtung 5 gemäß dem numerischen Steuerprogramm für einen Roboter von 4 betrieben wird, zeigt.
-
Zuerst wird in einem durch die Sequenznummer „N10“ angegebenen Block ein Befehl „G68.8“ in die Koordinatenkonfigurationsinformationen-Steuereinheit 523 der numerischen Steuervorrichtung 5 eingegeben. In Reaktion darauf setzt die Koordinatenkonfigurationsinformationen-Steuereinheit 523 das Gelenkkoordinatenformat als das designierte Koordinatenformat. Weiterhin sendet die Koordinatenkonfigurationsinformationen-Steuereinheit 523 in Reaktion auf das erstmalige Setzen des designierten Koordinatenformats in diesem Block ein Referenzkoordinatenwert-Anfragesignal an die Roboter-Positionsverwaltungseinheit 65 der Roboter-Steuervorrichtung 6. In Reaktion auf den Empfang des Referenzkoordinatenwert-Anfragesignals erhält die Roboter-Positionsverwaltungseinheit 65 der Roboter-Steuervorrichtung 6 Referenzkoordinatenwerte (J1, J2, J3, J4, J5, J6) in dem aktuell designierten Koordinatenformat und sendet Referenzkoordinatenwertinformationen einschließlich dieser Referenzkoordinatenwerte an die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 der numerischen Steuervorrichtung 5. Die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 der numerischen Steuervorrichtung 5 aktualisiert die in dem Koordinateninformationen-Speicherbereich 526a des Speichers 526 gespeicherten Koordinateninformationen gemäß den empfangenen Referenzkoordinatenwerten.
-
Dann wird in einem durch die Sequenznummer „N11“ angegebenen Block ein Befehl „G00 J1 = _J2 = _J3 = _J4 = _J5 = _J6 = _“, der auf dem Gelenkkoordinatenformat basiert, in die Roboter-Befehlssignal-Erzeugungseinheit 525 der numerischen Steuervorrichtung 5 eingegeben. Es ist zu beachten, dass ein Koordinatenwert eines Endpunkts in die Räume mit den Unterstrichen in dem Befehl eingegeben wird. Die Roboter-Befehlssignal-Erzeugungseinheit 525 erzeugt ein Roboter-Befehlssignal basierend auf den in dem Koordinateninformationen-Speicherbereich 526a des Speichers 526 gespeicherten Koordinateninformationen und auf dem eingegebenen Befehl und sendet das Roboter-Befehlssignal an die Roboter-Steuereinrichtung 6. Die Roboter-Steuervorrichtung 6 steuert den Betrieb des Roboters 3 basierend auf dem empfangenen Roboter-Befehlssignal. Daraufhin aktualisiert die Roboter-Befehlssignal-Erzeugungseinheit 525 der numerischen Steuervorrichtung 5 gemäß dem numerischen Steuerprogramm die in dem Koordinateninformationen-Speicherbereich 526a gespeicherten Koordinateninformationen basierend auf den in dem Block mit der Sequenznummer „N10“ erhaltenen Referenzkoordinatenwerten, bis das designierte Koordinatenformat in einem Block mit der Sequenznummer „N20“ gewechselt wird.
-
Dann wird in dem durch die Sequenznummer „N20“ angegebenen Block ein Befehl „G68.9“ in die Koordinatenkonfigurationsinformationen-Steuereinheit 523 der numerischen Steuervorrichtung 5 eingegeben. In Reaktion darauf wechselt die Koordinatenkonfigurationsinformationen-Steuereinheit 523 das designierte Koordinatenformat von dem Gelenkkoordinatenformat, das aktuell designiert ist, zu dem rechtwinkligen Koordinatenformat. Weiterhin sendet die Koordinatenkonfigurationsinformationen-Steuereinheit 523 in Reaktion auf das Wechseln der designierten Koordinatenformate in diesem Block ein Referenzkoordinatenwert-Anfragesignal an die Roboter-Positionsverwaltungseinheit 65 der Roboter-Steuervorrichtung 6. In Reaktion auf den Empfang des Referenzkoordinatenwert-Anfragesignals erhält die Roboter-Positionsverwaltungseinheit 65 der Roboter-Steuervorrichtung 6 Referenzkoordinatenwerte (X, Y, Z, A, B, C) in dem aktuell designierten Koordinatenformat und sendet Referenzkoordinatenwertinformationen einschließlich dieser Referenzkoordinatenwerte an die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 der numerischen Steuervorrichtung 5. Die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 der numerischen Steuervorrichtung 5 aktualisiert die in dem Koordinateninformationen-Speicherbereich 526a des Speichers 526 gespeicherten Koordinateninformationen gemäß den empfangenen Referenzkoordinatenwerten.
-
Dann wird in einem durch die Sequenznummer „N21“ angegebenen Block ein Befehl „G01 X_Y_Z_A_B_C_“ basierend auf dem rechtwinkligen Koordinatenformat in die Koordinatenkonfigurationsinformationen-Steuereinheit 523 und die Roboter-Befehlssignal-Erzeugungseinheit 525 der numerischen Steuervorrichtung 5 eingegeben. Es ist zu beachten, dass der in diesem Block eingegebene Befehl keinen Konfigurationswert des Roboters 3 spezifiziert. In einem Fall, in dem das designierte Koordinatenformat das rechtwinklige Koordinatenformat ist und der in diesem Block eingegebene Befehl keinen Konfigurationswert spezifiziert, bestimmt die Koordinatenkonfigurationsinformationen-Steuereinheit 523, dass es erforderlich ist, einen Referenzkonfigurationswert zu erhalten, und sendet ein Referenzkonfigurationswert-Anfragesignal an die Roboter-Positionsverwaltungseinheit 65 der Roboter-Steuervorrichtung 6. In Reaktion auf den Empfang des Referenzkonfigurationswert-Anfragesignals erhält die Roboter-Positionsverwaltungseinheit 65 einen aktuellen Konfigurationswert (P) des Roboters 3 und sendet Referenzkonfigurationswertinformationen einschließlich dieses Referenzkonfigurationswerts an die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 der numerischen Steuervorrichtung 5. Die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 aktualisiert die in dem Konfigurationsinformationen-Speicherbereich 526b des Speichers 526 gespeicherten Konfigurationsinformationen gemäß dem empfangenen Referenzkonfigurationswert.
-
Auf das Aktualisieren der Konfigurationsinformationen in der oben beschriebenen Weise folgend erzeugt die Roboter-Befehlssignal-Erzeugungseinheit 525 der numerischen Steuervorrichtung 5 ein Roboter-Befehlssignal basierend auf den in dem Koordinateninformationen-Speicherbereich 526a des Speichers 526 gespeicherten Koordinateninformationen, den in dem Konfigurationsinformationen-Speicherbereich 526b des Speichers 526 gespeicherten Konfigurationsinformationen und dem eingegebenen Befehl und sendet das Roboter-Befehlssignal an die Roboter-Steuervorrichtung 6. Die Roboter-Steuervorrichtung 6 steuert den Betrieb des Roboters 3 basierend auf dem empfangenen Roboter-Befehlssignal. Darauf folgend aktualisiert die Roboter-Befehlssignal-Erzeugungseinheit 525 der numerischen Steuervorrichtung 5 die in dem Koordinateninformationen-Speicherbereich 526a gespeicherten Koordinateninformationen basierend auf den in dem Block mit der Sequenznummer „N20“ erhaltenen Referenzkoordinatenwerten, bis das designierte Koordinatenformat in einem Block mit der Sequenznummer „N40“ gewechselt wird.
-
Dann wird in einem durch die Sequenznummer „N30“ angegebenen Block ein Befehl „G01 X_Y_Z_A_B_C_P_“ basierend auf dem rechtwinkligen Koordinatenformat in die Koordinatenkonfigurationsinformationen-Steuereinheit 523 und die Roboter-Befehlssignal-Erzeugungseinheit 525 der numerischen Steuervorrichtung 5 eingegeben. Es ist zu beachten, dass ein Konfigurationswert des Roboters 3 in dem in diesem Block eingegebenen Befehl spezifiziert wird. Wenn ein Konfigurationswert in dem Befehl spezifiziert wird, sendet die Koordinatenkonfigurationsinformationen-Steuereinheit 523 kein Referenzkonfigurationswert-Anfragesignal im Gegensatz zu dem Prozess in dem durch die Sequenznummer „N21“ angegebenen Block. In diesem Fall aktualisiert die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 der numerischen Steuervorrichtung 5 die in dem Konfigurationsinformationen-Speicherbereich 526b gespeicherten Konfigurationsinformationen gemäß dem in dem eingegebenen Befehl spezifizierten Konfigurationswert.
-
Auf das Aktualisieren der Konfigurationsinformationen in der oben beschriebenen Weise folgend erzeugt die Roboter-Befehlssignal-Erzeugungseinheit 525 der numerischen Steuervorrichtung 5 ein Roboter-Befehlssignal basierend auf den in dem Koordinateninformationen-Speicherbereich 526a des Speichers 526 gespeicherten Koordinateninformationen, den in dem Konfigurationsinformationen-Speicherbereich 526b des Speichers 526 gespeicherten Konfigurationsinformationen und dem eingegebenen Befehl und sendet das Roboter-Befehlssignal an die Roboter-Steuervorrichtung 6. Die Roboter-Steuervorrichtung 6 steuert den Betrieb des Roboters 3 basierend auf dem empfangenen Roboter-Befehlssignal.
-
Dann wird in dem durch die Sequenznummer „N40“ angegebenen Block ein Befehl „G68.8“ in die Koordinatenkonfigurationsinformationen-Steuereinheit 523 der numerischen Steuervorrichtung 5 eingegeben. In Reaktion darauf wechselt die Koordinatenkonfigurationsinformationen-Steuereinheit 523 das designierte Koordinatenformat von dem aktuell designierten rechtwinkligen Koordinatenformat zu dem Gelenkkoordinatenformat. Weiterhin sendet die Koordinatenkonfigurationsinformationen-Steuereinheit 523 in Reaktion auf das Wechseln der designierten Koordinatenformate in diesem Block ein Referenzkoordinatenwert-Anfragesignal an die Roboter-Positionsverwaltungseinheit 65 der Roboter-Steuervorrichtung 6. In Reaktion auf den Empfang des Referenzkoordinatenwert-Anfragesignals erhält die Roboter-Positionsverwaltungseinheit 65 Referenzkoordinatenwerte (J1, J2, J3, J4, J5, J6) in dem aktuell designierten Koordinatenformat und sendet Referenzkoordinatenwertinformationen einschließlich dieser Referenzkoordinatenwerte an die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 der numerischen Steuervorrichtung 5. Die Koordinatenkonfigurationsinformationen-Verwaltungseinheit 524 aktualisiert die in dem Koordinateninformationen-Speicherbereich 526a des Speichers 526 gespeicherten Koordinateninformationen gemäß dem empfangenen Referenzkoordinatenwerten.
-
Dann wird in einem durch die Sequenznummer „N41“ angegebenen Block ein Befehl „G01 J1 = _J2 = _J3 = _J4 = _J5 = _J6 = _“ basierend auf dem Gelenkkoordinatenformat in die Roboter-Befehlssignal-Erzeugungseinheit 525 der numerischen Steuervorrichtung 5 eingegeben. Die Roboter-Befehlssignal-Erzeugungseinheit 525 erzeugt ein Roboter-Befehlssignal basierend auf den in dem Koordinateninformationen-Speicherbereich 526a des Speichers 526 gespeicherten Koordinateninformationen und dem eingegebenen Befehl und sendet das Roboter-Befehlssignal an die Roboter-Steuervorrichtung 6. Die Roboter-Steuervorrichtung 6 steuert den Betrieb des Roboters 3 basierend auf dem empfangenen Roboter-Befehlssignal. Darauf folgend aktualisiert die Roboter-Befehlssignal-Erzeugungseinheit 525 der numerischen Steuervorrichtung 5 gemäß dem numerischen Steuerprogramm die in dem Koordinateninformationen-Speicherbereich 526a gespeicherten Koordinateninformationen basierend auf den in dem Block mit der Sequenznummer „N40“ erhaltenen Referenzkoordinatenwerten, bis das designierte Koordinatenformat gewechselt wird.
-
Die vorliegende Ausführungsform sieht die folgenden Effekte vor. Die numerische Steuervorrichtung 5 erzeugt ein Werkzeugmaschinen-Befehlssignal für die Werkzeugmaschine 2 gemäß dem numerischen Steuerprogramm für eine Werkzeugmaschine, das basierend auf dem Werkzeugmaschinen-Koordinatensystem beschrieben wird, und ein Roboter-Befehlssignal für den Roboter 3 gemäß dem numerischen Steuerprogramm für einen Roboter, das basierend auf dem Roboter-Koordinatensystem beschrieben wird. Die Roboter-Steuervorrichtung 6 kann mit der numerischen Steuervorrichtung 5 kommunizieren und steuert den Betrieb des Roboters 3 basierend auf dem von der numerischen Steuervorrichtung 5 gesendeten Roboter-Steuerbefehl. Die Roboter-Steuervorrichtung 6 erhält Koordinatenwerte des Roboters 3 in dem Roboter-Koordinatensystem und sendet die Koordinatenwerte als Referenzkoordinatenwerte an die numerische Steuervorrichtung 5. Die numerische Steuervorrichtung 5 erzeugt das Roboter-Befehlssignal basierend auf den von der Roboter-Steuervorrichtung 6 gesendeten Referenzkoordinatenwerten und dem numerischen Steuerprogramm für einen Roboter. Gemäß dieser Ausführungsform ermöglicht also die numerische Steuervorrichtung 5 die Erstellung eines numerischen Steuerprogramms für einen Roboter basierend auf dem gleichen Koordinatensystem wie dem Roboter-Koordinatensystem, das als die Referenz für die Roboter-Steuervorrichtung 6 dient. Dieses Merkmal erlaubt, dass der Bediener ein numerisches Steuerprogramm für einen Roboter erstellt, ohne dass er hierfür die Beziehung zwischen dem Werkzeugmaschinen-Koordinatensystem für die Werkzeugmaschine 2 und dem Roboter-Koordinatensystem für den Roboter 3 kennen muss. Weiterhin müssen gemäß dieser Ausführungsform die numerische Steuervorrichtung 5 und die Roboter-Steuervorrichtung 6 die Koordinatenwerte nicht zwischen dem Werkzeugmaschinen-Koordinatensystem und dem Roboter-Koordinatensystem wandeln, wodurch die Rechenlast entsprechend reduziert werden kann. Folglich kann auch eine Verschlechterung der Bearbeitungsperformanz des Roboters 3 und der Werkzeugmaschine 2 unterdrückt werden.
-
Die Koordinatenkonfigurationsinformationen-Steuereinheit 523 der numerischen Steuervorrichtung 5 bestimmt, ob es erforderlich ist oder nicht, Referenzkoordinatenwerte während der Ausführung des numerischen Steuerprogramms für einen Roboter zu erhalten. Wenn bestimmt wird, dass das Erhalten der Referenzkoordinatenwerte erforderlich ist, sendet die Koordinatenkonfigurationsinformationen-Steuereinheit 523 ein Referenzkoordinatenwert-Anfragesignal an die Roboter-Steuervorrichtung 6. In Reaktion auf den Empfang des Referenzkoordinatenwert-Anfragesignals erhält die Roboter-Positionsverwaltungseinheit 65 der Roboter-Steuervorrichtung 6 die Referenzkoordinatenwerte und sendet diese an die numerische Steuervorrichtung 5. Dieses Merkmal ermöglicht ein Minimieren der Kommunikation zwischen der numerischen Steuervorrichtung 5 und der Roboter-Steuervorrichtung 6, wodurch die Rechenlast entsprechend reduziert werden kann. Folglich kann auch eine Verschlechterung der Bearbeitungsperformanz des Roboters 3 und der Werkzeugmaschine 2 unterdrückt werden.
-
Die Koordinatenkonfigurationsinformationen-Steuereinheit 523 der numerischen Steuervorrichtung 5 bestimmt, dass das Erhalten von Referenzkoordinatenwerten erforderlich ist, wenn eine Ausführung des numerischen Steuerprogramms für einen Roboter gestartet wird, und sendet ein Referenzkoordinatenwert-Anfragesignal an die Roboter-Steuervorrichtung 6. Wegen dieses Merkmals können, wenn die Steuerung des Roboters 3 basierend auf dem numerischen Steuerprogramm für einen Roboter startet, die Position und die Haltung des Roboters 3 zu diesem Zeitpunkt korrekt durch die numerische Steuervorrichtung 5 erhalten werden.
-
In dem numerischen Steuerprogramm für einen Roboter gemäß dieser Ausführungsform kann das Roboter-Koordinatensystem zwischen dem Gelenkkoordinatenformat und dem rechtwinkligen Koordinatenformat, die verschiedene Steuerachsen aufweisen, gewechselt werden. Weiterhin bestimmt die Koordinatenkonfigurationsinformationen-Steuereinheit 523 der numerischen Steuervorrichtung 5, dass das Erhalten der Referenzkoordinatenwerte zu einem Zeitpunkt, zu dem das designierte Koordinatenformat gemäß dem numerischen Steuerprogramm für einen Roboter gesetzt oder gewechselt wird, erforderlich ist, und sendet dann ein Referenzkoordinatenwert-Anfragesignal an die Roboter-Steuervorrichtung 6. Dank dieses Merkmals kann zu einem Zeitpunkt, zu dem das designierte Koordinatenformat gesetzt oder gewechselt wird, die numerische Steuervorrichtung 5 die Koordinatenwerte in dem designierten Koordinatenformat für den Roboter 3 zu diesem Zeitpunkt erhalten.
-
Die Erfindung ist nicht auf die oben beschriebene Ausführungsform beschränkt und es können verschiedene Änderungen und Modifikationen an der beschriebenen Ausführungsform vorgenommen werden.
-
Bezugszeichenliste
-
- 1
- numerisches Steuersystem
- 2
- Werkzeugmaschine
- 3
- Roboter
- 5
- numerische Steuervorrichtung
- 51
- Werkzeugmaschinen-Steuermodul
- 52
- Roboter-Steuermodul
- 521
- Programmeingabeeinheit
- 522
- Eingabeanalyseeinheit
- 523
- Koordinatenkonfigurationsinformationen-Steuereinheit
- 524
- Koordinatenkonfigurationsinformationen-Verwaltungseinheit
- 525
- Roboter-Befehlssignal-Erzeugungseinheit
- 526
- Speicher
- 526a
- Koordinateninformationen-Speicherbereich
- 526b
- Konfigurationsinformationen-Speicherbereich
- 527
- Koordinatenanzeigeeinheit
- 528
- Daten-Sendeempfangseinheit
- 53
- Speichereinheit
- 6
- Roboter-Steuervorrichtung
- 61
- Daten-Sendeempfangseinheit
- 62
- Eingabeanalyseeinheit
- 63
- Roboter-Positionssteuereinheit
- 64
- Servosteuereinheit
- 65
- Roboter-Positionsverwaltungseinheit
-
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
-