System und Verfahren zur Off-line-Programmierung eines Industrieroboters

24-11-2016 дата публикации
Номер:
DE112008003963B4
Принадлежит: ABB TECHNOLOGY LTD, ABB Technology Ltd.
Контакты:
Номер заявки: 00-08-11203963
Дата заявки: 12-08-2008

[1]

Die vorliegende Erfindung bezieht sich auf ein System und ein Verfahren zur Off-line- bzw. leitungs- oder rechnerunabhängigen Programmierung eines Industrieroboters, der eine Robotersteuereinrichtung zum Steuern der Bewegungen des Roboters enthält. Insbesondere befasst sich die Erfindung mit dem Bereich des Übertragens von Daten, die für die Konfiguration und die Programmierung eines Industrieroboters erforderlich sind, zu und von einem externen Computer, der ein Programmierungs- und Simulations- Werkzeug (Tool) mit der Fähigkeit des Betreibens (Laufenlassens) von einer oder mehreren virtuellen Robotersteuerungen aufweist.

[2]

Industrieroboter werden herkömmlicherweise über eine Roboterprogrammiersprache programmiert. Das Ergebnis der Programmierung besteht in einem Programm, das die Steuerung nicht nur hinsichtlich der Bewegungen des spezifischen Roboters, sondern auch hinsichtlich Eingabe- und Ausgabeaktionen instruiert, wobei das spezielle Eingabe/Ausgabe-System (I/O-System), das in der aktuellen Steuerung vorhanden ist, und weiterhin auch andere spezielle Ausrüstungen, die mit jener Steuerung verbunden sind, wie etwa externe Achsen, spezielle Geräte mit speziellen Eingabe/Ausgabe-Anforderungen verwendet werden. Die Programmierung von Robotern ist ein zeitaufwändiger Prozess, und es beanspruchen die herkömmlichen Methoden zur Verwendung des Roboters während der Programmierung und des Lernvorgangs zum Lernen des Prozesses die Produktionsanlage und verzögern den Start der Produktion. Um Zeit zu sparen und den Start der Produktion zu beschleunigen, wird der Roboter off-line bzw. rechnerunabhängig oder netzunabhängig programmiert. Herkömmlicherweise wird dies durch eine Off-line-Programmierung und ein Simulationswerkzeug bewerkstelligt, das auf einem externen Computer läuft. Die Ausgabe bzw. das Ergebnis der Simulation ist ein Roboterprogramm. Wenn die Simulation und die Off-line-Programmierung abgeschlossen sind, wird das Roboterprogramm zu dem realen Roboter übertragen.

[3]

Das Off-line-Programmierungs- und Simulationswerkzeug enthält Beschreibungen des Roboters und der Robotersteuerung, die es zu simulieren versucht. Es besteht eine Notwendigkeit hinsichtlich genauer Robotersimulationen, die nicht nur die Bewegung des Roboters reproduzieren, sondern auch die Programmausführung, und die sogar die Systemfehler dupliziert, die bei dem realen Roboter auftreten können. Industrieunternehmen können keine teure Ausrüstung binden, wenn neue Installationen durchgeführt werden, und können es sich auch nicht leisten, die Produktion anzuhalten, wenn eine Roboterzelle oder Leitung für ein neues Produkt reprogrammiert wird. Der neue Satz von Roboterprogrammen für eine neue Zelle oder die umprogrammierte Zelle muss sofort arbeiten, ohne dass zahlreiche Fehler auftreten. Auf der Grundlage dieser Notwendigkeit sind in der Simulationssoftware für die Robotersimulation zunehmend genauere Duplikate der realen Robotersteuerungen aufgenommen worden, was dazu geführt hat, dass virtuelle Robotersteuerungen während der Simulation verwendet werden. Eine virtuelle Robotersteuerung ist eine ausreichend genaue Repräsentation einer realen Robotersteuerung, wobei sie nicht nur die Bewegung der Steuerung simuliert, sondern auch eine Sprachausführungskomponente enthält. Dies sind die grundlegenden Komponenten für eine virtuelle Robotersteuerung. Sie können genauer und komplexer, jedoch nicht sehr viel einfacher sein. In anderen Systemen ist lediglich eine Bewegungskomponente und keine Sprache vorhanden, oder es liegt lediglich ein einfacher Sprachanalysator ohne irgendwelche Ausführungen vor.

[4]

Aus der WO2007/036466WO 2007/036466 A2A2 ist ein System gemäß dem Oberbegriff des Patentanspruchs 1 bekannt. Diese Druckschrift betrifft ein Verfahren und ein System zur Simulation eines Steuerungs- und/oder Maschinenverhaltens von Werkzeugmaschinen oder Produktionsmaschinen. Daten über die Werkzeug- bzw. Produktionsmaschine werden von dieser zu einer Simulationseinrichtung automatisch übertragen, wobei insbesondere nach einer Änderung eines Datums dieses Datum zur Simulationseinrichtung übertragen wird. Mittels der Simulationseinrichtung werden Daten für die Simulation verwendet, so dass anschließend Simulationsergebnisse zur Verfügung stehen, die die Änderung des Maschinenverhaltens einer Maschine bei unterschiedlichen Daten anzeigen. Eine Off-Line-Programmierung eines Industrieroboters ist nicht vorgesehen.

[5]

In der DE10304706DE 103 04 706 A1A1 sind ein Verfahren und eine Vorrichtung zum Steuern einer Anlage mit einer Vielzahl von Arbeitseinheiten wie etwa Industrierobotern beschrieben, wobei eine speicherprogrammierbare Steuerung einsetzbar ist. Historische Prozessdaten werden in einen Eingangsbereich der speicherprogrammierbaren Steuerung eingespeist und durch eine Programmlogik verarbeitet. Die das entsprechende Verfahren durchführende Vorrichtung weist einen Echtzeit-Informationsserver zum Erfassen, Archivieren bzw. Weiterleiten jeweils bestimmter historischer Prozessdaten der Anlage und einen Datenstrom-Controller zum flexiblen Wiedergeben archivierter Prozessdaten an die speicherprogrammierbare Steuerung zum Steuern der Anlage auf.

[6]

Aus der DE602005006126DE 60 2005 006 126 T2T2 ist ein System zur Off-Line-Programmierung von mehreren interagierenden Robotern bekannt, das wenigstens einen Handling-Roboter und einen Bearbeitungs-Roboter mit einem Werkzeug sowie einen Computer zum Offline-Programmieren und Verifizieren von Programmcodes für mehrere interagierende Roboter enthält.

[7]

In der DE10214880DE 102 14 880 A1A1 ist ein Verfahren zum Programmieren einer Verfahrbewegung eines Handhabungsgeräts offenbart, das ein Bearbeitungsaggregat abhängig von einer programmierten Verfahrbewegung entlang einer Werkstückkontur führt. Befehle für die Verfahrbewegung werden anhand von Soll-Abmessungen des Werkstücks zumindest im Bereich der Kontur automatisch generiert.

[8]

US2007/0244599US 2007/0244599 A1A1 betrifft eine Vorrichtung und ein Verfahren für eine Optimierung des Roboterverhaltens, wobei ein mit der Robotersteuerung verbundener Computer Roboterdaten während der Programmausführung empfängt. Mittels dieser Daten und einem kinetischen/dynamischen Simulator werden neue Sätze von Steuersystemparametern wiederholt generiert, um eine Optimierung zu erreichen.

[9]

WO03/059582WO 03/059 582 A2A2 offenbart ein Verfahren zum Programmieren eines Industrieroboters mit Hilfe einer virtuellen Robotersteuerung. Die Verwendung von virtuellen Robotersteuerungen erfordert die Übertragung der Beschreibung der realen Robotersteuerungen zu den virtuellen Robotersteuerungen sowie die Übertragung der entsprechenden Programme und Konfigurationsdaten von den virtuellen Robotersteuerungen zu der realen Robotersteuerung. Dies ist ein schwieriger, zeitaufwändiger und fehleranfälliger Prozess.

[10]

Ein neuer Roboter kann unter Verwendung eines Simulationssystems zu programmieren sein, bevor der Roboter ausgeliefert oder vollständig an bzw. mit dem Fabrikboden verbunden ist. Der Programmierer muss eine virtuelle Robotersteuerung aufbauen und diese mit den notwendigen I/O- und weiteren Systemkonfigurationen konfigurieren, die an die reale Robotersteuerung angepasst sind, und muss weiterhin die virtuelle Robotersteuerung mit einem Roboterprogramm, Koordinatenrahmen, Toolbeschreibungen und so weiter programmieren. Wenn die reale Robotersteuerung ausgeliefert wird, müssen das Roboterprogramm und weitere Daten, zum Beispiel Rahmendaten wie etwa Werkzeuge, Arbeitsobjekte und externe Achsen, von dem Programmiertool zu der realen Robotersteuerung übertragen werden. Sobald der reale Roboter ausgeliefert wird, unterscheidet sich das reale Robotersystem jedoch stets in mancherlei Hinsicht von dem simulierten System, beispielsweise hinsichtlich von Signalnamen, Frames bzw. Rahmen und der Kalibration. Um ein Überschreiben von korrekten Daten in der realen Robotersteuerung durch inkorrekte Daten von der virtuellen Robotersteuerung zu vermeiden, möchte der Programmierer lediglich ausgewählte Daten von der virtuellen Robotersteuerung zu der realen Robotersteuerung übertragen. Dies stellt ein Problem dar, da es eine Menge von Daten gibt, die zu der realen Robotersteuerung zu übertragen sind, und es schwierig ist, Schritt zu halten, welche Dateien und welche Konfigurationsdaten zu übertragen sind, und welche davon in der virtuellen Robotersteuerung und der realen Robotersteuerung unterschiedlich gehalten werden sollen. Heutzutage werden die Dateien manuell übertragen, manuell editiert und manuell in der realen Robotersteuerung installiert.

[11]

Das Problem dauert an, wenn ein existierendes Robotersystem off-line programmiert werden soll. Ein Bedarf hierfür besteht beispielsweise dann, wenn sich der Roboter in der Produktion befindet und nicht angehalten werden kann oder der Programmierer nicht physikalisch an der gleichen Stelle ist, oder das System für eine Reparatur heruntergefahren ist. Das Problem in diesem Fall besteht darin, eine akkurate Repräsentation der realen Robotersteuerung in der virtuellen Robotersteuerung zu bilden. Dies beinhaltet auch den Aspekt der Übertragung von selektierten Daten wie etwa von Konfigurationsdaten und Programmdaten von der realen Robotersteuerung zu der virtuellen Robotersteuerung. Dies ist das gleiche Problem wie das vorstehend erläuterte Problem, allerdings umgekehrt, wobei viele Dateien übertragen, editiert und in dem Simulationswerkzeug installiert werden müssen und eine virtuelle Robotersteuerung geschaffen werden muss. Der Stand der Technik besteht darin, Programme und Konfigurationsdaten in der Form von Dateien manuell zu editieren und sie zu und von der realen Robotersteuerung zu übertragen.

[12]

Eine Aufgabe der vorliegenden Erfindung besteht darin, die Übertragung von Konfigurations- und Programmdaten zwischen einer realen Robotersteuerung und einem Off-line-Programmierungs- und Simulationswerkzeug (Simulationstool) zu erleichtern und zu gewährleisten, dass lediglich ausgewählte Daten übertragen werden.

[13]

In Übereinstimmung mit einem Gesichtspunkt der Erfindung wird diese Aufgabe mit einem System gelöst, wie es im Anspruch 1 definiert ist.

[14]

Ein solches System umfasst ein Datenübertragungsmodul bzw. Datentransfermodul, das dazu konfiguriert ist, auf Anforderung hin automatisch Konfigurations- und Programmdaten zwischen einer realen Robotersteuerung und einer virtuellen Robotersteuerung, die auf einem externen Computer läuft, zu übertragen, wobei das System weiterhin eine Filterkomponente enthält, die zur Filterung der übertragenen Konfigurations- und Programmdaten in Übereinstimmung mit definierten Filterregeln ausgelegt ist.

[15]

Die Trennlinie zwischen Konfigurationsdaten und Programm ist von Hersteller zu Hersteller unterschiedlich, jedoch sind es insgesamt jeweils die gleiche Art von Daten. Konfigurationsdaten können zum Beispiel Daten, die Eingabe/Ausgabe-Signale (I/O-Signale) definieren, die Anzahl von Programm-Tasks, externen Achsen und die Basis-Rahmen der externen Achsen enthalten. Die Programmdaten können beispielsweise Werkzeugdefinitionen, Objekt- und Benutzerrahmendefinitionen und auch die auszuführenden Programmdateien enthalten. Manche Hersteller können die Rahmendaten in die Konfigurationsdaten einordnen, oder können alle die Rahmendaten in den Programmdaten halten.

[16]

Die Erfindung macht es möglich, auf Anforderung hin Konfigurations- und Programmdaten automatisch zwischen der realen Robotersteuerung und einer virtuellen Robotersteuerung, die auf einem externen Computer läuft, zu übertragen. Die Filterkomponente stellt sicher, dass lediglich zugelassene Daten übertragen werden. Die Erfindung erhöht die Produktivität und Zuverlässigkeit in dem Off-line-Programmierungsprozess in starkem Maße und fördert den Einsatz der Industrieroboter-Gerätschaft.

[17]

Die Filterregeln bestimmen, welche Daten für die Übertragung für die Übertragung ausgewählt werden. Die Filterregeln enthalten Informationen dahingehend, welche Teile der Konfigurations- und Programmdaten zwischen der Robotersteuerung und dem externen Computer zu übertragen sind, und welche Teile der Konfigurations- und Programmdaten nicht zwischen der Robotersteuerung und dem externen Computer übertragen werden dürfen. Die Filterregeln können in Abhängigkeit von der Datenrichtung der Übertragung der Daten unterschiedlich sein. Für den größten Teil definiert die Filterung die Datenübertragung für beide Richtungen, von der Richtung real-zu-virtuell, und virtuell-zu-real, jedoch gibt es auch Fälle, bei denen man wünscht, Werkzeugdaten oder Arbeits- bzw. Werkstückobjektdaten von der virtuellen zu der realen Robotersteuerung zu übertragen, nicht aber in der umgekehrten Richtung.

[18]

In Übereinstimmung mit einem Ausführungsbeispiel der Erfindung ist das Datenübertragungsmodul so konfiguriert, dass es auf Anforderung hin automatisch ausführt: Kreieren von Backup-Dateien einschließlich von Konfigurations- und Programmdaten der Robotersteuerung, Instruieren der Filterkomponente hinsichtlich der Verarbeitung der Backup-Dateien in Übereinstimmung mit den Filterregeln, und Schaffung einer virtuellen Robotersteuerung in dem externen Computer auf der Grundlage der gefilterten Backup-Dateien. Dieses Ausführungsbeispiel überträgt ausgewählte Daten von der realen Robotersteuerung zu dem externen Computer automatisch, und erzeugt automatisch eine virtuelle Robotersteuerung bei dem externen Computer. Demgemäß ist der Prozess der Schaffung einer virtuellen Robotersteuerung vereinfacht und beschleunigt.

[19]

In Übereinstimmung mit einem Ausführungsbeispiel der Erfindung ist das Datenübertragungsmodul dazu konfiguriert, auf Anforderung hin automatisch auszuführen: Programmdateien von der virtuellen Robotersteuerung herzuholen, Programmdateien von der Robotersteuerung zu gewinnen, die Filterkomponente zu instruieren, die Programmdateien in Übereinstimmung mit den Filterregeln zu verarbeiten, und die resultierenden Dateien zu der Robotersteuerung zu übertragen. Dieses Ausführungsbeispiel überträgt automatisch ausgewählte Teile von Programmdateien von der virtuellen Robotersteuerung zu der realen Robotersteuerung. Geeigneterweise enthalten die Filterregeln Instruktionen hinsichtlich der Teile der Programmdateien, die von der Robotersteuerung gegenüber einem Überschreiben durch den Übertragungsvorgang geschützt werden sollten. In Übereinstimmung mit den Filterregeln werden manche Teile der Programmdateien nicht zu der realen Robotersteuerung übertragen. Die Teile, deren Übertragung nicht zugelassen wird, werden durch entsprechende Teile von entsprechenden Programmdateien von der realen Robotersteuerung ausgetauscht. Demgemäß ist die Übertragung von off-line-programmierten Dateien zu der Robotersteuerung erleichtert und beschleunigt. Ein manuelles Editieren oder Übertragen von Dateien ist überhaupt nicht mehr erforderlich.

[20]

In Übereinstimmung mit einem Ausführungsbeispiel der Erfindung enthalten die Filterregeln Instruktionen hinsichtlich spezieller Typen von Elementen innerhalb der Roboterprogrammiersprache, die gegenüber einem Überschreiben durch den Übertragungsvorgang geschützt werden sollten. Als Beispiel dienen Tool-Daten bzw. Werkzeugdaten, bei denen das Simulationssystem die virtuellen Werkzeugdaten in dem Programm benutzen soll, jedoch das reale Programm das re-kalibrierte Werkzeug benutzen soll, das von einem Kalibrationsprogramm herrührt, das auf der Steuerung läuft. Dieses Ausführungsbeispiel macht es möglich, gewisse Typen von Elementen innerhalb der Roboterprogrammiersprache zu spezifizieren, die gegenüber einem Überschreiben durch den Übertragungsvorgang geschützt werden sollen.

[21]

In Übereinstimmung mit einem Ausführungsbeispiel der Erfindung weist das System eine Benutzerschnittstelle auf, die mit einer ersten Aktivierungseinrichtung für die Anforderung einer Datenübertragung von der realen Robotersteuerung zu der virtuellen Robotersteuerung, und mit einer zweiten Aktivierungseinrichtung zum Anfordern einer Datenübertragung von der virtuellen Robotersteuerung zu der Robotersteuerung versehen ist. Die Aktivierungseinrichtung kann jede beliebige Art von physikalischem Element oder Softwareelement sein, das durch einen Benutzer zur Anforderung der Datenübertragung aktiviert werden kann, beispielsweise ein physikalischer Knopf bzw. eine Taste, eine Softwaretaste, oder ein Befehl in einem Menü auf der Benutzerschnittstelle. Dieses Ausführungsbeispiel erleichtert es dem Benutzer, die Übertragung von Daten zwischen der realen und der virtuellen Robotersteuerung anzufordern.

[22]

In Übereinstimmung mit einem Ausführungsbeispiel der Erfindung ist das Datenübertragungsmodul dahingehend konfiguriert, auf eine Anforderung hin die Konfigurations- und Programmdaten in der realen Robotersteuerung mit den Konfigurations- und Programmdaten in der virtuellen Robotersteuerung zu vergleichen und die Unterschiede anzuzeigen. Dies stellt eine Information dar, die für den Benutzer von Interesse sein kann. Das System weist eine Benutzerschnittstelle auf, die dazu konfiguriert ist, die Unterschiede in den Konfigurations- und Programmdaten zwischen der realen Robotersteuerung und der virtuellen Robotersteuerung anzuzeigen. Die Benutzerschnittstelle ist zum Beispiel ein Anzeigebildschirm, der mit dem externen Computer verbunden ist, oder eine Handprogrammiereinheit oder eine Schwenkarmtafeleinheit, die mit der Robotersteuerung verbunden ist.

[23]

In Übereinstimmung mit einem Ausführungsbeispiel der Erfindung sind das Datenübertragungsmodul und die Filterkomponente in dem externen Computer gespeichert. Das Datenübertragungsmodul und die Filterkomponente können in dem externen Computer oder der Robotersteuerung gespeichert werden. Jedoch ist es aufgrund der begrenzten Verarbeitungs- und Speicherkapazität der Robotersteuerung vorteilhafter, das Datenübertragungsmodul und die Filterkomponente in dem externen Computer zu speichern.

[24]

In Übereinstimmung mit einem Ausführungsbeispiel der Erfindung ist das System imstande, eine Off-line-Programmierung einer Mehrzahl von Robotern auszuführen, wobei das Programmier- und Simulationstool die Fähigkeit hat, eine Mehrzahl von virtuellen Robotersteuerungen entsprechend einer Mehrzahl von realen Robotersteuerungen laufen zu lassen, und wobei das System eine Speichereinrichtung zum Speichern der Identität bzw. Identifikation der realen Robotersteuerungen zusammen mit der Identität bzw. Identifikation der entsprechenden virtuellen Robotersteuerung aufweist, um hierdurch eine Datenübertragung zu einem späteren Zeitpunkt zwischen der realen Robotersteuerung und der entsprechenden virtuellen Robotersteuerung zu bewerkstelligen. Dieses Ausführungsbeispiel ermöglicht es, dass der externe Computer sich merken kann, welche virtuelle Robotersteuerung und reale Robotersteuerung zueinander gehören, und erlaubt es dem externen Computer hierdurch, eine Datenübertragung zu einem späteren Zeitpunkt zwischen der realen Robotersteuerung und der entsprechenden virtuellen Robotersteuerung zu erreichen.

[25]

In Übereinstimmung mit einem weiteren Gesichtspunkt der Erfindung wird diese Aufgabe durch ein Verfahren gelöst, wie es in Anspruch 10 definiert ist. Ein solches Verfahren umfasst: Empfangen einer Anforderung hinsichtlich einer Datenübertragung, und automatisches Übertragen, auf den Empfang der Anforderung hin, von Konfigurations- und Programmdaten zwischen der realen Robotersteuerung und der virtuellen Robotersteuerung, sowie Filtern der übertragenen Konfigurations- und Programmdaten in Übereinstimmung mit definierten Filterregeln.

[26]

Die Erfindung wird nun anhand der Beschreibung von verschiedenen Ausführungsbeispielen der Erfindung und unter Bezugnahme auf die beigefügten Zeichnungen noch näher erläutert.

[27]

1 zeigt ein System für eine Off-line-Programmierung eines Industrieroboters in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung.

[28]

2 zeigt ein System für eine Off-line-Programmierung einer Mehrzahl von Industrierobotern in Übereinstimmung mit einem weiteren Ausführungsbeispiel der Erfindung.

[29]

3 zeigt ein Ablaufdiagramm eines Verfahrens zum Übertragen von Daten von einer realen Robotersteuerung zu einer virtuellen Robotersteuerung in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung.

[30]

4 zeigt ein Ablaufdiagramm eines Verfahrens für die Übertragung von Daten von einer virtuellen Robotersteuerung zu einer realen Robotersteuerung in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung.

DETAILLIERTE BESCHREIBUNG VON AUSFÜHRUNGSBEISPIELEN DER ERFINDUNG

[31]

1 zeigt ein System für eine Off-line-Programmierung eines Industrieroboters in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung. Das System weist einen Roboter 1 und eine Robotersteuerung bzw. Robotersteuereinrichtung 2 zum Steuern der Bewegungen des Roboters 1 auf. Das System enthält ferner einen externen Computer 3 für eine Off-line-Programmierung und eine Simulation des Roboters. Der externe Computer ist beispielsweise ein persönlicher Computer (PC). Die Robotersteuerung 2 und der externe Computer 3 sind so konfiguriert, dass eine gegenseitige Kommunikation möglich ist, beispielsweise über eine Kommunikationsverbindung 5. Die Kommunikationsverbindung 5 ist beispielsweise ein Netzwerk. Die Robotersteuerung 2 ist eine herkömmliche Robotersteuerung, die alle notwendige Hardware und Software zum Steuern der Bewegungen des Roboters wie etwa einen Speicher, einen oder mehrere Prozessoren und Kommunikationsausstattung enthält. Die Robotersteuerung umfasst eine Kommunikationskomponente 6, durch die die Robotersteuerung Dateien oder Gruppen von Dateien verpackt und zu dem externen Computer 3 überträgt. Dies wird oftmals über FTP, HTTP oder andere Protokolle durchgeführt.

[32]

Die Robotersteuerung 2 enthält weiterhin einen Datenspeicher 7 zum Speichern von Roboterkonfigurationsdaten und einen Datenspeicher 8 zum Speichern von Roboterprogrammen. Von Herstellung bzw. Hersteller zu Herstellung bzw. Hersteller kann unterschiedlich sein, welche Konfigurationsdaten die Robotersteuerung aufweist. Die Kommunikationskomponente 6 ist mit den Datenspeichern 7, 8 verbunden und ist dazu konfiguriert, auf Anforderung hin Roboterkonfigurationsdaten und Roboterprogramme zu speichern, die von dem externen Computer 3 in den Datenspeichern 7, 8 empfangen werden. Die Kommunikationskomponente 6 ist weiterhin dazu konfiguriert, auf Anforderung hin Konfigurationsdaten und Roboterprogramme von den Datenspeichern 7, 8 herbeizuholen und die Konfigurationsdaten und Programmdateien zu dem externen Computer über die Kommunikationsverbindung 5 zu übertragen.

[33]

Der externe Computer 3 weist ein Programmier- und Simulationswerkzeug (Simulationstool) 10 für eine Off-line-Programmierung des Roboters auf. Das Programmier- und Simulationstool umfasst einen 3D Simulator und logische Komponenten, die für die Interaktion mit einer virtuellen Robotersteuerung notwendig sind. Von dem Programmier- und Simulationstool 10 werden Roboterprogramme und Konfigurationsdaten für die Steuerung ausgegeben. Der externe Computer umfasst weiterhin eine Speichereinrichtung 12 zum Speichern einer virtuellen Robotersteuerung. Die Speichereinrichtung 12 für die virtuelle Robotersteuerung enthält einen Datenspeicher 13 für die Speicherung von Roboterkonfigurationsdaten und einen Datenspeicher 14 zum Speichern von Roboterprogrammen und Programmdaten. Die virtuelle Robotersteuerung enthält weiterhin Referenzen bzw. Bezugnahmen zu einem 3D Modell des Roboters, und eine Abarbeitungsmaschine (in der Figur nicht gezeigt) für eine Bewegungs- und Sprachverarbeitung. Die virtuelle Robotersteuerung ist eine hochgenaue Repräsentation der realen Robotersteuerung und enthält als solche nahezu identische Konfigurationsdaten und Programmdaten wie die reale Robotersteuerung. Der externe Computer enthält weiterhin eine Kommunikationskomponente 15, die für eine Kommunikation mit der Robotersteuerung 2 über die Kommunikationsverbindung 5 verantwortlich ist. Die Kommunikationskomponente 15 ist dazu ausgelegt, die notwendigen Programmdateien und Konfigurationsdaten von der Robotersteuerung 2 herbeizuholen und die Programmdateien und Konfigurationsdaten in dem externen Computer 3 in korrekten Positionen, d. h. in den Datenspeicher 13, 14, zu speichern sowie Programmdateien und Konfigurationsdaten von der virtuellen Robotersteuerung 12 zu der Robotersteuerung 2 zu bewegen. Die Kommunikationskomponente 15 kann komplex mit eigenen Zuständen sein, oder kann ein einfacher FTP Client sein.

[34]

Der externe Computer enthält weiterhin ein Datenübertragungsmodul 17, das dazu ausgelegt ist, Benutzereingaben in der Form, oder Anforderungen bzw. in der Form von Anforderungen hinsichtlich der Übertragung von Daten zwischen der realen Robotersteuerung 2 und der virtuellen Robotersteuerung 12 zu empfangen und zu handhaben. Das Datenübertragungsmodul 17 ist dazu ausgelegt, auf eine Anforderung hin Konfigurations- und Programmdateien automatisch zwischen der realen Robotersteuerung 2 und der virtuellen Robotersteuerung 12 zu übertragen, die auf dem externen Computer läuft. Das Datenübertragungsmodul 17 befiehlt der Kommunikationskomponente 15, Daten zu und von der realen Robotersteuerung 2 zu bewegen. Das Datenübertragungsmodul 17 enthält eine Mehrzahl von unterschiedlichen Sequenzen von Instruktionen, die in Abhängigkeit von der Eingabe seitens des Benutzers laufen sollen bzw. auszuführen sind. Als Beispiel kann der Benutzer befehlen, dass das Datenübertragungsmodul 17 Daten von der realen Robotersteuerung zu der virtuellen Robotersteuerung überträgt, oder es kann der Benutzer dem Datenübertragungsmodul 17 befehlen, Konfigurationsdaten und Roboterprogramme von der virtuellen Robotersteuerung 12 zu der realen Robotersteuerung 2 zu übertragen. Das Programmier- und Simulationstool 10 ist dazu konfiguriert, die erzeugten Roboterprogramme und mögliche Programmausführungsdaten zu speichern (ein Beispiel ist ein Programm, das Werte aus einer Datendatei ausliest und in Übereinstimmung mit dieser Datendatei ausführt). Andere Ressourcen wie etwa Übersetzungen von Texten können ebenfalls in dem Datenspeicher 14 der virtuellen Robotersteuerung gesichert werden. Das Datenübertragungsmodul ist dazu ausgelegt, auf eine Anforderung hin die off-line erzeugten Roboterprogramme von dem Datenspeicher 14 zu dem Datenspeicher 8 der realen Robotersteuerung 2 zu übertragen.

[35]

Das System umfasst weiterhin eine Filterkomponente 18, die dazu ausgelegt ist, die übertragenen Konfigurationsdaten und Programmdateien in Übereinstimmung mit definierten Filterregeln zu filtern. Die Filterregeln sind bereits vorab festgelegt worden und sind oder werden in der Filterkomponente gespeichert. Die Filterregeln enthalten Informationen dahingehend, welche Teile der Konfigurationsdaten und Roboterprogrammdateien zwischen der realen Robotersteuerung und der virtuellen Robotersteuerung zu übertragen sind, und bei welchen Teilen der Konfigurationsdaten und Roboterprogrammdateien eine Übertragung nicht zugelassen wird. Als Beispiel können die Filterregeln Informationen dahingehend enthalten, dass gewisse Arten von Daten wie etwa Kalibrationsdaten, oder spezielle Arten von Elementen innerhalb der Roboterprogrammsprache gegen ein Überschreiben durch den Übertragungsvorgang geschützt werden müssen. Die Filterregeln können vorab durch den Roboterhersteller definiert sein oder können durch den Benutzer ausgewählt werden. Als Beispiel kann die Filterkomponente mit einem Standardsatz von Filterregeln bei ihrer Auslieferung versehen sein, und es kann der Benutzer die Filterregeln abändern und neue Filterregeln hinzufügen. Die Filterkomponente 18 wird durch das Datenübertragungsmodul 17 dahingehend instruiert, Konfigurationsdaten und Roboterprogrammdateien zu filtern. Die Filterkomponente 18 kann unterschiedliche Sätze von Filterregeln enthalten, wobei von der Richtung der Übertragung der Daten abhängt, welcher Satz zu benutzen ist. Falls Daten von der realen Robotersteuerung zu der virtuellen Robotersteuerung übertragen werden, wird ein Satz von Filterregeln verwendet, und wenn Daten von der virtuellen Robotersteuerung zu der realen Robotersteuerung übertragen werden, wird ein anderer Satz von Filterregeln benutzt.

[36]

Der externe Computer 3 umfasst weiterhin eine Benutzerschnittstelle 20, zum Beispiel einen Berührungsbildschirm (Touchscreen), einen Computermonitor, eine Tastatur und/oder eine Zeigereinrichtung für eine Kommunikation mit einem Benutzer. Die Benutzerschnittstelle 20 ist mit einer Aktivierungseinrichtung 22, 24 für die Anforderung einer Datenübertragung zwischen der realen und der virtuellen Robotersteuerung versehen. Die Aktivierungseinrichtung enthält eine erste Aktivierungseinrichtung 22 für die Anforderung einer Datenübertragung von der realen Robotersteuerung zu der virtuellen Robotersteuerung, und eine zweite Aktivierungseinrichtung 24 für die Anforderung einer Datenübertragung von der virtuellen Robotersteuerung zu der realen Robotersteuerung. Die Aktivierungseinrichtung kann zum Beispiel in Form von Softwaretasten („soft buttons”) implementiert sein, die auf dem Bildschirm angezeigt werden, oder kann als Befehle an einer Werkzeugleiste bzw. Toolbar angezeigt werden. Wenn der Benutzer die Aktivierungseinrichtung 22, 24 selektiert und aktiviert, werden Konfigurationsdaten und Roboterprogrammdateien automatisch zwischen der realen und der virtuellen Robotersteuerung in Abhängigkeit von der ausgewählten Richtung übertragen.

[37]

Bei einem Ausführungsbeispiel der Erfindung ist das Datenübertragungsmodul 17 dazu ausgelegt, auf eine Benutzeranforderung hin die Konfigurationsdaten und Roboterprogramme von der realen Robotersteuerung mit den Konfigurationsdaten und Roboterprogrammen von der virtuellen Robotersteuerung zu vergleichen und die Unterschiede auf dem Bildschirm 20 anzuzeigen. Dieses Ausführungsbeispiel erlaubt es dem Benutzer, das Datenübertragungsmodul aufzufordern, die Unterschiede zwischen der Konfiguration (oder den Konfigurationsdaten) und den Programmdaten der realen und der virtuellen Robotersteuerung anzuzeigen. Das Datenübertragungsmodul holt die Konfiguration (oder Konfigurationsdaten) und Programmdaten von der realen Robotersteuerung herbei und vergleicht die empfangenen Daten mit den Daten, die in der virtuellen Robotersteuerung 12 gespeichert sind, und zeigt anschließend die generierten Unterschiede an der Benutzerschnittstelle an. Die Unterschiede hinsichtlich der Daten zwischen der realen und der virtuellen Robotersteuerung können in graphischer Form präsentiert werden, wie etwa in Form von Tabellen, Paralleleditoren oder Ähnlichem.

[38]

Bei einem Ausführungsbeispiel der Erfindung werden aktualisierte Historien und Datenübertragungshistorien entweder in dem externen Computer oder in der realen Robotersteuerung als ein Verzeichnis (log) und eine Aufzeichnung dessen gespeichert, was übertragen und geändert worden ist. Der Benutzer kann anfordern, dass die Datenübertragungshistorie auf dem Bildschirm 20 angezeigt wird.

[39]

Bei einem Ausführungsbeispiel der Erfindung ist das Datenübertragungsmodul 17 dahingehend konfiguriert, lediglich ausgewählte Daten und Dateien zwischen der realen und der virtuellen Robotersteuerung zu übertragen. Dem Benutzer sind Optionen für die Auswahl gegeben, wie viele, und welche, Konfigurationsdaten und Programmdateien zwischen der realen und der virtuellen Robotersteuerung zu übertragen sind. Auf den Empfang einer Anforderung für eine Datenübertragung hin überträgt das Datenübertragungsmodul lediglich die ausgewählten Konfigurationsdaten und Programmdateien. Die ausgewählten Konfigurationsdaten und Programmdateien werden durch die Filterkomponente verarbeitet.

[40]

2 zeigt ein System in Übereinstimmung mit einem weiteren Ausführungsbeispiel der Erfindung, wobei das System imstande ist, eine Mehrzahl von Industrierobotern off-line zu programmieren. Die Roboter sind mit einer Mehrzahl von Robotersteuerungen (Robotersteuereinrichtungen) 25a–c zum Steuern der Bewegungen der Roboter verbunden. Das System umfasst einen externen Computer 3a für eine Off-line-Programmierung und Simulation der Roboter. Die Robotersteuerungen 25a–c und der externe Computer 3a stehen in gegenseitiger Kommunikation, beispielsweise über ein Netzwerk. Der externe Computer verfügt über ein Programmier- und Simulationstool (Simulationswerkzeug) 10, das imstande ist, eine Mehrzahl von virtuellen Robotersteuerungen 26, 27, 28 entsprechend den realen Robotersteuerungen 25a–c laufen zu lassen. Das System weist eine Speichereinrichtung 29 für die Speicherung der Identität bzw. Identifikation der realen Robotersteuerungen 25a–c zusammen mit der Identität bzw. Identifikation der entsprechenden virtuellen Robotersteuerungen 26, 27, 28 auf, um hierdurch eine Datenübertragung zu einem späteren Zeitpunkt zwischen der realen Robotersteuerung und der entsprechenden virtuellen Robotersteuerung zu erreichen.

[41]

3 zeigt ein Ablaufdiagramm eines Verfahrens für die Übertragung von Daten von der realen Robotersteuerung zu der virtuellen Robotersteuerung in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung. Es ist verstehbar, dass jeder Block des Ablaufdiagramms durch Computerprogramminstruktionen implementiert werden kann. Die Programminstruktionen werden durch das Datenübertragungsmodul ausgeführt.

[42]

3 repräsentiert einen Fall, bei dem eine hochgenaue Kopie einer realen Robotersteuerung zu erstellen und für eine Off-line-Programmierung des Roboters mit Hilfe eines Programmier- und Simulationstools auf einem externen Computer zu verwenden ist. In diesem Fall wählt der Benutzer über die Benutzerschnittstelle 20 die Aktivierungseinrichtung 22 aus, die mit „gehe off-line” bezeichnet ist. Falls mehr als eine Robotersteuerung vorhanden ist, die mit dem Netzwerk verbunden ist, muss der Benutzer auswählen, welche der Robotersteuerungen zu kopieren ist. Derselbe Off-line-Programmier-Computer kann zum Programmieren einer Mehrzahl von Robotersteuerungen verwendet werden. Wenn der Benutzer „gehe off-line” ausgewählt hat, wird eine Abfolge von Schritten ausgeführt. In einem ersten Schritt, Block 30, wird Systeminformation, wie etwa Konfigurationsdaten und Programmdateien, von der realen Robotersteuerung gesammelt. Das Datenübertragungsmodul 17 befiehlt der Kommunikationskomponente 6 der Robotersteuerung, Konfigurationsdaten und Programmdateien von dem Datenspeicher 7, 8 herzuholen.

[43]

Auf der Basis der geholten Systeminformation wird ein Backup bzw. Abbild der realen Robotersteuerung ausgeführt und es werden Backup-Dateien erzeugt, Block 32. Die Backup-Dateien werden von der realen Robotersteuerung zu dem externen Computer übertragen. Die Filterkomponente ist oder wird instruiert, die Backup-Dateien in Übereinstimmung mit den gespeicherten Filterregeln zu verarbeiten, Block 33. Ein Beispiel einer Filterregel besteht darin, dass nicht zugelassen wird, dass Tooldaten von der realen Robotersteuerung zu der virtuellen Robotersteuerung übertragen werden. Dies liegt daran, dass das reale Tool während des Einsatzes geringfügig gebogen bzw. geändert und rekalibriert ist oder wird, und dass es keine gute Idee ist, das gebogene bzw. geänderte Werkzeug in einer Simulation zu benutzen. Wenn die Filterkomponente die Backup-Dateien verarbeitet hat, verbleiben lediglich die notwendigen Konfigurationsdaten und Programmierdateien, die in der virtuellen Robotersteuerung zu benutzen sind. Die gefilterten Daten werden in den Datenspeichern 13, 14 an bzw. in der virtuellen Robotersteuerung gespeichert. Danach wird eine virtuelle Robotersteuerung auf der Basis der gefilterten Backup-Dateien geschaffen, Block 34. Wenn die virtuelle Robotersteuerung geschaffen worden ist, wird die virtuelle Robotersteuerung gestartet, Block 35. Die Backup-Dateien werden für die virtuelle Robotersteuerung wieder hergestellt, Block 36.

[44]

Bei den meisten Robotersteuerungen ist ein Mechanismus für die Auslagerung bzw. Sicherung der Inhalte des Speichers der Steuerung auf eine Platte vorhanden, was als ein Backup bzw. eine Sicherung bezeichnet wird. Dieser Speicherinhalt kann durch einen Wiederherstellungsvorgang in den Speicher erneut zurückgelesen werden. Die meiste Zeit, jedoch nicht immer, enthält der Speicherinhalt die gesamte Konfigurations- und Programminformation, die zur Erstellung einer virtuellen Robotersteuerung erforderlich ist. In manchen Fällen gibt es zusätzliche Ressourcen oder Datendateien, die auf Platte in der Steuereinrichtung gesichert sind, und es müssen diese nicht bei dem Speicherabbild enthalten sein. Folglich enthält der Prozess für den Aufbau einer arbeitenden virtuellen Robotersteuerung die Schritte des Kopierens der Dateien, des Erstellens eines Backups bzw. einer Sicherung des Speichers, und des anschließenden Startens einer virtuellen Robotersteuerung sowie des Ladens der Inhalte des Speichers von der realen Robotersteuerung in die virtuelle Robotersteuerung.

[45]

4 zeigt ein Ablaufdiagramm eines Verfahrens für die Übertragung von Daten von einer virtuellen Robotersteuerung zu einer realen Robotersteuerung in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung. Jeder Block in dem Ablaufdiagramm kann durch Computerprogrammbefehle implementiert sein. Diese Abfolge von Instruktionen, wie sie in 4 offenbart ist, wird durch das Datentransfermodul 17 ausgeführt. Dieser Fall tritt auf, wenn der Programmierer das Arbeiten mit der virtuellen Robotersteuerung in der simulierten Umgebung beendet hat und eine Übertragung der Konfigurationsdaten und des Roboterprogramms zu der realen Robotersteuerung benötigt wird. Nicht alle Daten müssen übertragen werden. Als Beispiel sind Werkzeugdaten bzw. Tooldaten oftmals ein Modell in dem Simulationstool, wobei sie aber in dem realen Robotersystem ein kalibriertes Werkzeug sind. Der Unterschied mag nicht groß sein, jedoch sollten die Tooldaten der virtuellen Robotersteuerung normalerweise nicht zu der realen Robotersteuerung übertragen werden. Ein weiteres Beispiel dafür, was nicht zu übertragen ist, sind die Objektdaten in gewissen Benutzungsfällen. Als Beispiel kann das Simulationssystem eine Tabelle aufweisen, deren Koordinaten durch einen Objektrahmen (Objekt-Frame) gegeben sind, der in dem Programm gespeichert ist. Die reale Robotersteuerung weist ebenfalls eine Tabelle auf und es liegen reale Koordinaten für jene Tabelle in dem Programm der Robotersteuerung vor. Der Tabellen-Objektrahmen von dem Simulationssystem soll die reale Robotersteuerung nicht überschreiben. Bei der Übertragung von der realen Robotersteuerung zu der virtuellen Robotersteuerung haben unterschiedliche Kunden bzw. Benutzer unterschiedliche Präferenzen. Beispielsweise werden dem Benutzer Optionen gegeben, um auszuwählen, wie viel der, und welche, Konfigurationsdaten und Programmdaten zu der realen Robotersteuerung zu übertragen sind. Wenn der Benutzer ausgewählt hat, welche Konfiguration und Programmdaten zu der realen Robotersteuerung zu übertragen sind, aktiviert er/sie die Aktivierungseinrichtung 24 über die Benutzerschnittstelle 20 dazu „gehe online”.

[46]

Wenn die Sequenz für „gehe online” begonnen worden ist, werden die ausgewählten Programmdateien und Konfigurationsdaten von der virtuellen Robotersteuerung wiedergewonnen bzw. herbeigeholt, Block 40. Danach werden Programmdateien und Konfigurationsdaten von der realen Robotersteuerung wiedergewonnen bzw. herbeigeholt, Block 42. Die Filterkomponente wird instruiert, die Programmdateien von der virtuellen Robotersteuerung in Übereinstimmung mit den Filterregeln zu verarbeiten. Falls die Filterregeln angeben, dass gewisse Teile der Dateien oder Typen von Daten nicht überschrieben werden sollten, werden diese Teile von den Programmdateien von der realen Robotersteuerung geholt und ihnen die Programmdateien von der virtuellen Robotersteuerung eingestellt. Demgemäß werden neue Programmdateien generiert, die Teile von den Dateien von der virtuellen Robotersteuerung und Teile von den Dateien der realen Robotersteuerung enthalten, Block 44. Alternativ werden Teile der Programmdateien, bezüglich derer ein Überschreiben zugelassen ist, von der realen Robotersteuerung durch Teile von den Programmdateien von der virtuellen Robotersteuerung ausgetauscht bzw. ersetzt. Die resultierenden Programmdateien und Konfigurationsdaten werden von der virtuellen Robotersteuerung zu der realen Robotersteuerung übertragen, Block 46.

[47]

Die vorliegende Erfindung ist nicht auf die offenbarten Ausführungsbeispiele beschränkt, sondern kann im Rahmen der nachfolgenden Ansprüche variiert und modifiziert werden. Als Beispiel sind das Datenübertragungsmodul 17 und die Filterkomponente 18 bei dem in 1 dargestellten Ausführungsbeispiel an bzw. in dem externen Computer 3 gespeichert. Jedoch können das Datenübertragungsmodul und die Filterkomponente bei einem alternativen Ausführungsbeispiel auch an bzw. in der Robotersteuerung 2 gespeichert sein.



System zur Off-line-Programmierung eines Industrieroboters (1) mit einer Robotersteuerung (2; 25a–c) für die Steuerung der Bewegungen des Roboters, wobei das System weiterhin einen externen Computer (3; 3a) umfasst, der ein Simulationstool (10) mit der Fähigkeit des Betreibens von einer oder mehreren virtuellen Robotersteuerungen (12; 26, 27, 28) aufweist, wobei das Simulationstool (10) dazu konfiguriert ist, Konfigurationsdaten für den Roboter zu erzeugen und bei dem die reale Robotersteuerung und der externe Computer dazu ausgelegt sind, eine gegenseitige Kommunikation zu erlauben, wobei das System ein Datenübertragungsmodul (17) umfasst, das dazu ausgelegt ist, auf Anforderung hin automatisch Konfigurationsdaten zwischen der realen Robotersteuerung und einer virtuellen Robotersteuerung, die auf dem externen Computer läuft, zu übertragen, dadurch gekennzeichnet, dass das Simulationstool ein Simulations- und Programmiertool für die off-line-Programmierung des Roboters ist, und das Simulations- und Programmiertool dazu konfiguriert ist, Roboterprogramme für die Robotersteuerung zu generieren, dass das Datenübertragungsmodul (17) dazu ausgelegt ist, auf Anforderung hin automatisch Programmdaten einschließlich von Roboterprogrammdateien zwischen der realen Robotersteuerung und der virtuellen Robotersteuerung zu übertragen, und dass das System eine Filterkomponente (18) aufweist, die ausgelegt ist, die übertragenen Konfigurations- und Programmdaten in Übereinstimmung mit definierten Filterregeln zu filtern, wobei die Filterregeln definieren, für welche Teile der Konfigurations- und Programmierdaten zugelassen ist, dass sie zwischen der Robotersteuerung und dem externen Computer übertragen werden, für welche Teile der Konfigurations- und Programmdaten nicht zugelassen ist, dass sie zwischen der Robotersteuerung und dem externen Computer übertragen werden, und welche Teile der Roboter-Programmdateien von der Robotersteuerung gegenüber einem Überschreiben durch den Übertragungsvorgang geschützt werden sollen.



System zur Off-line-Programmierung eines Industrieroboters (1) mit einer Robotersteuerung (2; 25a–c) für die Steuerung der Bewegungen des Roboters, wobei das System weiterhin einen externen Computer (3; 3a) umfasst, der ein Simulationstool (10) mit der Fähigkeit des Betreibens von einer oder mehreren virtuellen Robotersteuerungen (12; 26, 27, 28) aufweist, wobei das Simulationstool (10) dazu konfiguriert ist, Konfigurationsdaten für den Roboter zu erzeugen und bei dem die reale Robotersteuerung und der externe Computer dazu ausgelegt sind, eine gegenseitige Kommunikation zu erlauben, wobei das System ein Datenübertragungsmodul (17) umfasst, das dazu ausgelegt ist, auf Anforderung hin automatisch Konfigurationsdaten zwischen der realen Robotersteuerung und einer virtuellen Robotersteuerung, die auf dem externen Computer läuft, zu übertragen,
dadurch gekennzeichnet,
dass das Simulationstool ein Simulations- und Programmiertool für die off-line-Programmierung des Roboters ist, und das Simulations- und Programmiertool dazu konfiguriert ist, Roboterprogramme für die Robotersteuerung zu generieren,
dass das Datenübertragungsmodul (17) dazu ausgelegt ist, auf Anforderung hin automatisch Programmdaten einschließlich von Roboterprogrammdateien zwischen der realen Robotersteuerung und der virtuellen Robotersteuerung zu übertragen, und
dass das System eine Filterkomponente (18) aufweist, die ausgelegt ist, die übertragenen Konfigurations- und Programmdaten in Übereinstimmung mit definierten Filterregeln zu filtern, wobei die Filterregeln definieren, für welche Teile der Konfigurations- und Programmierdaten zugelassen ist, dass sie zwischen der Robotersteuerung und dem externen Computer übertragen werden, für welche Teile der Konfigurations- und Programmdaten nicht zugelassen ist, dass sie zwischen der Robotersteuerung und dem externen Computer übertragen werden, und welche Teile der Roboter-Programmdateien von der Robotersteuerung gegenüber einem Überschreiben durch den Übertragungsvorgang geschützt werden sollen.

System nach Anspruch 1, bei dem das Datenübertragungsmodul (17) ausgelegt ist, auf eine Anforderung hin automatisch:
Backup- bzw. Sicherungsdateien einschließlich Konfigurations- und Programmdaten der realen Robotersteuerung zu erzeugen,
der Filterkomponente (18) die Verarbeitung der Backup-Dateien in Übereinstimmung mit den Filterregeln zu befehlen, und
eine virtuelle Robotersteuerung (12) auf dem externen Computer auf der Basis der gefilterten Backup-Dateien zu erzeugen.

System nach einem der vorhergehenden Ansprüche, bei dem das Datenübertragungsmodul (17) konfiguriert ist, auf Anforderung hin automatisch:
Programmdateien von der virtuellen Robotersteuerung (12; 26, 27, 28) zu holen,
Programmdateien von der realen Robotersteuerung (2; 25a–c) zu holen,
der Filterkomponente (18) die Verarbeitung der Programmdateien in Übereinstimmung mit den Filterregeln zu befehlen, und
die resultierenden Dateien zu der realen Robotersteuerung zu übertragen.

System nach Anspruch 3, bei dem die Filterregeln Instruktionen dahingehend enthalten, welche Teile der Programmdateien von der realen Robotersteuerung gegen ein Überschreiben durch den Übertragungsvorgang geschützt werden sollten.

System nach einem der vorhergehenden Ansprüche, bei dem die Filterregeln Instruktionen hinsichtlich spezieller Typen von Elementen innerhalb der Roboterprogrammiersprache enthalten, die gegen ein Überschreiben durch den Übertragungsvorgang geschützt werden sollten.

System nach einem der vorhergehenden Ansprüche, bei dem das System eine Benutzerschnittstelle (20) aufweist, die mit einer ersten Aktivierungseinrichtung (22) zum Anfordern einer Datenübertragung von der realen Robotersteuerung (2) zu der virtuellen Robotersteuerung (12) und mit einer zweiten Aktivierungseinrichtung (24) für die Anforderung einer Datenübertragung von der virtuellen Robotersteuerung zu der realen Robotersteuerung versehen ist.

System nach einem der vorhergehenden Ansprüche, bei dem das Datenübertragungsmodul (17) dazu ausgelegt ist, auf Anforderung hin die Konfigurations- und Programmdaten in der realen Robotersteuerung mit den Konfigurations- und Programmdaten in der virtuellen Robotersteuerung zu vergleichen und die Unterschiede anzuzeigen.

System nach einem der vorhergehenden Ansprüche, bei dem das Datenübertragungsmodul (17) und die Filterkomponente (18) auf dem externen Computer gespeichert sind.

System nach einem der vorhergehenden Ansprüche, bei dem das System imstande ist, eine Mehrzahl von Robotern off-line zu programmieren, bei dem das Programmier- und Simulationstool (10) die Fähigkeit zum Betreiben einer Mehrzahl von virtuellen Robotersteuerungen (26, 27, 28) entsprechend einer Mehrzahl von realen Robotersteuerungen (25a–c) aufweist, und bei dem das System eine Speichereinrichtung (29) zum Speichern der Identität der realen Robotersteuerungen zusammen mit der Identität der entsprechenden virtuellen Robotersteuerung aufweist, um hierbei eine Datenübertragung zu einem späteren Zeitpunkt zwischen der realen Robotersteuerung und der entsprechenden virtuellen Robotersteuerung zu erzielen.

Verfahren zum Übertragen von Daten zwischen einer realen Robotersteuerung (2; 25a–c) und einem Simulations- und Programmiertool einschließlich einer virtuellen Robotersteuerung (12; 26, 27, 28), die an einem externen Computer (3; 3a) lokalisiert ist, während einer Off-line-Programmierung eines Industrieroboters, wobei das Verfahren aufweist:
Empfangen einer Anforderung hinsichtlich einer Datenübertragung und automatisches Übertragen, auf den Empfang der Anforderung hin, von Konfigurations- und Programmdaten einschließlich Programmdateien zwischen der realen Robotersteuerung und der virtuellen Robotersteuerung, und
Filtern der übertragenen Konfigurations- und Programmdaten in Übereinstimmung mit definierten Filterregeln, wobei die Filterregeln definieren, für welche Teile der Konfigurations- und Programmierdaten zugelassen ist, dass sie zwischen der Robotersteuerung und dem externen Computer übertragen werden, für welche Teile der Konfigurations- und Programmdaten nicht zugelassen ist, dass sie zwischen der Robotersteuerung und dem externen Computer übertragen werden, und welche Teile der Roboter-Programmdateien von der Robotersteuerung gegenüber einem Überschreiben durch den Übertragungsvorgang geschützt werden sollen.

Verfahren nach Anspruch 10, bei dem das Verfahren aufweist, dass auf Anforderung hin automatisch ausgeführt wird:
Erzeugen von Backup-Dateien einschließlich von Konfigurations- und Programmdaten der realen Robotersteuerung,
Übertragen der Backup-Dateien zu dem externen Computer,
Filtern der Backup-Dateien entsprechend den Filterregeln, und
Erzeugen einer virtuellen Robotersteuerung auf dem externen Computer auf der Basis der gefilterten Backup-Dateien.

Verfahren nach Anspruch 10 oder 11, bei dem das Verfahren umfasst, auf Anforderung hin automatisch:
Programmdateien von der virtuellen Robotersteuerung zu holen,
Programmdateien von der realen Robotersteuerung zu holen,
die Programmdateien entsprechend den Filterregeln zu filtern, und
die resultierenden Dateien zu der realen Robotersteuerung zu übertragen.

Verfahren nach einem der Ansprüche 10 bis 12, bei dem das Verfahren das Anzeigen der Unterschiede hinsichtlich der Konfigurations- und Programmdaten zwischen der realen Robotersteuerung und der virtuellen Robotersteuerung enthält.

Verfahren nach einem der Ansprüche 10 bis 13, bei dem das Verfahren das Speichern der Identität der realen Robotersteuerung zusammen mit der Identität der entsprechenden virtuellen Robotersteuerung enthält, um hierdurch eine Datenübertragung zu einem späteren Zeitpunkt zwischen der realen Robotersteuerung und der entsprechenden virtuellen Robotersteuerung zu erreichen.