-
TECHNISCHES GEBIET
-
Die vorliegende Offenbarung betrifft ein numerisches Steuersystem.
-
STAND DER TECHNIK
-
Im Allgemeinen sind ein numerisches Steuerprogramm zum Steuern einer Werkzeugmaschine und ein Roboterprogramm zum Steuern eines Roboters in unterschiedlichen Programmiersprachen geschrieben. Aus diesem Grund muss eine Bedienperson sich mit sowohl dem numerischen Steuerprogramm als auch dem Roboterprogramm vertraut machen, um in der Lage zu sein, eine Werkzeugmaschine und einen Roboter parallel zu bedienen.
-
Die Patentschrift 1 offenbart eine numerische Steuervorrichtung, die sowohl eine Werkzeugmaschine als auch einen Roboter durch ein numerisches Steuerprogramm steuert. Die numerische Steuervorrichtung der Patentschrift 1 erlaubt es einer Bedienperson, die mit dem numerischen Steuerprogramm vertraut ist, einen Roboter zu steuern, ohne sich mit dem Roboterprogramm vertraut zu machen.
-
Patentschrift Nr. 1: Japanisches Patent Nr. 6647472
-
OFFENBARUNG DER ERFINDUNG
-
Durch die Erfindung zu lösende Probleme
-
Indes werden eine Position und eine Stellung eines typischen Sechs-Achsen-Knickarmroboters beispielsweise in einem Gelenkkoordinatenformat, dessen Komponenten Drehwinkelwerte (J1, J2, J3, J4, J5, J6) der sechs Gelenke sind, und einem rechtwinkligen Koordinatenformat repräsentiert, dessen Komponenten Koordinatenwerte (X, Y, Z) entlang dreier orthogonaler Koordinatenachsen und Drehwinkelwerte (A, B, C) um die jeweiligen orthogonalen Koordinatenachsen sind. Daher ist es in dem Fall der Verwendung einer herkömmlichen Robotersteuervorrichtung notwendig, nicht nur die sechs Steuerachsen des Gelenkkoordinatenformats zu verwalten, sondern auch die sechs Steuerachsen des rechtwinkligen Koordinatenformats, das heißt, die Koordinatenwerte der zwölf Steuerachsen insgesamt.
-
Andererseits beträgt die Anzahl an Steuerachsen einer typischen Werkzeugmaschine höchstens ungefähr drei bis fünf, was weniger ist als die eines Roboters. Wenn eines der Systeme einer numerischen Steuervorrichtung zum Steuern einer Werkzeugmaschine als ein Robotersteuersystem zugewiesen wird, wie in der Technik der Patentschrift 1, ist es aus diesem Grund notwendig, die Anzahl der zu verwaltenden Steuerachsen gegenüber der Anzahl der Werkzeugmaschinensteuersysteme zu erhöhen, was zu hohen Kosten führen kann. Ferner wird eine Erhöhung der Anzahl an zu verwaltenden Steuerachsen in einem Robotersteuersystem die Rechenlast des Robotersteuersystems erhöhen, was zu einer Verschlechterung der Bearbeitungsleistung des Roboters und der Werkzeugmaschine führen kann. Da die Anzahl an Steuerachsen, die durch die numerische Steuervorrichtung verwaltet werden können, auf einen bestimmten Wert beschränkt ist, besteht ferner eine Möglichkeit, dass eine Funktion des Steuerns eines Roboters nicht zu der numerischen Steuervorrichtung hinzugefügt werden kann.
-
Die vorliegende Offenbarung wurde angesichts der vorgenannten Nachteile erarbeitet, und stellt ein numerisches Steuersystem bereit, das in der Lage ist, einen Roboter ohne eine Erhöhung der Anzahl an Steuerachsen zu erhöhen, die durch eine numerische Steuervorrichtung zu verwalten sind.
-
Mittel zur Lösung des Problems
-
Ein Aspekt der vorliegenden Offenbarung ist auf ein numerisches Steuersystem gerichtet, das umfasst: eine numerische Steuervorrichtung, die ausgebildet ist, ein Werkzeugmaschinenbefehlssignal als einen Befehl, der an eine Werkzeugmaschine gerichtet ist, gemäß einem ersten numerischen Steuerprogramm, und ein Roboterbefehlssignal als einen Befehl, der an einen Roboter gerichtet ist, gemäß einem zweiten numerischen Steuerprogramm zu erzeugen; und eine Robotersteuervorrichtung, die mit der numerischen Steuervorrichtung kommunikationsfähig ist und ausgebildet ist, den Betrieb des Roboters basierend auf dem Roboterbefehlssignal zu steuern. Im zweiten numerischen Steuerprogramm können eine Position und eine Stellung des Roboters in zwei oder mehr Koordinatenformaten spezifiziert werden, die unterschiedliche Steuerachsen aufweisen. Die numerische Steuervorrichtung umfasst eine Koordinateninformationsverwaltungseinheit und eine Roboterbefehlssignalerzeugungseinheit, wobei die Koordinateninformationsverwaltungseinheit ausgebildet ist, Koordinateninformation zu verwalten, die als Komponenten Koordinatenwerte von Steuerachsen eines benannten Koordinatenformats umfasst, das gemäß dem zweiten numerischen Steuerprogramm benannt wird, wobei die Roboterbefehlssignalerzeugungseinheit ausgebildet ist, das Roboterbefehlssignal basierend auf der Koordinateninformation, die durch die Koordinateninformationsverwaltungseinheit verwaltet wird, und basierend auf dem zweiten numerischen Steuerprogramm zu erzeugen. Beim Einstellen oder Wechseln des benannten Koordinatenformats erfasst die Robotersteuervorrichtung Koordinatenwerte der Steuerachsen in dem benannten Koordinatenformat nach dem Einstellen oder dem Wechseln und überträgt die erfassten Koordinatenwerte an die numerische Steuervorrichtung. Die Koordinateninformationsverwaltungseinheit aktualisiert die Koordinateninformation gemäß den Koordinatenwerten, die von der Robotersteuervorrichtung übertragen werden.
-
Wirkungen der Erfindung
-
Nach dem einen Aspekt der vorliegenden Offenbarung erfasst beim Einstellen oder Wechseln des benannten Koordinatenformats die Robotersteuervorrichtung Koordinatenwerte der Steuerachsen in dem benannten Koordinatenformat nach dem Einstellen oder dem Wechseln und überträgt die erfassten Koordinatenwerte an die numerische Steuervorrichtung. Die Koordinateninformationsverwaltungseinheit der numerischen Steuervorrichtung verwaltet die Koordinateninformation, die als Komponenten davon die Koordinatenwerte der Steuerachsen des benannten Koordinatenformats umfasst, das gemäß dem zweiten numerischen Steuerprogramm benannt wird, und aktualisiert die Koordinateninformation gemäß den Koordinatenwerten, die von der Robotersteuervorrichtung übertragen werden. Da die Robotersteuervorrichtung die Koordinatenwerte der Steuerachsen im benannten Koordinatenformat jedes Mal überträgt, wenn das benannte Koordinatenformat eingestellt oder gewechselt wird, muss somit die numerische Steuervorrichtung nur die Koordinateninformation des gegenwärtig benannten Koordinatenformats verwalten. Das heißt, die numerische Steuervorrichtung muss nicht alle Koordinatenwerte aller Steuerachsen aller Koordinatenformaten verwalten, die in dem zweiten numerischen Steuerprogramm benannt werden können. Während das zweite numerische Steuerprogramm es ermöglicht, dass die Position und Stellung des Roboters in zwei oder mehr Koordinatenformaten spezifiziert werden können, kann daher eine Erhöhung der Anzahl an Steuerachsen, die durch die numerische Steuervorrichtung zu verwalten sind, vermieden werden. Die numerische Steuervorrichtung eine kleine Anzahl von Steuerachsen verwalten zu lassen, macht es ferner möglich, eine Erhöhung der Kosten für die numerische Steuervorrichtung zu verhindern. Somit kann eine Robotersteuerfunktion einer existierenden numerischen Steuervorrichtung ohne Schwierigkeiten hinzugefügt werden. Die numerische Steuervorrichtung eine kleine Anzahl von Steuerachsen verwalten zu lassen, macht es des Weiteren möglich, eine Erhöhung der Rechenlast eines Robotersteuersystems der numerischen Steuervorrichtung zu verhindern. Somit kann eine Verschlechterung der Bearbeitungsleistung des Roboters und der Werkzeugmaschine ebenfalls verhindert werden.
-
Figurenliste
-
- 1 ist ein schematisches Diagramm, das ein numerisches Steuersystem nach einer Ausführungsform der vorliegenden Offenbarung darstellt;
- 2 ist ein funktionelles Blockdiagramm einer numerischen Steuervorrichtung und einer Robotersteuervorrichtung;
- 3A ist ein Ablaufdiagramm (Teil 1), das einen Ablauf eines Koordinatenkonfigurationsinformationsverwaltungsprozesses darstellt;
- 3B ist ein Ablaufdiagramm (Teil 2), das den Ablauf des Koordinatenkonfigurationsinformationsverwaltungsprozesses darstellt;
- 4 stellt ein Beispiel eines numerischen Steuerprogramms für einen Roboter dar;
- 5A ist ein Sequenzdiagramm (Teil 1) in einem Fall, in dem eine numerische Steuervorrichtung gemäß dem numerischen Steuerprogramm für den Roboter betrieben wird, das in 4 dargestellt wird; und
- 5B ist ein Sequenzdiagramm (Teil 2) in dem Fall, in dem die numerische Steuervorrichtung gemäß dem numerischen Steuerprogramm für den Roboter betrieben wird, das in 4 dargestellt wird.
-
BEVORZUGTE AUSFÜHRUNGSWEISE DER ERFINDUNG
-
Ein numerisches Steuersystem 1 nach einer Ausführungsform der vorliegenden Offenbarung wird unter Bezugnahme auf die Zeichnungen beschrieben.
-
1 ist ein schematisches Diagramm, das das numerische Steuersystem 1 nach der vorliegenden Ausführungsform darstellt.
-
Das numerische Steuersystem 1 umfasst eine Werkzeugmaschine 2, eine numerischen Steuervorrichtung (CNC) 5 zum Steuern der Werkzeugmaschine 2, einen Roboter 3, der in der Umgebung der Werkzeugmaschine 2 vorgesehen ist, und eine Robotersteuervorrichtung 6, die kommunikationsfähig mit der numerischen Steuervorrichtung 5 verbunden ist. Die numerische Steuervorrichtung 5 erzeugt ein Werkzeugmaschinenbefehlssignal als einen Befehl, der an die Werkzeugmaschine 2 gerichtet ist, und ein Roboterbefehlssignal als einen Befehl, der an den Roboter 3 gerichtet ist, gemäß vorgegebenen numerischen Steuerprogrammen, und überträgt das Werkzeugmaschinenbefehlssignal und das Roboterbefehlssignal an die Werkzeugmaschine 2 und die Robotersteuervorrichtung 6. Die Robotersteuervorrichtung 6 steuert den Betrieb des Roboters 3 als Reaktion auf das Roboterbefehlssignal, das von der numerischen Steuervorrichtung 5 übertragen wurde.
-
Die Werkzeugmaschine 2 bearbeitet ein Werkstück (nicht gezeigt) als Reaktion auf das Werkzeugmaschinenbefehlssignal, das von der numerischen Steuervorrichtung 5 übertragen wird. Hier umfassen Beispiele der Werkzeugmaschine 2, ohne jedoch darauf beschränkt zu sein, eine Drehmaschine, eine Säulenbohrmaschine, eine Fräsmaschine, eine Schleifmaschine, eine Laserbearbeitungsmaschine, eine Spritzgussmaschine, usw.
-
Der Roboter 3 arbeitet unter der Steuerung der Robotersteuervorrichtung 6 und führt beispielsweise eine vorgegebene Aufgabe bezüglich eines Werkstücks aus, das durch die Werkzeugmaschine 2 bearbeitet wird. Der Roboter 3 ist beispielsweise ein Knickarmroboter und weist ein distales Armende 31 auf, an dem ein Greifwerkzeug 32 zum Greifen des Werkstücks befestigt ist. In der folgenden Beschreibung wird ein nicht beschränkendes Beispiel beschrieben, in dem der Roboter 3 das Werkstück, das durch die Werkzeugmaschine 2 bearbeitet wird, an einer vorgegebenen Position mit dem Greifwerkzeug 32 greift und das Werkstück an eine vorgegebene Stelle befördert. In dem folgenden nicht beschränkenden Beispiel ist der Roboter 3 ein Sechs-Achsen-Knickarmroboter, aber die Anzahl an Achsen ist nicht darauf beschränkt.
-
Die numerische Steuervorrichtung 5 und die Robotersteuervorrichtung 6 sind jeweils ein Computer, der durch Hardware aufgebaut ist, die umfasst: ein arithmetisches Verarbeitungsmittel, wie etwa eine zentrale Verarbeitungseinheit (central processing unit, CPU); ein Hilfsspeichermittel, wie etwa ein Festplattenlaufwerk (hard disk drive, HDD) und ein Festkörperspeicher (solid state drive, SSD), in dem verschiedene Programme gespeichert sind; ein Hauptspeichermittel, wie etwa ein Direktzugriffsspeicher (random access memory, RAM), in dem Daten gespeichert werden, die zeitweise für das arithmetische Verarbeitungsmittel benötigt werden, um die Programme auszuführen; ein Bedienungsmittel, wie etwa eine Tastatur, mit dem eine Bedienperson verschiedene Bedienungen ausführt; und ein Anzeigemittel, wie etwa eine Anzeige, um der Bedienperson verschiedene Arten von Information anzuzeigen. Die Robotersteuervorrichtung 6 und die numerische Steuervorrichtung 5 können beispielsweise über Ethernet (eingetragene Marke) verschiedene Signale aneinander übertragen und voneinander empfangen.
-
2 ist ein funktionelles Blockdiagramm der numerischen Steuervorrichtung 5 und der Robotersteuervorrichtung 6.
-
Wie in 2 dargestellt, sind in der numerischen Steuervorrichtung 5 verschiedene Funktionen, wie etwa ein Werkzeugmaschinensteuermodul 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 vorgenannte Hardwarekonfiguration implementiert.
-
Die Speichereinheit 53 speichert eine Mehrzahl von numerischen Steuerprogrammen, die beispielsweise durch Bedienungen durch eine Bedienperson geschaffen wurden. Genauer speichert die Speichereinheit 53 beispielsweise ein numerisches Steuerprogramm für die Werkzeugmaschine, das ein erstes numerisches Steuerprogramm zum Steuern des Betriebs der Werkzeugmaschine 2 ist, und ein numerisches Steuerprogramm für den Roboter, das ein zweites numerisches Steuerprogramm zum Steuern des Betriebs des Roboters 3 ist. Das numerische Steuerprogramm für die Werkzeugmaschine und das numerische Steuerprogramm für den Roboter sind in einer gemeinsamen Programmiersprache (beispielsweise G-Code) geschrieben.
-
Das numerische Steuerprogramm für die Werkzeugmaschine wird basierend auf einem Werkzeugmaschinenkoordinatensystem beschrieben, das ein erstes Koordinatensystem ist, das den Ursprung an einem Referenzpunkt aufweist, der an der Werkzeugmaschine 2 oder in der Umgebung der Werkzeugmaschine 2 festgelegt ist. Somit werden in dem numerischen Steuerprogramm für die Werkzeugmaschine die Position und Stellung eines Steuerpunktes der Werkzeugmaschine 2 mittels Koordinatenwerten im Werkzeugmaschinenkoordinatensystem beschrieben.
-
Das numerische Steuerprogramm für den Roboter wird basierend auf einem Roboterkoordinatensystem beschrieben, das ein zweites Koordinatensystem ist, das sich von dem Werkzeugmaschinenkoordinatensystem unterscheidet. Somit werden in dem numerischen Steuerprogramm für den Roboter die Position und Stellung eines Steuerpunktes des Roboters 3 (z.B. des distalen Armendes 31 des Roboters 3) mittels Koordinatenwerten im Roboterkoordinatensystem beschrieben, das sich von dem Werkzeugmaschinenkoordinatensystem unterscheidet. Das Roboterkoordinatensystem ist ein Koordinatensystem, das den Ursprung an einem Referenzpunkt aufweist, der an dem Roboter 3 oder in der Umgebung des Roboters 3 festgelegt ist. Im Folgenden wird ein Beispiel beschrieben, in dem sich das Roboterkoordinatensystem von dem Werkzeugmaschinenkoordinatensystem unterscheidet, jedoch ist die vorliegende Offenbarung nicht darauf beschränkt. Das Roboterkoordinatensystem kann mit dem Werkzeugmaschinenkoordinatensystem zusammenfallen. Mit anderen Worten können der Ursprung und die Richtungen der Koordinatenachsen des Roboterkoordinatensystems mit dem Ursprung und den Richtungen der Koordinatenachsen des Werkzeugmaschinenkoordinatensystems zusammenfallen.
-
Im numerischen Steuerprogramm für den Roboter ist das Roboterkoordinatensystem zwischen zwei oder mehr Koordinatenformaten wechselbar, die unterschiedliche Steuerachsen aufweisen. Genauer können im numerischen Steuerprogramm für einen Roboter die Position und die Stellung eines Steuerpunkts des Roboters 3 in einem rechtwinkligen Koordinatenformat oder einem Gelenkkoordinatenformat spezifiziert werden.
-
Im Gelenkkoordinatenformat werden die Position und Stellung des Steuerpunkts des Roboters 3 mittels insgesamt sechs Koordinatenwerten spezifiziert, die reelle Zahlen sind und als Komponenten davon Drehwinkelwerte (J1, J2, J3, J4, J5, J6) der sechs Gelenke des Roboters 3 aufweisen.
-
Im rechtwinkligen Koordinatenformat werden die Position und Stellung des Steuerpunkts des Roboters 3 mittels insgesamt sechs Koordinatenwerten spezifiziert, die reelle Zahlen sind und als Komponenten davon drei Koordinatenwerte (X, Y, Z) entlang der drei orthogonalen Koordinatenachsen und drei Drehwinkelwerte (A, B, C) um die jeweiligen orthogonalen Koordinatenachsen aufweisen.
-
Hier, im Gelenkkoordinatenformat, werden die Drehwinkel der Gelenke des Roboters 3 direkt spezifiziert, und dementsprechend sind die Achsenanordnung der Arme und des Handgelenks des Roboters 3 und eine Drehanzahl der Gelenke, die sich um 360 Grad oder mehr drehen können (hiernach werden diese kollektiv als „Konfiguration des Roboters 3“ bezeichnet) eindeutig bestimmt. Demgegenüber kann im rechtwinkligen Koordinatenformat die Konfiguration des Roboters 3 nicht eindeutig bestimmt werden, da die Position und Stellung des Steuerpunkts des Roboters 3 mittels der sechs Koordinatenwerten (X, Y, Z, A, B, C) spezifiziert werden. Daher kann in dem numerischen Steuerprogramm für einen Roboter die Konfiguration des Roboters 3 mittels eines Konfigurationswerts P spezifiziert werden, der eine ganze Zahl mit einer vorgegebenen Anzahl von Ziffern ist. Somit werden die Position und Stellung des Steuerpunkts des Roboters 3 und die Konfiguration des Roboters 3 durch die sechs Koordinatenwerte (J1, J2, J3, J4, J5, J6) im Gelenkkoordinatenformat repräsentiert, und werden durch die sechs Koordinatenwerte und einen Konfigurationswert (X, Y, Z, A, B, C, P) im rechtwinkligen Koordinatenformat repräsentiert.
-
Im numerischen Steuerprogramm für einen Roboter kann das Koordinatenformat mit den G-Codes „G68.8“ und „G68.9“ eingestellt werden. Genauer wird das Koordinatenformat auf das Gelenkkoordinatenformat eingestellt, indem der G-Code „G68.8“ eingegeben wird, während das Koordinatenformat auf das rechtwinklige Koordinatenformat eingestellt wird, indem der G-Code „G68.9“ eingegeben wird. Die G-Codes „G68.8“ und „G68.9“ zum Einstellen der Koordinatenformate sind modale Codes. Sobald das Koordinatenformat durch den entsprechenden G-Code auf das Gelenkkoordinatenformat oder das rechtwinklige Koordinatenformat eingestellt ist, wird das eingestellte Koordinatenformat beibehalten, bis das Koordinatenformat wieder durch den anderen G-Code gewechselt wird. Bei der vorliegenden Ausführungsform wird in einem Fall, in dem das numerische Steuerprogramm für einen Roboter nicht die G-Codes zum Einstellen der Koordinatenformate enthält, das Koordinatenformat automatisch auf das rechtwinklige Koordinatenformat eingestellt. Jedoch ist dies ein nicht beschränkendes Beispiel.
-
Das Werkzeugmaschinensteuermodul 51 erzeugt das Werkzeugmaschinenbefehlssignal als einen Befehl, der an die Werkzeugmaschine 2 gerichtet ist, gemäß dem numerischen Steuerprogramm für eine Werkzeugmaschine, und gibt das Werkzeugmaschinenbefehlssignal in einen Aktuator (nicht gezeigt) der Werkzeugmaschine 2 ein. Genauer liest das Werkzeugmaschinensteuermodul 51 das numerische Steuerprogramm für eine Werkzeugmaschine aus, das in der Speichereinheit 53 gespeichert ist, analysiert einen Befehlstyp, der auf dem numerischen Steuerprogramm basiert, und erzeugt somit das Werkzeugmaschinenbefehlssignal. Die Werkzeugmaschine 2 arbeitet als Reaktion auf das Werkzeugmaschinenbefehlssignal, das von dem Werkzeugmaschinensteuermodul 51 übertragen wird, um damit ein Werkstück (nicht gezeigt) zu bearbeiten.
-
Das Robotersteuermodul 52 erzeugt gemäß dem numerischen Steuerprogramm für einen Roboter das Roboterbefehlssignal als einen Befehl, der an den Roboter 3 gerichtet ist, und verschiedene Anforderungssignale, die an die Robotersteuervorrichtung 6 gerichtet sind, und überträgt die Signale an die Robotersteuervorrichtung 6. Genauer umfasst das Robotersteuermodul 52 eine Programmeingabeeinheit 521, eine Eingabeanalyseeinheit 522, eine Koordinatenkonfigurationsinformationssteuereinheit 523, eine Koordinatenkonfigurationsinformationsverwaltungseinheit 524, eine Roboterbefehlssignalerzeugungseinheit 525, einen Speicher 526, eine Koordinatenanzeigeeinheit 527 und eine Datenübertragungs-/-empfangseinheit 528, und erzeugt das Roboterbefehlssignal und verschiedene Anforderungssignale mittels dieser Einheiten.
-
Die Programmeingabeeinheit 521 liest numerische Steuerprogramme für einen Roboter aus der Speichereinheit 53 aus und gibt die numerischen Steuerprogramme aufeinanderfolgend in die Eingabeanalyseeinheit 522 ein.
-
Die Eingabeanalyseeinheit 522 analysiert aufeinanderfolgend die Befehlstypen, die auf den numerischen Wertesteuerprogrammen basieren, die von der Programmeingabeeinheit 521 für jeden Block eingegeben werden, und überträgt die Analyseergebnisse an die Koordinatenkonfigurationsinformationssteuereinheit 523 und die Roboterbefehlssignalerzeugungseinheit 525.
-
Basierend auf dem Analyseergebnis, das von der Eingabeanalyseeinheit 522 eingegeben wird, identifiziert die Koordinatenkonfigurationsinformationssteuereinheit 523 ein benanntes Koordinatenformat, das ein Koordinatenformat ist, das gemäß dem numerischen Steuerprogramm für einen Roboter eingestellt ist. Wie oben beschrieben, kann in dem numerischen Steuerprogramm für einen Roboter das Koordinatenformat auf das Gelenkkoordinatenformat oder das rechtwinklige Koordinatenformat mittels der vorgegebenen G-Codes eingestellt oder gewechselt werden.
-
Die Koordinatenkonfigurationsinformationssteuereinheit 523 identifiziert das benannte Koordinatenformat basierend auf dem Analyseergebnis, das von der Eingabeanalyseeinheit 522 eingegeben wird, und überträgt Information über das gegenwärtig benannte Koordinatenformat an die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 und die Roboterbefehlssignalerzeugungseinheit 525.
-
Ferner schreibt die Koordinatenkonfigurationsinformationssteuereinheit 523 ein Referenzkoordinatenwertanforderungssignal und ein Referenzkonfigurationswertanforderungssignal an die Datenübertragungs-/-empfangseinheit 528 zu einem vorgegebenen Zeitpunkt während der Ausführung des numerischen Steuerprogramms für einen Roboter. Das Referenzkoordinatenwertanforderungssignal hat den Zweck der neuen Erfassung, von der Robotersteuervorrichtung 6, von Referenzkoordinatenwerten, die gegenwärtigen Koordinatenwerten der Steuerachsen im benannten Koordinatenformat, das identifiziert wurde, entsprechen. Das Referenzkonfigurationswertanforderungssignal hat den Zweck der neuen Erfassung eines Referenzkonfigurationswerts, der einem gegenwärtigen Konfigurationswert des Roboters 3 entspricht, von der Robotersteuervorrichtung 6. Das Referenzkoordinatenwertanforderungssignal und das Referenzkonfigurationswertanforderungssignal werden dann an die Robotersteuervorrichtung 6 übertragen. Der Zeitpunkt, zu dem das Referenzkoordinatenwertanforderungssignal und das Referenzkonfigurationswertanforderungssignal an die Robotersteuervorrichtung 6 übertragen werden, wird später im Detail beschrieben.
-
Die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 verwaltet im Speicher 526 Koordinateninformation, die als Komponenten die Koordinatenwerte der Steuerachsen des benannten Koordinatenformats umfasst, das durch die Koordinatenkonfigurationsinformationssteuereinheit 523 identifiziert wurde, und Konfigurationsinformation, die als Komponente den Konfigurationswert des Roboters 3 umfasst. Wie in 2 dargestellt, umfasst der Speicher 526 einen Koordinateninformationsspeicherbereich 526a zum Speichern von Koordinatenwerten als eine Mehrzahl von Komponenten und einen Konfigurationsinformationsspeicherbereich 526b zum Speichern des Konfigurationswerts. Der Speicher 526 speichert beispielsweise eine Mehrzahl von Mengen von Koordinatenwerten in dem Koordinateninformationsspeicherbereich 526a und eine Menge von Koordinatenwerten im Konfigurationsinformationsspeicherbereich 526b. Die Anzahl von Mengen von Koordinatenwerten, die in dem Koordinateninformationsspeicherbereich 526a gespeichert werden können, d.h. die Anzahl von Komponenten der Koordinateninformation, die von der Koordinatenkonfigurationsinformationsverwaltungseinheit 524 und dem Speicher 526 verwaltet wird, ist bevorzugt kleiner als die Summe aus sechs, die die Anzahl von Steuerachsen im rechtwinkligen Koordinatenformat ist, und sechs, die die Anzahl von Steuerachsen im Gelenkkoordinatenformat ist. Hiernach wird ein Fall beschrieben, in dem die Anzahl von Mengen von Koordinatenwerten, die in dem Koordinateninformationsspeicherbereich 526a gespeichert werden können, sechs beträgt, was die Anzahl der Steuerachsen im rechtwinkligen Koordinatenformat und die Anzahl von Steuerachsen im Gelenkkoordinatenformat ist, jedoch ist die vorliegende Offenbarung nicht auf einen solchen Fall beschränkt.
-
In einem Fall, in dem das benannte Koordinatenformat das Gelenkkoordinatenformat ist, erfasst die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 die Koordinatenwerte (J1, J2, J3, J4, J5, J6) der Steuerachsen des Roboters 3 im Gelenkkoordinatenformat gemäß einer Prozedur, die später unter Bezugnahme auf die 3A und 3B zu beschreiben ist, 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 Koordinateninformationsspeicherbereichs 526a.
-
In einem Fall, in dem das benannte Koordinatenformat das rechtwinklige Koordinatenformat ist, erfasst die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 die Koordinatenwerte (X, Y, Z, A, B, C) der Steuerachsen des Roboters 3 im rechtwinkligen Koordinatenformat gemäß der Prozedur, die später unter Bezugnahme auf die 3A und 3B zu beschreiben ist, und speichert diese Koordinatenwerte in der ersten bis sechsten Komponente #1 bis #6 des Koordinateninformationsspeicherbereichs 526a. In dem Fall, in dem das benannte Koordinatenformat das rechtwinklige Koordinatenformat ist, erfasst die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 den Konfigurationswert P des Roboters 3 gemäß der Prozedur, die später unter Bezugnahme auf die 3A und 3B zu beschreiben ist, und speichert den Konfigurationswert P im Konfigurationsinformationsspeicherbereich 526b.
-
Die 3A und 3B sind Ablaufdiagramme, die den Ablauf eines Prozesses des Verwaltens der Koordinateninformation und der Konfigurationsinformation im benannten Koordinatenformat (hiernach als „Koordinatenkonfigurationsinformationsverwaltungsprozess“ bezeichnet) zeigen, der durch die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 und den Speicher 526 durchgeführt wird. Der Koordinatenkonfigurationsinformationsverwaltungsprozess, der in den 3A und 3B gezeigt wird, wird wiederholt in vorgegebenen Zyklen von der Koordinatenkonfigurationsinformationsverwaltungseinheit 524 während der Ausführung des numerischen Steuerprogramms für einen Roboter durch das Robotersteuermodul 52 durchgeführt.
-
Zunächst bestimmt in Schritt S1 die Koordinatenkonfigurationsinformationsverwaltungseinheit 524, ob das benannte Koordinatenformat das Gelenkkoordinatenformat ist oder nicht. Wenn das Bestimmungsergebnis in Schritt S1 JA ist, geht die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 weiter zu Schritt S2, während, wenn das Bestimmungsergebnis in Schritt S1 NEIN ist, die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 weiter zu Schritt S4 geht.
-
In Schritt S2 bestimmt die Koordinatenkonfigurationsinformationsverwaltungseinheit 524, ob es unmittelbar nach dem Empfang von Referenzkoordinatenwertinformation, die Referenzkoordinatenwerte umfasst, von der Robotersteuervorrichtung 6 ist oder nicht. Wie oben beschrieben, sind die Referenzkoordinatenwerte die gegenwärtigen Koordinatenwerte der Steuerachsen im benannten Koordinatenformat. Wie später beschrieben werden wird, erfasst die Robotersteuervorrichtung 6 die Referenzkoordinatenwerte als Reaktion auf ein Referenzkoordinatenwertanforderungssignal, das zu einem vorgegebenen Zeitpunkt von der Koordinatenkonfigurationsinformationssteuereinheit 523 übertragen wird, und sendet Referenzkoordinatenwertinformation, die die Referenzkoordinatenwerte umfasst, zurück an die numerische Steuervorrichtung 5. Wenn das Bestimmungsergebnis in Schritt S2 JA ist, geht die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 weiter zu Schritt S3, während, wenn das Bestimmungsergebnis in Schritt S2 NEIN ist, die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 den Prozess beendet, der in den 3A und 3B gezeigt wird.
-
In Schritt S3 aktualisiert die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 die Koordinateninformation, die in dem Koordinateninformationsspeicherbereich 526a des Speichers 526 gespeichert ist, gemäß den Referenzkoordinatenwerten, die von der Robotersteuervorrichtung 6 übertragen werden, und beendet dann den Prozess, der in den 3A und 3B gezeigt wird. Genauer ersetzt die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 die Koordinatenwerte, die in den Komponenten #1 bis #6 des Koordinateninformationsspeicherbereichs 526a gespeichert sind, mit den Referenzkoordinatenwerten, die von der Robotersteuervorrichtung 6 übertragen werden.
-
In Schritt S4 bestimmt die Koordinatenkonfigurationsinformationsverwaltungseinheit 524, ob es unmittelbar nach dem Empfang von Referenzkoordinatenwertinformation, die neuesten Referenzkoordinatenwerte umfasst, von der Robotersteuereinrichtung 6 ist oder nicht. Wenn das Bestimmungsergebnis in Schritt S4 JA ist, geht die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 weiter zu Schritt S5, während, wenn das Bestimmungsergebnis in Schritt S4 NEIN ist, die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 weiter zu Schritt S6 geht.
-
In Schritt S5 aktualisiert die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 die Koordinateninformation, die in dem Koordinateninformationsspeicherbereich 526a des Speichers 526 gespeichert ist, gemäß den Referenzkoordinatenwerten, die von der Robotersteuervorrichtung 6 übertragen werden, nach der gleichen Prozedur, wie im oben beschriebenen Schritt S3, und geht dann weiter zu Schritt S6.
-
In Schritt S6 bestimmt die Koordinatenkonfigurationsinformationsverwaltungseinheit 524, ob Referenzkonfigurationswertinformation, die einen neuesten Referenzkonfigurationswert umfasst, von der Robotersteuereinrichtung 6 empfangen worden ist oder nicht. Wie oben beschrieben, ist der Referenzkonfigurationswert der gegenwärtige Konfigurationswert des Roboters 3. Wie später beschrieben werden wird, erfasst die Robotersteuervorrichtung 6 den Referenzkonfigurationswert als Reaktion auf ein Referenzkonfigurationswertanforderungssignal, das zu einem vorgegebenen Zeitpunkt von der Koordinatenkonfigurationsinformationssteuereinheit 523 übertragen wird, und sendet Referenzkonfigurationswertinformation, die den Referenzkonfigurationswert umfasst, zurück an die numerische Steuervorrichtung 5. Wenn das Bestimmungsergebnis in Schritt S6 JA ist, geht die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 weiter zu Schritt S7, während, wenn das Bestimmungsergebnis in Schritt S6 NEIN ist, die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 weiter zu Schritt S8 geht.
-
In Schritt S7 aktualisiert die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 die Konfigurationsinformation, die in dem Konfigurationsinformationsspeicherbereich 526b des Speichers 526 gespeichert ist, gemäß dem Referenzkonfigurationswert, der von der Robotersteuervorrichtung 6 übertragen wird, und beendet dann den Prozess, der in den 3A und 3B gezeigt wird. Genauer ersetzt die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 den Konfigurationswert, der in dem Konfigurationsinformationsspeicherbereich 526b des Speichers 526 gespeichert ist, mit dem Referenzkonfigurationswert, der von der Robotersteuervorrichtung 6 übertragen wird.
-
In Schritt S8 aktualisiert die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 die Konfigurationsinformation, die in dem Konfigurationsinformationsspeicherbereich 526b des Speichers 526 gespeichert ist, gemäß dem Konfigurationswert, der in dem numerischen Steuerprogramm spezifiziert ist und von der Eingabeanalyseeinheit 522 eingegeben wurde, und beendet dann den Prozess, der in den 3A und 3B gezeigt wird.
-
Wie oben beschrieben, aktualisiert die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 die Koordinateninformation, die in dem Koordinateninformationsspeicherbereich 526a des Speichers 526 gespeichert ist, auf die Referenzkoordinatenwerte, zum Zeitpunkt des Empfangs der Referenzkoordinatenwerte, die von der Robotersteuervorrichtung 6 übertragen werden.
-
In dem Fall, in dem das benannte Koordinatenformat das rechtwinklige Koordinatenformat ist, aktualisiert die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 die Konfigurationsinformation, die in dem Konfigurationsinformationsspeicherbereich 526b des Speichers 526 gespeichert ist, gemäß dem Referenzkonfigurationswert, der von der Robotersteuervorrichtung 6 übertragen wird, oder dem Konfigurationswert, der in dem numerischen Steuerprogramm spezifiziert ist. Im Fall des Empfangs des Referenzkonfigurationswerts, der von der Robotersteuervorrichtung 6 übertragen wird, aktualisiert genauer die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 die Konfigurationsinformation, die in dem Konfigurationsinformationsspeicherbereich 526b gespeichert ist, gemäß dem Referenzkonfigurationswert, und aktualisiert andernfalls die Konfigurationsinformation, die in dem Konfigurationsinformationsspeicherbereich 526b gespeichert ist, gemäß dem Konfigurationswert, der in dem numerischen Steuerprogramm spezifiziert ist.
-
Erneut Bezug nehmend auf 2, liest die Koordinatenanzeigeeinheit 527 die Koordinateninformation, die in dem Koordinateninformationsspeicherbereich 526a des Speichers 526 gespeichert ist, in vorgegebenen Zyklen während der Ausführung des numerischen Steuerprogramms für einen Roboter aus und zeigt die Koordinateninformation zusammen mit dem benannten Koordinatenformat auf einem Display (nicht gezeigt) an. Dies erlaubt es der Bedienperson, die Position und Stellung des Roboters 3 unter Bezugnahme auf die numerischen Werte zu überprüfen.
-
Basierend auf der neuesten Koordinateninformation und der neuesten Konfigurationsinformation, die im Speicher 526 gespeichert sind, und dem Analyseergebnis des numerischen Steuerprogramms, das von der Eingabeanalyseeinheit 522 eingegeben wurde, erzeugt die Roboterbefehlssignalerzeugungseinheit 525 ein Roboterbefehlssignal gemäß dem numerischen Steuerprogramm, schreibt das erzeugte Roboterbefehlssignal an die Datenübertragungs-/-empfangseinheit 528 und überträgt das Roboterbefehlssignal an die Robotersteuervorrichtung 6.
-
Hier wird ein Fall beschrieben, in dem der Befehlstyp, der auf dem numerischen Steuerprogramm basiert, eine Veränderung der Position und Stellung des Steuerpunkts des Roboters 3 oder eine Veränderung der Konfiguration des Roboters 3 bewirkt (genauer ein Fall, in dem der G-Code „G00“ ist, der einem Positionieren (schnelles Zuführen) entspricht, oder „G01“ ist, der linearer Interpolation entspricht, usw.). In diesem Fall berechnet die Roboterbefehlssignalerzeugungseinheit 525 im benannten Koordinatenformat einen Endpunkt und eine Geschwindigkeit des Steuerpunkts des Roboters 3, während sie die Koordinatenwerte, die in dem Koordinateninformationsspeicherbereich 526a des Speichers 526 gespeichert sind, als den Anfangspunkt für den Steuerpunkt des Roboters 3 einstellt, und schreibt ein Roboterbefehlssignal, das die Information über das benannte Koordinatenformat, den Endpunkt und die Geschwindigkeit umfasst, an die Datenübertragungs-/-empfangseinheit 528. Nachdem sie die Koordinatenwerte des Endpunkts des Steuerpunkts des Roboters 3 in der oben beschriebenen Weise berechnet hat, aktualisiert die Roboterbefehlssignalerzeugungseinheit 525 die Anfangspunktkoordinatenwerte, die in dem Koordinateninformationsspeicherbereich 526a des Speichers 526 gespeichert sind, gemäß den berechneten Endpunktkoordinatenwerten.
-
Wie zuvor beschrieben, kann die Konfiguration des Roboters 3 im rechtwinkligen Koordinatenformat nicht eindeutig bestimmt werden. Wenn das benannte Koordinatenformat das rechtwinklige Koordinatenformat ist, sieht die Roboterbefehlssignalerzeugungseinheit 525 daher die Koordinatenwerte, die in dem Koordinateninformationsspeicherbereich 526a des Speichers 526 gespeichert sind, als den Anfangspunkt für den Steuerpunkt des Roboters 3 an, berechnet einen Endpunkt und eine Geschwindigkeit für den Steuerpunkt des Roboters 3 und einen Konfigurationswert am Endpunkt, und schreibt ein Roboterbefehlssignal, das die Information über das benannte Koordinatenformat, den Endpunkt, die Geschwindigkeit und den Konfigurationswert am Endpunkt umfasst, an die Datenübertragungs-/-empfangseinheit 528. Nachdem sie die Koordinatenwerte des Endpunkts des Steuerpunkts des Roboters 3 in der oben beschriebenen Weise berechnet hat, aktualisiert die Roboterbefehlssignalerzeugungseinheit 525 die Anfangspunktkoordinatenwerte, die in dem Koordinateninformationsspeicherbereich 526a des Speichers 526 gespeichert sind, gemäß den berechneten Endpunktkoordinatenwerten.
-
Als nächstes wird der Zeitpunkt beschrieben, zu dem die Koordinatenkonfigurationsinformationssteuereinheit 523 das Referenzkoordinatenwertanforderungssignal und das Referenzkonfigurationswertanforderungssignal erzeugt und diese Anforderungssignale an die Robotersteuervorrichtung 6 überträgt. Wie oben beschrieben, fungieren das Referenzkoordinatenwertanforderungssignal und das Referenzkonfigurationswertanforderungssignal als ein Auslöser zum Aktualisieren der Koordinateninformation und der Konfigurationsinformation, die im Speicher 526 gespeichert sind, gemäß der Information, die von der Robotersteuervorrichtung 6 übertragen wird. Dementsprechend bestimmt die Koordinatenkonfigurationsinformationssteuereinheit 523, ob es notwendig ist, die Referenzkoordinatenwerte oder des Referenzkonfigurationswerts während der Ausführung des numerischen Steuerprogramms für einen Roboter durch das Robotersteuermodul 52 zu erfassen oder nicht, und sendet das Referenzkoordinatenwertanforderungssignal an die Robotersteuervorrichtung 6, wenn sie bestimmt, dass die Erfassung der Referenzkoordinatenwerte notwendig ist, und sendet das Referenzkonfigurationswertanforderungssignal an die Robotersteuervorrichtung 6, wenn sie bestimmt, dass die Erfassung des Referenzkonfigurationswerts notwendig ist.
-
Genauer bestimmt die Koordinatenkonfigurationsinformationssteuereinheit 523 in den folgenden Fällen, dass es notwendig ist, die Referenzkoordinatenwerte zu erfassen: Wenn die Ausführung des numerischen Steuerprogramms für einen Roboter gestartet wird, wenn das numerische Steuerprogramm für einen Roboter, das aus irgendeinem Grund unterbrochen wurde, erneut gestartet wird, wenn das benannte Koordinatenformat neu gemäß dem numerischen Steuerprogramm für einen Roboter eingestellt wird, und wenn das benannte Koordinatenformat gemäß dem numerischen Steuerprogramm für einen Roboter gewechselt wird. In diesen Fällen schreibt die Koordinatenkonfigurationsinformationssteuereinheit 523 das Referenzkoordinatenwertanforderungssignal an die Datenübertragungs-/-empfangseinheit 528. Als Reaktion wird das Referenzkoordinatenwertanforderungssignal von der Datenübertragungs-/-empfangseinheit 528 an die Robotersteuervorrichtung 6 übertragen.
-
Die Koordinatenkonfigurationsinformationssteuereinheit 523 bestimmt, dass es notwendig ist, den Referenzkonfigurationswert zu erfassen, zumindest in dem Fall, in dem das benannte Koordinatenformat das rechtwinklige Koordinatenformat ist, und schreibt das Referenzkonfigurationswertanforderungssignal an die Datenübertragungs-/-empfangseinheit 528. Als Reaktion wird das Referenzkonfigurationswertanforderungssignal von der Datenübertragungs-/-empfangseinheit 528 an die Robotersteuervorrichtung 6 übertragen. In einem Fall, in dem die Ausführung des numerischen Steuerprogramms für einen Roboter gestartet wird, während das benannte Koordinatenformat auf das rechtwinklige Koordinatenformat eingestellt ist, und in einem Fall, in dem das benannte Koordinatenformat das rechtwinklige Koordinatenformat ist und ein Konfigurationswert nicht in dem numerischen Steuerprogramm spezifiziert ist, bestimmt die Koordinatenkonfigurationsinformationssteuereinheit 523, dass es notwendig ist, den Referenzkonfigurationswert zu erfassen, und sendet das Referenzkonfigurationswertanforderungssignal an die Robotersteuervorrichtung 6. In einem Fall, in dem das benannte Koordinatenformat das rechtwinklige Koordinatenformat ist und ein Konfigurationswert in dem numerischen Steuerprogramm spezifiziert ist, bestimmt die Koordinatenkonfigurationsinformationssteuereinheit 523, dass es nicht notwendig ist, den Referenzkonfigurationswert zu erfassen, und sendet das Referenzkonfigurationswertanforderungssignal nicht an die Robotersteuervorrichtung 6. In dem Fall, in dem ein Konfigurationswert in dem numerischen Steuerprogramm spezifiziert ist, erzeugt mit anderen Worten die Koordinatenkonfigurationsinformationssteuereinheit 523 ein Roboterbefehlssignal, während sie dem Konfigurationswert, der in dem numerischen Steuerprogramm spezifiziert ist, Priorität gegenüber einem Referenzkonfigurationswert gibt, der in der Robotersteuervorrichtung 6 erfasst wird.
-
Als Reaktion darauf, dass die Roboterbefehlssignalerzeugungseinheit 525 ein Roboterbefehlssignal schreibt, überträgt die Datenübertragungs-/-empfangseinheit 528 das Roboterbefehlssignal an die Datenübertragungs-/-empfangseinheit 61 der Robotersteuervorrichtung 6. Als Reaktion darauf, dass die Koordinatenkonfigurationsinformationssteuereinheit 523 ein Referenzkoordinatenwertanforderungssignal oder ein Referenzkonfigurationswertanforderungssignal schreibt, überträgt die Datenübertragungs-/-empfangseinheit 528 das Referenzkoordinatenwertanforderungssignal oder das Referenzkonfigurationswertanforderungssignal an die Datenübertragungs-/-empfangseinheit 61 der Robotersteuervorrichtung 6.
-
Bei Empfang von Referenzkoordinatenwertinformation oder Referenzkonfigurationswertinformation, die von der Datenübertragungs-/-empfangseinheit 61 der Robotersteuervorrichtung 6 übertragen werden, überträgt die Datenübertragungs-/-empfangseinheit 528 die Referenzkoordinatenwertinformation oder die Referenzkonfigurationswertinformation an die Koordinatenkonfigurationsinformationsverwaltungseinheit 524.
-
Wie in 2 gezeigt, ist die Robotersteuervorrichtung 6 mit verschiedenen Funktionen versehen, wie etwa der Datenübertragungs-/-empfangseinheit 61, einer Eingabeanalyseeinheit 62, einer Roboterpositionssteuereinheit 63, einer Servosteuereinheit 64 und einer Roboterpositionsverwaltungseinheit 65, durch die oben beschriebene Hardwarekonfiguration implementiert werden.
-
Bei Empfang des Roboterbefehlssignals, des Referenzkoordinatenwertanforderungssignals und des Referenzkonfigurationswertanforderungssignals, die von der Datenübertragungs-/-empfangseinheit 528 der numerischen Steuervorrichtung 5 übertragen werden, überträgt die Datenübertragungs-/-empfangseinheit 61 diese Signale an die Eingabeanalyseeinheit 62.
-
Als Reaktion darauf, dass die Roboterpositionsverwaltungseinheit 65 Referenzkoordinatenwertinformation oder Referenzkonfigurationswertinformation schreibt, überträgt die Datenübertragungs-/-empfangseinheit 61 die Referenzkoordinatenwertinformation oder die Referenzkonfigurationswertinformation an die Datenübertragungs-/-empfangseinheit 528 der numerischen Steuervorrichtung 5.
-
Bei Empfang des Roboterbefehlssignals, das von der Datenübertragungs-/-empfangseinheit 61 übertragen wird, führt die Eingabeanalyseeinheit 62 eine Umwandlung in ein Roboterprogramm zum Steuern des Roboters 3 basierend auf dem Roboterbefehlssignal durch und überträgt das Roboterprogramm an die Roboterpositionssteuereinheit 63. Bei Empfang des Referenzkoordinatenwertanforderungssignals oder des Referenzkonfigurationswertanforderungssignals, die von der Datenübertragungs-/-empfangseinheit 61 übertragen werden, überträgt die Eingabeanalyseeinheit 62 das Anforderungssignal an die Roboterpositionsverwaltungseinheit 65.
-
Die Roboterpositionssteuereinheit 63 führt eine kinematische Transformation gemäß dem Roboterprogramm durch, das von der Eingabeanalyseeinheit 62 übertragen wird, um dadurch Befehle zu erzeugen, die an eine Mehrzahl von Servomotoren (nicht gezeigt) gerichtet sind, die die Gelenke des Roboters 3 drehen, 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 Befehle zu implementieren, die von der Roboterpositionssteuereinheit 63 eingegeben werden.
-
Bei Empfang des Referenzkoordinatenwertanforderungssignals, das von der Eingabeanalyseeinheit 62 übertragen wird, erfasst die Roboterpositionsverwaltungseinheit 65 Detektionswerte von verschiedenen Positionssensoren (nicht gezeigt), mit denen der Roboter 3 versehen ist, und berechnet die Koordinatenwerte der Steuerachsen des Roboterkoordinatensystems im benannten Koordinatenformat basierend auf den Detektionswerten. Die Roboterpositionsverwaltungseinheit 65 stellt die berechneten Koordinatenwerte als Referenzkoordinatenwerte ein und schreibt Referenzkoordinatenwertinformation, die die Referenzkoordinatenwerte umfasst, an die Datenübertragungs-/-empfangseinheit61. Als Reaktion überträgt die Datenübertragungs-/-empfangseinheit 61 die Referenzkoordinatenwertinformation an die numerische Steuervorrichtung 5.
-
Bei Empfang des Referenzkonfigurationswertanforderungssignals, das von der Eingabeanalyseeinheit 62 übertragen wird, erfasst die Roboterpositionsverwaltungseinheit 65 Detektionswerte von den verschiedenen Positionssensoren, mit denen der Roboter 3 versehen ist, und berechnet einen Konfigurationswert des Roboters 3 basierend auf den Detektionswerten. Die Roboterpositionsverwaltungseinheit 65 stellt den berechneten Konfigurationswert als einen Referenzkonfigurationswert ein und schreibt Referenzkonfigurationswertinformation, die den Referenzkonfigurationswert umfasst, an die Datenübertragungs-/-empfangseinheit 61. Als Reaktion überträgt die Datenübertragungs-/-empfangseinheit 61 die Referenzkonfigurationswertinformation an die numerische Steuervorrichtung 5.
-
Als nächstes wird ein Fluss der verschiedenen Signale und Information in dem numerischen Steuersystem 1, das die oben beschriebene Ausbildung aufweist, unter Bezugnahme auf die 4, 5A und 5B beschrieben.
-
4 stellt ein Beispiel eines numerischen Steuerprogramms für einen Roboter dar. Die 5A und 5B sind Sequenzdiagramme, die den Fluss von Signalen und Information zwischen der numerischen Steuervorrichtung 5 und der Robotersteuervorrichtung 6 in einem Fall zeigen, in dem die numerische Steuervorrichtung 5 gemäß dem numerischen Steuerprogramm für den Roboter betrieben wird, das in 4 dargestellt wird.
-
Zunächst wird in einem Block, der durch die Sequenznummer „N10“ bezeichnet ist, ein Befehl „G68.8“ in die Koordinatenkonfigurationsinformationssteuereinheit 523 der numerischen Steuervorrichtung 5 eingegeben. Als Reaktion darauf stellt die Koordinatenkonfigurationsinformationssteuereinheit 523 das Gelenkkoordinatenformat als das benannte Koordinatenformat ein. Ferner überträgt die Koordinatenkonfigurationsinformationssteuereinheit 523 als Reaktion auf das erstmalige Einstellen des benannten Koordinatenformats in diesem Block ein Referenzkoordinatenwertanforderungssignal an die Roboterpositionsverwaltungseinheit 65 der Robotersteuervorrichtung 6. Als Reaktion auf den Empfang des Referenzkoordinatenwertanforderungssignals erfasst die Roboterpositionsverwaltungseinheit 65 der Robotersteuervorrichtung 6 Referenzkoordinatenwerte (J1, J2, J3, J4, J5, J6) im gegenwärtig benannten Koordinatenformat und überträgt Referenzkoordinatenwertinformation, die diese Referenzkoordinatenwerte umfasst, an die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 der numerischen Steuervorrichtung 5. Die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 der numerischen Steuervorrichtung 5 aktualisiert Koordinateninformation, die in dem Koordinateninformationsspeicherbereich 526a des Speichers 526 gespeichert ist, gemäß den empfangenen Referenzkoordinatenwerten.
-
Als nächstes wird in einem Block, der durch die Sequenznummer „N11“ bezeichnet ist, ein Befehl „G00 J1 = _J2 = _J3 = _J4 = _J5 = _J6 = _“, der auf dem Gelenkkoordinatenformat basiert, in die Roboterbefehlssignalerzeugungseinheit 525 der numerischen Steuervorrichtung 5 eingegeben. Man beachte, dass ein Koordinatenwert eines Endpunkts in die Leerstellen mit den Unterstrichen in dem Befehl eingegeben wird. Die Roboterbefehlssignalerzeugungseinheit 525 erzeugt ein Roboterbefehlssignal basierend auf der Koordinateninformation, die in dem Koordinateninformationsspeicherbereich 526a des Speichers 526 gespeichert ist, und dem eingegebenen Befehl, und überträgt das Roboterbefehlssignal an die Robotersteuervorrichtung 6. Die Robotersteuervorrichtung 6 steuert den Betrieb des Roboters 3 basierend auf dem empfangenen Roboterbefehlssignal. Dem nachfolgend aktualisiert die Roboterbefehlssignalerzeugungseinheit 525 der numerischen Steuervorrichtung 5 gemäß dem numerischen Steuerprogramm die Koordinateninformation, die in dem Koordinateninformationsspeicherbereich 526a gespeichert ist, auf der Basis der Referenzkoordinatenwerte, die in dem Block der Sequenznummer „N10“ erfasst wurden, bis das benannte Koordinatenformat in einem Block der Sequenznummer „N20“ gewechselt wird.
-
Als nächstes wird in dem Block, der durch die Sequenznummer „N20“ bezeichnet ist, ein Befehl „G68.9“ in die Koordinatenkonfigurationsinformationssteuereinheit 523 der numerischen Steuervorrichtung 5 eingegeben. Als Reaktion darauf wechselt die Koordinatenkonfigurationsinformationssteuereinheit 523 das benannte Koordinatenformat von dem Gelenkkoordinatenformat, das gegenwärtig benannt ist, zum rechtwinkligen Koordinatenformat. Ferner überträgt die Koordinatenkonfiurationsinformationssteuereinheit 523 als Reaktion auf das Wechseln der benannten Koordinatenformate in diesem Block ein Referenzkoordinatenwertanforderungssignal an die Roboterpositionsverwaltungseinheit 65 der Robotersteuervorrichtung 6. Als Reaktion auf den Empfang des Referenzkoordinatenwertanforderungssignals erfasst die Roboterpositionsverwaltungseinheit 65 der Robotersteuervorrichtung 6 Referenzkoordinatenwerte (X, Y, Z, A, B, C) im gegenwärtig benannten Koordinatenformat und überträgt Referenzkoordinatenwertinformation, die diese Referenzkoordinatenwerte umfasst, an die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 der numerischen Steuervorrichtung 5. Die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 der numerischen Steuervorrichtung 5 aktualisiert die Koordinateninformation, die in dem Koordinateninformationsspeicherbereich 526a des Speichers 526 gespeichert ist, gemäß den empfangenen Referenzkoordinatenwerten.
-
Als nächstes wird in einem Block, der durch die Sequenznummer „N21“ bezeichnet ist, ein Befehl „G01 X_Y_Z_A_B_C_“, der auf dem rechtwinkligen Koordinatenformat basiert, in die Koordinatenkonfigurationsinformationssteuereinheit 523 und die Roboterbefehlssignalerzeugungseinheit 525 der numerischen Steuervorrichtung 5 eingegeben. Man beachte, dass der in diesem Block eingegebene Befehl keinen Konfigurationswert des Roboters 3 spezifiziert. In dem Fall, in dem das benannte Koordinatenformat das rechtwinklige Koordinatenformat ist, und der in diesem Block eingegebene Befehl keinen Konfigurationswert spezifiziert, bestimmt die Koordinatenkonfigurationsinformationssteuereinheit 523, dass es notwendig ist, einen Referenzkonfigurationswert zu erfassen, und überträgt ein Referenzkonfigurationswertanforderungssignal an die Roboterpositionsverwaltungseinheit 65 der Robotersteuervorrichtung 6. Als Reaktion auf den Empfang des Referenzkonfigurationswertanforderungssignals erfasst die Roboterpositionsverwaltungseinheit 65 einen gegenwärtigen Konfigurationswert (P) des Roboters 3 und überträgt Referenzkonfigurationswertinformation, die diesen Referenzkonfigurationswert umfasst, an die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 der numerischen Steuervorrichtung 5. Die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 aktualisiert die Konfigurationsinformation, die in dem Konfigurationsinformationsspeicherbereich 526b des Speichers 526 gespeichert ist, gemäß dem empfangenen Referenzkonfigurationswert.
-
Der Aktualisierung der Konfigurationsinformation in der oben beschriebenen Weise nachfolgend erzeugt die Roboterbefehlssignalerzeugungseinheit 525 der numerischen Steuervorrichtung 5 ein Roboterbefehlssignal basierend auf der Koordinateninformation, die in dem Koordinateninformationsspeicherbereich 526a des Speichers 526 gespeichert ist, der Konfigurationsinformation, die in dem Konfigurationsinformationsspeicherbereich 526b des Speichers 526 gespeichert ist, und dem eingegebenen Befehl, und überträgt das Roboterbefehlssignal an die Robotersteuervorrichtung 6. Die Robotersteuervorrichtung 6 steuert den Betrieb des Roboters 3 basierend auf dem empfangenen Roboterbefehlssignal. Dem nachfolgend aktualisiert die Roboterbefehlssignalerzeugungseinheit 525 der numerischen Steuervorrichtung 5 gemäß dem numerischen Steuerprogramm die Koordinateninformation, die in dem Koordinateninformationsspeicherbereich 526a gespeichert ist, auf der Basis der Referenzkoordinatenwerte, die in dem Block der Sequenznummer „N20“ erfasst wurden, bis das benannte Koordinatenformat in einem Block der Sequenznummer „N40“ gewechselt wird.
-
Als nächstes wird in einem Block, der durch die Sequenznummer „N30“ bezeichnet ist, ein Befehl „G01 X_Y_Z_A_B_C_P_“, der auf dem rechtwinkligen Koordinatenformat basiert, in die Koordinatenkonfigurationsinformationssteuereinheit 523 und die Roboterbefehlssignalerzeugungseinheit 525 der numerischen Steuervorrichtung 5 eingegeben. Man beachte, dass ein Konfigurationswert des Roboters 3 in dem Befehl spezifiziert wird, der in diesem Block eingegeben wird. In dem Fall, in dem ein Konfigurationswert in dem Befehl spezifiziert wird, überträgt die Koordinatenkonfigurationsinformationssteuereinheit 523 kein Referenzkonfigurationswertanforderungssignal, anders als im Prozess in dem Block, der durch die Sequenznummer „N21“ bezeichnet wird. In diesem Fall aktualisiert die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 der numerischen Steuervorrichtung 5 die Konfigurationsinformation, die in dem Konfigurationsinformationsspeicherbereich 526b gespeichert ist, gemäß dem Konfigurationswert, der in dem eingegebenen Befehl spezifiziert wird.
-
Der Aktualisierung der Konfigurationsinformation in der oben beschriebenen Weise nachfolgend erzeugt die Roboterbefehlssignalerzeugungseinheit 525 der numerischen Steuervorrichtung 5 ein Roboterbefehlssignal basierend auf der Koordinateninformation, die in dem Koordinateninformationsspeicherbereich 526a des Speichers 526 gespeichert ist, der Konfigurationsinformation, die in dem Konfigurationsinformationsspeicherbereich 526b des Speichers 526 gespeichert ist, und dem eingegebenen Befehl, und überträgt das Roboterbefehlssignal an die Robotersteuervorrichtung 6. Die Robotersteuervorrichtung 6 steuert den Betrieb des Roboters 3 basierend auf dem empfangenen Roboterbefehlssignal.
-
Als nächstes wird in dem Block, der durch die Sequenznummer „N40“ bezeichnet ist, ein Befehl „G68.8“ in die Koordinatenkonfigurationsinformationssteuereinheit 523 der numerischen Steuervorrichtung 5 eingegeben. Als Reaktion darauf wechselt die Koordinatenkonfigurationsinformationssteuereinheit 523 das benannte Koordinatenformat von dem rechtwinkligen Koordinatenformat, das gegenwärtig benannt ist, zum Gelenkkoordinatenformat. Ferner überträgt die Koordinatenkonfigurationsinformationssteuereinheit 523 als Reaktion auf das Wechseln der benannten Koordinatenformate in diesem Block ein Referenzkoordinatenwertanforderungssignal an die Roboterpositionsverwaltungseinheit 65 der Robotersteuervorrichtung 6. Als Reaktion auf den Empfang des Referenzkoordinatenwertanforderungssignals erfasst die Roboterpositionsverwaltungseinheit 65 Referenzkoordinatenwerte (J1, J2, J3, J4, J5, J6) im gegenwärtig benannten Koordinatenformat und überträgt Referenzkoordinatenwertinformation, die diese Referenzkoordinatenwerte umfasst, an die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 der numerischen Steuervorrichtung 5. Die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 aktualisiert die Koordinateninformation, die in dem Koordinateninformationsspeicherbereich 526a des Speichers 526 gespeichert ist, gemäß den empfangenen Referenzkoordinatenwerten.
-
Als nächstes wird in einem Block, der durch die Sequenznummer „N41“ bezeichnet ist, ein Befehl „G01 J1 = _J2 = _J3 = _J4 = _J5 = _J6 = _“, der auf dem Gelenkkoordinatenformat basiert, in die Roboterbefehlssignalerzeugungseinheit 525 der numerischen Steuervorrichtung 5 eingegeben. Die Roboterbefehlssignalerzeugungseinheit 525 erzeugt ein Roboterbefehlssignal basierend auf der Koordinateninformation, die in dem Koordinateninformationsspeicherbereich 526a des Speichers 526 gespeichert ist, und dem eingegebenen Befehl, und überträgt das Roboterbefehlssignal an die Robotersteuervorrichtung 6. Die Robotersteuervorrichtung 6 steuert den Betrieb des Roboters 3 basierend auf dem empfangenen Roboterbefehlssignal. Dem nachfolgend aktualisiert die Roboterbefehlssignalerzeugungseinheit 525 der numerischen Steuervorrichtung 5 gemäß dem numerischen Steuerprogramm die Koordinateninformation, die in dem Koordinateninformationsspeicherbereich 526a gespeichert ist, auf der Basis der Referenzkoordinatenwerte, die in dem Block der Sequenznummer „N40“ erfasst wurden, bis das benannte Koordinatenformat gewechselt wird.
-
Die vorliegende Ausführungsform sorgt für die folgenden Wirkungen. Beim Einstellen oder Wechseln des benannten Koordinatenformats erfasst die Roboterpositionsverwaltungseinheit 65 der Robotersteuervorrichtung 6 Referenzkoordinatenwerte der Steuerachsen in dem benannten Koordinatenformat nach dem Einstellen oder dem Wechseln und überträgt die erfassten Referenzkoordinatenwerte an die numerische Steuervorrichtung 5. Die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 der numerischen Steuervorrichtung 5 verwaltet in dem Koordinateninformationsspeicherbereich 526a des Speichers 526 die Koordinateninformation, die als Komponenten davon Koordinatenwerte der Steuerachsen im benannten Koordinatenformat umfasst, und aktualisiert die Koordinateninformation, die in dem Koordinateninformationsspeicherbereich 526a gespeichert ist, gemäß den Referenzkoordinatenwerten, die von der Robotersteuervorrichtung 6 übertragen werden. Da die Robotersteuervorrichtung 6 die Referenzkoordinatenwerte der Steuerachsen im benannten Koordinatenformat jedes Mal überträgt, wenn das benannte Koordinatenformat eingestellt oder gewechselt wird, muss somit die numerische Steuervorrichtung 5 nur die Koordinateninformation im gegenwärtig benannten Koordinatenformat im Speicher 526 verwalten. Das heißt, die numerische Steuervorrichtung 5 muss im Speicher 526 nicht alle Koordinatenwerte aller Steuerachsen aller Koordinatenformaten verwalten, die in dem numerischen Steuerprogramm für einen Roboter benannt werden können. Während das numerische Steuerprogramm für einen Roboter es ermöglicht, dass die Position und Stellung des Roboters 3 in zwei oder mehr Koordinatenformaten spezifiziert werden, kann daher eine Erhöhung der Anzahl an Steuerachsen, die durch die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 und den Speicher 526 zu verwalten sind, vermieden werden. Die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 und den Speicher 526 eine kleine Anzahl von Steuerachsen verwalten zu lassen, macht es ferner möglich, eine Erhöhung der Kosten für die numerische Steuervorrichtung 5 zu verhindern. Somit kann das Robotersteuermodul 52 einer existierenden numerischen Steuervorrichtung 5 ohne Schwierigkeiten hinzugefügt werden. Die Koordinatenkonfigurationsinformationsverwaltungseinheit 524 und den Speicher 526 eine kleine Anzahl von Steuerachsen verwalten zu lassen, macht es des Weiteren möglich, eine Erhöhung der Rechenlast des Robotersteuermoduls 52 der numerischen Steuervorrichtung 5 zu verhindern. Somit kann eine Verschlechterung der Bearbeitungsleistung des Roboters 3 und der Werkzeugmaschine 2 ebenfalls verhindert werden.
-
Im numerischen Steuerprogramm für einen Roboter nach der vorliegenden Ausführungsform können die Position und die Stellung des Roboters 3 in dem rechtwinkligen Koordinatenformat oder dem Gelenkkoordinatenformat spezifiziert werden. Dieses Merkmal erlaubt es der Bedienperson, frei ein numerischen Steuerprogramm für einen Roboter in einem vertrauten Koordinatenformat zu schaffen.
-
Bei der vorliegenden Ausführungsform beträgt die Anzahl von Komponenten der Koordinateninformation, die in dem Koordinateninformationsspeicherbereich 526a des Speichers 526 verwaltet wird, sechs, und diese Anzahl von Komponenten ist kleiner als die Summe der Anzahl (sechs) von Steuerachsen im rechtwinkligen Koordinatenformat ist, und der Anzahl (sechs) von Steuerachsen im Gelenkkoordinatenformat. Dieses Merkmal ermöglicht die Minimierung der Größe des Koordinateninformationsspeicherbereichs 526a des Speichers 526, wodurch es möglich gemacht wird, eine Erhöhung der Kosten für die numerische Steuervorrichtung 5 zu verhindern. Somit kann das Robotersteuermodul 52 einer existierenden numerischen Steuervorrichtung 5 ohne Schwierigkeiten hinzugefügt werden. Ferner macht es die Minimierung der Größe des Koordinateninformationsspeicherbereichs 526a möglich, eine Erhöhung der Rechenlast des Robotersteuermoduls 52 der numerischen Steuervorrichtung 5 zu verhindern. Somit kann eine Verschlechterung der Bearbeitungsleistung des Roboters 3 und der Werkzeugmaschine 2 verhindert werden.
-
Die vorliegende Offenbarung ist nicht auf die oben beschriebene Ausführungsform beschränkt, und verschiedene Veränderungen und Abwandlungen können an der vorliegenden Offenbarung vorgenommen werden.
-
Bezugszeichenliste
-
- 1
- Numerisches Steuersystem
- 2
- Werkzeugmaschine
- 3
- Roboter
- 5
- Numerische Steuervorrichtung
- 51
- Werkzeugmaschinensteuermodul
- 52
- Robotersteuermodul
- 521
- Programmeingabeeinheit
- 522
- Eingabeanalyseeinheit
- 523
- Koordinatenkonfigurationsinformationssteuereinheit
- 524
- Koordinatenkonfigurationsinformationsverwaltungseinheit
- 525
- Roboterbefehlssignalerzeugungseinheit
- 526
- Speicher
- 526a
- Koordinateninformationsspeicherbereich
- 526b
- Konfigurationsinformationsspeicherbereich
- 527
- Koordinatenanzeigeeinheit
- 528
- Datenübertragungs-/-empfangseinheit
- 53
- Speichereinheit
- 6
- Robotersteuervorrichtung
- 61
- Datenübertragungs-/-empfangseinheit
- 62
- Eingabeanalyseeinheit
- 63
- Roboterpositionssteuereinheit
- 64
- Servosteuereinheit
- 65
- Roboterpositionsverwaltungseinheit