DE112021005374T5 - Numerik-Steuervorrichtung und Numerik-Steuersystem - Google Patents

Numerik-Steuervorrichtung und Numerik-Steuersystem Download PDF

Info

Publication number
DE112021005374T5
DE112021005374T5 DE112021005374.4T DE112021005374T DE112021005374T5 DE 112021005374 T5 DE112021005374 T5 DE 112021005374T5 DE 112021005374 T DE112021005374 T DE 112021005374T DE 112021005374 T5 DE112021005374 T5 DE 112021005374T5
Authority
DE
Germany
Prior art keywords
robot
program
block
command
numerical control
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
DE112021005374.4T
Other languages
English (en)
Inventor
Ryou Nakamura
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 DE112021005374T5 publication Critical patent/DE112021005374T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/4093Numerical 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 part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • 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/1658Programme controls characterised by programming, planning systems for manipulators characterised by programming language
    • 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/408Numerical 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 data handling or data format, e.g. reading, buffering or conversion of data
    • 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] or 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] or 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] or 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Numerical Control (AREA)

Abstract

Eine Numerik-Steuervorrichtung 5 ist ausgestattet mit: einer Programmvorverarbeitungseinheit 54 zum Erzeugen einer von einer Robotersteuervorrichtung 6 erkennbaren Block-Roboteranweisung und einer der Block-Roboteranweisung zugeordneten Block-Information auf Grundlage von Analyseergebnissen für jeden Block eines numerischen Steuerprogramms; einer Roboterbefehl-Speicherbereich 523 zum Speichern der Block-Roboteranweisung und der von der Programmvorverarbeitungseinheit 54 erzeugten Block-Information; eine Programmausführungsverwaltungseinheit 58 zum Einlesen der durch eine Programmausführungsanweisung spezifizierten Block-Information und der der Block-Information zugeordneten Block-Roboteranweisung aus der Roboterbefehl-Speicherbereich 523; und eine erste Kommunikationseinheit 59 zum Übertragen der von der Programmausführungsverwaltungseinheit 58 eingelesenen Block-Roboteranweisung an die Robotersteuervorrichtung 6.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft eine Numerik-Steuervorrichtung und ein Numerik-Steuersystem.
  • HINTERGRUND
  • In den letzten Jahren wurde zur Förderung der Automatisierung einer Produktionsstätte ein Numerik-Steuersystem gewünscht, das die Operation einer Werkzeugmaschine, die ein Werkstück bearbeitet, und die Operation eines Roboters, der sich in der Nähe dieser Werkzeugmaschine befindet, miteinander verbindet und steuert (siehe beispielsweise Patentdokument 1).
  • Im Allgemeinen unterscheiden sich ein numerisches Steuerungsprogramm zur Steuerung einer Werkzeugmaschine und ein Roboterprogramm zur Steuerung eines Roboters in der Programmiersprache. Um die Operation einer Werkzeugmaschine und die Operation eines Roboters zu verriegeln, muss sich der Bediener sowohl mit dem numerischen Steuerungsprogramm als auch mit dem Roboterprogramm vertraut machen.
  • Patentdokument 1 offenbart eine Numerik-Steuervorrichtung, die sowohl eine Werkzeugmaschine als auch einen Roboter durch das numerische Steuerprogramm steuert. Genauer gesagt erzeugt das im Patentdokument 1 offenbarte Numerik-Steuersystem einen in der Robotersteuervorrichtung erkennbaren Roboterbefehl gemäß dem numerischen Steuerprogramm in der numerischen Steuervorrichtung, erzeugt ein Roboterprogramm auf Grundlage dieses Roboterbefehls in der Robotersteuervorrichtung und steuert die Operation des Roboters gemäß diesem Roboterprogramm. Gemäß dem in der Patentschrift 1 dargestellten Numerik-Steuersystem ist es möglich, einen Roboter auch ohne Einarbeitung in das Roboterprogramm zu steuern, sofern ein Benutzer mit dem numerischen Steuerprogramm vertraut ist.
  • Das numerische Steuerprogramm wird jedoch grundsätzlich in Blockeinheiten auf Grundlage einer Programmiersprache wie G-Code oder M-Code geschrieben, und die Numerik-Steuervorrichtung führt das numerische Steuerprogramm in Befehlsblockeinheiten aus. Aus diesem Grund werden im herkömmlichen Numerik-Steuersystem auf der Seite der Numerik-Steuervorrichtung nacheinander Roboterbefehle in Befehls-Block-Einheiten erzeugt und diese Roboterbefehle an die Robotersteuervorrichtung gesendet, und auf der Seite der Robotersteuervorrichtung wird nacheinander ein Roboterprogramm auf Grundlage der in Befehls-Block-Einheiten gesendeten Roboterbefehle erzeugt und die Operation des Roboters in Befehls-Block-Einheiten auf Grundlage dieses Roboterprogramms gesteuert. Dadurch ist es möglich, den in der Numerik-Steuervorrichtung und der Robotersteuervorrichtung jeweils ausgeführten Ausführungsblock zu synchronisieren.
  • Patentdokument 1: Japanisches Patent Nr.6647472
  • OFFENBARUNG DER ERFINDUNG
  • Durch die Erfindung zu lösende Probleme
  • Mit dem herkömmlichen Numerik-Steuersystem ist es jedoch notwendig, mindestens die drei Verarbeitungen auf der Seite der Numerik-Steuervorrichtung auszuführen, nämlich die Leseverarbeitung eines nächsten Befehlsblocks, die Änderungsverarbeitung vom gelesenen Befehlsblock zum Roboterbefehl und die Sendeverarbeitung des Roboterbefehls, jedes Mal, wenn die Steuerung der Operation eines Roboters in Befehlsblockeinheiten auf der Seite der Robotersteuervorrichtung abgeschlossen ist. Aus diesem Grund steigt beim herkömmlichen Numerik-Steuersystem auch die Ausführungshäufigkeit der Änderungsverarbeitung proportional zur Programmgröße des Numerik-Steuerprogramms (d.h. zur Anzahl der Befehlssätze, die das Numerik-Steuerprogramm bilden). Aus diesem Grund ist beim herkömmlichen Numerik-Steuersystem zu befürchten, dass sich die Zykluszeit der Robotersteuerung ebenfalls um die für die Änderungsverarbeitung benötigte Zeit verlängert, da sich der Zeitaufwand für die Änderungsverarbeitung mit zunehmender Programmgröße ebenfalls verlängert.
  • Die vorliegende Offenbarung weist den Zweck auf, eine Numerik-Steuervorrichtung und ein Numerik-Steuersystem bereitzustellen, die die Zykluszeit der Robotersteuerung verkürzen können, während eine Synchronisation der Ausführungsblöcke eines Programms zwischen der Numerik-Steuervorrichtung und einer Robotersteuervorrichtung erreicht wird.
  • Mittel zum Lösen der Probleme
  • Ein Aspekt der vorliegenden Offenbarung stellt eine Numerik-Steuervorrichtung bereit, die basierend auf einem numerischen Steuerprogramm die Operation einer Werkzeugmaschine steuert und einen Roboterbefehl für eine Robotersteuervorrichtung erzeugt, die die Operation eines Roboters steuert, wobei die Numerik-Steuervorrichtung umfasst: eine Programmvorverarbeitungseinheit, die so konfiguriert ist, dass sie einen in der Robotersteuervorrichtung erkennbaren Block-Roboterbefehl und dem Block-Roboterbefehl zugeordnete Block-Informationen auf Grundlage eines Analyseergebnisses jedes Blocks des numerischen Steuerprogramms erzeugt; einen Roboterbefehl-Speicherbereich, der so konfiguriert ist, dass er einen Block-Roboterbefehl und von der Programmvorverarbeitungseinheit erzeugte Block-Informationen speichert; einen Programmausführungsverwalter, der so konfiguriert ist, dass er einen von dem Programmausführungsverwalter gelesenen Block-Roboterbefehl aus dem Roboterbefehl-Speicherbereich liest; und eine Kommunikationseinheit, die so konfiguriert ist, dass sie einen von dem Programmausführungsverwalter gelesenen Block-Roboterbefehl an die Robotersteuervorrichtung sendet.
  • Ein Aspekt der vorliegenden Offenbarung stellt ein Numerik-Steuersystem bereit, das Folgendes umfasst: eine Numerik-Steuervorrichtung, die so konfiguriert ist, dass sie die Operation einer Werkzeugmaschine steuert und einen Roboterbefehl für eine Robotersteuervorrichtung erzeugt, die die Operation eines Roboters auf Grundlage eines numerischen Steuerprogramms steuert; und eine Robotersteuervorrichtung, die so konfiguriert ist, dass sie mit der Numerik-Steuervorrichtung kommunizieren kann und die Operation des Roboters auf Grundlage eines von der Numerik-Steuervorrichtung gesendeten Roboterbefehls steuert, wobei die Numerik-Steuervorrichtung Folgendes umfasst: eine Programmvorverarbeitungseinheit, die so konfiguriert ist, dass sie einen Block-Roboterbefehl, der in der Robotersteuervorrichtung erkennbar ist, und Block-Informationen, die dem Block-Roboterbefehl zugeordnet sind, auf Grundlage eines Analyseergebnisses jedes Blocks des numerischen Steuerprogramms erzeugt; einen Roboterprogramm-Speicherbereich, der so konfiguriert ist, dass er einen Block-Roboterbefehl und Block-Informationen speichert, die von der Programmvorverarbeitungseinheit erzeugt wurden; einen Programmausführungsverwalter, der so konfiguriert ist, dass er einen Block-Roboterbefehl, der mit einer durch einen vorbestimmten Programmausführungsbefehl zugeordneten Block-Information verbunden ist, aus dem Roboterbefehl-Speicherbereich liest; und eine Kommunikationseinheit, die so konfiguriert ist, dass sie einen von dem Programmausführungsverwalter gelesenen Block-Roboterbefehl an die Robotersteuervorrichtung sendet; und wobei die Robotersteuervorrichtung Folgendes umfasst: eine zweite Kommunikationseinheit, die so konfiguriert ist, dass sie einen von der ersten Kommunikationseinheit gesendeten Block-Roboterbefehl empfängt, eine Roboterprogramm-Erzeugungseinheit, die so konfiguriert ist, dass sie ein Roboterprogramm auf Grundlage eines von der zweiten Kommunikationseinheit empfangenen Block-Roboterbefehls erzeugt, und eine Operationssteuereinheit, die so konfiguriert ist, dass sie die Operation des Roboters auf Grundlage eines von der Roboterprogramm-Erstellungseinheit erzeugten Roboterprogramms steuert.
  • Effekte der Erfindung
  • Im Aspekt der vorliegenden Offenbarung erzeugt die Programmvorverarbeitungseinheit der Numerik-Steuervorrichtung in der Robotersteuervorrichtung erkennbare Block-Roboterbefehle und diesem Block-Roboterbefehl zugeordnete Block-Informationen, basierend auf Analyseergebnissen für jeden Block des Numerik-Steuerprogramms, und der Roboterprogramm-Speicherbereich der Numerik-Steuervorrichtung speichert den erzeugten Block-Roboterbefehl und die Block-Informationen. Darüber hinaus liest der Programmausführungsbefehlsverwalter der Numerik-Steuervorrichtung den Block-Roboterbefehl, der mit den durch den Blockausführungsbefehl zugeordneten Block-Informationen verbunden ist, aus dem Roboterbefehl-Speicherbereich, und die Kommunikationseinheit der Numerik-Steuervorrichtung sendet den vom Programmausführungsbefehlsverwalter gelesenen Block-Roboterbefehl an die Robotersteuervorrichtung. Gemäß dem Aspekt der vorliegenden Offenbarung ist es durch das Erzeugen des Block-Roboterbefehls und der Block-Informationen für alle Blöcke, die in dem numerischen Steuerprogramm enthalten sind, durch die Programmvorverarbeitungseinheit im Voraus vor der Eingabe des Programmausführungsbefehls an den Programmausführungsverwalter und das Speichern dieser in dem Roboterbefehl-Speicherbereich auf die obige Weise unnötig, eine Verarbeitung des Erzeugens eines Block-Roboterbefehls von dem numerischen Steuerprogramm nach dem Senden des Block-Roboterbefehls von der numerischen Steuereinrichtung an die Robotersteuereinrichtung auszuführen. Aus diesem Grund ist es gemäß dem Aspekt der vorliegenden Offenbarung möglich, die Zykluszeit der Robotersteuerung im Vergleich zu einem herkömmlichen Numerik-Steuersystem um den Betrag zu verkürzen, der bei der Erzeugungsverarbeitung von Block-Roboterbefehlen erforderlich ist, während eine Synchronisation von Ausführungsblöcken von Programmen zwischen der Numerik-Steuervorrichtung und der Robotersteuervorrichtung erreicht wird.
  • Figurenliste
    • 1 ist ein schematisches Diagramm eines Numerik-Steuersystems gemäß einer ersten Ausführungsform der vorliegenden Offenbarung;
    • 2 ist ein Funktionsblockdiagramm einer Numerik-Steuervorrichtung und einer Robotersteuervorrichtung;
    • 3 ist eine Ansicht, die schematisch mehrere Block-Roboterbefehle zeigt, die durch die Vorverarbeitung einer Programmvorverarbeitungseinheit erzeugt werden;
    • 4 ist ein Sequenzdiagramm, das den Fluss von Signalen und Informationen zwischen der Numerik-Steuervorrichtung und der Robotersteuervorrichtung, die in der Numerik-Steuervorrichtung ausgeführte Verarbeitung und die in der Robotersteuervorrichtung ausgeführte Verarbeitung zeigt;
    • 5 ist eine Ansicht, die ein Beispiel eines numerischen Steuerprogramms für einen Roboter und mehrere Block-Roboterbefehle zeigt, die durch die Durchführung einer Vorverarbeitung dieses numerischen Steuerprogramms erzeugt wurden; und
    • 6 ist ein Sequenzdiagramm, das den Fluss von Signalen und Informationen zwischen der Numerik-Steuervorrichtung und der Robotersteuervorrichtung, die in der Numerik-Steuervorrichtung ausgeführte Verarbeitung und die in der Robotersteuervorrichtung ausgeführte Verarbeitung in einem Numerik-Steuersystem gemäß einer zweiten Ausführungsform der vorliegenden Offenbarung zeigt.
  • BEVORZUGTE AUSFÜHRUNGSFORM DER ERFINDUNG
  • <Erste Ausführungsform>
  • Nachfolgend wird ein Numerik-Steuersystem gemäß einer ersten Ausführungsform der vorliegenden Offenbarung unter Bezugnahme auf die Zeichnungen erläutert.
  • 1 ist eine schematische Darstellung eines Numerik-Steuersystems 1 gemäß der vorliegenden Ausführungsform.
  • Das Numerik-Steuersystem 1 umfasst: eine Werkzeugmaschine 2; eine Numerik-Steuervorrichtung (CNC) 5, die die Operation dieser Werkzeugmaschine 2 steuert; einen Roboter 3, der in der Nähe der Werkzeugmaschine 2 vorgesehen ist; und eine Robotersteuervorrichtung 6, die kommunizierend mit der Numerik-Steuervorrichtung 5 verbunden ist. Die Numerik-Steuervorrichtung 5 steuert die Operation der Werkzeugmaschine 2 auf Grundlage eines vorgegebenen numerischen Steuerprogramms, erzeugt Befehle für die Robotersteuervorrichtung 6 und sendet diese an die Robotersteuervorrichtung 6. Die Robotersteuervorrichtung 6 steuert die Operation des Roboters 3 entsprechend den von der Numerik-Steuervorrichtung 5 gesendeten Befehlen.
  • Die Werkzeugmaschine 2 bearbeitet ein Werkstück (nicht abgebildet) entsprechend den von der Numerik-Steuervorrichtung 5 gesendeten Steuersignalen für die Werkzeugmaschine. Bei der Werkzeugmaschine 2 handelt es sich um eine Drehbank, eine Bohrmaschine, eine Fräsmaschine, eine Schleifmaschine, eine Laserbearbeitungsmaschine, eine Spritzgießmaschine oder dergleichen.
  • Der Roboter 3 arbeitet unter der Steuerung der Robotersteuervorrichtung 6 und führt eine vorbestimmte Operation an dem Werkstück aus, das beispielsweise von der Werkzeugmaschine 2 bearbeitet wird. Bei dem Roboter 3 handelt es sich beispielsweise um einen Gelenkroboter, an dessen einem Armende 31 ein Werkzeug 32 zum Halten, Bearbeiten oder Prüfen des Werkstücks angebracht ist. Nachfolgend wird der Fall erläutert, dass der Roboter 3 ein 6-achsiger Gelenkroboter ist; dies ist jedoch nicht darauf beschränkt. Darüber hinaus wird im Folgenden ein Fall erläutert, in dem der Roboter 3 ein 6-achsiger Gelenkroboter ist; die Anzahl der Achsen ist jedoch nicht darauf beschränkt.
  • Die Numerik-Steuervorrichtung 5 und die Robotersteuervorrichtung 6 sind jeweils ein Computer, der durch Hardware konfiguriert ist, wie beispielsweise eine arithmetische Verarbeitungseinrichtung, wie beispielsweise eine CPU (Central Processing Unit), eine Hilfsspeichereinheit, wie beispielsweise HDD (Hard Disk Drive) oder SSD (Solid State Drive), die verschiedene Programme speichert, eine Hauptspeichereinheit, wie beispielsweise RAM (Random Access Memory) zum Speichern von Daten, die vorübergehend erforderlich sind, wenn die arithmetische Verarbeitungseinrichtung ein Programm ausführt, eine Bedienungseinrichtung, wie beispielsweise eine Tastatur, auf der ein Bediener verschiedene Operationen ausführt, und eine Anzeigeeinrichtung, wie beispielsweise eine Anzeige, die dem Bediener verschiedene Informationen anzeigt. Diese Robotersteuervorrichtung 6 und die Numerik-Steuervorrichtung 5 sind in der Lage, verschiedene Signale miteinander zu senden und zu empfangen, beispielsweise über Ethernet (eingetragenes Warenzeichen).
  • 2 ist ein Funktionsblockdiagramm der Numerik-Steuervorrichtung 5 und der Robotersteuervorrichtung 6.
  • Die Numerik-Steuervorrichtung 5 erzeugt verschiedene Befehle zur Steuerung der Operation des Roboters 3 und des Werkzeugs 32 gemäß der unten erläuterten Reihenfolge und sendet die erzeugten Befehle an die Robotersteuervorrichtung 6. Die Robotersteuervorrichtung 6 erzeugt auf Grundlage der von der Numerik-Steuervorrichtung 5 gesendeten Befehle Roboterbefehle zur Steuerung der Operation des Roboters 3 gemäß der unten erläuterten Abfolge, erzeugt E/A-Signale zur Steuerung der Operation des Werkzeugs 32 und gibt das erzeugte Roboterbefehlssignal und das E/A-Signal in den Roboter 3 ein. Die Robotersteuervorrichtung 6 steuert somit die Operation des Roboters 3 und des Werkzeugs 32.
  • Zunächst soll der detaillierte Aufbau der Numerik-Steuervorrichtung 5 erläutert werden. Wie in 2 gezeigt, werden in der numerischen Steuervorrichtung 5 verschiedene Funktionen wie das Werkzeugmaschinen-Steuermodul 50 als Steuersystem der Werkzeugmaschine 2, das Roboter-Steuerungsmodul 51 als Steuersystem des Roboters 3 und eine Speichereinheit 52, die die in dem Werkzeugmaschinen-Steuermodul 50 und dem Roboter-Steuermodul 51 ausgeführten Numerik-Steuerungsprogramme usw. speichert, sowie eine Programmbearbeitungseinheit 53, die Numerik-Steuerungsprogramme auf Grundlage einer Bedienung durch den Bediener erstellt, auswählt und bearbeitet, durch die oben erwähnte Hardwarekonfiguration realisiert.
  • Die Speichereinheit 52 umfasst: einen Werkzeugmaschinen-ProgrammSpeicherbereich 521, der numerische Steuerprogramme für die Werkzeugmaschine speichert, bei denen es sich um numerische Steuerprogramme zur Erzeugung von Werkzeugmaschinen-Steuersignalen für die Werkzeugmaschine 2 im Werkzeugmaschinen-Steuerungsmodul 50 handelt; einen Roboterprogramm-Speicherbereich 522, der numerische Roboter-Steuerprogramme speichert, bei denen es sich um numerische Steuerprogramme zur Erzeugung von Block-Roboterbefehlen für den Roboter 3 im Roboter-Steuerungsmodul 51 handelt; und einen Roboterbefehl-Speicherbereich 523, der Roboterbefehl-Blöcke, Block-Informationen usw. speichert, die später beschrieben werden.
  • Die im Werkzeugmaschinen-Programmspeicherbereich 521 gespeicherten numerischen Steuerungsprogramme für die Werkzeugmaschine und die im Roboterprogramm-Speicherbereich 522 gespeicherten numerischen Steuerungsprogramme für den Roboter werden durch eine Vielzahl von Roboterbefehl-Blöcken konfiguriert, die in einer gemeinsamen Programmiersprache geschrieben sind (beispielsweise G-Code, M-Code oder dergleichen). In diesen Programmspeicherbereichen 521, 522 ist jeweils eine Vielzahl von numerischen Steuerungsprogrammen gespeichert. Darüber hinaus werden jedem der Vielzahl von numerischen Steuerprogrammen, die in diesen Speichereinheiten 521, 522 gespeichert sind, eindeutige Programmnummern zugewiesen.
  • Die Programmbearbeitungseinheit 53 erzeugt auf Grundlage von Bedienungen am Bedienfeld (nicht dargestellt) durch den Bediener ein neues numerisches Steuerprogramm neu, speichert dieses in den Programmspeichereinheiten 521, 522 und wählt die in den Programmspeichereinheiten 521, 522 gespeicherten numerischen Steuerprogramme aus oder bearbeitet sie.
  • Das Numerik-Steuersystem für die Werkzeugmaschine wird auf Grundlage des Werkzeugmaschinen-Koordinatensystems als erstes Koordinatensystem mit einem Ursprung eines Bezugspunktes geschrieben, der an der Werkzeugmaschine 2 oder in der Nähe der Werkzeugmaschine 2 festgelegt ist. Mit anderen Worten, im Numerik-Steuersystem der Werkzeugmaschine wird die Position und Lage eines Steuerpunktes der Werkzeugmaschine 2 durch einen Koordinatenwert im Koordinatensystem der Werkzeugmaschine beschrieben.
  • Das Numerik-Steuerprogramm für den Roboter wird auf Grundlage des Roboter-Koordinatensystems als einem zweiten, vom Koordinatensystem der Werkzeugmaschine verschiedenen Koordinatensystem geschrieben. Mit anderen Worten, im Numerik-Steuersystem des Roboters werden die Position und die Haltung des Steuerpunkts des Roboters 3 (beispielsweise das Ende der Armspitze 31 des Roboters 3) mit dem Koordinatenwert des Roboter-Koordinatensystems geschrieben, das sich vom Koordinatensystem der Werkzeugmaschine unterscheidet. Dieses Roboterkoordinatensystem ist ein Koordinatensystem, dessen Ursprung ein Bezugspunkt ist, der auf dem Roboter 3 oder in der Nähe des Roboters 3 liegt. Es sei darauf hingewiesen, dass im Folgenden ein Fall des Roboterkoordinatensystems, das sich vom Koordinatensystem der Werkzeugmaschine unterscheidet, erläutert wird; die vorliegende Offenbarung ist jedoch nicht darauf beschränkt. Das Roboterkoordinatensystem kann mit dem Koordinatensystem der Werkzeugmaschine integriert sein. Mit anderen Worten, der Ursprung des Roboterkoordinatensystems und die Richtungen der Koordinatenachsen können mit dem Ursprung und den Richtungen der Koordinatenachsen des Koordinatensystems der Werkzeugmaschine abgestimmt werden.
  • Darüber hinaus ist das Roboter-Koordinatensystem in diesem Numerik-Steuerprogramm für den Roboter zwischen zwei oder mehr Koordinatensystemen umschaltbar, die unterschiedliche Steuerachsen aufweisen. Insbesondere können die Position und die Lage des Steuerpunkts des Roboters 3 im numerischen Steuerungsprogramm für den Roboter dem orthogonalen Koordinatenformat oder dem Gelenkkoordinatenformat zugeordnet werden.
  • Im Gelenkkoordinatenformat werden die Position und die Haltung des Steuerpunkts des Roboters 3 durch die sechs reellen Zahlenkoordinatenwerte mit Komponenten der Drehwinkelwerte der sechs Gelenke des Roboters 3 (J1, J2, J3, J4, J5, J6) zugeordnet.
  • Im orthogonalen Koordinatenformat werden die Position und die Haltung des Steuerpunkts des Roboters 3 durch insgesamt sechs reellzahlige Koordinatenwerte mit Komponenten der drei Koordinatenwerte (X, Y, Z) entlang der drei orthogonalen Koordinatenachsen und drei Drehwinkelwerten (A, B, C) um jede orthogonale Koordinatenachse zugeordnet.
  • Um den Drehwinkel jedes Gelenks des Roboters 3 direkt zuzuordnen, sind im Rahmen des Koordinatenformats auch die Achsenanordnung jedes Arms und/oder Handgelenks des Roboters 3 und die Rotationsnummer eines um mindestens 360 Grad drehbaren Gelenks (im Folgenden abgekürzt als „Form des Roboters 3“ bezeichnet) eindeutig festgelegt. Im Gegensatz dazu kann beim orthogonalen Koordinatenformat aufgrund der Zuordnung von Position und Haltung des Steuerpunkts des Roboters 3 durch sechs Koordinatenwerte (X, Y, Z, A, B, C) die Form des Roboters 3 nicht eindeutig festgelegt werden. Mit dem numerischen Steuerungsprogramm für den Roboter ist es daher möglich, die Form des Roboters 3 durch den Formwert P zuzuordnen, der ein ganzzahliger Wert mit einer vorgegebenen Anzahl von Ziffern ist. Daher werden die Position und die Haltung des Steuerpunkts des Roboters 3 sowie die Form des Roboters 3 durch die sechs Koordinatenwerte (J1, J2, J3, J4, J5, J6) unter dem gemeinsamen Koordinatenformat und durch die sechs Koordinatenwerte und einen Formwert (X, Y, Z, A, B, C, P) unter dem orthogonalen Koordinatenformat dargestellt.
  • Mit dem numerischen Steuerungsprogramm für den Roboter ist es möglich, das Koordinatenformat durch den G-Code „G68.8“ und „G68.9“ einzustellen. Genauer gesagt wird durch Eingabe des G-Codes „G68.8“ das Koordinatenformat auf das gemeinsame Koordinatenformat und durch Eingabe des G-Codes „G68.9“ das Koordinatenformat auf das orthogonale Koordinatenformat eingestellt. Die G-Codes „G68.8“ und „G68.9“ zur Einstellung dieser Koordinatenformate sind modal. Daher wird das Koordinatenformat nach der Einstellung des Koordinatenformats durch diese G-Codes auf das gemeinsame Koordinatenformat oder das orthogonale Koordinatenformat beibehalten, bis das Koordinatenformat durch diese G-Codes wieder geändert wird. Es sollte beachtet werden, dass in der vorliegenden Ausführungsform das Koordinatenformat automatisch auf das orthogonale Koordinatenformat eingestellt wird, wenn der G-Code zum Einstellen dieser Koordinatenformate nicht in das numerische Steuerungsprogramm für den Roboter geschrieben wird; dies ist jedoch nicht darauf beschränkt.
  • Das Werkzeugmaschinen-Steuerungsmodul 50 erzeugt ein Werkzeugmaschinen-Steuersignal zur Steuerung der Operation der Werkzeugmaschine 2 in Übereinstimmung mit dem im Werkzeugmaschinen-Programmspeicherbereich 521 gespeicherten numerischen Steuerungsprogramm für die Werkzeugmaschine und gibt dieses an den Aktuator (nicht dargestellt) der Werkzeugmaschine 2 weiter. Genauer gesagt liest das Werkzeugmaschinen-Steuerungsmodul 50 das numerische Steuerprogramm der durch einen vorbestimmten Programmausführungsbefehl zugeordneten Programmnummer aus mehreren numerischen Steuerprogrammen für die Werkzeugmaschine, die im Werkzeugmaschinen-Programmspeicherbereich 521 gespeichert sind, und erzeugt ein Werkzeugmaschinen-Steuersignal durch Analyse der Befehlsklassifizierung auf Grundlage dieses numerischen Steuerprogramms. Die Werkzeugmaschine 2 arbeitet entsprechend dem Werkzeugmaschinen-Steuerungssignal, das vom Werkzeugmaschinen-Steuerungsmodul 50 gesendet wird, um ein Werkstück zu bearbeiten (nicht dargestellt).
  • Das Roboter-Steuerungsmodul 51 erzeugt verschiedene Befehle zur Steuerung der Operation des Roboters 3 und des Werkzeugs 32 auf Grundlage der im Roboterprogramm-Speicherbereich 522 gespeicherten Numerik-Steuerungsprogramme für den Roboter und sendet diese an die Robotersteuervorrichtung 6. Im Einzelnen umfasst das Roboter-Steuerungsmodul 51 eine Programmvorverarbeitungseinheit 54, eine Programmausführungsbefehlseinheit 57, einen Programmausführungsverwalter 58 und eine erste Kommunikationseinheit 59.
  • Die Programmvorverarbeitungseinheit 54 erzeugt, indem sie die durch eine Vielzahl von Befehlsblöcken konfigurierten numerischen Steuerprogramme für den Roboter aus dem Roboterprogramm-Speicherbereich 522 liest und die durch die folgende Sequenz angegebene Vorverarbeitung an dem gelesenen numerischen Steuerprogramm für den Roboter durchführt, einen Block-Roboterbefehl, der ein in einem in der Robotersteuerrichtung 6 erkennbaren Format geschriebener Roboterbefehl ist, für jeden Befehlsblock, der das numerische Steuerprogramm für den Roboter konfiguriert, und speichert die erzeugte Vielzahl von Block-Roboterbefehlen in dem Roboterbefehl-Speicherbereich 523.
  • Genauer gesagt umfasst die Programmvorverarbeitungseinheit 54 einen Programm-Eingeber 541, einen Eingabeanalysator 542 und einen Roboterbefehl-Erzeugungseinheit 543 und führt unter Verwendung dieser eine Vorverarbeitung des numerischen Steuerprogramms für den Roboter durch.
  • Nachfolgend wird ein Fall erläutert, in dem die Programmvorverarbeitungseinheit 54 die unten erläuterte Vorverarbeitung als Reaktion auf die Erzeugung, Auswahl oder Bearbeitung des numerischen Steuerprogramms für den Roboter durch die Programmbearbeitungseinheit 53, die abgeschlossen ist, beginnt; der Zeitpunkt des Beginns der Vorverarbeitung ist jedoch nicht darauf beschränkt. Es reicht aus, wenn die Programmvorverarbeitungseinheit 54 die nachfolgend erläuterte Vorverarbeitung spätestens dann startet, wenn die Programmausführungsbefehlseinheit 57 den später beschriebenen Programmausführungsbefehl an den später beschriebenen Programmausführungsverwalter 58 eingibt.
  • Zunächst liest die Programm-Eingeber 541 aus einer Vielzahl von im Roboterprogramm-Speicherbereich 522 gespeicherten numerischen Steuerprogrammen für den Roboter, d.h. einem numerischen Steuerprogramm für den Roboter, für das die Erzeugung, Auswahl oder Bearbeitung durch die Programmbearbeitungseinheit 53 abgeschlossen ist, ein Programm aus, an dem keine Vorverarbeitung durchgeführt wurde, und gibt dieses sukzessive für jeden Roboterbefehl-Block in den Eingabeanalysator 542 ein.
  • Der Eingabeanalysator 542 analysiert für jeden Befehlsblock die Befehlsklassifizierung auf Grundlage des vom Programm-Eingeber 541 eingegebenen numerischen Steuerprogramms für den Roboter und sendet das Analyseergebnis dazu für jeden Befehlsblock an den Roboterbefehl-Generator 543.
  • Der Roboterbefehlsgenerator 543 erzeugt einen Block-Roboterbefehl, der ein in der Robotersteuervorrichtung 6 erkennbarer Roboterbefehl ist, und diesem Block-Roboterbefehl zugeordnete Block-Informationen für jeden Befehlsblock, basierend auf dem von dem Eingabeanalysator 542 für jeden Befehlsblock gesendeten Analyseergebnis, und speichert den erzeugten Block-Roboterbefehl und die Block-Informationen in dem Roboterbefehl-Speicherbereich 523. Genauer gesagt erzeugt die Roboterbefehl-Erzeugungseinheit 543 einen Block-Roboterbefehl, der von der Robotersteuervorrichtung 6 erkannt werden kann, indem sie die Sprache des gelesenen numerischen Steuerprogramms für den Roboter in eine Sprache ändert, die von der Robotersteuervorrichtung 6 erkannt werden kann. Dabei umfasst die Verarbeitung der Änderung der Sprache des Numerik-Steuervorprogramms für den Roboter in eine in der Robotersteuervorrichtung 6 erkennbare Sprache, die Verarbeitung der Änderung des Zeichencodes des Numerik-Steuervorprogramms für den Roboter in einen in der Robotersteuervorrichtung 6 erkennbaren Zeichencode, die Verarbeitung der Änderung des Numerik-Steuervorprogramms für den Roboter in eine in der Robotersteuervorrichtung 6 erkennbare Sprache usw. Darüber hinaus umfassen die Block-Informationen die Programmnummer des numerischen Steuerprogramms für den Roboter, die beim Erzeugen des Block-Roboterbefehls gelesen wird, die Blocknummer des numerischen Steuerprogramms für den Roboter usw.
  • 3 ist eine Ansicht, die schematisch einen Block-Roboterbefehl zeigt, der von der oben genannten Programmvorverarbeitungseinheit 54 erzeugt wird.
  • Wie in 3 gezeigt, erzeugt die Programmvorverarbeitungseinheit 54 eine Vielzahl von Block-Roboterbefehlen CiJ und eine Vielzahl von Block-Informationssätzen (i-j), die jedem Block-Roboterbefehl CiJ zugeordnet sind, indem sie die oben erwähnte derartige Vorverarbeitung an jedem des numerischen Steuerprogramms P1 der Programmnummer 1, des numerischen Steuerprogramms P2 der Programmnummer 2, ..., des numerischen Steuerprogramms Pn der Programmnummer n der Gruppe n („n“ ist eine beliebige ganze Zahl) durchführt, die in dem Roboterprogramm-Speicherbereich 522 gespeichert ist. Der Roboterbefehl-Speicherbereich 523 speichert die Vielzahl von Block-Roboterbefehlen CiJ, die von der Programmvorverarbeitungseinheit 54 erzeugt wurden, in einer Form, die dem Block-Informationssatz (i-j) zugeordnet ist, wie in 3 gezeigt. Darin ist „i“ eine beliebige ganze Zahl von 1 bis n, die der Programmnummer entspricht. Darüber hinaus ist „j“ eine beliebige ganze Zahl von 1 bis zur Befehlssatznummer der Vielzahl von numerischen Steuerprogrammen, die der Satznummer entspricht. Es sollte beachtet werden, dass im Folgenden ein Fall der Durchführung einer Vorverarbeitung durch die Programmvorverarbeitungseinheit 54 für alle numerischen Steuerprogramme P1, ..., Pn der Gruppe n, die im Roboterprogramm-Speicherbereich 522 gespeichert sind, erläutert wird; die vorliegende Offenbarung ist jedoch nicht darauf beschränkt. Die Programmvorverarbeitungseinheit 54 kann die Vorverarbeitung nur für eines der numerischen Steuerprogramme mehrerer Gruppen, die im Roboterprogramm-Speicherbereich 522 gespeichert sind, durchführen, das durch Auswahlverarbeitung (nicht gezeigt) ausgewählt wurde.
  • Genauer gesagt, erzeugt die Programmvorverarbeitungseinheit 54 durch Vorverarbeitung des numerischen Steuerprogramms P1, das durch b1 Anzahl von Befehlsblöcken konfiguriert ist, insgesamt b1 Anzahl von Roboterbefehl-Blocks C1_1, C1_2, ... C1_1, C1_2, ..., C1_b1, und durch Vorverarbeitung des durch b2 Anzahl von Befehlssätzen konfigurierten numerischen Steuerprogramms P2 erzeugt sie insgesamt b2 Anzahl von Block-Roboterbefehlen C2_1, C2_2, ..., C2_b2, und durch Vorverarbeitung des durch bn Anzahl von Befehlssätzen konfigurierten numerischen Steuerprogramms Pn erzeugt sie insgesamt bn Anzahl von Block-Roboterbefehlen Cn_1, Cn_2, ..., Cn_bn.
  • Zurückkommend auf 2 erzeugt die Programmausführungsbefehlseinheit 57 einen Programmausführungsbefehl für das numerische Steuerprogramm der zugeordneten Programmnummer auf Grundlage einer Operation durch den Bediener, beispielsweise unter den mehreren numerischen Steuerprogrammen für den Roboter, die im Roboterprogramm-Speicherbereich 522 gespeichert sind, und gibt diesen an den Programmausführungsverwalter 58 weiter.
  • Der Programmausführungsverwalter 58 liest im Falle der Eingabe eines Programmausführungsbefehls von der Programmausführungsbefehlseinheit 57 mehrere durch diesen Programmausführungsbefehl zugeordnete Block-Roboterbefehle aus dem Roboterbefehl-Speicherbereich 523 und schreibt die gelesenen mehreren Block-Roboterbefehle in die erste Kommunikationseinheit 59. Genauer gesagt liest der Programmausführungsverwalter 58 die Vielzahl von Block-Roboterbefehlen Ci_1, Ci_2, ..., Ci_bi, die zu der durch den Programmausführungsbefehl zugeordneten Programmnummer i gehören, in der durch den Programmausführungsbefehl zugeordneten Reihenfolge (beispielsweise in der Reihenfolge von einem, der die kleinste Blocknummer aufweist), und schreibt die gelesene Vielzahl von Block-Roboterbefehlen Ci_1, Ci_2, ..., Ci_bi in die erste Kommunikationseinheit 59 in der durch den Programmausführungsbefehl zugeordneten Reihenfolge.
  • Die erste Kommunikationseinheit 59 sendet die Vielzahl der in den Programmausführungsbefehlsverwalter 58 eingelesenen Block-Roboterbefehle Ci_1, Ci_2, ..., Ci_bi nacheinander in der Schreibreihenfolge durch den Programmausführungsbefehlsverwalter 58 an die später beschriebene zweite Kommunikationseinheit 69 der Robotersteuervorrichtung 6 (d.h. gleiche Reihenfolge wie Schreibreihenfolge durch den Programmausführungsbefehlsverwalter 58, gleiche Reihenfolge wie zugeordnete Reihenfolge basierend auf dem Programmausführungsbefehl). Genauer gesagt, sendet die erste Kommunikationseinheit 59 die Vielzahl von Block-Roboterbefehlen Ci_1, Ci_2, ..., Ci_bi, die in den Programmausführungsmanager 58 eingelesen wurden, nacheinander an die zweite Kommunikationseinheit 69, und zwar jedes Mal, wenn sie die später beschriebene Operationsbeendigungsmeldung empfängt, die von der zweiten Kommunikationseinheit 69 gesendet wird, und zwar in der Schreibreihenfolge durch den Programmausführungsverwalter 58.
  • Als nächstes wird die Konfiguration der Robotersteuervorrichtung 6 im Detail erläutert. Wie in 2 gezeigt, werden verschiedene Funktionen wie die der Eingabeanalyseeinheit 60, der Roboterprogramm-Erstellungseinheit 61, der Operationssteuereinheit 65 und der zweiten Kommunikationseinheit 69 durch die obige Hardwarekonfiguration in der Robotersteuervorrichtung 6 realisiert.
  • Die zweite Kommunikationseinheit 69 überträgt verschiedene Befehle und Benachrichtigungen gegenseitig mit der ersten Kommunikationseinheit 59 der Numerik-Steuervorrichtung 5. Genauer gesagt gibt die zweite Kommunikationseinheit 69, wenn sie den von der ersten Kommunikationseinheit 59 gesendeten Block-Roboterbefehl empfängt, diesen Block-Roboterbefehl nacheinander in die Eingabeanalyseeinheit 60 ein. Darüber hinaus sendet die zweite Kommunikationseinheit 69, wenn die Operationsbeendigungsmeldung vom Programmverwalter 613 in Übereinstimmung mit der später erläuterten Sequenz geschrieben wird, diese Operationsbeendigungsmeldung an die erste Kommunikationseinheit 59.
  • Die Eingabeanalyseeinheit 60 analysiert den von der Numerik-Steuervorrichtung 5 über die zweite Kommunikationseinheit 69 gesendeten Block-Roboterbefehl und sendet das Analyseergebnis an die Roboterprogramm-Erzeugungseinheit 61 und die Operationssteuereinheit 65.
  • Die Roboterprogramm-Erzeugungseinheit 61 umfasst einen Roboterbefehlsgenerator 612, einen Programmverwalter 613 und einen Speicherbereich 614 und erzeugt mit diesen ein Roboterprogramm gemäß einem von der Eingabeanalyseeinheit 60 gesendeten Block-Roboterbefehl.
  • Der Roboterbefehlsgenerator 612 meldet, wenn ein Block-Roboterbefehl von der Eingabeanalyseeinheit 60 eingegeben wird, den dem eingegebenen Block-Roboterbefehl entsprechenden Roboterbefehl an den Programmverwalter 613.
  • Der Programmverwalter 613 fügt, wenn ein Roboterbefehl von dem Roboterbefehlsgenerator 612 eingegeben wird, den eingegebenen Roboterbefehl zu dem in dem Speicherbereich 614 gespeicherten Roboterprogramm hinzu. Auf diese Weise wird im Speicherbereich 614 ein Roboterprogramm gemäß den von der Numerik-Steuervorrichtung 5 gesendeten Roboterbefehl-Blöcken erzeugt.
  • Die numerische Steuereinrichtung 65 umfasst einen Programmstarter 651, eine Bahnsteuerung 652, eine Kinematiksteuerung 653 und eine Servosteuerung 654 und steuert mit diesen die Operation des Roboters 3.
  • Der Programmstarter 651 sendet die Programmstartbenachrichtigung an den Programmverwalter 613 als Reaktion auf die Erzeugung des Roboterprogramms, das auf Grundlage des Block-Roboterbefehls in der vorgenannten Roboterprogramm-Erstellungseinheit 61 abgeschlossen wird, nachdem der Block-Roboterbefehl von der Eingabeanalyseeinheit 60 eingegeben wurde, um dieses Roboterprogramm zu starten. Der Programmverwalter 613 startet das im Speicherbereich 614 gespeicherte Roboterprogramm als Reaktion auf den Empfang dieser Programmstartmeldung. Der Programmverwalter 613 erstellt einen Operationsplan des Roboters 3 und einen Operationsplan des Werkzeugs 32 gemäß dem Block-Roboterbefehl, indem er nacheinander die im hochgefahrenen Roboterprogramm geschriebenen Roboterbefehle ausführt. Darüber hinaus sendet der Programmverwalter 613 den erzeugten Operationsplan des Roboters 3 an die Bahnsteuerung 652 und den erzeugten Operationsplan des Werkzeugs 32 an die Servosteuerung 654.
  • Die Bahnsteuerung 652 berechnet beim Empfang des Operationsplans des Roboters 3 vom Programmverwalter 613 die Operationstrajektorie des Steuerpunkts des Roboters 3, indem sie eine Interpolationsverarbeitung auf Grundlage dieses Operationsplans ausführt, und gibt sie an die Kinematiksteuerung 653 weiter. Die Kinematiksteuerung 653 berechnet den Winkel jedes Gelenks des Roboters 3 als Zielwinkel, indem sie eine Kinematikberechnung auf Grundlage der von der Bahnsteuerung 652 berechneten Operationstrajektorie durchführt, und sendet diese Zielwinkel an die Servosteuerung 654.
  • Die Servosteuerung 654 erzeugt ein Robotersteuersignal für den Roboter 3 durch Rückkopplungssteuerung jedes Servomotors des Roboters 3, so dass der von der Kinematiksteuerung 653 gesendete Zielwinkel jedes Gelenks realisiert wird, und Eingaben an die Servomotoren des Roboters 3. Darüber hinaus erzeugt die Servosteuerung 654, wenn sie den vom Programmverwalter 613 gesendeten Operationsplan des Werkzeugs 32 empfängt, ein E/A-Signal zum Antreiben des Werkzeugs 32 in Übereinstimmung mit diesem Operationsplan, und Eingaben an das Werkzeug 32.
  • Darüber hinaus schreibt der Programmverwalter 613, wenn die Steuerung der Operation des Roboters 3 und des Werkzeugs 32 auf Grundlage eines Block-Roboterbefehls gemäß der obigen Sequenz abgeschlossen ist, die Operationsbeendigungsmeldung in die zweite Kommunikationseinheit 69. Die zweite Kommunikationseinheit 69 sendet, wenn die Operationsbeendigungsmeldung vom Programmverwalter 613 geschrieben wird, diese Operationsbeendigungsmeldung an die erste Kommunikationseinheit 59 der Numerik-Steuervorrichtung 5. Darüber hinaus sendet die erste Kommunikationseinheit 59 als Reaktion auf den Empfang der Operationsbeendigungsmeldung, die von der zweiten Kommunikationseinheit 69 gesendet wurde, den nächsten Block-Roboterbefehl an die zweite Kommunikationseinheit 69 in der Schreibreihenfolge durch den Programmausführungsverwalter 58 auf die obige Weise.
  • Auf die obige Weise erzeugt die Roboterprogramm-Erzeugungseinheit 61 in der Robotersteuervorrichtung 6 beim Empfang von Block-Roboterbefehlen, die von der Numerik-Steuervorrichtung 5 gesendet werden, ein Roboterprogramm auf Grundlage dieser Block-Roboterbefehle und steuert des Weiteren die Operation des Roboters 3 und des Werkzeugs 32 durch Ausführen dieses Roboterprogramms.
  • Nachfolgend wird der Fluss verschiedener Signale und Informationen des Numerik-Steuersystems 1, das auf die oben beschriebene Weise konfiguriert ist, unter Bezugnahme auf die 4 und 5 erläutert.
  • 4 ist ein Sequenzdiagramm, das den Fluss von Signalen und Informationen zwischen der Numerik-Steuervorrichtung 5 und der Robotersteuervorrichtung 6, die in der Numerik-Steuervorrichtung 5 ausgeführte Verarbeitung und die in der Robotersteuervorrichtung 6 ausgeführte Verarbeitung zeigt.
  • Zunächst erzeugt die Programmvorverarbeitungseinheit 54 der Numerik-Steuervorrichtung 5 als Reaktion auf die durch die Programmbearbeitungseinheit 53 abgeschlossene Bearbeitung des Numerik-Steuerprogramms für den Roboter mehrere Roboterbefehl-Blöcke, indem sie eine Vorverarbeitung an diesem Numerik-Steuerprogramm durchführt, und speichert diese im Roboterbefehl-Speicherbereich 523.
  • 5 ist eine Ansicht, die ein numerisches Steuerprogramm für den Roboter und ein Beispiel für mehrere Block-Roboterbefehle zeigt, die durch Vorverarbeitung dieses numerischen Steuerprogramms erzeugt werden.
  • Die linke Seite von 5 zeigt ein Beispiel für ein numerisches Steuerprogramm, bei dem die Programmnummer als „i“ und die Befehlssatznummer als „bi“ definiert ist. Der Befehlsblock mit der Blocknummer „1“ im numerischen Steuerprogramm von 5 ist durch einen Befehl zum Übergang des Steuerpunkts des Roboters 3 auf den Koordinatenwert (0, 0, 0, 0, -90, 0) konfiguriert, der dem gemeinsamen Koordinatenformat durch Eilgang zugeordnet ist, der Befehlsblock mit der Blocknummer „2“ ist durch einen Befehl zum Übergang des Steuerpunkts des Roboters 3 auf den Koordinatenwert (200. , 0, 150., 0, 0, 0, _), der dem orthogonalen Koordinatenformat durch lineare Interpolation zugeordnet ist, und der Roboterbefehl-Block mit der Blocknummer „bi“ ist durch einen Befehl für den Übergang des Steuerpunkts des Roboters 3 auf den Koordinatenwert (0, 0, 0, 0, -90, 0) konfiguriert, der dem orthogonalen Koordinatenformat durch Eilgang zugeordnet ist.
  • Die Programmvorverarbeitungseinheit 54 erzeugt eine Gesamtzahl „bi“ von Block-Roboterbefehlen und Block-Informationen, die jedem Block-Roboterbefehl zugeordnet sind, wie auf der rechten Seite in 5 gezeigt, indem sie eine Vorverarbeitung an einem solchen numerischen Steuerprogramm durchführt, und speichert diese in dem Roboterbefehl-Speicherbereich 523. 5 zeigt einen Fall, in dem das Numerik-Steuervorrichtungsprogramm in einer Sprache vorverarbeitet wird, die in der Robotersteuervorrichtung 6 erkennbar ist. Der der Block-Information (i-1) zugeordnete Block-Roboterbefehl lautet „Bewege deg (0, 0, 0, 0, -90., 0)“, der der Block-Information (i-2) zugeordnete Block-Roboterbefehl lautet „Bewege abs (200., 0, 150, 0, 0, 0, 0)“, und der der Block-Information (i-bi) zugeordnete Block-Roboterbefehl lautet „Bewege deg (0, 0, 0, 0, -90., 0)“.
  • Zurückkommend auf 4 erzeugt anschließend die Programmausführungsbefehlseinheit 57 der Numerik-Steuervorrichtung 5 aufgrund einer Bedienung durch den Bediener einen Programmausführungsbefehl für das numerische Steuerprogramm der Programmnummer „i“, bei dem die Vorverarbeitung in der oben erwähnten Weise abgeschlossen wurde, und gibt diesen an den Programmausführungswalter 58 weiter.
  • Anschließend liest der Programmausführungsverwalter 58 der Numerik-Steuervorrichtung 5 als Reaktion auf die Eingabe eines Programmausführungsbefehls den mit der Block-Information (i-j) assoziierten Block-Roboterbefehl („j“ ist eine Block-Nummer und eine ganze Zahl zwischen 1 und bi) aus dem Roboterbefehl-Speicherbereich 523 in der Reihenfolge ab derjenigen mit der kleineren Block-Nummer und schreibt die gelesenen mehreren Block-Roboterbefehle in der Reihenfolge in die erste Kommunikationseinheit 59.
  • Anschließend sendet die erste Kommunikationseinheit 59 der Numerik-Steuervorrichtung 5 zunächst den mit der Block-Information (i-1) verbundenen Block-Roboterbefehl an die Robotersteuervorrichtung 6.
  • Anschließend erzeugt die Robotersteuervorrichtung 6 als Reaktion auf den Empfang eines der Block-Information (i-1) zugeordneten Block-Roboterbefehls ein auf diesem Block-Roboterbefehl basierendes Roboterprogramm und überführt den Steuerpunkt des Roboters 3 durch dessen Ausführung im Eilgang in den durch das gemeinsame Koordinatenformat (0, 0, 0, 0, -90, 0) zugeordneten Koordinatenwert. Darüber hinaus sendet die Robotersteuervorrichtung 6, wenn die Steuerung der Operation des Roboters 3 abgeschlossen ist, die Operationsbeendigungsmeldung an die Numerik-Steuervorrichtung 5.
  • Anschließend sendet die erste Kommunikationseinheit 59 der Numerik-Steuervorrichtung 5 als Reaktion auf den Empfang der Operationsbeendigungsmeldung den Block-Roboterbefehl, der mit der nächsten Block-Information (i-2) verbunden ist, an die Robotersteuervorrichtung.
  • Anschließend bewegt die Robotersteuervorrichtung 6 als Reaktion auf den Empfang des der Block-Information (i-2) zugeordneten Block-Roboterbefehls den Steuerpunkt des Roboters 3 durch lineare Interpolation zu den unter dem orthogonalen Koordinatenformat zugeordneten Koordinatenwerten (200., 0, 150., 0, 0, 0, _), indem sie ein auf diesem Block-Roboterbefehl basierendes Roboterprogramm erzeugt und ausführt. Darüber hinaus sendet die Robotersteuervorrichtung 6, wenn die Steuerung der Operation des Roboters 3 abgeschlossen ist, eine Operationsbeendigungsmeldung an die Numerik-Steuervorrichtung 5.
  • Danach wird die Übertragung der Block-Roboterbefehle und der Operationsbeendigungsmeldung zwischen der Numerik-Steuervorrichtung 5 und der Robotersteuervorrichtung 6 wiederholt, bis die Steuerung der Operation des Roboters 3 auf Grundlage des Block-Roboterbefehls, der mit der Block-Information (i-bi) verbunden ist, abgeschlossen ist.
  • Gemäß der vorliegenden Ausführungsform werden die folgenden Effekte ausgeübt. In der vorliegenden Ausführungsform erzeugt die Programmvorverarbeitungseinheit 54 der Numerik-Steuervorrichtung 5 in der Robotersteuervorrichtung 6 erkennbare Block-Roboterbefehle und diesem Block-Roboterbefehl zugeordnete Block-Informationen auf Grundlage von Analyseergebnissen für jeden Block des Numerik-Steuerprogramms, und der Roboterprogramm-Speicherbereich 523 der Numerik-Steuervorrichtung 5 speichert den erzeugten Block-Roboterbefehl und die Block-Informationen. Darüber hinaus liest der Programmausführungsverwalter 58 der Numerik-Steuervorrichtung 5 den Block-Roboterbefehl, der mit den durch den Blockausführungsbefehl zugeordneten Block-Informationen verbunden ist, aus dem Roboterbefehl-Speicherbereich 523, und die erste Kommunikationseinheit 59 der Numerik-Steuervorrichtung 5 sendet den vom Programmausführungsverwalter 58 gelesenen Block-Roboterbefehl an die Robotersteuervorrichtung 6. Gemäß der vorliegenden Ausführungsform ist es durch die Erzeugung des Block-Roboterbefehls und der Block-Informationen für alle Blöcke, die in dem numerischen Steuerprogramm enthalten sind, durch die Programmvorverarbeitungseinheit 54 im Voraus vor der Eingabe des Programmausführungsbefehls in den ProgrammausführungsVerwalter 58 und durch die Speicherung dieser Informationen in dem Roboterbefehl-Speicherbereich 523 in der oben beschriebenen Weise nicht erforderlich, eine Verarbeitung zur Erzeugung eines Block-Roboterbefehls aus dem numerischen Steuerprogramm beim Senden des Block-Roboterbefehls von der numerischen Steuereinrichtung 5 an die Robotersteuereinrichtung 6 durchzuführen. Aus diesem Grund ist es gemäß der vorliegenden Ausführungsform möglich, die Zykluszeit der Robotersteuerung im Vergleich zu einem herkömmlichen Numerik-Steuersystem um den Betrag zu verkürzen, der für die Erzeugung von Block-Roboterbefehlen erforderlich ist, während eine Synchronisation der Ausführungsblöcke von Programmen zwischen der Numerik-Steuervorrichtung 5 und der Robotersteuervorrichtung 6 erreicht wird.
  • In der vorliegenden Ausführungsform beginnt die Programmvorverarbeitungseinheit 54 mit der Analyse des numerischen Robotersteuerungsprogramms und der Erzeugung des Block-Roboterbefehls und der Block-Informationen, bevor der Programmausführungsbefehl von der Programmausführungsbefehlseinheit 57 in den Programmausführungsverwalter 58 eingegeben wird. Dadurch ist es möglich, die Zykluszeit der Robotersteuerung im Vergleich zu einem herkömmlichen Numerik-Steuersystem um den Betrag zu verkürzen, der für die Generierung des Block-Roboterbefehls erforderlich ist.
  • In der vorliegenden Ausführungsform beginnt die Programmvorverarbeitungseinheit 54 in Reaktion auf die Erstellung, Auswahl oder Bearbeitung des numerischen Robotersteuerungsprogramms durch die Programmbearbeitungseinheit 53 mit der Analyse dieses numerischen Robotersteuerungsprogramms und der Erzeugung des Roboterbefehl-Blocks und der Block-Informationen. Auf diese Weise ist es möglich, die Steuerung der Operation des Roboters auf Grundlage des numerischen Robotersteuerprogramms, dessen Erstellung, Auswahl oder Bearbeitung abgeschlossen ist, so schnell wie möglich zu starten.
  • In der vorliegenden Ausführungsform erzeugt die Programmvorverarbeitungseinheit 54 einen Block-Roboterbefehl, indem sie die Sprache des numerischen Steuerprogramms in eine in der Robotersteuervorrichtung 6 erkennbare Sprache ändert. Darüber hinaus erzeugt die Programmvorverarbeitungseinheit 54 den Block-Roboterbefehl, indem sie den Zeichencode des Numerik-Steuervorrichtungsprogramms in einen in der Robotersteuervorrichtung 6 erkennbaren Zeichencode ändert. Dadurch ist es möglich, einen Block-Roboterbefehl zu erzeugen, der von einer vorhandenen Robotersteuervorrichtung 6 erkannt werden kann.
  • In der vorliegenden Ausführungsform liest der Programmausführungsverwalter 58 eine Vielzahl von Block-Roboterbefehlen, die mit jedem einer Vielzahl von Sätzen von Block-Informationen, die durch den Programmausführungsbefehl zugeordnet sind, in der durch den Programmausführungsbefehl bestimmten Reihenfolge verbunden sind, und die erste Kommunikationseinheit 59 sendet die Vielzahl von Block-Roboterbefehlen nacheinander an die zweite Kommunikationseinheit 69, jedes Mal, wenn sie eine von der zweiten Kommunikationseinheit 69 gesendete Operationswettbewerbsmeldung empfängt, in der Lesereihenfolge gemäß dem Programmausführungsverwalter 58. Dadurch ist es möglich, eine zuverlässigere Synchronisation der Ausführungsblöcke der Programme zwischen der Numerik-Steuervorrichtung 5 und der Robotersteuervorrichtung 6 zu erreichen.
  • <Zweite Ausführungsform>
  • Nachfolgend wird ein Numerik-Steuersystem gemäß einer zweiten Ausführungsform der vorliegenden Offenbarung unter Bezugnahme auf die Zeichnungen erläutert. Das Numerik-Steuersystem gemäß der vorliegenden Ausführungsform unterscheidet sich hauptsächlich in der Sendefolge der Block-Roboterbefehle von dem Numerik-Steuersystem 1 gemäß der ersten Ausführungsform.
  • 6 ist ein Sequenzdiagramm gemäß der vorliegenden Ausführungsform, das den Fluss von Signalen und Informationen zwischen der Numerik-Steuervorrichtung und der Robotersteuervorrichtung, die in der Numerik-Steuervorrichtung ausgeführte Verarbeitung und die in der Robotersteuervorrichtung ausgeführte Verarbeitung zeigt. In dem Numerik-Steuersystem gemäß der vorliegenden Ausführungsform ist die Abfolge der Programmbearbeitungseinheit, die ein numerisches Steuerprogramm erzeugt, auswählt oder bearbeitet, die Abfolge der Programmausführungsbefehlseinheit, die eine Vielzahl von Block-Roboterbefehlen und Block-Informationen erzeugt und in dem Roboterspeicherbereich speichert, die Abfolge der Programmausführungsbefehlseinheit, die Programmausführungsbefehle für das numerische Steuerprogramm erzeugt und in den Programmspeicherbereich eingibt, die Abfolge des Programmausführungsverwalters, der eine Vielzahl von Block-Roboterbefehlen aus dem Roboterspeicherbereich liest, die Abfolge der Robotersteuerungseinrichtung, die die Operation des Roboters auf Grundlage der Block-Roboterbefehle steuert, usw. sind die gleichen wie bei dem Numerik-Steuersystem gemäß der ersten Ausführungsform; daher wird im Folgenden auf eine detaillierte Erläuterung verzichtet. Es sei darauf hingewiesen, dass im Folgenden ein Fall der Ausführung des gleichen numerischen Steuerprogramms wie in 5 als Beispiel erläutert wird.
  • Wie in 6 gezeigt, liest der Programmausführungsverwalter der Numerik-Steuervorrichtung als Reaktion auf die Eingabe des Programmausführungsbefehls den Block-Roboterbefehl aus dem Roboterprogramm-Speicherbereich und beginnt, ähnlich wie bei der ersten Ausführungsform, mit dem Schreiben der gelesenen Block-Befehle in den für die erste Kommunikationseinheit bereitgestellten Puffer. Es sollte beachtet werden, dass der Puffer, der der ersten Kommunikationseinheit zur Verfügung gestellt wird, ein sogenannter FIFO-Puffer ist, der Block-Roboterbefehle in der Schreibreihenfolge ausgibt. Es sollte beachtet werden, dass im Folgenden zwar ein Fall der Bereitstellung des Puffers für die erste Kommunikationseinheit erläutert wird, die vorliegende Offenbarung jedoch nicht darauf beschränkt ist. Ein ähnlicher Puffer kann auch für die zweite Kommunikationseinheit bereitgestellt werden. Es ist möglich, den gleichen Vorgang mit leichten Korrekturen auch im Falle der Bereitstellung des Puffers für die zweite Kommunikationseinheit zu realisieren.
  • Wie in 6 gezeigt, schreibt der Programmausführungsverwalter zunächst den mit der Block-Information (i-1) verbundenen Block-Roboterbefehl in den Puffer der ersten Kommunikationseinheit und erzeugt einen Ausführungsbefehl für den mit dieser Block-Information (i-1) verbundenen Block-Roboterbefehl. Die erste Kommunikationseinheit sendet dabei den mit der Block-Information (i-1) verbundenen Block-Roboterbefehl zusammen mit dem Ausführungsbefehl für diesen Block-Roboterbefehl an die Robotersteuervorrichtung 6.
  • Anschließend liest der Roboterprogrammgenerator der Robotersteuervorrichtung den empfangenen Block-Roboterbefehl ein und erzeugt ein Roboterprogramm. Darüber hinaus beginnt die Operationssteuerung der Robotersteuervorrichtung als Reaktion auf den Empfang des Ausführungsbefehls von der Numerik-Steuervorrichtung mit der Steuerung der Operation des Roboters auf Grundlage des Block-Roboterbefehls, der mit der Block-Information (i-1) verbunden ist, indem sie das erzeugte Roboterprogramm startet.
  • Während die zweite Kommunikationseinheit der Robotersteuervorrichtung die Operation des Roboters steuert, indem sie auf die obige Weise arbeitet, sendet sie die Lesebeendigungsmeldung an die erste Kommunikationseinheit als Reaktion darauf, dass das Lesen des zuvor empfangenen Block-Roboterbefehls durch die Roboterprogramm-Erzeugungseinheit abgeschlossen wurde.
  • Anschließend sendet die erste Kommunikationseinheit der Numerik-Steuervorrichtung als Reaktion auf den Empfang der Lesebeendigungsmeldung, die von der zweiten Kommunikationseinheit gesendet wurde, einen Block-Roboterbefehl, der vom Programmausführungsverwalter in den nächsten Puffer in der Schreibreihenfolge geschrieben wurde, d.h. einen Block-Roboterbefehl, der mit der Block-Information (i-2) verbunden ist, an die zweite Kommunikationseinheit.
  • Anschließend liest die Roboterbefehl-Erzeugungseinheit der Robotersteuervorrichtung den empfangenen Block-Roboterbefehl und erzeugt das Roboterprogramm auf Grundlage des mit der Block-Information (i-2) verbundenen Block-Roboterbefehls.
  • Anschließend sendet die zweite Kommunikationseinheit der Robotersteuervorrichtung als Reaktion auf die Steuerung der Operation des Roboters, der auf Grundlage des Block-Roboterbefehls, der der Block-Information (i-1) zugeordnet ist, abgeschlossen wird, die Operationsbeendigungsmeldung an die erste Kommunikationseinheit.
  • Anschließend sendet der Programmausführungsverwalter der Numerik-Steuervorrichtung als Reaktion auf den Empfang der von der zweiten Kommunikationseinheit gesendeten Operationsbeendigungsmeldung den nächsten Block-Roboterbefehl in der Schreibreihenfolge durch den Programmausführungsverwalter, d.h. den Ausführungsbefehl für den mit der Block-Information (i-2) verbundenen Block-Roboterbefehl, über die erste Kommunikationseinheit an die Robotersteuervorrichtung, um zur Ausführung des nächsten Befehlsblocks überzugehen.
  • Anschließend beginnt die Operationssteuerung der Robotersteuervorrichtung als Reaktion auf den Empfang eines Ausführungsbefehls von der Numerik-Steuervorrichtung mit der Steuerung der Operation des Roboters auf Grundlage des Block-Roboterbefehls, der der Block-Information (i-2) zugeordnet ist, indem sie das zuvor erzeugte Roboterprogramm startet.
  • Danach liest der Programmausführungsverwalter der Numerik-Steuervorrichtung mehrere Block-Roboterbefehle, die mit jedem von mehreren durch den Programmausführungsbefehl zugeordneten Block-Informationssätzen verbunden sind, in der durch den Programmausführungsbefehl zugeordneten Reihenfolge (beispielsweise Reihenfolge von der kleinsten Block-Nummer), und schreibt die gelesenen mehreren Block-Roboterbefehle in dieser zugeordneten Reihenfolge in den Puffer der ersten Kommunikationseinheit. Darüber hinaus sendet die zweite Kommunikationseinheit der Robotersteuervorrichtung jedes Mal, wenn das Lesen eines Block-Roboterbefehls abgeschlossen ist, die Lesebeendigungsmeldung an die erste Kommunikationseinheit.
  • Darüber hinaus sendet die erste Kommunikationseinheit die in den Puffer geschriebenen Block-Roboterbefehle nacheinander an die zweite Kommunikationseinheit, sobald sie eine Lesebeendigungsmeldung von der zweiten Kommunikationseinheit erhält, und zwar in der Schreibreihenfolge gemäß der Programmausführungsverwaltung. Dadurch ist es möglich, mehrere Block-Roboterbefehle von der Numerik-Steuervorrichtung in der geeigneten Reihenfolge an die Robotersteuervorrichtung zu senden und ein Roboterprogramm entsprechend jedem Block-Roboterbefehl in der Robotersteuervorrichtung zu erzeugen.
  • Während des Sendens mehrerer Block-Roboterbefehle von der Numerik-Steuervorrichtung an die Robotersteuervorrichtung gemäß der obigen Reihenfolge sendet die zweite Kommunikationseinheit außerdem jedes Mal, wenn die Steuerung der Operation des Roboters auf Grundlage eines Block-Roboterbefehls abgeschlossen ist, die Operationsbeendigungsmeldung, die mit dem Block-Roboterbefehl verbunden ist, dessen Ausführung abgeschlossen ist, an die erste Kommunikationseinheit. Darüber hinaus erzeugt der Programmausführungsverwalter als Reaktion auf die oben erwähnte Operationsbeendigungsmeldung, die in der ersten Kommunikationseinheit empfangen wird, einen Ausführungsbefehl für den nächsten Block-Roboterbefehl des Block-Roboterbefehls, der mit der Operationsbeendigungsmeldung in der oben genannten zugeordneten Reihenfolge verbunden ist, und die erste Kommunikationseinheit sendet als Reaktion auf den Ausführungsbefehl, der von dem Programmausführungsverwalter erzeugt wird, diesen Ausführungsbefehl an die zweite Kommunikationseinheit. Darüber hinaus führt die Operationssteuereinheit als Reaktion auf den in der zweiten Kommunikationseinheit empfangenen Ausführungsbefehl das mit diesem Ausführungsbefehl verbundene Roboterprogramm aus und steuert die Operation des Roboters. Mit dem Numerik-Steuersystem gemäß der vorliegenden Ausführungsform ist es durch das Senden des Ausführungsbefehls für jeden Block-Roboterbefehl an die Robotersteuervorrichtung von der Numerik-Steuervorrichtung gemäß einer solchen Sequenz, da es möglich ist, das erzeugte Roboterprogramm gleichzeitig mit der Erzeugung des Roboterprogramms zu starten, basierend auf mehreren Block-Roboterbefehlen, im Vergleich zum Numerik-Steuersystem 1 gemäß der ersten Ausführungsform möglich, die Zykluszeit weiter zu verkürzen.
  • Gemäß der vorliegenden Ausführungsform werden die gleichen Effekte wie bei der ersten Ausführungsform ausgeübt. Darüber hinaus ist die vorliegende Offenbarung nicht auf die oben genannten Ausführungsformen beschränkt, und es sind verschiedene Änderungen und Modifikationen möglich.
  • Bezugszeichenliste
  • 1
    Numerik-Steuersystem
    2
    Werkzeugmaschine
    3
    Roboter
    5
    Numerik-Steuervorrichtung
    50
    Werkzeugmaschinen-Steuerungsmodul
    51
    Roboter-Steuerungsmodul
    52
    Speichereinheit
    521
    Werkzeugmaschinen-Programmspeicherbereich
    522
    Roboterprogramm-Speicherbereich (Programmspeichereinheit)
    523
    Roboterbefehl-Speicherbereich
    53
    Programmbearbeitungseinheit
    54
    Programmvorverarbeitungseinheit
    57
    Programmausführungsbefehlseinheit
    58
    Programmausführungsverwaltung
    59
    Erste Kommunikationseinheit
    6
    Robotersteuervorrichtung
    60
    Eingabeanalyseeinheit
    61
    Roboterprogramm-Erstellungseinheit
    65
    Operationssteuereinheit
    69
    zweite Kommunikationseinheit
  • 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 [0006]

Claims (11)

  1. Numerik-Steuervorrichtung, die auf Grundlage eines numerischen Steuerprogramms die Operation einer Werkzeugmaschine steuert und einen Roboterbefehl für eine Robotersteuervorrichtung erzeugt, die die Operation eines Roboters steuert, wobei die Numerik-Steuervorrichtung umfasst: eine Programmvorverarbeitungseinheit, die so konfiguriert ist, dass sie einen Block-Roboterbefehl, der in der Robotersteuervorrichtung erkennbar ist, und Block-Informationen, die mit dem Block-Roboterbefehl verbunden sind, auf Grundlage eines Analyseergebnisses jedes Blocks des numerischen Steuerprogramms erzeugt; einen Roboterbefehl-Speicherbereich, der so konfiguriert ist, dass er einen Block-Roboterbefehl und Block-Informationen speichert, die von der Programmvorverarbeitungseinheit erzeugt wurden; einen Programmausführungsverwalter, der so konfiguriert ist, dass er einen Block-Roboterbefehl, der mit Block-Informationen verbunden ist, die durch einen vorbestimmten Programmausführungsbefehl zugeordnet sind, aus dem Roboterbefehl-Speicherbereich liest; und eine Kommunikationseinheit, die so konfiguriert ist, dass sie einen von dem Programmausführungsverwalter gelesenen Block-Roboterbefehl an die Robotersteuervorrichtung sendet.
  2. Numerik-Steuervorrichtung nach Anspruch 1, des Weiteren umfassend: einen Programmspeicherbereich, der so konfiguriert ist, dass er ein numerisches Robotersteuerprogramm speichert, das ein numerisches Steuerprogramm zum Erzeugen eines Roboterbefehls ist; und eine Programmausführungsbefehlseinheit, die so konfiguriert ist, dass sie einen Programmausführungsbefehl für das numerische Robotersteuerprogramm erzeugt und diesen in den Programmausführungsverwalter eingibt, wobei die Programmausführungsbefehlseinheit, bevor der Programmausführungsbefehl in den Programmausführungsverwalter eingegeben wird, die Analyse des numerischen Robotersteuerprogramms und die Erzeugung des Roboterbefehls-Blocks und der Block-Information beginnt.
  3. Numerik-Steuervorrichtung nach Anspruch 2, die des Weiteren eine Programmbearbeitungseinheit umfasst, die so konfiguriert ist, dass sie das numerische Robotersteuerungsprogramm erstellt, auswählt oder bearbeitet, wobei die Programmvorverarbeitungseinheit als Reaktion auf die Erstellung, Auswahl oder Bearbeitung des numerischen Robotersteuerprogramms durch die Programmbearbeitungseinheit mit der Analyse des numerischen Robotersteuerprogramms und der Erzeugung des Roboterbefehl-Blocks und der Block-Informationen beginnt.
  4. Numerik-Steuervorrichtung nach einem der Ansprüche 1 bis 3, wobei die Programmvorverarbeitungseinheit den Block-Roboterbefehl erzeugt, indem sie eine Sprache des numerischen Steuerprogramms in eine in der Robotersteuervorrichtung erkennbare Sprache ändert.
  5. Numerik-Steuersystem, umfassend: eine Numerik-Steuervorrichtung, die so konfiguriert ist, dass sie die Operation einer Werkzeugmaschine steuert und einen Roboterbefehl für eine Robotersteuervorrichtung erzeugt, die die Operation eines Roboters auf Grundlage eines numerischen Steuerprogramms steuert; und eine Robotersteuervorrichtung, die so konfiguriert ist, dass sie mit der Numerik-Steuervorrichtung kommunizieren kann und die Operation des Roboters auf Grundlage eines Roboterbefehls steuert, der von der Numerik-Steuervorrichtung gesendet wird, wobei die Numerik-Steuervorrichtung umfasst: eine Programmvorverarbeitungseinheit, die so konfiguriert ist, dass sie einen Block-Roboterbefehl, der in der Robotersteuervorrichtung erkennbar ist, und Block-Informationen, die dem Block-Roboterbefehl zugeordnet sind, auf Grundlage eines Analyseergebnisses jedes Blocks des numerischen Steuerprogramms erzeugt; einen Roboterbefehl-Speicherbereich, der so konfiguriert ist, dass er einen Roboterbefehl-Block und Block-Informationen speichert, die von der Programmvorverarbeitungseinheit erzeugt wurden; einen Programmausführungsverwalter, der so konfiguriert ist, dass er einen Block-Roboterbefehl, der mit durch einen vorbestimmten Programmausführungsbefehl zugeordneten Block-Informationen verbunden ist, aus dem Roboterbefehl-Speicherbereich liest; und eine erste Kommunikationseinheit, die so konfiguriert ist, dass sie einen von dem Programmausführungsverwalter gelesenen Block-Roboterbefehl an die Robotersteuervorrichtung sendet; und wobei die Robotersteuervorrichtung umfasst: eine zweite Kommunikationseinheit, die so konfiguriert ist, dass sie einen Block-Roboterbefehl empfängt, der von der ersten Kommunikationseinheit gesendet wird, eine Roboterprogramm-Erstellungseinheit, die so konfiguriert ist, dass sie ein Roboterprogramm auf Grundlage eines Block-Roboterbefehls erzeugt, der von der zweiten Kommunikationseinheit empfangen wird, und eine Operationssteuereinheit, die so konfiguriert ist, dass sie die Operation des Roboters auf Grundlage eines von der Roboterprogramm-Erstellungseinheit erzeugten Roboterprogramms steuert.
  6. Numerik-Steuersystem nach Anspruch 5, des Weiteren umfassend: eine Programmspeichereinheit, die so konfiguriert ist, dass sie ein numerisches Robotersteuerprogramm speichert, das ein numerisches Steuerprogramm zum Erzeugen von Roboterbefehlen ist; und eine Programmausführungsbefehlseinheit, die einen Programmausführungsbefehl für das numerische Robotersteuerprogramm erzeugt und diesen in den Programmausführungsverwalter eingibt, wobei die Programmvorverarbeitungseinheit vor der Eingabe des Programmausführungsbefehls in den Programmausführungsverwalter mit der Analyse des numerischen Robotersteuerprogramms und der Erzeugung des Roboterbefehl-Blocks und der Block-Information beginnt.
  7. Numerik-Steuersystem nach Anspruch 6, wobei die Numerik-Steuervorrichtung des Weiteren eine Programmbearbeitungseinheit umfasst, die so konfiguriert ist, dass sie das numerische Robotersteuerungsprogramm erstellt, auswählt oder bearbeitet, und wobei die Programmvorverarbeitungseinheit als Reaktion auf die Erstellung, Auswahl oder Bearbeitung des numerischen Robotersteuerprogramms durch die Programmbearbeitungseinheit mit der Analyse des numerischen Robotersteuerprogramms und der Erzeugung des Roboterbefehl-Blocks und der Block-Informationen beginnt.
  8. Numerik-Steuersystem nach einem der Ansprüche 5 bis 7, wobei die Programmvorverarbeitungseinheit den Block-Roboterbefehl erzeugt, indem sie eine Sprache des numerischen Steuerprogramms in eine in der Robotersteuervorrichtung erkennbare Sprache ändert.
  9. Numerik-Steuersystem nach einem der Ansprüche 5 bis 8, wobei der Programmausführungsverwalter in einer durch den Programmausführungsbefehl zugeordneten Reihenfolge eine Vielzahl von Block-Roboterbefehlen liest, die mit jedem einer Vielzahl von Sätzen von Block-Informationen verbunden sind, die durch den Programmausführungsbefehl zugeordnet sind, wobei die zweite Kommunikationseinheit jedes Mal, wenn die Steuerung der Operation des Roboters auf Grundlage eines Block-Roboterbefehls abgeschlossen ist, eine Operationsabschlussmeldung an die erste Kommunikationseinheit sendet, und wobei die erste Kommunikationseinheit eine Vielzahl von Block-Roboterbefehlen an die zweite Kommunikationseinheit sendet, und zwar einen nach dem anderen jedes Mal, wenn sie die Operationsabschlussmeldung empfängt, und zwar in einer Lesereihenfolge gemäß dem Programmausführungsverwalter.
  10. Numerik-Steuersystem nach einem der Ansprüche 5 bis 8, wobei der Programmausführungsverwalter in einer durch den Programmausführungsbefehl zugeordneten Reihenfolge eine Vielzahl von Block-Roboterbefehlen liest, die jeweils einer Vielzahl von Sätzen von Block-Informationen zugeordnet sind, die durch den Programmausführungsbefehl zugeordnet sind, und in einen Speicherbereich der ersten Kommunikationseinheit schreibt, wobei die zweite Kommunikationseinheit jedes Mal, wenn das Lesen eines Block-Roboterbefehls abgeschlossen ist, eine Lesebeendigungsmeldung an die erste Kommunikationseinheit sendet, und wobei die erste Kommunikationseinheit jedes Mal, wenn sie die Lesebeendigungsmeldung empfängt, einen in den Speicherbereich geschriebenen Block-Roboterbefehl nacheinander an die zweite Kommunikationseinheit sendet, und zwar in einer Schreibreihenfolge gemäß dem Programmausführungsverwalter.
  11. Numerik-Steuersystem nach Anspruch 10, wobei die zweite Kommunikationseinheit jedes Mal, wenn die Steuerung der Operation des Roboters auf Grundlage eines Block-Roboterbefehls abgeschlossen ist, eine Operationsabschlussmeldung, die einem Block-Roboterbefehl zugeordnet ist, dessen Ausführung abgeschlossen ist, an die erste Kommunikationseinheit sendet, wobei der Programmausführungsverwalter als Reaktion auf die in der ersten Kommunikationseinheit empfangene Operationsabschlussmeldung einen Ausführungsbefehl für einen nächsten Block-Roboterbefehl des mit der Operationsabschlussmeldung verbundenen Block-Roboterbefehls in der zugeordneten Reihenfolge erzeugt, wobei die erste Kommunikationseinheit als Reaktion auf einen Ausführungsbefehl, der von dem Programmausführungsverwalter erzeugt wird, den Ausführungsbefehl an die zweite Kommunikationseinheit sendet, und wobei die Operationssteuereinheit in Reaktion auf den in der zweiten Kommunikationseinheit empfangenen Ausführungsbefehl ein mit dem Ausführungsbefehl verbundenes Roboterprogramm ausführt und die Operation des Roboters steuert.
DE112021005374.4T 2020-12-18 2021-12-16 Numerik-Steuervorrichtung und Numerik-Steuersystem Pending DE112021005374T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2020-210473 2020-12-18
JP2020210473 2020-12-18
PCT/JP2021/046508 WO2022131327A1 (ja) 2020-12-18 2021-12-16 数値制御装置及び数値制御システム

Publications (1)

Publication Number Publication Date
DE112021005374T5 true DE112021005374T5 (de) 2023-08-31

Family

ID=82059574

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021005374.4T Pending DE112021005374T5 (de) 2020-12-18 2021-12-16 Numerik-Steuervorrichtung und Numerik-Steuersystem

Country Status (6)

Country Link
US (1) US20240027990A1 (de)
JP (1) JP7121221B1 (de)
CN (1) CN116635801A (de)
DE (1) DE112021005374T5 (de)
TW (1) TWI804068B (de)
WO (1) WO2022131327A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6647472B1 (ja) 2019-01-09 2020-02-14 三菱電機株式会社 数値制御装置および数値制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000010616A (ja) * 1998-06-22 2000-01-14 Toshiba Mach Co Ltd ロボット制御システム
DE102012112900A1 (de) * 2011-12-22 2013-06-27 Fanuc Robotics America Corp. Numerische Steuerungsprogrammausrichtung durch Roboter
JP2017134722A (ja) * 2016-01-29 2017-08-03 ファナック株式会社 共通の言語仕様のプログラムにて複数の種類の製造装置を駆動する製造システム
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
JP6647472B1 (ja) 2019-01-09 2020-02-14 三菱電機株式会社 数値制御装置および数値制御方法

Also Published As

Publication number Publication date
JP7121221B1 (ja) 2022-08-17
WO2022131327A1 (ja) 2022-06-23
US20240027990A1 (en) 2024-01-25
CN116635801A (zh) 2023-08-22
TWI804068B (zh) 2023-06-01
TW202224878A (zh) 2022-07-01
JPWO2022131327A1 (de) 2022-06-23

Similar Documents

Publication Publication Date Title
DE102017003529B4 (de) Parametereinstellvorrichtung, Parametereinstellprogramm und Parametereinstellverfahren
EP1762919B1 (de) Simulationssystem
DE102018000369B4 (de) Numerische steuerung
DE102018203956B4 (de) Maschinelle Lernvorrichtung, Servosteuerungsvorrichtung, Servosteuerungssystem und maschinelles Lernverfahren
DE4411426B4 (de) Multitask-Steuersystem
EP0120204B1 (de) Verfahren zum Wiederanfahren eines Werkzeuges an eine Werkstückkontur
DE112017000203B4 (de) Numerische Steuerung und numerisches Steuerungsverfahren
DE102011108282A1 (de) Numerische Steuerung für eine Mehrachsenmaschine zum Bearbeiten einer geneigten Bearbeitungsebene
DE102010010105B4 (de) Numerische Steuerungseinrichtung mit einer Achsrekonfigurationsmöglichkeit
DE10114811A1 (de) System und Verfahren zur Erstellung von mehrachsigen Bearbeitungs-Vorgängen an Werkstücken
DE112021007017T5 (de) Numerik-Steuervorrichtung und Numerik-Steuersystem
EP0553621B1 (de) Programmierbare Computersteuerung für eine Werkzeugmaschine
DE102020124734A1 (de) Simulationsgerät
DE102019129041A1 (de) Werkzeugmaschinensystem
AT412131B (de) Automatisierungssystem zur lösung einer prozesstechnischen aufgabenstellung und verfahren hierzu
DE102017222474A1 (de) Numeriksteuerung und datenstruktur
EP0170924A1 (de) Verfahren zur Regleroptimierung für Antriebe
DE1966794B2 (de) Einrichtung zur numerischen Steuerung von Werkzeugmaschinen mittels einer zentralen Datenverarbeitungsanlage
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
DE112021005055T5 (de) Numerisches Steuersystem und Verfahren zum Steuern von Industriemaschinen
DE112021004248T5 (de) Numerisches Steuersystem und Robotersteuerverfahren
EP4121825A1 (de) Computerimplementiertes verfahren zum erstellen von steuerungsdatensätzen, cad-cam-system und fertigungsanlage
DE102020116210A1 (de) Parameterverwaltungsvorrichtung und Parameterverwaltungssystem
DE102019201287A1 (de) Numerische Steuereinrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed