DE112021005180T5 - Numerische Steuervorrichtung und numerisches Steuersystem - Google Patents

Numerische Steuervorrichtung und numerisches Steuersystem Download PDF

Info

Publication number
DE112021005180T5
DE112021005180T5 DE112021005180.6T DE112021005180T DE112021005180T5 DE 112021005180 T5 DE112021005180 T5 DE 112021005180T5 DE 112021005180 T DE112021005180 T DE 112021005180T DE 112021005180 T5 DE112021005180 T5 DE 112021005180T5
Authority
DE
Germany
Prior art keywords
robot
movement command
numerical control
movement
control device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112021005180.6T
Other languages
English (en)
Inventor
Kazutaka IMANISHI
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE112021005180T5 publication Critical patent/DE112021005180T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • G05B19/41825Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell machine tools and manipulators only, machining centre
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36242Convert program for different machines with different M-code, G-code, header
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40269Naturally compliant robot arm

Abstract

Eine numerische Steuervorrichtung 5 steuert die Bewegung einer Werkzeugmaschine 2 und erzeugt einen Bewegungsbefehl für eine Robotersteuervorrichtung 6, die die Bewegung eines Roboters 3 steuert, um einen Steuerpunkt des Roboters 3 zu bewegen. Die numerische Steuervorrichtung 5 ist ausgestattet mit: einer ersten Bewegungsbefehlsgenerierende-Einheit 56 zum Berechnen eines ersten Ziel-Bewegungsortes, der ein Bewegungsort-Ziel für den Steuerpunkt ist, auf der Basis eines numerischen Steuerprogramms und zum Erzeugen eines ersten Bewegungsbefehls, der den ersten Ziel-Bewegungsort enthält; einer zweiten Bewegungsbefehlsgenerierende-Einheit 57 zum Erzeugen eines zweiten Bewegungsbefehls, der den ersten Ziel-Bewegungsort nicht enthält, auf der Basis des numerischen Steuerprogramms eine Bewegungsbefehl-Generierendenanlage-Auswahleinheit 55 zum Auswählen einer der ersten und zweiten Bewegungsbefehlsgenerierende-Einheit 56, 57 als eine Bewegungsbefehlsgenerierende-Einheit; und eine Datensende-/Empfangseinheit 59 zum Übertragen eines von der Bewegungsbefehl-Generierendenanlage erzeugten Bewegungsbefehls an die Robotersteuervorrichtung 6.

Description

  • Technisches Gebiet
  • Die vorliegende Offenbarung bezieht sich auf eine numerische Steuervorrichtung und ein numerisches Steuersystem.
  • Stand der Technik
  • In den letzten Jahren wurde zur Förderung der Automatisierung einer Bearbeitungsstelle eines numerischen Steuersystems zur Kontrolle des Betriebs einer Werkzeugmaschine zur Bearbeitung eines Werkstücks und der Bewegung eines in der Nähe der Werkzeugmaschine vorgesehenen Roboters in Verbindung miteinander gewünscht (siehe z.B. Patentdokument 1).
  • Im Allgemeinen haben ein numerisches Steuerprogramm zur Steuerung einer Werkzeugmaschine und ein Roboterprogramm zur Steuerung eines Roboters unterschiedliche Programmiersprachen. Aus diesem Grund muss der Bediener sowohl das numerische Steuerprogramm als auch das Roboterprogramm verstehen, um den Betrieb der Werkzeugmaschine und den Betrieb des Roboters zu verschränken.
  • Patentdokument 1 zeigt eine numerische Steuervorrichtung, die sowohl eine Werkzeugmaschine als auch einen Roboter durch ein numerisches Steuerprogramm steuert. Genauer gesagt, in dem in Patentdokument 1 gezeigten numerischen Steuersystem erzeugt die numerische Steuervorrichtung ein Roboterbefehlssignal in Übereinstimmung mit einem numerischen Steuerprogramm, während die Robotersteuervorrichtung ein Roboterprogramm in Übereinstimmung mit dem Roboterbefehlssignal erzeugt und ein Robotersteuersignal zur Steuerung der Bewegung des Roboters in Übereinstimmung mit dem Roboterprogramm erzeugt. Gemäß dem in Patentdokument 1 dargestellten numerischen Steuersystem kann ein mit dem numerischen Steuerprogramm vertrauter Benutzer den Roboter steuern, ohne mit dem Roboterprogramm vertraut zu sein.
  • Patentdokument 1: Japanisches Patent Nr. 6647472
  • Offenbarung der Erfindung
  • Durch die Erfindung zu lösende Probleme
  • Wenn bei dem herkömmlichen numerischen Steuersystem die numerische Steuervorrichtung die Endpunktposition der Roboterspitze angibt, führt die Robotersteuervorrichtung eine kinematische Umwandlung gemäß einem Roboterprogramm durch, so dass sich die Roboterspitze zu der von der numerischen Steuervorrichtung angegebenen Endpunktposition bewegt, wodurch jedes Gelenk des Roboters angetrieben wird. Zurzeit ist es bei dem herkömmlichen numerischen Steuersystem nicht möglich, dass die numerische Steuervorrichtung die Bewegungsbahn der Roboterspitze vorgibt.
  • Solange die Arbeit des Auswechselns des von der Werkzeugmaschine zu bearbeitenden Werkstücks durch den Roboter ausgeführt werden kann, gibt es kein wesentliches Problem, selbst wenn die Bewegungsbahn nicht durch die numerische Steuervorrichtung wie oben beschrieben festgelegt werden kann. Wenn jedoch der Roboter die Bearbeitung eines Werkstücks, wie z.B. das Entgraten und Schneiden, übernehmen soll, ist es notwendig, nicht nur die Endpunktposition der Roboterspitze, sondern auch einen Bewegungspfad zu bestimmen. Daher kann das Werkstück bei dem herkömmlichen numerischen Steuersystem nicht mit ausreichender Genauigkeit bearbeitet werden.
  • Die vorliegende Offenbarung wurde in Anbetracht der obigen Probleme gemacht, und es ist ein Ziel der vorliegenden Offenbarung, eine numerische Steuervorrichtung und ein numerisches Steuersystem bereitzustellen, die in der Lage sind, ein Werkstück mit hoher Genauigkeit unter Verwendung einer Werkzeugmaschine und eines Roboters zu bearbeiten.
  • Mittel zur Lösung der Probleme
  • Ein Aspekt der vorliegenden Offenbarung ist gerichtet auf eine numerische Steuervorrichtung, die den Betrieb einer Werkzeugmaschine steuert und einen Bewegungsbefehl für eine Robotersteuerung erzeugt, die den Betrieb eines Roboters steuert, um einen Steuerpunkt des Roboters auf der Grundlage eines numerischen Steuerprogramms zu bewegen, wobei die numerische Steuervorrichtung umfasst: einen ersten Bewegungsbefehl-Erzeuger, der eine Zielbewegungsbahn berechnet, die ein Ziel einer Bewegungsbahn des Steuerpunkts ist, und einen ersten Bewegungsbefehl erzeugt, der die Zielbewegungsbahn auf der Grundlage des numerischen Steuerprogramms enthält; einen zweiten Bewegungsbefehl-Erzeuger, der einen zweiten Bewegungsbefehl erzeugt, der die Zielbewegungsbahn auf der Grundlage des numerischen Steuerprogramms nicht enthält; einen Selektor, der als ein Bewegungsbefehl-Erzeugungssubjekt entweder den ersten Bewegungsbefehl-Erzeuger oder den zweiten Bewegungsbefehl-Erzeuger auswählt; und einen Sender, der einen von dem Bewegungsbefehl-Erzeugungssubjekt erzeugten Bewegungsbefehl an die Robotersteuerung überträgt.
  • Ein weiterer Aspekt der vorliegenden Offenbarung ist auf ein numerisches Steuersystem gerichtet, das Folgendes umfasst: eine numerische Steuervorrichtung, die den Betrieb einer Werkzeugmaschine steuert und einen Bewegungsbefehl zum Bewegen eines Steuerpunkts eines Roboters erzeugt; und eine Robotersteuerung, die mit der numerischen Steuervorrichtung kommunizieren kann und den Betrieb des Roboters auf der Grundlage eines von der numerischen Steuervorrichtung übertragenen Bewegungsbefehls steuert, wobei die numerische Steuervorrichtung Folgendes umfasst einen ersten Bewegungsbefehl-Erzeuger, der eine Zielbewegungsbahn berechnet, die ein Ziel einer Bewegungsbahn des Steuerpunkts ist, und einen ersten Bewegungsbefehl erzeugt, der die Zielbewegungsbahn auf der Grundlage des numerischen Steuerprogramms enthält; einen zweiten Bewegungsbefehl-Erzeuger, der einen zweiten Bewegungsbefehl erzeugt, der die Zielbewegungsbahn auf der Grundlage des numerischen Steuerprogramms nicht enthält; einen Selektor, der als ein Bewegungsbefehl-Erzeugungssubjekt entweder den ersten Bewegungsbefehl-Erzeuger oder den zweiten Bewegungsbefehl-Erzeuger auswählt; und einen Sender, der einen von dem Bewegungsbefehl-Erzeugungssubjekt erzeugten Bewegungsbefehl an die Robotersteuerung überträgt, und bei dem die Robotersteuerung den Betrieb des Roboters auf der Grundlage des zweiten Bewegungsbefehls steuert, wenn sie den zweiten Bewegungsbefehl empfängt, und den Betrieb des Roboters steuert, um den Steuerpunkt entlang der Zielbewegungsbahn zu bewegen, wenn sie den ersten Bewegungsbefehl empfängt.
  • Auswirkungen der Erfindung
  • Gemäß einem Aspekt der vorliegenden Offenbarung ist es beispielsweise möglich, den Steuerpunkt des Roboters entlang der von der numerischen Steuervorrichtung berechneten Zielbewegungsbahn zu bewegen, indem der erste Bewegungsbefehl, der die Zielbewegungsbahn enthält, von der numerischen Steuervorrichtung an die Robotersteuerung übertragen wird, wenn der Roboter mit der Bearbeitung eines Werkstücks beauftragt wird, so dass es möglich ist, das Werkstück mit hoher Genauigkeit durch den Roboter zu bearbeiten. Darüber hinaus ist es beispielsweise in einem Fall, in dem der Roboter Arbeiten ausführt, die keine Bearbeitung eines Werkstücks beinhalten, insbesondere Arbeiten zum Transport eines Werkstücks, für die Robotersteuervorrichtung möglich, den Steuerpunkt des Roboters in der kürzesten Zeit oder auf dem kürzesten Weg zu bewegen, indem ein zweiter Bewegungsbefehl, der die erste Zielbewegungsbahn nicht enthält, von der numerischen Steuervorrichtung an die Robotersteuervorrichtung übertragen wird, unter Berücksichtigung der dynamischen Eigenschaften des Roboters, so dass es auch möglich ist, die Bearbeitungszykluszeit des Werkstücks durch die Werkzeugmaschine und den Roboter zu verkürzen.
  • Kurze Beschreibung der Zeichnungen
    • 1 ist eine schematische Darstellung eines numerischen Steuersystems gemäß einer Ausführungsform der vorliegenden Offenbarung;
    • 2 ist ein Funktionsblockdiagramm einer numerischen Steuervorrichtung und einer Robotersteuervorrichtung;
    • 3 ist ein Diagramm, das ein Beispiel für ein numerisches Steuerungsprogramm für einen Roboter zeigt;
    • 4A ist ein Sequenzdiagramm (Teil 1), das einen Signal- und Informationsfluss zwischen der numerischen Steuervorrichtung und der Robotersteuervorrichtung sowie einen von der Robotersteuervorrichtung ausgeführten Prozess zeigt, wenn die numerische Steuervorrichtung auf der Grundlage des in 3 gezeigten Programms betrieben wird; und
    • 4B ist ein Sequenzdiagramm (Teil 2), das einen Signal- und Informationsfluss zwischen der numerischen Steuervorrichtung und der Robotersteuervorrichtung sowie einen von der Robotersteuervorrichtung ausgeführten Prozess zeigt, wenn die numerische Steuervorrichtung auf der Grundlage des in 3 gezeigten Programms betrieben wird.
  • Bevorzugte Ausführungsform der Erfindung
  • Nachfolgend wird ein numerisches Steuersystem 1 gemäß einer Ausführungsform der vorliegenden Offenbarung unter Bezugnahme auf die Zeichnungen beschrieben.
  • 1 ist eine schematische Darstellung eines numerischen Steuersystems 1 gemäß der vorliegenden Ausführungsform.
  • Das numerische Steuersystem 1 umfasst eine Werkzeugmaschine 2, eine numerische Steuervorrichtung (CNC) 5 zur Steuerung der Bewegung der Werkzeugmaschine 2, einen Roboter 3, der in der Nähe der Werkzeugmaschine 2 angeordnet ist, und eine Robotersteuervorrichtung 6, die mit der numerischen Steuervorrichtung 5 kommunizierend verbunden ist. Die numerische Steuervorrichtung 5 steuert die Bewegung der Werkzeugmaschine 2, erzeugt einen Befehl an die Robotersteuervorrichtung 6 zur Steuerung der Bewegung des Roboters 3 und überträgt den Befehl an die Robotersteuervorrichtung 6 auf der Grundlage eines vorgegebenen numerischen Steuerprogramms. Die Robotersteuervorrichtung 6 steuert die Bewegung des Roboters 3 in Übereinstimmung mit einem von der numerischen Steuervorrichtung 5 übertragenen Befehl.
  • Die Werkzeugmaschine 2 bearbeitet ein Werkstück (nicht dargestellt) in Übereinstimmung mit einem Werkzeugmaschinen-Steuersignal, das von der numerischen Steuervorrichtung 5 übertragen wird. Bei der Werkzeugmaschine 2 handelt es sich beispielsweise um eine Drehbank, eine Kugelmühle, eine Fräsmaschine, eine Schleifmaschine, eine Laserbearbeitungsmaschine, eine Spritzgießmaschine oder ähnliches, ohne darauf beschränkt zu sein.
  • Der Roboter 3 bewegt sich unter der Kontrolle der Robotersteuervorrichtung 6 und führt eine vorbestimmte Operation an einem Werkstück durch, das beispielsweise von der Werkzeugmaschine 2 bearbeitet wird. Der Roboter 3 ist zum Beispiel ein Mehrgelenkroboter und umfasst ein Multifunktionswerkzeug 32, das an einem Armspitzenabschnitt 31 des Roboters 3 angebracht ist und ein Werkstück hält und bearbeitet. Im Folgenden wird ein Fall beschrieben, in dem der Roboter 3 ein sechsachsiger Knickarmroboter ist, aber die vorliegende Erfindung ist nicht darauf beschränkt. In der folgenden Beschreibung ist der Roboter 3 ein sechsachsiger Knickarmroboter, aber die Anzahl der Achsen ist nicht darauf beschränkt.
  • Das Multifunktionswerkzeug 32 umfasst beispielsweise eine Vielzahl von Werkzeugen wie ein Entgratungswerkzeug zum Entfernen von winzigen Vorsprüngen (so genannter Grat), die auf einem von der Werkzeugmaschine 2 bearbeiteten Werkstück verbleiben, ein Schneidwerkzeug zum Schneiden des Werkstücks und ein Greif- oder Haltewerkzeug zum Greifen oder Halten des Werkstücks, und jedes dieser Vielzahl von Werkzeugen kann als ein zu verwendendes Werkzeug ausgewählt werden. Das heißt, durch die Auswahl eines Entgratungswerkzeugs als ein Werkzeug, das von dem Multifunktionswerkzeug 32 verwendet wird, ist es möglich, eine Entgratungsbearbeitung an einem Werkstück durchzuführen, das von der Werkzeugmaschine 2 durch den Roboter 3 bearbeitet wird. Durch die Auswahl eines Schneidwerkzeugs als ein vom Multifunktionswerkzeug 32 verwendetes Werkzeug kann der Roboter 3 ein Werkstück der Werkzeugmaschine 2 schneiden. Durch die Auswahl eines Greifwerkzeugs als verwendetes Werkzeug des Multifunktionswerkzeugs 32 ist es außerdem möglich, ein Werkstück der Werkzeugmaschine 2 durch den Roboter 3 auszutauschen.
  • Die numerische Steuervorrichtung 5 und die Robotersteuervorrichtung 6 sind jeweils ein Computer, der durch eine Hardware konfiguriert ist, die eine arithmetische Verarbeitungseinheit wie eine CPU (Central Processing Unit), eine Hilfsspeichereinheit wie eine HDD (Hard Disk Drive) oder SSD (Solid State Drive), in der verschiedene Programme gespeichert sind, eine Hauptspeichereinheit wie RAM (Random Access Memory), in der Daten vorübergehend gespeichert werden, die die arithmetische Verarbeitungseinheit zur Ausführung der Programme benötigt, und eine Bedienungseinrichtung wie eine Tastatur, in der der Bediener verschiedene Operationen ausführt, umfasst, eine Hauptspeichereinheit wie RAM (Random Access Memory), in der Daten gespeichert werden, die vorübergehend für die arithmetische Verarbeitungseinheit zur Ausführung der Programme erforderlich sind, ein Bedienmittel wie eine Tastatur, mit der der Bediener verschiedene Operationen ausführt, und ein Anzeigemittel wie ein Display zur Anzeige verschiedener Arten von Informationen für den Bediener. Die Robotersteuervorrichtung 6 und die numerische Steuervorrichtung 5 können verschiedene Signale zu- und voneinander senden und empfangen, zum Beispiel über Ethernet (eingetragenes Warenzeichen).
  • 2 ist ein Funktionsblockdiagramm der numerischen Steuervorrichtung 5 und der Robotersteuervorrichtung 6.
  • Die numerische Steuervorrichtung 5 erzeugt verschiedene Befehle zur Steuerung der Bewegung des Roboters 3 und des Wechselvorgangs des im Multifunktionswerkzeug 32 verwendeten Werkzeugs und überträgt die erzeugten Roboterbefehle gemäß dem unten beschriebenen Verfahren an die Robotersteuervorrichtung 6. Auf der Grundlage des von der numerischen Steuervorrichtung 5 übertragenen Roboterbefehls erzeugt die Robotersteuervorrichtung 6 ein Robotersteuersignal zur Steuerung der Bewegung des Roboters 3 gemäß dem unten beschriebenen Verfahren, erzeugt ein I/O-Signal zum Wechseln der vom Multifunktionswerkzeug 32 verwendeten Werkzeuge und gibt das erzeugte Robotersteuersignal und das I/O-Signal in den Roboter 3 ein. Somit steuert die Robotersteuervorrichtung 6 die Bewegung des Roboters 3 und den Wechselvorgang des verwendeten Werkzeugs.
  • Zunächst wird der detaillierte Aufbau der numerischen Steuervorrichtung 5 beschrieben. Wie in 2 gezeigt, sind in der numerischen Steuervorrichtung 5 verschiedene Funktionen wie ein Werkzeugmaschinen-Steuermodul 50, das als Steuersystem der Werkzeugmaschine 2 dient, ein Roboter-Steuermodul 51, das als Steuersystem des Roboters 3 dient, und eine Speichereinheit 52 durch die Hardware-Konfiguration implementiert.
  • Die Speichereinheit 52 speichert beispielsweise eine Vielzahl von numerischen Steuerprogrammen, die auf der Grundlage von Operationen eines Bedieners erstellt wurden. Genauer gesagt speichert die Speichereinheit 52 ein numerisches Steuerprogramm für die Werkzeugmaschine, das als erstes numerisches Steuerprogramm zur Steuerung der Bewegung der Werkzeugmaschine 2 dient, ein numerisches Steuerprogramm für den Roboter, das als zweites numerisches Steuerprogramm zur Steuerung der Bewegung des Roboters 3 über die Robotersteuervorrichtung 6 dient, und dergleichen. Das numerische Steuerprogramm für die Werkzeugmaschine und das numerische Steuerprogramm für den Roboter sind in einer gemeinsamen Programmiersprache beschrieben (z.B. G-Code, M-Code, etc.).
  • Das numerische Steuerungsprogramm für die Werkzeugmaschine wird auf der Grundlage eines Werkzeugmaschinen-Koordinatensystems beschrieben, das als erstes Koordinatensystem dient und dessen Ursprung ein an der Werkzeugmaschine 2 oder in der Nähe der Werkzeugmaschine 2 festgelegter Bezugspunkt ist. Das heißt, in dem numerischen Steuerungsprogramm für die Werkzeugmaschine werden die Position und die Lage des Steuerpunkts der Werkzeugmaschine 2 durch Koordinatenwerte im WerkzeugmaschinenKoordinatensystem beschrieben.
  • Das numerische Steuerungsprogramm für den Roboter wird auf der Grundlage eines Roboterkoordinatensystems als einem zweiten Koordinatensystem beschrieben, das sich vom Koordinatensystem der Werkzeugmaschine unterscheidet. Das heißt, im numerischen Steuerprogramm für den Roboter werden die Position und die Haltung des Steuerpunkts des Roboters 3 (z. B. der Armspitzenabschnitt 31 des Roboters 3) durch Koordinatenwerte in einem Roboterkoordinatensystem beschrieben, das sich vom Koordinatensystem der Werkzeugmaschine unterscheidet. Das Roboterkoordinatensystem ist ein Koordinatensystem, dessen Ursprung ein am oder in der Nähe des Roboters 3 bestimmter Bezugspunkt ist. In der folgenden Beschreibung unterscheidet sich das Roboterkoordinatensystem vom Werkzeugmaschinenkoordinatensystem. Die vorliegende Offenbarung ist jedoch nicht darauf beschränkt. Das Roboterkoordinatensystem kann mit dem Werkzeugmaschinenkoordinatensystem übereinstimmen. Mit anderen Worten, der Ursprung und die Richtung der Koordinatenachse des Roboterkoordinatensystems können mit dem Ursprung und der Richtung der Koordinatenachse des Werkzeugmaschinenkoordinatensystems übereinstimmen.
  • Im numerischen Steuerungsprogramm für den Roboter kann das Roboterkoordinatensystem zwischen zwei oder mehr Koordinatenformaten mit unterschiedlichen Steuerungsachsen umgeschaltet werden. Genauer gesagt, können im numerischen Steuerungsprogramm für den Roboter die Position und die Haltung des Steuerpunkts des Roboters 3 durch das orthogonale Koordinatenformat oder das Gelenkkoordinatenformat angegeben werden.
  • Im Gelenkkoordinatenformat werden die Position und die Haltung des Steuerpunkts des Roboters 3 durch insgesamt sechs reale Koordinatenwerte einschließlich der Drehwinkelwerte (J1, J2, J3, J4, J5, J6) der sechs Gelenke des Roboters 3 angegeben.
  • Im orthogonalen Koordinatenformat werden die Position und die Haltung des Steuerpunkts des Roboters 3 durch insgesamt sechs reale Koordinatenwerte angegeben, darunter drei Koordinatenwerte (X, Y, Z) entlang dreier orthogonaler Koordinatenachsen und drei Drehwinkelwerte (A, B, C) um jede orthogonale Koordinatenachse.
  • Da beim Gelenkkoordinatenformat der Drehwinkel jedes Gelenks des Roboters 3 direkt angegeben wird, sind die Achsenanordnung jedes Arms und Handgelenks des Roboters 3 und die Drehgeschwindigkeit eines Gelenks, das um 360 Grad oder mehr gedreht werden kann (im Folgenden werden diese gemeinsam als „Konfiguration des Roboters 3“ bezeichnet), eindeutig bestimmt. Andererseits kann die Konfiguration des Roboters 3 im orthogonalen Koordinatenformat nicht eindeutig bestimmt werden, da die Position und die Haltung des Steuerpunkts des Roboters 3 durch die sechs Koordinatenwerte (X, Y, Z, A, B, C) bestimmt werden. Daher kann im numerischen Steuerungsprogramm für den Roboter die Konfiguration des Roboters 3 durch den Konfigurationswert P angegeben werden, der ein ganzzahliger Wert mit einer vorgegebenen Anzahl von Ziffern ist. Dementsprechend werden die Position und die Haltung des Steuerpunkts des Roboters 3 und die Konfiguration des Roboters 3 durch sechs Koordinatenwerte (J1, J2, J3, J4, J5, J6) im Gelenkkoordinatenformat und sechs Koordinatenwerte und einen Konfigurationswert (X, Y, Z, A, B, C, P) im orthogonalen Koordinatenformat dargestellt.
  • Im numerischen Steuerungsprogramm für den Roboter kann das Koordinatenformat durch die G-Codes „G68.8“ und „G68.9“ eingestellt werden. Genauer gesagt wird das Koordinatenformat durch die Eingabe des G-Codes „G68.8“ auf das gemeinsame Koordinatenformat und durch die Eingabe des G-Codes „G68.9“ auf das orthogonale Koordinatenformat eingestellt. Die G-Codes „G68.8“ und „G68.9“ zur Einstellung dieser Koordinatenformate sind modal. Dementsprechend wird das Koordinatenformat beibehalten, bis das Koordinatenformat erneut durch den G-Code geändert wird, nachdem das Koordinatenformat durch den G-Code auf das gemeinsame Koordinatenformat oder das orthogonale Koordinatenformat eingestellt wurde. In der vorliegenden Ausführungsform, wenn kein G-Code für die Einstellung dieser Koordinatenformate in dem numerischen Steuerprogramm für den Roboter beschrieben ist, wird das Koordinatenformat automatisch als das orthogonale Koordinatenformat eingestellt, aber die vorliegende Erfindung ist nicht darauf beschränkt.
  • Das Werkzeugmaschinen-Steuermodul 50 erzeugt ein Werkzeugmaschinen-Steuersignal, um hauptsächlich die Bewegung der Werkzeugmaschine 2 in Übereinstimmung mit einem numerischen Steuerprogramm für die Werkzeugmaschine zu steuern, und gibt das Werkzeugmaschinen-Steuersignal an ein Stellglied (nicht dargestellt) der Werkzeugmaschine 2 weiter. Genauer gesagt, liest das Werkzeugmaschinen-Steuermodul 50 ein numerisches Steuerprogramm für die Werkzeugmaschine, das in der Speichereinheit 52 gespeichert ist, und erzeugt ein Werkzeugmaschinen-Steuersignal durch Analyse eines Befehlstyps auf der Grundlage des numerischen Steuerprogramms. Die Werkzeugmaschine 2 bewegt sich in Reaktion auf ein Werkzeugmaschinen-Steuersignal, das vom Werkzeugmaschinen-Steuermodul 50 übertragen wird, und bearbeitet ein Werkstück (nicht dargestellt).
  • Das Robotersteuermodul 51 erzeugt verschiedene Befehle zur Steuerung der Bewegung des Roboters 3 und des Wechselbetriebs des vom Multifunktionswerkzeug 32 verwendeten Werkzeugs in Übereinstimmung mit einem numerischen Steuerprogramm für den Roboter und überträgt die verschiedenen Befehle an die Robotersteuervorrichtung 6. Genauer gesagt umfasst das Robotersteuermodul 51 eine Programmeingabeeinheit 53, eine Eingabe-Analyseeinheit 54, eine Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit 55, eine erste Bewegungsbefehl-Erzeugungseinheit 56, eine zweite Bewegungsbefehl-Erzeugungseinheit 57, eine Werkzeug-/Werkstückinformationen-Verwaltungseinheit 58 und eine Datenübertragungs- /Empfangseinheit 59.
  • Die Programmeingabeeinheit 53 liest ein numerisches Steuerprogramm für den Roboter aus der Speichereinheit 52 und gibt das numerische Steuerprogramm sequentiell in die Eingabe-Analyseeinheit 54 ein.
  • Die Eingabe-Analyseeinheit 54 analysiert den Befehlstyp auf der Grundlage des numerischen Steuerprogramms für den Roboter, das von der Programmeingabeeinheit 53 für jeden Befehlsblock eingegeben wird, und überträgt das Analyseergebnis an die Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit 55 und die Werkzeug-/Werkstückinformationen-Verwaltungseinheit 58. Vorzugsweise gibt die Eingabe-Analyseeinheit 54 zunächst das Analyseergebnis des numerischen Steuerungsprogramms für den Roboter für eine vorbestimmte Zeit aus. Mit anderen Worten, die Eingabe-Analyseeinheit 54 überträgt vorzugsweise das Analyseergebnis des Befehlsblocks, der nach einer vorbestimmten Zeitspanne von der gegenwärtigen Zeit unter der Vielzahl von Befehlsblöcken ausgeführt wird, die das numerische Steuerprogramm für den Roboter bilden, an die Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit 55 und die Werkzeug-/Werkstückinformationen-Verwaltungseinheit 58.
  • Wenn es sich bei der Art des Befehls, der auf der Grundlage des numerischen Steuerungsprogramms für den Roboter erfasst wurde, beispielsweise um einen Befehl zum Bewegen des Steuerpunkts des Roboters 3 handelt, überträgt die Eingabe-Analyseeinheit 54 den erfassten Befehl an die Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit 55.
  • Wenn die Art des Befehls, der auf der Grundlage des numerischen Steuerungsprogramms für den Roboter erfasst wird, beispielsweise ein Befehl zum Wechseln des Werkzeugs ist, das von dem auf dem Roboter 3 montierten Multifunktionswerkzeug 32 verwendet wird, überträgt die Eingabe-Analyseeinheit 54 den erfassten Befehl an die Werkzeug-/Werkstückinformationen-Verwaltungseinheit 58.
  • Wenn ein Befehl von der Eingabe-Analyseeinheit 54 eingegeben wird, wählt die Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit 55 entweder die erste Bewegungsbefehl-Erzeugungseinheit 56 oder die zweite Bewegungsbefehl-Erzeugungseinheit 57 als ein Bewegungsbefehl-Erzeugungssubjekt aus, um einen Bewegungsbefehl zum Bewegen des Steuerpunkts des Roboters 3 zu erzeugen. Wenn die erste Bewegungsbefehl-Erzeugungseinheit 56 als das Bewegungsbefehl-Erzeugungssubjekt ausgewählt wird, überträgt die Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit 55 den von der Eingabe-Analyseeinheit 54 eingegebenen Befehl an die erste Bewegungsbefehl-Erzeugungseinheit 56, und wenn die zweite Bewegungsbefehl-Erzeugungseinheit 57 als das Bewegungsbefehl-Erzeugungssubjekt ausgewählt wird, überträgt die Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit 55 den von der Eingabe-Analyseeinheit 54 eingegebenen Befehl an die zweite Bewegungsbefehl-Erzeugungseinheit 57.
  • Wie in 2 gezeigt, ist es in der numerischen Steuervorrichtung 5 möglich, dass die erste Bewegungsbefehl-Erzeugungseinheit 56 und die zweite Bewegungsbefehl-Erzeugungseinheit 57 den Bewegungsbefehl zum Bewegen des Steuerpunkts des Roboters 3 erzeugen. Wie später beschrieben, wird unter dem zweiten Bewegungsbefehl, der von der ersten Bewegungsbefehl-Erzeugungseinheit 56 erzeugt wird, die Bewegungsbahn vom Startpunkt zum Endpunkt des Steuerpunkts des Roboters 3 durch Interpolationsverarbeitung bestimmt, die von der ersten Bewegungsbefehl-Erzeugungseinheit 56 ausgeführt wird. Andererseits wird unter dem zweiten Bewegungsbefehl, der von der zweiten Bewegungsbefehl-Erzeugungseinheit 57 erzeugt wird, die Bewegungsbahn des Steuerpunkts des Roboters 3 durch die Interpolationsverarbeitung bestimmt, die von einer Bahn-Steuereinheit 64 (später beschrieben) der Robotersteuervorrichtung 6 ausgeführt wird. Das heißt, wenn die erste Bewegungsbefehl-Erzeugungseinheit 56 als das Bewegungsbefehl-Erzeugungssubjekt ausgewählt wird, wird die Interpolationsverarbeitung zur Bestimmung der Bewegungsbahn durch die numerische Steuervorrichtung 5 ausgeführt, und wenn die zweite Bewegungsbefehl-Erzeugungseinheit 57 als das Bewegungsbefehl-Erzeugungssubjekt ausgewählt wird, wird die Interpolationsverarbeitung zur Bestimmung der Bewegungsbahn durch die Roboter-Steuervorrichtung 6 ausgeführt.
  • Im Allgemeinen ist für die Werkzeugmaschine eine hohe Bearbeitungsgenauigkeit erforderlich, während für den Roboter eine hohe Vielseitigkeit erforderlich ist, so dass die Steuerungsgenauigkeit der numerischen Steuervorrichtung höher ist als die der Robotersteuervorrichtung. Daher ist es in einem Fall, in dem der Roboter 3 ein Werkstück bearbeitet (z. B. Entgraten und Schneiden), um das Werkstück mit hoher Genauigkeit zu bearbeiten, vorzuziehen, dass die Bewegungsbahn des Steuerpunkts des Roboters 3 entsprechend der Form des zu verwendenden Werkzeugs, der Einbauposition des Werkstücks oder ähnlichem durch die von der numerischen Steuervorrichtung 5 ausgeführte Interpolationsverarbeitung genau bestimmt wird. Mit anderen Worten, wenn der Roboter 3 ein Werkstück bearbeitet, ist es vorteilhaft, die erste Bewegungsbefehl-Erzeugungseinheit 56 als ein Bewegungsbefehl-Erzeugungssubjekt auszuwählen.
  • Andererseits ist es im Falle der Durchführung des Werkstückwechselvorgangs durch den Roboter 3, da der Steuerpunkt des Roboters 3 genau an der Endpunktposition angehalten werden muss, vorzuziehen, dass die Bewegungsbahn des Steuerpunkts des Roboters 3 in der kürzesten Zeit oder auf dem kürzesten Weg unter Berücksichtigung der dynamischen Eigenschaften des Roboters 3 durch die von der Robotersteuervorrichtung 6 ausgeführte Interpolationsverarbeitung bestimmt wird. Das heißt, wenn der Roboter 3 das Werkstück nicht bearbeitet, kann man sagen, dass es vorzuziehen ist, die zweite Bewegungsbefehl-Erzeugungseinheit 57 als das Bewegungsbefehl-Erzeugungssubjekt auszuwählen.
  • Im numerischen Steuerungsprogramm für den Roboter kann das Bewegungsbefehl-Erzeugungssubjekt, d.h. die Ausführungseinheit der Interpolationsverarbeitung, durch die G-Codes „G100.0“ und „G100.1“ ausgewählt werden. Genauer gesagt, wird durch Eingabe des G-Codes „G100.0“ die zweite Bewegungsbefehl-Erzeugungseinheit 57 als Bewegungsbefehl-Erzeugungssubjekt ausgewählt. Das heißt, die Bewegungsbahn des Steuerpunkts wird durch die Interpolationsverarbeitung bestimmt, die von der Robotersteuervorrichtung 6 ausgeführt wird. Durch Eingabe des G-Codes „G100.1“ wird die erste Bewegungsbefehl-Erzeugungseinheit 56 als Bewegungsbefehl-Erzeugungseinheit ausgewählt. Das heißt, die Bewegungsbahn des Steuerpunkts wird durch die von der numerischen Steuervorrichtung 5 durchgeführte Interpolationsverarbeitung bestimmt. Die G-Codes „G100.0“ und „G100.1“ zur Auswahl dieser Bewegungsbefehl-Erzeugungssubjekte sind modal. Nachdem das Bewegungsbefehl-Erzeugungssubjekt durch die G-Codes festgelegt wurde, wird das Bewegungsbefehl-Erzeugungssubjekt daher beibehalten, bis das Bewegungsbefehl-Erzeugungssubjekt durch die G-Codes geändert wird.
  • In der vorliegenden Ausführungsform wird ein Fall beschrieben, in dem die Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit 55 als das Bewegungsbefehl-Erzeugungssubjekt eines der ersten Bewegungsbefehl-Erzeugungseinheit 56 und der zweiten Bewegungsbefehl-Erzeugungseinheit 57 auswählt, das durch den G-Code im numerischen Steuerungsprogramm für den Roboter bezeichnet ist. Die vorliegende Offenbarung ist jedoch nicht darauf beschränkt. Beispielsweise kann die Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit 55 auf der Grundlage eines numerischen Steuerprogramms für den Roboter bestimmen, ob der Roboter 3 einen Werkstückbearbeitungsvorgang oder eine Werkstücktransportbewegung durchführt, und kann die erste Bewegungsbefehl-Erzeugungseinheit 56 als ein Bewegungsbefehl-Erzeugungssubjekt auswählen, wenn der Roboter 3 einen Werkstückbearbeitungsvorgang durchführt, und kann die zweite Bewegungsbefehl-Erzeugungseinheit 57 als ein Bewegungsbefehl-Erzeugungssubjekt auswählen, wenn der Roboter 3 eine Werkstücktransportbewegung durchführt.
  • Ob der Roboter 3 den Werkstückbearbeitungsvorgang oder die Werkstücktransportbewegung durchführt, kann beispielsweise durch die Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit 55 in Abhängigkeit vom Vorhandensein oder Fehlen von G-Codes (G40 bis G42) zur Verwendung der später beschriebenen Werkzeugdurchmesser-Kompensationsfunktion, von G-Codes (G43, G44, G49) zur Verwendung der später beschriebenen Werkzeuglängen-Kompensationsfunktion und von G-Codes (G54.4) zur Verwendung der später beschriebenen Werkstückeinbaufehlerkompensationsfunktion bestimmt werden. Das heißt, wenn verschiedene G-Codes zur Verwendung der verschiedenen Kompensationsfunktionen, wie oben beschrieben, in dem von der Eingabe-Analyseeinheit 54 eingegebenen Befehl enthalten sind, kann die Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit 55 bestimmen, dass das Werkstück bearbeitet wird, und kann die erste Bewegungsbefehl-Erzeugungseinheit 56 als das Bewegungsbefehl-Erzeugungssubjekt auswählen, und wenn verschiedene G-Codes, wie oben beschrieben, nicht enthalten sind, kann die Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit 55 bestimmen, dass das Werkstück transportiert wird, und kann die zweite Bewegungsbefehl-Erzeugungseinheit 57 als das Bewegungsbefehl-Erzeugungssubjekt auswählen.
  • Wenn die zweite Bewegungsbefehl-Erzeugungseinheit 57 einen Befehl von der Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit 55 empfängt, erzeugt die zweite Bewegungsbefehl-Erzeugungseinheit 57 einen zweiten Bewegungsbefehl, der dem Befehl entspricht, schreibt den erzeugten zweiten Bewegungsbefehl in die Datenübertragungs-/Empfangseinheit 59 und überträgt den zweiten Bewegungsbefehl an die Robotersteuervorrichtung 6. Dabei enthält der von der zweiten Bewegungsbefehl-Erzeugungseinheit 57 erzeugte zweite Bewegungsbefehl zumindest Informationen über die Positionskoordinaten und die Geschwindigkeit des Endpunkts des Steuerpunkts des Roboters 3, der auf der Grundlage des numerischen Steuerprogramms für den Roboter bestimmt wird, jedoch keine Informationen über eine später beschriebene erste Zielbewegungsbahn.
  • Wenn die erste Bewegungsbefehl-Erzeugungseinheit 56 einen Befehl von der Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit 55 empfängt, liest die erste Bewegungsbefehl-Erzeugungseinheit 56 die im Speicher 58m der Werkzeug-/Werkstückinformationen-Verwaltungseinheit 58 gespeicherten Werkzeuginformationen und Werkstückinformationen, erzeugt einen ersten Bewegungsbefehl auf der Grundlage der Werkzeuginformationen und Werkstückinformationen und eines von der Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit 55 eingegebenen Befehls, schreibt den erzeugten zweiten Bewegungsbefehl in die Datenübertragungs-/Empfangseinheit 59 und überträgt den ersten Bewegungsbefehl an die Robotersteuervorrichtung 6.
  • Genauer gesagt führt die erste Bewegungsbefehl-Erzeugungseinheit 56 die Interpolationsverarbeitung auf der Grundlage des von der Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit 55 eingegebenen Befehls durch, wodurch eine erste Zielbewegungsbahn berechnet wird, die ein Ziel der Bewegungsbahn vom Startpunkt des Steuerpunkts des Roboters 3 zu dem auf der Grundlage des numerischen Steuerprogramms für den Roboter bezeichneten Endpunkt ist, und erzeugt einen ersten Bewegungsbefehl, der die erste Zielbewegungsbahn enthält. Im Gegensatz zu dem oben beschriebenen zweiten Bewegungsbefehl enthält der erste Bewegungsbefehl nicht nur die Information über die Positionskoordinaten des Endpunkts des Steuerpunkts des Roboters 3, sondern auch die Information über den Koordinatenwert der bezeichneten Position zu jeder bezeichneten Zeit und die Beschleunigung/Verzögerung an jeder bezeichneten Position, die durch Zeitteilung der ersten Zielbewegungsbahn erhalten wird.
  • Wie oben beschrieben, ist in der ersten Bewegungsbefehl-Erzeugungseinheit 56 die für die Erzeugung des Bewegungsbefehls erforderliche Zeit länger als in der zweiten Bewegungsbefehl-Erzeugungseinheit 57, da es notwendig ist, die erste Zielbewegungsbahn durch Ausführen der Interpolationsverarbeitung zu berechnen. In Anbetracht dessen und unter Verwendung der Tatsache, dass das Analyseergebnis des Befehlsblocks, der nach einer vorbestimmten Zeit ausgeführt wird, zuerst von der Eingabe-Analyseeinheit 54 ausgegeben wird, wie oben beschrieben, ist es vorteilhaft, dass die erste Bewegungsbefehl-Erzeugungseinheit 56 den ersten Bewegungsbefehl erzeugt, indem sie das Analyseergebnis des Befehlsblocks, der nach einer vorbestimmten Zeit ausgeführt wird, von der gegenwärtigen Zeit unter der Vielzahl von Befehlsblöcken, die das numerische Steuerprogramm für den Roboter bilden, im Voraus abruft oder voraussieht. Dadurch ist es möglich, eine Zeit für die erste Bewegungsbefehl-Erzeugungseinheit 56 sicherzustellen, um den ersten Bewegungsbefehl zu erzeugen.
  • Wenn die Werkzeug-/Werkstückinformationen-Verwaltungseinheit 58 einen Befehl zum Wechseln des vom Multifunktionswerkzeug 32 verwendeten Werkzeugs von der Eingabe-Analyseeinheit 54 empfängt, erzeugt die Werkzeug-/Werkstückinformationen-Verwaltungseinheit 58 einen Werkzeugwechselbefehl entsprechend dem Befehl, schreibt den erzeugten Werkzeugwechselbefehl in die Datenübertragungs-/Empfangseinheit 59 und überträgt den Werkzeugwechselbefehl an die Robotersteuervorrichtung 6.
  • Hier umfasst die Werkzeug-/Werkstückinformationen-Verwaltungseinheit 58 den Speicher 58m zum Speichern von Werkzeuginformationen bezüglich der Formen einer Vielzahl von Werkzeugen, die in dem am Roboter 3 montierten Multifunktionswerkzeug 32 verwendbar sind, d.h. die Formen von Werkzeugen, die durch den Werkzeugwechselbefehl entsprechend geändert werden können (z.B. Informationen über den Werkzeugdurchmesser, die Werkzeuglänge, die Form eines Schneidwerkzeugs und ähnliches für jedes Werkzeug), Werkzeugspezifizierungsinformationen zum Spezifizieren des gegenwärtig vom Roboter 3 verwendeten Werkzeugs und Werkstückinformationen bezüglich der Einbauposition des gegenwärtig auf der Werkzeugmaschine 2 installierten Werkstücks (z.B. Informationen über den Einbaufehler eines Werkstücks in Bezug auf eine vorbestimmte Referenzeinbauposition). Unter den im Speicher 58m gespeicherten Informationen schreibt die Werkzeug-/Werkstückinformationen-Verwaltungseinheit 58 die Werkzeugspezifizierungsinformationen und die Werkstückinformationen auf der Grundlage eines von der Eingabe-Analyseeinheit 54 eingegebenen Befehls, von dem Werkzeugmaschinen-Steuermodul 50 übertragener Informationen und dergleichen in geeigneter Weise um.
  • Die Werkzeuginformationen (der Werkzeugdurchmesser, die Werkzeuglänge, die Form des Schneidwerkzeugs und ähnliches) und die Werkstückinformationen (der Einbaufehler des Werkstücks), die im Speicher 58m der Werkzeug-/Werkstückinformationen-Verwaltungseinheit 58 gespeichert sind, können von der ersten Bewegungsbefehl-Erzeugungseinheit 56 in geeigneter Weise herangezogen werden, wenn die erste Bewegungsbefehl-Erzeugungseinheit 56 den ersten Bewegungsbefehl unter Verwendung der Werkzeugdurchmesser-Kompensationsfunktion, der Werkzeuglängen-Kompensationsfunktion und der Werkstück-Einbaufehler-Kompensationsfunktion erzeugt.
  • Die Werkzeugdurchmesser-Kompensationsfunktion ist eine Funktion, bei der die erste Bewegungsbefehl-Erzeugungseinheit 56 eine erste Zielbewegungsbahn des Steuerpunkts berechnet, indem sie den Bewegungspfad des Steuerpunkts, der auf der Grundlage des numerischen Steuerprogramms für den Roboter bestimmt wurde, innerhalb einer Ebene, die den Bewegungspfad einschließt, um den Werkzeugradius nach rechts oder nach links verschiebt. Wenn der G-Code „G41“ in dem numerischen Steuerprogramm für den Roboter enthalten ist, liest die erste Bewegungsbefehl-Erzeugungseinheit 56 die Werkzeuginformationen über das durch einen vorbestimmten Befehl bezeichnete Werkzeug zusammen mit dem G-Code aus der Werkzeug-/Werkstückinformationen-Verwaltungseinheit 58 und berechnet die erste Zielbewegungsbahn durch Versetzen des Bewegungspfads des Steuerpunkts zur linken Seite um den Werkzeugradius. Wenn der G-Code „G42“ in dem numerischen Steuerprogramm für den Roboter enthalten ist, liest die erste Bewegungsbefehl-Erzeugungseinheit 56 die Werkzeuginformationen über das Werkzeug, das durch einen vorbestimmten Befehl zusammen mit dem G-Code von der Werkzeug-/Werkstückinformationen-Verwaltungseinheit 58 bezeichnet wird, und berechnet eine erste Zielbewegungsbahn durch Versetzen des Bewegungspfads des Steuerpunkts nach rechts um den Werkzeugradius. Wenn ein Befehl, der ein Werkzeug spezifiziert, nicht in dem numerischen Steuerungsprogramm für den Roboter enthalten ist, liest die erste Bewegungsbefehl-Erzeugungseinheit 56 von der Werkzeug-/Werkstückinformationen-Verwaltungseinheit 58 die Werkzeuginformationen über das Werkzeug, das durch die im Speicher 58m gespeicherten Werkzeugspezifizierungsinformationen spezifiziert ist. Wenn der G-Code „G40“ im numerischen Steuerungsprogramm für den Roboter enthalten ist, hebt die erste Bewegungsbefehl-Erzeugungseinheit 56 die Werkzeugdurchmesser-Kompensationsfunktion wie oben beschrieben auf.
  • Die Werkzeuglängen-Kompensationsfunktion ist eine Funktion, bei der die erste Bewegungsbefehl-Erzeugungseinheit 56 eine erste Zielbewegungsbahn des Steuerpunkts berechnet, indem sie den Bewegungspfad des Steuerpunkts, die auf der Grundlage des numerischen Steuerprogramms für den Roboter bestimmt wurde, zur positiven Seite oder zur negativen Seite in einer Richtung orthogonal zur Ebene, die den Bewegungspfad enthält, um einen vorbestimmten Kompensationsbetrag entsprechend der Werkzeuglänge versetzt. Wenn der G-Code „G43“ in dem numerischen Steuerprogramm für den Roboter enthalten ist, liest die erste Bewegungsbefehl-Erzeugungseinheit 56 Werkzeuginformationen über das durch einen vorbestimmten Befehl bezeichnete Werkzeug zusammen mit dem G-Code aus der Werkzeug-/Werkstückinformationen-Verwaltungseinheit 58 und berechnet eine erste Zielbewegungsbahn durch Versetzen des Bewegungspfads des Steuerpunkts zur positiven Seite um einen der Werkzeuglänge entsprechenden Kompensationsbetrag. Wenn der G-Code „G44“ in dem numerischen Steuerprogramm für den Roboter enthalten ist, liest die erste Bewegungsbefehl-Erzeugungseinheit 56 Werkzeuginformationen über das durch einen vorbestimmten Befehl bezeichnete Werkzeug zusammen mit dem G-Code aus der Werkzeug-/Werkstückinformationen-Verwaltungseinheit 58 und berechnet eine erste Zielbewegungsbahn durch Versetzen des Bewegungspfads des Steuerpunkts zur negativen Seite um einen Kompensationsbetrag, der der gegenwärtig verwendeten Werkzeuglänge entspricht. Wenn ein Befehl, der ein Werkzeug spezifiziert, nicht in dem numerischen Steuerprogramm für den Roboter enthalten ist, liest die erste Bewegungsbefehl-Erzeugungseinheit 56 von der Werkzeug-/Werkstückinformationen-Verwaltungseinheit 58 die Werkzeuginformationen über das Werkzeug, das durch die im Speicher 58m der Werkzeug-/Werkstückinformationen-Verwaltungseinheit 58 gespeicherten werkzeugspezifischen Informationen spezifiziert ist. Wenn der G-Code „G49“ im numerischen Steuerungsprogramm für den Roboter enthalten ist, hebt die erste Bewegungsbefehl-Erzeugungseinheit 56 die Werkzeuglängen-Kompensationsfunktion wie oben beschrieben auf.
  • Die Funktion zur Kompensation des Werkstückeinbaufehlers ist eine Funktion, bei der die erste Bewegungsbefehl-Erzeugungseinheit 56 eine erste Zielbewegungsbahn des Steuerpunkts berechnet, indem sie den Bewegungspfad des Steuerpunkts, der auf der Grundlage des numerischen Steuerprogramms für den Roboter bestimmt wurde, um einen Betrag dreht, der dem Werkstückeinbaufehler im dreidimensionalen Raum entspricht. Die erste Bewegungsbefehl-Erzeugungseinheit 56 liest die Werkstückinformationen von der Werkzeug-/Werkstückinformationen-Verwaltungseinheit 58 in einer Periode, die durch den G-Code „G54.4“ im numerischen Steuerprogramm für den Roboter bezeichnet ist, und berechnet eine erste Zielbewegungsbahn durch Drehen des Bewegungspfads des Steuerpunkts im dreidimensionalen Raum um einen Betrag, der dem Installationsfehler des aktuellen Werkstücks entspricht.
  • Wenn der zweite Bewegungsbefehl von der zweiten Bewegungsbefehl-Erzeugungseinheit 57 geschrieben wird, überträgt die Datenübertragungs- /Empfangseinheit 59 den zweiten Bewegungsbefehl an die Datenübertragungs-/Empfangseinheit 69 der Robotersteuervorrichtung 6 zu einem Zeitpunkt, der auf der Grundlage des numerischen Steuerprogramms für den Roboter bestimmt wird. Wenn der erste Bewegungsbefehl von der Bewegungsbefehl-Erzeugungseinheit 56 geschrieben wird, überträgt die Datenübertragungs-/Empfangseinheit 59 außerdem den ersten Bewegungsbefehl an die Datenübertragungs-/Empfangseinheit 69 zu einem Zeitpunkt, der auf der Grundlage des numerischen Steuerprogramms für den Roboter bestimmt wird. Somit überträgt die Datenübertragungs-/Empfangseinheit 59 den von dem Bewegungsbefehl-Erzeugungssubjekt erzeugten Bewegungsbefehl an die Robotersteuervorrichtung 6.
  • Wie oben beschrieben, enthält der erste Bewegungsbefehl den Koordinatenwert der bezeichneten Position für jeden bezeichneten Zeitpunkt, der durch Zeitteilung der ersten Zielbewegungsbahn erhalten wird. Wenn die erste Bewegungsbefehl-Erzeugungseinheit 56 als Bewegungsbefehl-Erzeugungssubjekt ausgewählt wird, überträgt die Datenübertragungs-/Empfangseinheit 59 daher vorzugsweise den ersten Bewegungsbefehl zu jedem festgelegten Zeitpunkt an die Robotersteuervorrichtung 6.
  • Wenn die Werkzeug-/Werkstückinformationen-Verwaltungseinheit 58 einen Werkzeugwechselbefehl schreibt, überträgt die Datenübertragungs-/Empfangseinheit 59 den Werkzeugwechselbefehl an die Datenübertragungs-/Empfangseinheit 69 zu einem Zeitpunkt, der auf der Grundlage des numerischen Steuerprogramms für den Roboter bestimmt wird.
  • Als nächstes wird die Konfiguration der Robotersteuervorrichtung 6 im Detail beschrieben. Wie in 2 gezeigt, sind verschiedene Funktionen wie eine Eingabe-Analyseeinheit 61, eine Bewegungsbefehl-Ermittlungseinheit 62, eine I/O-Steuereinheit 63, eine Bahn-Steuereinheit 64, eine Programmverwaltungseinheit 65, eine Roboterbefehl-Erzeugungseinheit 66, eine Kinematik-Steuereinheit 67, eine Servosteuereinheit 68 und eine Datenübertragungs-/Empfangseinheit 69 in der Robotersteuervorrichtung 6 durch die obige Hardwarekonfiguration implementiert.
  • Beim Empfang von Befehlen wie einem ersten Bewegungsbefehl, einem zweiten Bewegungsbefehl und einem Werkzeugwechselbefehl, die von der Datenübertragungs-/Empfangseinheit 59 der numerischen Steuervorrichtung 5 übertragen werden, gibt die Datenübertragungs-/Empfangseinheit 69 diese Befehle sequentiell in die Eingabe-Analyseeinheit 61 ein.
  • Die Eingabe-Analyseeinheit 61 analysiert einen von der Datenübertragungs-/Empfangseinheit 69 eingegebenen Befehl und überträgt das Analyseergebnis an die Bewegungsbefehl-Ermittlungseinheit 62 und die I/O-Steuereinheit 63. Genauer gesagt, wenn der erste Bewegungsbefehl oder der zweite Bewegungsbefehl von der Datenübertragungs-/Empfangseinheit 69 eingegeben wird, überträgt die Eingabe-Analyseeinheit 61 den Bewegungsbefehl an die Bewegungsbefehl-Ermittlungseinheit 62. Wenn außerdem ein Werkzeugwechselbefehl von der Datenübertragungs-/Empfangseinheit 69 eingegeben wird, überträgt die Eingabe-Analyseeinheit 61 den Werkzeugwechselbefehl an die I/O-Steuereinheit 63.
  • Wenn ein Werkzeugwechselbefehl von der Eingabe-Analyseeinheit 61 eingegeben wird, gibt die I/O-Steuereinheit 63 ein I/O-Signal, das dem eingegebenen Werkzeugwechselbefehl entspricht, an das Multifunktionswerkzeug 32 weiter. So wird das Werkzeug, das von dem am Roboter 3 montierten Multifunktionswerkzeug 32 verwendet wird, auf das Werkzeug umgestellt, das auf der Grundlage des numerischen Steuerungsprogramms für den Roboter bestimmt wurde.
  • Die Bewegungsbefehl-Ermittlungseinheit 62 bestimmt, ob der von der Eingabe-Analyseeinheit 61 eingegebene Bewegungsbefehl ein erster Bewegungsbefehl mit einer ersten Zielbewegungsbahn oder ein zweiter Bewegungsbefehl ohne erste Zielbewegungsbahn ist. Wenn der erste Bewegungsbefehl eingegeben wird, überträgt die Bewegungsbefehl-Ermittlungseinheit 62 den ersten Bewegungsbefehl an die Bahn-Steuereinheit 64. Wenn der zweite Bewegungsbefehl eingegeben wird, überträgt die Bewegungsbefehl-Ermittlungseinheit 62 den zweiten Bewegungsbefehl an die Roboterbefehl-Erzeugungseinheit 66.
  • Nach dem Empfang des zweiten Bewegungsbefehls, der von der Bewegungsbefehl-Ermittlungseinheit 62 übertragen wurde, erzeugt die Roboterbefehl-Erzeugungseinheit 66 einen Befehl, der dem empfangenen zweiten Bewegungsbefehl entspricht, und fügt den Befehl dem Roboterprogramm hinzu.
  • Wenn dem Roboterprogramm ein neuer Befehl hinzugefügt wird, führt die Programmverwaltungseinheit 65 den neuen Befehl sequentiell aus, um einen Bewegungsplan des Roboters 3 zu erzeugen, der dem zweiten Bewegungsbefehl entspricht, und überträgt den erzeugten Bewegungsplan an die Bahn-Steuereinheit 64.
  • Nach Empfang des von der Programmverwaltungseinheit 65 übertragenen Bewegungsplans berechnet die Bahn-Steuereinheit 64 eine zweite Zielbewegungsbahn, die ein Ziel der Bewegungsbahn des Steuerpunkts des Roboters 3 ist, indem sie die Interpolationsverarbeitung auf der Grundlage des Bewegungsplans durchführt, und gibt die zweite Zielbewegungsbahn in die Kinematik-Steuereinheit 67 ein. Die Kinematik-Steuereinheit 67 berechnet die Winkel der Gelenke des Roboters 3 als Zielwinkel, indem sie die Kinematikberechnung auf der Grundlage der von der Bahn-Steuereinheit 64 berechneten zweiten Zielbewegungsbahn durchführt, und überträgt diese Zielwinkel an die Servosteuereinheit 68. Darüber hinaus erzeugt die Servosteuereinheit 68 ein Robotersteuersignal für den Roboter 3 durch Rückkopplungssteuerung jedes Servomotors des Roboters 3, um einen von der Bahn-Steuereinheit 64 übertragenen Zielwinkel jedes Gelenks zu realisieren, und gibt das Robotersteuersignal an den Servomotor des Roboters 3 weiter. Wie oben beschrieben, wenn die Robotersteuervorrichtung 6 den zweiten Bewegungsbefehl von der numerischen Steuervorrichtung 5 empfängt, steuert die Robotersteuervorrichtung 6 die Bewegung des Roboters 3 so, dass sich der Steuerpunkt des Roboters 3 entlang der zweiten Zielbewegungsbahn bewegt, die durch die von der Robotersteuervorrichtung 6 ausgeführte Interpolationsverarbeitung berechnet wurde.
  • Wenn die Bahn-Steuereinheit 64 den ersten Bewegungsbefehl einschließlich des Koordinatenwerts der bestimmten Position für jeden bestimmten Zeitpunkt, der durch Zeitteilung der ersten Zielbewegungsbahn von der Bewegungsbefehl-Ermittlungseinheit 62 wie oben beschrieben erhalten wurde, empfängt, gibt die Bahn-Steuereinheit 64 den ersten Bewegungsbefehl an die Kinematik-Steuereinheit 67 weiter. Dann berechnet die Kinematik-Steuereinheit 67 die Zielwinkel der Gelenke des Roboters 3 zu jedem bestimmten Zeitpunkt, indem sie die Kinematikberechnung auf der Grundlage des ersten Bewegungsbefehls, der die Zeitreihendaten sind, durchführt, und überträgt diese Zielwinkel an die Servosteuereinheit 68. Darüber hinaus erzeugt die Servosteuereinheit 68 ein Robotersteuersignal für den Roboter 3 durch Rückkopplungssteuerung jedes Servomotors des Roboters 3, um einen Zielwinkel jedes Gelenks zu realisieren, der von der Bahn-Steuereinheit 64 übertragen wird, und gibt das Robotersteuersignal an den Servomotor des Roboters 3 weiter. Wie oben beschrieben, wenn die Robotersteuervorrichtung 6 den ersten Bewegungsbefehl von der numerischen Steuervorrichtung 5 empfängt, steuert die Robotersteuervorrichtung 6 die Bewegung des Roboters 3 so, dass sich der Steuerpunkt des Roboters 3 entlang der ersten Zielbewegungsbahn bewegt, die durch die von der numerischen Steuervorrichtung 5 ausgeführte Interpolationsverarbeitung berechnet wurde.
  • Nachfolgend werden die Flüsse verschiedener Signale und Informationen im numerischen Steuersystem 1, das wie oben beschrieben konfiguriert ist, unter Bezugnahme auf die 3, 4A und 4B beschrieben.
  • 3 ist ein Diagramm, das ein Beispiel für das numerische Steuerprogramm für den Roboter zeigt. 4A und 4B sind Sequenzdiagramme, die den Fluss von Signalen und Informationen zwischen der numerischen Steuervorrichtung 5 und der Robotersteuervorrichtung 6 sowie die von der Robotersteuervorrichtung 6 ausgeführte Verarbeitung zeigen, wenn die numerische Steuervorrichtung 5 auf der Grundlage des in 3 dargestellten numerischen Steuerprogramms für den Roboter betrieben wird.
  • Zunächst wird in dem durch die Sequenznummer „N10“ gekennzeichneten Block ein auf dem G-Code basierender Befehl „G100.0“ in die Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit 55 der numerischen Steuervorrichtung 5 eingegeben. Somit wählt die Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit 55 die zweite Bewegungsbefehl-Erzeugungseinheit 57 als das Bewegungsbefehl-Erzeugungssubjekt aus, um die Bewegungsbahn des Steuerpunkts des Roboters 3 durch die von der Robotersteuervorrichtung 6 ausgeführte Interpolationsverarbeitung zu bestimmen. Darüber hinaus weist die Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit 55 als Reaktion auf die Eingabe des Befehls „G100.0“ die Robotersteuervorrichtung 6 an, eine dynamisch ausführbare Datei zu erzeugen, um dem Roboterprogramm auf der Grundlage des zweiten Bewegungsbefehls, der von der numerischen Wertsteuervorrichtung 5 übertragen wurde, nacheinander Befehle hinzuzufügen. Daraufhin erzeugt die Robotersteuervorrichtung 6 diese dynamisch ausführbare Datei.
  • Als nächstes wird in dem durch die Sequenznummer „N11“ gekennzeichneten Block ein auf G-Code basierender Befehl „G68.8“ in die Eingabe-Analyseeinheit 54 der numerischen Steuervorrichtung 5 eingegeben. Auf diese Weise wird das Koordinatenformat in der numerischen Steuervorrichtung 5 und der Robotersteuervorrichtung 6 auf die gemeinsamen Koordinatenformate eingestellt.
  • Als nächstes wird in dem durch die Sequenznummer „N 12“ gekennzeichneten Block ein Befehl „G0 J1 = _J2 = _J3 = _J4 = _J5 = _J6 = _“ in die zweite Bewegungsbefehl-Erzeugungseinheit 57 der numerischen Steuervorrichtung 5 eingegeben, um zu bewirken, dass der Steuerpunkt des Roboters 3 im Eilgang zu dem auf der Grundlage des Gelenkkoordinatenformats bestimmten Endpunkt bewegt wird. Es ist zu beachten, dass der Koordinatenwert des Endpunkts in einen Teil des Unterstrichs im Befehl eingegeben wird. Die zweite Bewegungsbefehl-Erzeugungseinheit 57 erzeugt einen zweiten Bewegungsbefehl, der dem eingegebenen Befehl entspricht, und überträgt den zweiten Bewegungsbefehl an die Robotersteuervorrichtung 6. Die Robotersteuervorrichtung 6 berechnet eine zweite Zielbewegungsbahn, indem sie die Interpolationsverarbeitung auf der Grundlage des von der numerischen Steuervorrichtung 5 übertragenen zweiten Bewegungsbefehls durchführt, und steuert die Bewegung des Roboters 3 so, dass sich der Steuerpunkt des Roboters 3 entlang der zweiten Zielbewegungsbahn bewegt.
  • Als nächstes wird in dem durch die Sequenznummer „N20“ gekennzeichneten Block ein auf G-Code basierender Befehl „G68.9“ in die Eingabe-Analyseeinheit 54 der numerischen Steuervorrichtung 5 eingegeben. Auf diese Weise wird in der numerischen Steuervorrichtung 5 und in der Robotersteuervorrichtung 6 das Koordinatenformat auf das orthogonale Koordinatenformat eingestellt.
  • Als nächstes wird in dem durch die Sequenznummer „N21“ gekennzeichneten Block ein Befehl „G0 X _Y _Z _A _B _C _P _“ in die zweite Bewegungsbefehl-Erzeugungseinheit 57 der numerischen Steuervorrichtung 5 eingegeben, um zu bewirken, dass der Steuerpunkt des Roboters 3 im Eilgang zu dem auf der Grundlage des orthogonalen Koordinatenformats bezeichneten Endpunkt bewegt wird. Die zweite Bewegungsbefehl-Erzeugungseinheit 57 erzeugt einen zweiten Bewegungsbefehl, der dem eingegebenen Befehl entspricht, und überträgt den zweiten Bewegungsbefehl an die Robotersteuervorrichtung 6. Die Robotersteuervorrichtung 6 berechnet eine zweite Zielbewegungsbahn, indem sie die Interpolationsverarbeitung auf der Grundlage des von der numerischen Steuervorrichtung 5 übertragenen zweiten Bewegungsbefehls durchführt, und steuert die Bewegung des Roboters 3 so, dass sich der Steuerpunkt des Roboters 3 entlang der zweiten Zielbewegungsbahn bewegt.
  • Als Nächstes wird in dem durch die Sequenznummer „N30“ gekennzeichneten Block ein auf dem G-Code basierender Befehl „G100.1“ in die Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit 55 der numerischen Steuervorrichtung 5 eingegeben. Somit wählt die Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit 55 die erste Bewegungsbefehl-Erzeugungseinheit 56 als das Bewegungsbefehl-Erzeugungssubjekt aus, um die Bewegungsbahn des Steuerpunkts des Roboters 3 durch die von der numerischen Steuervorrichtung 5 ausgeführte Interpolationsverarbeitung zu bestimmen. Außerdem weist die Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit 55 als Reaktion auf die Eingabe des Befehls „G100.1“ die Robotersteuervorrichtung 6 an, die erzeugte dynamisch ausführbare Datei zu löschen, um die Bewegung des Roboters 3 auf der Grundlage des ersten Bewegungsbefehls zu steuern, bei dem es sich um die von der numerischen Steuervorrichtung 5 übertragenen Zeitreihendaten handelt. Als Reaktion darauf löscht die Robotersteuervorrichtung 6 die dynamisch ausführbare Datei, die in dem durch die Sequenznummer „N10“ gekennzeichneten Block erzeugt wurde.
  • Als nächstes wird in dem durch die Sequenznummer „N31“ gekennzeichneten Block ein auf G-Code basierender Befehl „G68.8“ in die Eingabe-Analyseeinheit 54 der numerischen Steuervorrichtung 5 eingegeben. Auf diese Weise wird das Koordinatenformat in der numerischen Steuervorrichtung 5 und der Robotersteuervorrichtung 6 auf die gemeinsamen Koordinatenformate eingestellt.
  • Als nächstes wird in dem durch die Sequenznummer „N32“ gekennzeichneten Block ein G-Code „G54.4P1“ zur Erklärung des Beginns der Werkstückeinbaufehlerkompensationsfunktion in die erste Bewegungsbefehl-Erzeugungseinheit 56 der numerischen Steuervorrichtung 5 eingegeben. So liest die erste Bewegungsbefehl-Erzeugungseinheit 56 die Werkstückinformationen, die der aktuellen Einbauposition des Werkstücks entsprechen, aus der Werkzeug-/Werkstückinformationen-Verwaltungseinheit 58. Darüber hinaus berechnet die erste Bewegungsbefehl-Erzeugungseinheit 56 die erste Zielbewegungsbahn durch Drehen des Bewegungspfads des Steuerpunkts im dreidimensionalen Raum um einen Betrag, der dem erfassten Einbaufehler des Werkstücks entspricht, bis der G-Code „G54.4P0“ zur Erklärung des Endes der Werkstück-Einbaufehler-Kompensationsfunktion in dem durch die Sequenznummer „N42“ angegebenen Block später eingegeben wird.
  • Als nächstes wird in dem durch die Sequenznummer „N33“ angegebenen Block ein Befehl „G1 J1=_J2=_J3=_J4=_J5=_J6=_F4000 G41 D2“ zum Bewegen des Steuerpunkts des Roboters 3 durch lineare Interpolation mit einer bestimmten Vorschubgeschwindigkeit (F4000) in Richtung des auf der Grundlage des Gelenkkoordinatenformats bestimmten Endpunkts in die erste Bewegungsbefehl-Erzeugungseinheit 56 der numerischen Steuervorrichtung 5 eingegeben. Die erste Bewegungsbefehl-Erzeugungseinheit 56 berechnet eine erste Zielbewegungsbahn in Übereinstimmung mit dem eingegebenen Befehl, erzeugt einen ersten Bewegungsbefehl, der Zeitreihendaten einschließlich eines Koordinatenwerts für jeden bestimmten Zeitpunkt entlang der ersten Zielbewegungsbahn enthält, und überträgt den erzeugten ersten Bewegungsbefehl an die Robotersteuervorrichtung 6. Es ist zu beachten, dass in dem mit „N33“ bezeichneten Block ein G-Code „G41“ für die Verwendung der Werkzeugdurchmesser-Kompensationsfunktion und ein Befehl „D_“ zur Angabe eines aktuell verwendeten Werkzeugs eingegeben werden. Eine Werkzeugnummer zur Spezifizierung eines aktuell verwendeten Werkzeugs wird in einen Abschnitt eingegeben, der durch einen Unterstrich des Befehls „D_“ angezeigt wird. Die erste Bewegungsbefehl-Erzeugungseinheit 56 liest zunächst die Werkzeuginformationen des durch die Werkzeugnummer bezeichneten Werkzeugs aus der Werkzeug-/Werkstückinformationen-Verwaltungseinheit 58. Ferner dreht die erste Bewegungsbefehl-Erzeugungseinheit 56 den Bewegungspfad des Steuerpunkts, der auf der Grundlage des numerischen Werts berechnet wurde, der in dem durch den Unterstrich angegebenen Abschnitt im dreidimensionalen Raum beschrieben ist, um einen Betrag, der dem Installationsfehler des Werkstücks entspricht, der in dem durch die Sequenznummer „N32“ angegebenen Block erfasst wurde, und berechnet eine erste Zielbewegungsbahn des Steuerpunkts, indem sie den Bewegungspfad nach links um einen Betrag versetzt, der dem Werkzeugradius des durch die Werkzeugnummer bezeichneten Werkzeugs entspricht, wodurch ein erster Bewegungsbefehl erzeugt wird, der der ersten Zielbewegungsbahn entspricht. Die Robotersteuervorrichtung 6 steuert die Bewegung des Roboters 3 auf der Grundlage des von der numerischen Steuervorrichtung 5 übertragenen ersten Bewegungsbefehls, wodurch der Steuerpunkt des Roboters 3 entlang der ersten Zielbewegungsbahn bewegt wird, um das Werkstück zu bearbeiten (z. B. zu schneiden).
  • Als nächstes wird in dem durch die Sequenznummer „N40“ gekennzeichneten Block ein auf G-Code basierender Befehl „G68.9“ in die Eingabe-Analyseeinheit 54 der numerischen Steuervorrichtung 5 eingegeben. Auf diese Weise wird in der numerischen Steuervorrichtung 5 und in der Robotersteuervorrichtung 6 das Koordinatenformat auf das orthogonale Koordinatenformat eingestellt.
  • Als nächstes wird in dem durch die Sequenznummer „N41“ gekennzeichneten Block ein Befehl „G1 X _Y _Z _A _B _C _P _F4000 G42 D _“ zum Bewegen des Steuerpunkts des Roboters 3 durch lineare Interpolation mit einer bestimmten Vorschubgeschwindigkeit (F4000) zu dem auf der Grundlage des orthogonalen Koordinatenformats bestimmten Endpunkt in die zweite Bewegungsbefehl-Erzeugungseinheit 57 der numerischen Steuervorrichtung 5 eingegeben. Die erste Bewegungsbefehl-Erzeugungseinheit 56 berechnet eine erste Zielbewegungsbahn entsprechend dem eingegebenen Befehl, erzeugt einen ersten Bewegungsbefehl, der Zeitseriendaten entlang der ersten Zielbewegungsbahn sind, und überträgt den ersten Bewegungsbefehl an die Roboter-Steuervorrichtung 6. Es ist zu beachten, dass in dem mit „N41“ bezeichneten Block ein G-Code „G42“ für die Verwendung der Werkzeugdurchmesser-Kompensationsfunktion und ein Befehl „D _“, der ein aktuell verwendetes Werkzeug angibt, eingegeben werden. Die erste Bewegungsbefehl-Erzeugungseinheit 56 liest zunächst die Werkzeuginformationen des durch die Werkzeugnummer bezeichneten Werkzeugs aus der Verwaltungseinheit für Werkzeug-/Werkstückinformationen-Verwaltungseinheit 58. Darüber hinaus dreht die erste Bewegungsbefehl-Erzeugungseinheit 56 den Bewegungspfad des Steuerpunkts, der auf der Grundlage des numerischen Werts berechnet wurde, der in dem durch den Unterstrich im dreidimensionalen Raum angezeigten Abschnitt beschrieben ist, um einen Betrag, der dem Installationsfehler des Werkstücks entspricht, der in dem durch die Sequenznummer „N32“ angezeigten Block erfasst wurde, und berechnet eine erste Zielbewegungsbahn des Steuerpunkts durch Versetzen des Bewegungspfads zur linken Seite um einen Betrag, der dem Werkzeugradius des durch die Werkzeugnummer bezeichneten Werkzeugs entspricht, wodurch ein erster Bewegungsbefehl erzeugt wird, der der ersten Zielbewegungsbahn entspricht. Die Robotersteuervorrichtung 6 steuert die Bewegung des Roboters 3 auf der Grundlage des von der numerischen Steuervorrichtung 5 übertragenen ersten Bewegungsbefehls, wodurch der Steuerpunkt des Roboters 3 entlang der ersten Zielbewegungsbahn bewegt wird, um das Werkstück zu bearbeiten (z. B. zu schneiden).
  • Als nächstes wird in dem durch die Sequenznummer „N42“ angegebenen Block ein G-Code „G54.4P0“ zur Erklärung des Endes der Werkstückeinbaufehlerkompensationsfunktion in die erste Bewegungsbefehl-Erzeugungseinheit 56 der numerischen Steuervorrichtung 5 eingegeben. Somit schaltet die erste Bewegungsbefehl-Erzeugungseinheit 56 die Funktion zur Kompensation von Werkstückeinbaufehlern anschließend aus.
  • Gemäß der vorliegenden Ausführungsform werden die folgenden vorteilhaften Effekte erzielt. In dem numerischen Steuersystem 1 ist es beispielsweise in einem Fall, in dem der Roboter 3 für die Bearbeitung des Werkstücks verantwortlich ist, möglich, den Steuerpunkt des Roboters 3 entlang der ersten Zielbewegungsbahn zu bewegen, die von der numerischen Steuervorrichtung 5 berechnet wird, indem der erste Bewegungsbefehl einschließlich der ersten Zielbewegungsbahn von der numerischen Steuervorrichtung 5 an die Robotersteuervorrichtung 6 übertragen wird, so dass es möglich ist, das Werkstück mit hoher Genauigkeit durch den Roboter 3 zu bearbeiten. Darüber hinaus ist es beispielsweise in einem Fall, in dem der Roboter 3 Arbeiten durchführt, die keine Bearbeitung eines Werkstücks beinhalten, insbesondere Arbeiten zum Transport eines Werkstücks, möglich, dass die Robotersteuervorrichtung 6 den Steuerpunkt des Roboters 3 in der kürzesten Zeit oder auf dem kürzesten Weg bewegt, indem ein zweiter Bewegungsbefehl, der die erste Zielbewegungsbahn nicht enthält, von der numerischen Steuervorrichtung 5 an die Robotersteuervorrichtung 6 übertragen wird, unter Berücksichtigung der dynamischen Eigenschaften des Roboters, so dass es auch möglich ist, die Bearbeitungszykluszeit des Werkstücks durch die Werkzeugmaschine 2 und den Roboter 3 zu verkürzen.
  • In dem numerischen Steuersystem 1 enthält der erste Bewegungsbefehl, der von der ersten Bewegungsbefehl-Erzeugungseinheit 56 erzeugt wird, den Koordinatenwert der bezeichneten Position für jede bezeichnete Zeit, die durch Zeitteilung der ersten Zielbewegungsbahn erhalten wird, und wenn die erste Bewegungsbefehl-Erzeugungseinheit 56 als das Bewegungsbefehl-Erzeugungssubjekt ausgewählt wird, überträgt die Datenübertragungs-/Empfangseinheit 59 den ersten Bewegungsbefehl zu jeder bezeichneten Zeit an die Robotersteuervorrichtung 6. Gemäß dem numerischen Steuersystem 1 ist es für die Robotersteuervorrichtung 6 möglich, den Steuerpunkt entlang der ersten Zielbewegungsbahn zu bewegen, ohne die sequentielle Interpolationsverarbeitung durchzuführen, indem der erste Bewegungsbefehl, der die Zeitreihendaten sind, an die Robotersteuervorrichtung 6 übertragen wird.
  • Im numerischen Steuersystem 1 erzeugt die erste Bewegungsbefehl-Erzeugungseinheit 56 einen ersten Bewegungsbefehl auf der Grundlage von Werkzeuginformationen und Werkstückinformationen, die im Speicher 58m der Werkzeug-/Werkstückinformationen-Verwaltungseinheit 58 gespeichert sind. Somit ist es für die erste Bewegungsbefehl-Erzeugungseinheit 56 möglich, die erste Zielbewegungsbahn zu berechnen, indem die Bewegungsbahn des durch das numerische Steuerprogramm für den Roboter bezeichneten Steuerpunkts in Übereinstimmung mit der Form des vom Roboter 3 verwendeten Werkzeugs, dem Installationsfehler des Werkstücks oder dergleichen kompensiert wird, wodurch die Bearbeitungsgenauigkeit des Werkstücks unter Verwendung des Roboters 3 verbessert wird.
  • Im numerischen Steuersystem 1 wählt die Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit 55 als das Bewegungsbefehl-Erzeugungssubjekt eines aus, das auf der Grundlage des numerischen Steuerprogramms für den Roboter unter der ersten Bewegungsbefehl-Erzeugungseinheit 56 und der zweiten Bewegungsbefehl-Erzeugungseinheit 57 bestimmt wird. Somit ist es möglich, den ersten Bewegungsbefehl und den zweiten Bewegungsbefehl in die Robotersteuervorrichtung 6 zu einem Zeitpunkt einzugeben, der auf der Grundlage des numerischen Steuerprogramms für den Roboter bestimmt wird.
  • Im numerischen Steuersystem 1 wählt die Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit 55 die erste Bewegungsbefehl-Erzeugungseinheit 56 als das Bewegungsbefehl-Erzeugungssubjekt aus, wenn der Roboter 3 eine Bearbeitung durchführt, und wählt die zweite Bewegungsbefehl-Erzeugungseinheit 57 als das Bewegungsbefehl-Erzeugungssubjekt aus, wenn der Roboter 3 einen Transport durchführt. Als Ergebnis, wenn der Roboter 3 in der Bearbeitung ist, ist es möglich, den Steuerpunkt des Roboters 3 entlang der ersten Zielbewegungsbahn zu bewegen, die von der numerischen Steuervorrichtung 5 berechnet wird, so dass es möglich ist, das Werkstück mit hoher Genauigkeit durch den Roboter 3 zu bearbeiten. Wenn sich der Roboter 3 in der Transportbewegung befindet, ist es außerdem möglich, dass die Robotersteuervorrichtung 6 den Steuerpunkt des Roboters 3 entlang der zweiten Zielbewegungsbahn bewegt, die unter Berücksichtigung der dynamischen Eigenschaften des Roboters 3 berechnet wird, so dass die Zykluszeit der Bearbeitung und des Transports des Werkstücks durch die Werkzeugmaschine 2 und den Roboter 3 verkürzt werden kann.
  • Im numerischen Steuersystem 1 erzeugt die erste Bewegungsbefehl-Erzeugungseinheit 56 einen ersten Bewegungsbefehl, indem sie einen Befehlsblock voraussieht, der nach einer vorbestimmten Zeitspanne ab der gegenwärtigen Zeit aus einer Vielzahl von Befehlsblöcken ausgeführt wird, die das numerische Steuerprogramm für den Roboter bilden. Folglich ist es möglich, eine Zeit für die erste Bewegungsbefehl-Erzeugungseinheit 56 sicherzustellen, um den ersten Bewegungsbefehl zu erzeugen. Da es außerdem möglich ist, die Interpolation der Beschleunigung/Verzögerung unter Berücksichtigung der vorhergehenden Position durchzuführen, kann die Verarbeitungsgenauigkeit weiter verbessert werden.
  • Die vorliegende Offenbarung ist nicht auf die obige Ausführungsform beschränkt, und verschiedene Änderungen und Modifikationen sind möglich.
  • Erläuterung der Bezugszeichen
  • 1
    numerisches Steuersystem
    2
    Werkzeugmaschine
    3
    Roboter
    32
    Multifunktionswerkzeug
    5
    numerische Steuervorrichtung
    50
    Werkzeugmaschinen-Steuermodul
    51
    Roboter-Steuermodul
    55
    Bewegungsbefehl-Erzeugungssubjekt-Auswahleinheit (Selektor)
    56
    erste Bewegungsbefehl-Erzeugungseinheit
    57
    zweite Bewegungsbefehl-Erzeugungseinheit
    58
    Werkzeug-/Werkstückinformationen-Verwaltungseinheit (Speichereinrichtung)
    59
    Datenübertragungs-/Empfangseinheit (Sender)
    6
    Robotersteuervorrichtung (Robotersteuerung)
    62
    Bewegungsbefehl-Ermittlungseinheit
    63
    I/O-Steuereinheit
    64
    Bahn-Steuereinheit
    65
    Programmverwaltungseinheit
    66
    Roboterbefehl-Erzeugungseinheit
    67
    Kinematik-Steuereinheit
    69
    Datenübertragungs-/ Empfangseinheit
  • 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
    • JP 6647472 [0005]

Claims (7)

  1. Numerische Steuervorrichtung, die den Betrieb einer Werkzeugmaschine steuert und einen Betriebsbefehl für eine Robotersteuerung erzeugt, die den Betrieb eines Roboters steuert, um einen Steuerpunkt des Roboters auf der Grundlage eines numerischen Steuerprogramms zu bewegen, wobei die numerische Steuervorrichtung umfasst: einen ersten Bewegungsbefehl-Erzeuger, der eine Zielbewegungsbahn berechnet, die ein Ziel einer Bewegungsbahn des Steuerpunkts ist, und einen ersten Bewegungsbefehl erzeugt, der die Zielbewegungsbahn auf der Grundlage des numerischen Steuerprogramms enthält; einen zweiten Bewegungsbefehl-Erzeuger, der auf der Grundlage des numerischen Steuerprogramms einen zweiten Bewegungsbefehl erzeugt, der nicht die Zielbewegungsbahn enthält; einen Selektor, der als Bewegungsbefehl-Erzeugungssubjekt entweder den ersten Bewegungsbefehl-Erzeuger oder den zweiten Bewegungsbefehl-Erzeuger auswählt; und einen Sender, der einen von dem Bewegungsbefehl-Erzeugungssubjekt erzeugten Bewegungsbefehl an die Robotersteuerung überträgt.
  2. Numerische Steuervorrichtung nach Anspruch 1, wobei der erste Bewegungsbefehl einen Koordinatenwert einer bestimmten Position für jede bestimmte Zeit enthält, der durch Zeitteilung der Zielbewegungsbahn erhalten wird, und, wenn der erste Bewegungsbefehl-Erzeuger als das Bewegungsbefehl-Erzeugungssubjekt ausgewählt ist, sendet der Sender den ersten Bewegungsbefehl an die Robotersteuerung zu jeder bestimmten Zeit.
  3. Numerische Steuervorrichtung nach Anspruch 1 oder 2 umfasst ferner eine Speichereinrichtung, die mindestens entweder Werkzeuginformationen über eine Form eines vom Roboter verwendeten Werkzeugs oder Werkstückinformationen über eine Einbauposition eines von der Werkzeugmaschine zu bearbeitenden Werkstücks speichert, wobei der erste Bewegungsbefehl-Erzeuger den ersten Bewegungsbefehl auf der Grundlage von mindestens entweder der Werkzeuginformation oder der Werkstückinformation erzeugt.
  4. Numerische Steuervorrichtung nach einem der Ansprüche 1 bis 3, wobei der Selektor als Bewegungsbefehl-Erzeugungssubjekt auf der Grundlage des numerischen Steuerprogramms einen Bestimmten aus dem ersten Bewegungsbefehl-Erzeuger und dem zweiten Bewegungsbefehl-Erzeuger auswählt.
  5. Numerische Steuervorrichtung nach einem der Ansprüche 1 bis 3, wobei der Selektor den ersten Bewegungsbefehl-Erzeuger als das Bewegungsbefehl-Erzeugungssubjekt auswählt, wenn der Roboter eine Bearbeitung durchführt, und den zweiten Bewegungsbefehl-Erzeuger als das Bewegungsbefehl-Erzeugungssubjekt auswählt, wenn der Roboter eine Beförderung durchführt.
  6. Numerische Steuervorrichtung nach einem der Ansprüche 1 bis 5, wobei der erste Bewegungsbefehl-Erzeuger den ersten Bewegungsbefehl erzeugt, indem er einen Befehlsblock, der nach einer vorbestimmten Zeitspanne ab einem aktuellen Zeitpunkt ausgeführt wird, aus einer Vielzahl von Befehlsblöcken, die das numerische Steuerprogramm bilden, vorwegnimmt.
  7. Numerisches Steuersystem mit: eine numerische Steuervorrichtung, die den Betrieb einer Werkzeugmaschine steuert und einen Bewegungsbefehl zum Bewegen eines Steuerpunkts eines Roboters erzeugt; und eine Robotersteuerung, die mit der numerischen Steuervorrichtung in Verbindung steht und den Betrieb des Roboters auf der Grundlage eines von der numerischen Steuervorrichtung übertragenen Bewegungsbefehls steuert, wobei die numerische Steuervorrichtung umfasst: einen ersten Bewegungsbefehl-Erzeuger, der eine Zielbewegungsbahn berechnet, die ein Ziel einer Bewegungsbahn des Steuerpunkts ist, und einen ersten Bewegungsbefehl erzeugt, der die Zielbewegungsbahn auf der Grundlage des numerischen Steuerprogramms enthält; einen zweiten Bewegungsbefehl-Erzeuger, der auf der Grundlage des numerischen Steuerprogramms einen zweiten Bewegungsbefehl erzeugt, der nicht die Zielbewegungsbahn enthält; einen Selektor, der als Bewegungsbefehl-Erzeugungssubjekt entweder den ersten Bewegungsbefehl-Erzeuger oder den zweiten Bewegungsbefehl-Erzeuger auswählt; und einen Sender, der einen durch das Bewegungsbefehl-Erzeugungssubjekt erzeugten Bewegungsbefehl an die Robotersteuerung sendet, und wobei die Robotersteuerung den Betrieb des Roboters basierend auf dem zweiten Bewegungsbefehl steuert, wenn sie den zweiten Bewegungsbefehl empfängt, und den Betrieb des Roboters steuert, um den Steuerpunkt entlang der Zielbewegungsbahn zu bewegen, wenn sie den ersten Bewegungsbefehl empfängt.
DE112021005180.6T 2020-11-13 2021-11-08 Numerische Steuervorrichtung und numerisches Steuersystem Pending DE112021005180T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2020189849 2020-11-13
JP2020-189849 2020-11-13
PCT/JP2021/041008 WO2022102578A1 (ja) 2020-11-13 2021-11-08 数値制御装置、及び数値制御システム

Publications (1)

Publication Number Publication Date
DE112021005180T5 true DE112021005180T5 (de) 2023-09-28

Family

ID=81601346

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021005180.6T Pending DE112021005180T5 (de) 2020-11-13 2021-11-08 Numerische Steuervorrichtung und numerisches Steuersystem

Country Status (5)

Country Link
US (1) US20230415341A1 (de)
JP (1) JPWO2022102578A1 (de)
CN (1) CN116529035A (de)
DE (1) DE112021005180T5 (de)
WO (1) WO2022102578A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7448736B1 (ja) 2023-09-22 2024-03-12 ファナック株式会社 数値制御装置及び数値制御システム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0347472A (ja) 1989-04-19 1991-02-28 Mitsubishi Electric Corp 内燃機関の制御装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08174378A (ja) * 1994-12-27 1996-07-09 Nippon Telegr & Teleph Corp <Ntt> ロボット制御装置
JP5620445B2 (ja) * 2012-09-13 2014-11-05 ファナック株式会社 選択条件に基づいてロボットの保持位置姿勢を決定する物品取出装置
JP6640816B2 (ja) * 2017-11-01 2020-02-05 ファナック株式会社 加工システム
JP6647472B1 (ja) * 2019-01-09 2020-02-14 三菱電機株式会社 数値制御装置および数値制御方法
JP7060540B2 (ja) * 2019-04-03 2022-04-26 ファナック株式会社 加工制御システム及び加工システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0347472A (ja) 1989-04-19 1991-02-28 Mitsubishi Electric Corp 内燃機関の制御装置

Also Published As

Publication number Publication date
WO2022102578A1 (ja) 2022-05-19
CN116529035A (zh) 2023-08-01
US20230415341A1 (en) 2023-12-28
JPWO2022102578A1 (de) 2022-05-19

Similar Documents

Publication Publication Date Title
DE112015004939B4 (de) Verfahren zum Optimieren der Produktivität eines Bearbeitungsprozesses einer CNC-Maschine
DE4411426B4 (de) Multitask-Steuersystem
DE112017000203B4 (de) Numerische Steuerung und numerisches Steuerungsverfahren
DE102017001783B4 (de) Numerische Steuervorrichtung, die eine Erhöhung der Anzahl Analyseziffern eines Programmbefehls ermöglicht
DE102011110111B4 (de) Numerische Steuerung einer mehrachsigen Werkzeugmaschine für das Steuern der Lage der Tool Center Point Position
EP0120204B1 (de) Verfahren zum Wiederanfahren eines Werkzeuges an eine Werkstückkontur
DE102018000369B4 (de) Numerische steuerung
DE112009004603T5 (de) Numerische Steuervorrichtung und Verfahren zum Steuern dernumerischen Steuervorrichtung
DE102011108282A1 (de) Numerische Steuerung für eine Mehrachsenmaschine zum Bearbeiten einer geneigten Bearbeitungsebene
DE102020204118A1 (de) Bearbeitungssteuerungssystem und bearbeitungssystem
DE102019110434A1 (de) Werkzeugwahlvorrichtung und Maschinenlernvorrichtung
DE112021007017T5 (de) Numerik-Steuervorrichtung und Numerik-Steuersystem
DE112012006403T5 (de) Numerik-Steuervorrichtung
DE112010005411T5 (de) Numerische-Steuerung-Vorrichtung und Numerische -Steuerung - Verfahren
DE102004019653B4 (de) Simulationsvorrichtung
DE102020124734A1 (de) Simulationsgerät
DE112021005180T5 (de) Numerische Steuervorrichtung und numerisches Steuersystem
DE112021004248T5 (de) Numerisches Steuersystem und Robotersteuerverfahren
DE112021005055T5 (de) Numerisches Steuersystem und Verfahren zum Steuern von Industriemaschinen
DE112021003517T5 (de) Numerisches Steuersystem
DE2338880A1 (de) Verfahren und vorrichtungen zur steuerung der beweglichen teile einer werkzeugmaschine durch ein numerisches umriss- oder punkt-fuer-punkt-steuerungssystem, wobei zwei teile der maschine unabhaengig voneinander entlang einer gemeinsamen achse bewegt werden koennen
DE112021006982T5 (de) Simulationsvorrichtung, Werkzeugmaschinensystem, Simulationsverfahren und Bearbeitungsverfahren
DE102018100490A1 (de) Steuerung
EP3658996B1 (de) Verfahren zum betrieb einer numerisch gesteuerten produktionsanlage sowie produktionsanlage dazu
DE102019201287A1 (de) Numerische Steuereinrichtung