DE112008003963T5 - System and method for off-line programming of an industrial robot - Google Patents

System and method for off-line programming of an industrial robot Download PDF

Info

Publication number
DE112008003963T5
DE112008003963T5 DE112008003963T DE112008003963T DE112008003963T5 DE 112008003963 T5 DE112008003963 T5 DE 112008003963T5 DE 112008003963 T DE112008003963 T DE 112008003963T DE 112008003963 T DE112008003963 T DE 112008003963T DE 112008003963 T5 DE112008003963 T5 DE 112008003963T5
Authority
DE
Germany
Prior art keywords
robot controller
data
real
program
virtual
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.)
Granted
Application number
DE112008003963T
Other languages
German (de)
Other versions
DE112008003963B4 (en
Inventor
Anders Ekelund
Steve Murphy
Philippe Charles
Sara Lövemark
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.)
ABB Schweiz AG
Original Assignee
ABB Technology AG
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 ABB Technology AG filed Critical ABB Technology AG
Publication of DE112008003963T5 publication Critical patent/DE112008003963T5/en
Application granted granted Critical
Publication of DE112008003963B4 publication Critical patent/DE112008003963B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35308Update simulator with actual machine, control parameters before start simulation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40311Real time simulation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40394Combine offline with online information to generate robot actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

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 Programmier- und Simulationstool (10) mit der Fähigkeit des Betreibens von einer oder mehreren virtuellen Robotersteuerungen (12; 26, 27, 28) aufweist, und bei dem die reale Robotersteuerung und der externe Computer dazu ausgelegt sind, eine gegenseitige Kommunikation zu erlauben, dadurch gekennzeichnet, dass das System umfasst: ein Datenübertragungsmodul (17), das dazu ausgelegt ist, auf Anforderung hin automatisch Konfigurations- und Programmdaten zwischen der realen Robotersteuerung und einer virtuellen Robotersteuerung, die auf dem externen Computer läuft, zu übertragen, und eine Filterkomponente (18), die ausgelegt ist, die übertragenen Konfigurations- und Programmdaten in Übereinstimmung mit definierten Filterregeln zu filtern.System for off-line programming of an industrial robot (1) with a robot controller (2; 25a-c) for controlling the movements of the robot, the system further comprising an external computer (3; 3a) which is a programming and simulation tool (10) with the ability to operate one or more virtual robot controllers (12; 26, 27, 28), and in which the real robot controller and the external computer are designed to allow mutual communication, characterized in that the System comprises: a data transmission module (17), which is designed to automatically transmit configuration and program data between the real robot controller and a virtual robot controller that runs on the external computer, and a filter component (18), which is designed is to filter the transmitted configuration and program data in accordance with defined filter rules.

Description

GEBIET DER ERFINDUNG UND STAND DER TECHNIKFIELD OF THE INVENTION AND PRIOR ART

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.The present invention relates to a system and method for off-line or off-line programming of an industrial robot including a robot controller for controlling the movements of the robot. In particular, the invention is concerned with the area of transferring data required for the configuration and programming of an industrial robot to and from an external computer having a programming and simulation tool with the capability of running ) of one or more virtual robot controllers.

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.Industrial robots are conventionally programmed via a robot programming language. The result of the programming is a program which instructs the controller not only with respect to the movements of the specific robot but also with respect to input and output actions, with the special input / output system (I / O system) included in the current one There is also control and other special equipment associated with that controller, such as external axes, special equipment with special input / output requirements. Programming robots is a time consuming process, and conventional methods of using the robot during programming and learning to learn the process take up the production line and delay the start of production. In order to save time and to accelerate the start of production, the robot is programmed off-line or independently of the computer or off-grid. Conventionally, this is accomplished by off-line programming and a simulation tool running on an external computer. The output or result of the simulation is a robot program. When the simulation and the off-line programming are completed, the robot program is transferred to the real robot.

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. WO 03/059582 offenbart ein Verfahren zum Programmieren eines Industrieroboters mit Hilfe einer virtuellen Robotersteuerung.The off-line programming and simulation tool contains descriptions of the robot and robot controller that it is attempting to simulate. There is a need for accurate robot simulations that not only reproduce the motion of the robot but also the program execution, and that duplicates even the system errors that can occur in the real robot. Industrial companies can not tie up expensive equipment when new installations are made, and can not afford to stop production when reprogramming a robotic cell or conduit for a new product. The new set of robot programs for a new cell or the reprogrammed cell must work immediately without many errors. Based on this need, more and more accurate duplicates of the real robot controls have been included in the simulation software for the robot simulation, which has led to virtual robot controls being used during the simulation. A virtual robot controller is a sufficiently accurate representation of a real robot controller, not only simulating the motion of the controller, but also containing a voice execution component. These are the basic components for a virtual robot controller. They can be more accurate and complex, but not much easier. In other systems, there is only one motion component and no speech, or there is only one simple speech analyzer without any executions. WO 03/059582 discloses a method of programming an industrial robot using a virtual robot controller.

Jedoch hat die Verwendung von virtuellen Robotersteuerungen leider das Problem der Übertragung der Beschreibung der realen Robotersteuerungen zu den virtuellen Robotersteuerungen sowie der Übertragung der entsprechenden Programme und Konfigurationsdaten von den virtuellen Robotersteuerungen zu der realen Robotersteuerung mit sich gebracht. Gegenwärtig ist dies ein schwieriger, zeitaufwändiger und fehleranfälliger Prozess.However, the use of virtual robot controls has unfortunately entailed the problem of transmitting the description of the real robot controls to the virtual robot controls as well as the transmission of the corresponding programs and configuration data from the virtual robot controllers to the real robot controller. At present, this is a difficult, time-consuming and error-prone process.

Das Problem beginnt, wenn ein neuer Roboter unter Verwendung eines Simulationssystems zu programmieren ist. Dies tritt typischerweise dann auf, wenn der Programmierer anfangen möchte, 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.The problem begins when a new robot is to be programmed using a simulation system. This typically occurs when the programmer wants to start before the robot is shipped or completely connected to the factory floor. The programmer must build a virtual robot controller and configure it with the necessary I / O and other system configurations adapted to the real robot controller, and further program the virtual robot controller with a robot program, coordinate frames, tool descriptions, and so on. When the real robot controller is shipped, the robot program and other data, for example, frame data such as tools, work objects, and external axes must be transferred from the programming tool to the real robot controller. However, once the real robot is delivered, the real robot system always differs from the simulated system in some respects, for example, in terms of signal names, frames, and calibration. To override correct data in the real world To avoid robot control by incorrect data from the virtual robot controller, the programmer wants to transfer only selected data from the virtual robot controller to the real robot controller. This poses a problem because there is a lot of data to be transmitted to the real robot controller, and it is difficult to keep track of which files and which configuration data to transmit, and which of them in the virtual robot controller and the real robot control should be kept different. Nowadays, the files are manually transferred, manually edited and manually installed in the real robot controller.

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.The problem persists when an existing robotic system is to be programmed off-line. A need for this exists, for example, when the robot is in production and can not be stopped, or the programmer is not physically in the same location, or the system has shut down for repair. The problem in this case is to form an accurate representation of the real robot controller in the virtual robot controller. This also includes the aspect of transmitting selected data such as configuration data and program data from the real robot controller to the virtual robot controller. This is the same problem as the problem discussed above, but vice versa, where many files must be transferred, edited and installed in the simulation tool and virtual robot control must be provided. The state of the art is to manually edit programs and configuration data in the form of files and transfer them to and from the real robot controller.

ZIELSETZUNGEN UND KURZFASSUNG DER ERFINDUNGOBJECTS AND SUMMARY OF THE INVENTION

Die 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.The object of the present invention is to facilitate the transmission of configuration and program data between a real robot controller and an off-line programming and simulation tool (simulation tool) and to ensure that only selected data is transmitted.

In Übereinstimmung mit einem Gesichtspunkt der Erfindung wird diese Aufgabe mit einem System gelöst, wie es im Anspruch 1 definiert ist.In accordance with one aspect of the invention, this object is achieved with a system as defined in claim 1.

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.Such a system includes a data transfer module configured to automatically transmit configuration and program data upon request between a real robot controller and a virtual robot controller running on an external computer, the system further including a filter component, which is designed to filter the transmitted configuration and program data in accordance with defined filter rules.

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.The dividing line between configuration data and program varies from manufacturer to manufacturer, but overall they are the same type of data. Configuration data may include, for example, data defining input / output (I / O) signals, the number of program tasks, external axes, and the base frames of the external axes. The program data may include, for example, tool definitions, object and user frame definitions, and also the program files to be executed. Some manufacturers may place the frame data in the configuration data or may all keep the frame data in the program data.

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.The invention makes it possible, upon request, to automatically transmit configuration and program data between the real robot controller and a virtual robot controller running on an external computer. The filter component ensures that only allowed data is transmitted. The invention greatly increases the productivity and reliability in the off-line programming process and promotes the use of the industrial robot equipment.

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.The filter rules determine which data is selected for transmission for transmission. The filter rules contain information as to which parts of the configuration and program data are to be transferred between the robot controller and the external computer, and which parts of the configuration and program data may not be transferred between the robot controller and the external computer. The filtering rules may vary depending on the data direction of the transmission of the data. For the most part, filtering defines data transfer for both directions, from real-to-virtual, and virtual-to-real, but there are also cases where you want tool data or work or workpiece object data from the virtual to transmit to the real robot controller, but not in the opposite direction.

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.In accordance with one embodiment of the invention, the data transfer module is configured to automatically execute on demand: create backup files including configuration and program data of the robot controller, instruct the filter component to process the backup files in accordance with the filtering rules and creating a virtual robot controller in the external computer based on the filtered backup files. This embodiment automatically transfers selected data from the real robot controller to the external computer, and automatically generates a virtual robot controller on the external computer. Accordingly, the process of creating a virtual robot controller is simplified and accelerated.

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.In accordance with an embodiment of the invention, the data transfer module is configured to automatically execute on request: retrieve program files from the virtual robot controller, retrieve program files from the robot controller, instruct the filter component, process the program files in accordance with the filtering rules, and transfer resulting files to the robot controller. This embodiment automatically transfers selected parts of program files from the virtual robot controller to the real robot controller. Suitably, the filtering rules include instructions regarding the portions of the program files that should be protected by the robot controller from overwriting by the transmission process. In accordance with the filter rules, some parts of the program files are not transferred to the real robot controller. The parts whose transmission is not allowed to be replaced by corresponding parts of corresponding program files from the real robot controller. Accordingly, the transfer of off-line programmed files to the robot controller is facilitated and accelerated. Manually editing or transferring files is no longer necessary.

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.In accordance with one embodiment of the invention, the filtering rules include instructions regarding particular types of elements within the robot programming language that should be protected against overwriting by the transmission process. As an example, tool data or tool data is used where the simulation system is to use the virtual tool data in the program, but the real program should use the recalibrated tool resulting from a calibration program running on the controller. This embodiment makes it possible to specify certain types of elements within the robot programming language to be protected against overwriting by the transmission process.

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.In accordance with an embodiment of the invention, the system includes a user interface having a first activation means for requesting data transfer from the physical robot controller to the virtual robot controller, and second activation means for requesting data transfer from the virtual robot controller to the robot controller is. The activation device may be any type of physical element or software element that can be activated by a user to request data transfer, such as a physical button, a software button, or a command in a menu on the user interface. This embodiment facilitates the user to request the transfer of data between the real and the virtual robot controller.

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.In accordance with an embodiment of the invention, the data transfer module is configured to, upon request, compare the configuration and program data in the physical robot controller with the configuration and program data in the virtual robot controller and display the differences. This represents information that may be of interest to the user. The system has a user interface configured to display the differences in the configuration and program data between the real robot controller and the virtual robot controller. The user interface is, for example, a display screen connected to the external computer or a hand program unit or a swing arm panel unit connected to the robot controller.

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.In accordance with an embodiment of the invention, the data transfer module and the filter component are stored in the external computer. The data transfer module and the filter component may be stored in the external computer or the robot controller. However, due to the limited processing and storage capacity of the robot controller, it is more advantageous to store the data transfer module and the filter component in the external computer.

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.In accordance with an embodiment of the invention, the system is capable of executing off-line programming of a plurality of robots, the programming and simulation tool having the capability of running a plurality of virtual robotic controls corresponding to a plurality of real robotic controls, and the system having storage means for storing the identity of the real robot controls together with the identity of the corresponding virtual robot controller, thereby to effect data transfer at a later time between the real robot controller and the corresponding virtual robot controller. This embodiment enables the external computer to remember which ones Virtual robot control and real robot control belong to each other, thereby allowing the external computer to achieve a data transfer at a later time between the real robot controller and the corresponding virtual robot controller.

In Übereinstimmung mit einem weiteren Gesichtspunkt der Erfindung wird diese Aufgabe durch ein Verfahren gelöst, wie es in Anspruch 11 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.In accordance with a further aspect of the invention, this object is achieved by a method as defined in claim 11. Such a method includes receiving a request for data transmission, and automatically transmitting, upon receipt of the request, configuration and program data between the real robot controller and the virtual robot controller, and filtering the transmitted configuration and program data in accordance with defined filtering rules ,

KURZE BESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS

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.The invention will now be explained in more detail with reference to the description of various embodiments of the invention and with reference to the accompanying drawings.

1 zeigt ein System für eine Off-line-Programmierung eines Industrieroboters in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung. 1 shows a system for off-line programming of an industrial robot in accordance with an embodiment of the invention.

2 zeigt ein System für eine Off-line-Programmierung einer Mehrzahl von Industrierobotern in Übereinstimmung mit einem weiteren Ausführungsbeispiel der Erfindung. 2 shows a system for off-line programming of a plurality of industrial robots in accordance with another embodiment of the invention.

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. 3 FIG. 10 is a flowchart of a method of transferring data from a real robot controller to a virtual robot controller in accordance with an embodiment of the invention.

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. 4 FIG. 10 is a flowchart of a method for transferring data from a virtual robot controller to a real robot controller in accordance with an embodiment of the invention. FIG.

DETAILLIERTE BESCHREIBUNG VON BEVORZUGTEN AUSFÜHRUNGSBEISPIELEN DER ERFINDUNGDETAILED DESCRIPTION OF PREFERRED EMBODIMENTS OF THE INVENTION

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. 1 shows a system for off-line programming of an industrial robot in accordance with an embodiment of the invention. The system has a robot 1 and a robot controller 2 for controlling the movements of the robot 1 on. The system also includes an external computer 3 for off-line programming and robot simulation. The external computer is, for example, a personal computer (PC). The robot controller 2 and the external computer 3 are configured so that mutual communication is possible, for example via a communication link 5 , The communication connection 5 is a network, for example. The robot controller 2 is a conventional robot controller that contains all the necessary hardware and software to control the movements of the robot, such as a memory, one or more processors and communication equipment. The robot controller includes a communication component 6 through which the robot controller packages files or groups of files and to the external computer 3 transfers. This is often done via FTP, HTTP or other protocols.

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.The robot controller 2 also contains a data store 7 for storing robot configuration data and a data memory 8th for storing robot programs. From manufacturer or manufacturer to manufacturer or manufacturer may be different, which configuration data has the robot controller. The communication component 6 is with the data stores 7 . 8th and is configured to store on request robotic configuration data and robot programs received from the external computer 3 in the data stores 7 . 8th be received. The communication component 6 is further configured to provide configuration data and robot programs from the data memories upon request 7 . 8th and retrieve the configuration data and program files to the external computer via the communication link 5 transferred to.

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.The external computer 3 has a programming and simulation tool (simulation tool) 10 for off-line programming of the robot. The programming and simulation tool includes a 3D simulator and logical components necessary for interaction with a virtual robot controller. From the programming and simulation tool 10 Robot programs and configuration data are output to the controller. The external computer further comprises a memory device 12 for storing a virtual robot controller. The storage device 12 for the virtual robot controller contains a data memory 13 for storing robot configuration data and a data memory 14 for storing robot programs and program data. The virtual robot controller further includes references to a 3D model of the robot, and a processing engine (not shown in the figure) for motion and speech processing. The virtual robot control is a highly accurate representation of the real robot control and as such contains almost identical Configuration data and program data like the real robot control. The external computer also contains a communication component 15 for communication with the robot controller 2 over the communication connection 5 responsible for. The communication component 15 is designed to provide the necessary program files and configuration data from the robot controller 2 fetch the program files and configuration data in the external computer 3 in correct positions, ie in the data memory 13 . 14 , save as well as program files and configuration data from the virtual robot controller 12 to the robot controller 2 to move. The communication component 15 can be complex with its own states, or can be a simple FTP client.

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.The external computer also contains a data transfer module 17 , which is adapted to user inputs in the form, or requirements, or in the form of requirements for the transfer of data between the real robot controller 2 and the virtual robot controller 12 to receive and handle. The data transfer module 17 is designed to automatically submit configuration and program files between the real robot controller upon request 2 and the virtual robot controller 12 to transfer that runs on the external computer. The data transfer module 17 commands the communication component 15 , Data to and from the real robot controller 2 to move. The data transfer module 17 contains a plurality of different sequences of instructions which are to be executed depending on the input by the user. As an example, the user can command that the data transfer module 17 Transfer data from the real robot controller to the virtual robot controller, or the user can transfer the data transfer module 17 command, configuration data and robot programs from the virtual robot controller 12 to the real robot controller 2 transferred to. The programming and simulation tool 10 is configured to store the generated robot programs and possible program execution data (an example is a program that reads values from a data file and executes them in accordance with that data file). Other resources, such as translations of texts, may also be stored in the data store 14 the virtual robot controller are secured. The data transfer module is configured to request, upon request, the off-line generated robot programs from the data store 14 to the data store 8th the real robot controller 2 transferred to.

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.The system further includes a filter component 18 , which is designed to filter the transmitted configuration data and program files in accordance with defined filtering rules. The filter rules have already been pre-determined and are or will be stored in the filter component. The filter rules contain information as to which parts of the configuration data and robot program files are to be transferred between the real robot controller and the virtual robot controller and in which parts of the configuration data and robot program files transmission is not permitted. As an example, the filtering rules may include information that certain types of data, such as calibration data, or specific types of elements within the robot programming language must be protected against overwriting by the transmission process. The filter rules may be pre-defined by the robot manufacturer or may be selected by the user. As an example, the filter component may be provided with a standard set of filtering rules upon delivery, and the user may modify the filtering rules and add new filtering rules. The filter component 18 is through the data transfer module 17 instructed to filter configuration data and robot program files. The filter component 18 may contain different sets of filtering rules, depending on the direction of the transmission of the data, which sentence is to be used. If data is being transferred from the real robot controller to the virtual robot controller, one set of filtering rules is used and when data is transferred from the virtual robot controller to the real robot controller another set of filtering rules is used.

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.The external computer 3 further includes a user interface 20 , for example, a touch screen, a computer monitor, a keyboard, and / or a pointing device for communication with a user. The user interface 20 is with an activation device 22 . 24 provided for the request of a data transfer between the real and the virtual robot control. The activation device contains a first activation device 22 for requesting data transfer from the real robot controller to the virtual robot controller, and a second activator 24 for requesting data transfer from the virtual robot controller to the real robot controller. The activation means may be implemented, for example, in the form of soft buttons displayed on the screen, or may be displayed as commands on a toolbar. When the user activates the device 22 . 24 When selected and activated, configuration data and robot program files are automatically transferred between the real and virtual robot controls depending on the selected direction.

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. In one embodiment of the invention, the data transfer module 17 adapted to compare, on user request, the configuration data and robot programs from the real robot controller with the configuration data and robot programs from the virtual robot controller, and the differences on the screen 20 display. This embodiment allows the user to prompt the data transfer module to display the differences between the configuration (or configuration data) and program data of the real and virtual robot controllers. The data transfer module fetches the configuration (or configuration data) and program data from the real robot controller and compares the received data with the data stored in the virtual robot controller 12 are stored and then display the generated differences at the user interface. The differences in data between the real and virtual robot controls may be presented in graphical form, such as in the form of tables, parallel editors, or the like.

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.In one embodiment of the invention, updated histories and data transfer histories are stored either in the external computer or in the real robot controller as a directory (log) and a record of what has been transferred and changed. The user can request that the data transfer history on the screen 20 is shown.

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.In one embodiment of the invention, the data transfer module 17 configured to transfer only selected data and files between the real and virtual robot controls. The user is given options for choosing how many, and which, configuration data and program files to transfer between the real and virtual robot controls. Upon receiving a request for data transfer, the data transfer module transmits only the selected configuration data and program files. The selected configuration data and program files are processed by the filter component.

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. 2 shows a system in accordance with another embodiment of the invention, wherein the system is capable of off-line programming a plurality of industrial robots. The robots are equipped with a plurality of robot controllers (robot controllers) 25a -C connected to control the movements of the robot. The system includes an external computer 3a for off-line programming and robot simulation. The robot controls 25a -C and the external computer 3a are in mutual communication, for example via a network. The external computer has a programming and simulation tool (simulation tool) 10 capable of a plurality of virtual robot controls 26 . 27 . 28 according to the real robot controls 25a -C to run. The system has a memory device 29 for storing the identity or identification of the real robot controls 25a -C together with the identity or identification of the corresponding virtual robot controls 26 . 27 . 28 to thereby achieve data transfer at a later time between the real robot controller and the corresponding virtual robot controller.

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. 3 FIG. 12 is a flowchart of a method for transferring data from the real robot controller to the virtual robot controller in accordance with one embodiment of the invention. FIG. It will be understood that each block of the flowchart may be implemented by computer program instructions. The program instructions are executed by the data transfer module.

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. 3 represents a case where a high-precision copy of a real robot controller is to be created and used for off-line programming of the robot using a programming and simulation tool on an external computer. In this case, the user selects via the user interface 20 the activation device 22 which is labeled "go off-line". If there is more than one robot controller connected to the network, the user must choose which of the robot controllers to copy. The same off-line programming computer can be used to program a plurality of robot controls. If the user has selected "go off-line", a sequence of steps is performed. In a first step, block 30 , system information such as configuration data and program files is collected by the real robot controller. The data transfer module 17 commands the communication component 6 the robot controller, configuration data and program files from the data memory 7 . 8th herzuholen.

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.On the basis of the retrieved system information, a backup or image of the real robot controller is executed and backup files are generated, block 32 , The backup files are transferred from the real robot controller to the external computer. The filter component is or is instructed to process the backup files in accordance with the stored filter rules, block 33 , An example of a filter rule is that it does not allow that Tooldata data from the real robot controller to the virtual robot controller. This is because the real tool is or will be slightly bent or changed and recalibrated during use, and it is not a good idea to use the bent or modified tool in a simulation. When the filter component has processed the backup files, only the necessary configuration data and programming files to be used in the virtual robot controller remain. The filtered data is stored in the data stores 13 . 14 stored on or in the virtual robot controller. Thereafter, a virtual robot control is created based on the filtered backup files, block 34 , When the virtual robot controller has been created, the virtual robot controller is started, Block 35 , The backup files are restored to virtual robot control, Block 36 ,

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.Most robot controllers have a mechanism for offloading the contents of the memory of the controller onto a disk, which is referred to as a backup. This memory content can be read back to memory through a restore operation. Most of the time, but not always, the memory contents contain all the configuration and program information needed to create a virtual robot controller. In some cases, there are additional resources or data files that are backed up to disk in the controller, and they do not need to be included in the memory dump. Thus, the process of constructing a working virtual robot controller includes the steps of copying the files, creating a backup of the memory, and then starting a virtual robot controller and loading the contents of the memory from the real robot controller into the virtual ones robot controller.

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”. 4 FIG. 10 is a flowchart of a method for transferring data from a virtual robot controller to a real robot controller in accordance with an embodiment of the invention. FIG. Each block in the flowchart may be implemented by computer program instructions. This sequence of instructions, as in 4 is disclosed by the data transfer module 17 executed. This case occurs when the programmer has finished working with the virtual robot controller in the simulated environment and a transfer of the configuration data and the robot program to the real robot controller is needed. Not all data needs to be transferred. As an example, tool data is often a model in the simulation tool, but in the real robot system, it is a calibrated tool. The difference may not be large, but the virtual robot control job data should not normally be transferred to the real robot controller. Another example of what can not be transferred is the object data in certain cases of use. As an example, the simulation system may have a table whose coordinates are given by an object frame stored in the program. The real robot controller also has a table and there are real coordinates for that table in the program of the robot controller. The table object frame of the simulation system should not overwrite the real robot controller. In the transmission from the real robot controller to the virtual robot controller, different customers have different preferences. For example, options are given to the user to select how much, and which, configuration data and program data to transmit to the real robot controller. When the user has selected which configuration and program data to transmit to the real robot controller, he / she activates the activator 24 via the user interface 20 to "go online".

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.When the "go online" sequence has been started, the selected program files and configuration data are retrieved from the virtual robot controller, Block 40 , Thereafter, program files and configuration data are retrieved from the real robot controller, block 42 , The filter component is instructed to process the program files from the virtual robot controller in accordance with the filtering rules. If the filtering rules indicate that certain portions of the files or types of data should not be overwritten, those portions of the program files are fetched from the real robot controller and the program files are set to them by the virtual robot controller. Accordingly, new program files containing parts of the virtual robot controller files and parts of the real robot controller files are generated 44 , Alternatively, portions of the program files with respect to which overwriting is permitted are replaced by the real robot controller by parts of the program files from the virtual robot controller. The resulting program files and configuration data are transferred from the virtual robot controller to the real robot controller, Block 46 ,

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.The present invention is not limited to the disclosed embodiments, but may be within the scope of the following claims varied and modified. As an example, the data transfer module 17 and the filter component 18 at the in 1 illustrated embodiment of or in the external computer 3 saved. However, in an alternative embodiment, the data transfer module and the filter component may also be on the robot controller 2 be saved.

ZUSAMMENFASSUNGSUMMARY

Die vorliegende Erfindung bezieht sich auf ein System zur Off-line-Programmierung eines Industrieroboters (1), der eine Robotersteuerung (2) zum Steuern der Bewegungen des Roboters aufweist. Das System enthält ferner einen externen Computer (3), der ein Programmier- und Simulationstool (10) mit der Fähigkeit aufweist, eine oder mehrere virtuelle Robotersteuerungen (12) laufen zu lassen, und wobei die reale Robotersteuerung und der externe Computer so konfiguriert sind, dass eine gegenseitige Kommunikation zugelassen ist. Das System umfasst weiterhin ein Datenübertragungsmodul (17), das dazu ausgelegt ist, auf eine Anforderung hin Konfigurations- und Programmdaten zwischen der realen Robotersteuerung und einer virtuellen Robotersteuerung, die auf dem externen Computer läuft, automatisch zu übertragen, und wobei eine Filterkomponente (18) konfiguriert ist, die übertragenen Konfigurations- und Programmdaten in Übereinstimmung mit definierten Filterregeln zu filtern.The present invention relates to a system for off-line programming of an industrial robot ( 1 ), which controls a robot ( 2 ) for controlling the movements of the robot. The system also contains an external computer ( 3 ), which is a programming and simulation tool ( 10 ) having the ability to control one or more virtual robot controllers ( 12 ), and wherein the real robot controller and the external computer are configured to allow mutual communication. The system further comprises a data transfer module ( 17 ) configured to automatically transmit configuration and program data between the real robot controller and a virtual robot controller running on the external computer upon request, and wherein a filter component ( 18 ) is configured to filter the transmitted configuration and program data in accordance with defined filtering rules.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

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.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • WO 03/059582 [0003] WO 03/059582 [0003]

Claims (15)

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 Programmier- und Simulationstool (10) mit der Fähigkeit des Betreibens von einer oder mehreren virtuellen Robotersteuerungen (12; 26, 27, 28) aufweist, und bei dem die reale Robotersteuerung und der externe Computer dazu ausgelegt sind, eine gegenseitige Kommunikation zu erlauben, dadurch gekennzeichnet, dass das System umfasst: ein Datenübertragungsmodul (17), das dazu ausgelegt ist, auf Anforderung hin automatisch Konfigurations- und Programmdaten zwischen der realen Robotersteuerung und einer virtuellen Robotersteuerung, die auf dem externen Computer läuft, zu übertragen, und eine Filterkomponente (18), die ausgelegt ist, die übertragenen Konfigurations- und Programmdaten in Übereinstimmung mit definierten Filterregeln zu filtern.System for off-line programming of an industrial robot ( 1 ) with a robot controller ( 2 ; 25a -C) for controlling the movements of the robot, the system further comprising an external computer ( 3 ; 3a ), which is a programming and simulation tool ( 10 ) having the capability of operating one or more virtual robot controllers ( 12 ; 26 . 27 . 28 ), and wherein the real robot controller and the external computer are adapted to allow mutual communication, characterized in that the system comprises: a data transfer module ( 17 ) adapted to automatically transmit configuration and program data between the real robot controller and a virtual robot controller running on the external computer upon request, and a filter component ( 18 ) designed to filter the transmitted configuration and program data in accordance with defined filtering rules. System nach Anspruch 1, bei dem die Filterregeln Informationen dahingehend enthalten, welche Teile der Konfigurations- und Programmdaten zwischen der Robotersteuerung (2; 25a–c) und dem externen Computer (3; 3a) zu übertragen sind und bezüglich welcher Teile der Konfigurations- und Programmdaten nicht zugelassen wird, dass sie zwischen der Robotersteuerung und dem externen Computer übertragen werden.The system of claim 1, wherein the filtering rules include information regarding which portions of the configuration and program data are being passed between the robot controller ( 2 ; 25a -C) and the external computer ( 3 ; 3a ) and which parts of the configuration and program data are not allowed to be transmitted between the robot controller and the external computer. System nach Anspruch 1 oder 2, 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 according to Claim 1 or 2, in which the data transmission module ( 17 ) is designed, upon request, to automatically generate backup or backup files including configuration and program data of the real robot controller, the filter component ( 18 ) to command the processing of the backup files in accordance with the filtering rules, and a virtual robot controller ( 12 ) on the external computer based on the filtered backup files. 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 according to one of the preceding claims, in which the data transmission module ( 17 ) is configured, on request, automatically: program files from the virtual robot controller ( 12 ; 26 . 27 . 28 ), program files from the real robot controller ( 2 ; 25a -C), the filter component ( 18 ) command the processing of the program files in accordance with the filtering rules, and transfer the resulting files to the real robot controller. System nach Anspruch 4, 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.The system of claim 4, wherein the filtering rules include instructions as to which portions of the program files should be protected by the physical robot controller against overwriting by the transmission process. 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.A system according to any one of the preceding claims, wherein the filtering rules include instructions regarding particular types of elements within the robot programming language which should be protected against overwriting by the transmission process. 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 according to one of the preceding claims, in which the system has a user interface ( 20 ) having a first activation device ( 22 ) for requesting data transmission from the real robot controller ( 2 ) to the virtual robot controller ( 12 ) and with a second activation device ( 24 ) for requesting data transfer from the virtual robot controller to the real robot controller. 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 according to one of the preceding claims, in which the data transmission module ( 17 ) is adapted, upon request, to compare the configuration and program data in the real robot controller with the configuration and program data in the virtual robot controller and display the differences. System nach einem der vorhergehenden Ansprüche, bei dem das Datenübertragungsmodul (17) und die Filterkomponente (18) auf dem externen Computer gespeichert sind.System according to one of the preceding claims, in which the data transmission module ( 17 ) and the filter component ( 18 ) are stored on the external computer. 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.A system according to any one of the preceding claims, wherein the system is capable of off-line programming a plurality of robots using the programming and simulation tool ( 10 ) the ability to operate a plurality of virtual robot controls ( 26 . 27 . 28 ) corresponding to a plurality of real robot controllers ( 25a C) and in which the system has a memory device ( 29 ) for storing the identity of the real robot controllers together with the identity of the corresponding virtual robot controller to thereby effect data transfer at a later time between the real robot controller and the corresponding virtual robot controller. Verfahren zum Übertragen von Daten zwischen einer realen Robotersteuerung (2; 25a–c) und einer virtuellen Robotersteuerung (12; 26, 27, 28), die an einem externen Computer (3; 3a) lokalisiert ist, während einer Off-line-Programmierung eines Industrieroboters, dadurch gekennzeichnet, dass das Verfahren aufweist: 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, und Filtern der übertragenen Konfigurations- und Programmdaten in Übereinstimmung mit definierten Filterregeln.Method for transferring data between a real robot controller ( 2 ; 25a -C) and a virtual robot controller ( 12 ; 26 . 27 . 28 ) connected to an external computer ( 3 ; 3a ) during off-line programming of an industrial robot, characterized in that the method comprises: Receiving a request for data transmission and automatically transmitting, upon receipt of the request, configuration and program data between the physical robot controller and the virtual robot controller, and filtering the transmitted configuration and program data in accordance with defined filtering rules. Verfahren nach Anspruch 11, 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.The method of claim 11, wherein the method comprises automatically executing upon request: Generating backup files including configuration and program data of the real robot controller, Transfer the backup files to the external computer, Filter the backup files according to the filter rules, and Create a virtual robot controller on the external computer based on the filtered backup files. Verfahren nach Anspruch 11 oder 12, 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.The method of claim 11 or 12, wherein the method comprises, automatically upon request: Get program files from the virtual robot controller, Get program files from the real robot controller, to filter the program files according to the filter rules, and to transfer the resulting files to the real robot controller. Verfahren nach einem der Ansprüche 11 bis 13, bei dem das Verfahren das Anzeigen der Unterschiede hinsichtlich der Konfigurations- und Programmdaten zwischen der realen Robotersteuerung und der virtuellen Robotersteuerung enthält.The method of any one of claims 11 to 13, wherein the method includes displaying the differences in the configuration and program data between the real robot controller and the virtual robot controller. Verfahren nach einem der Ansprüche 11 bis 14, 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.The method of any one of claims 11 to 14, wherein the method includes storing the identity of the real robot controller together with the identity of the corresponding virtual robot controller to thereby achieve data transfer at a later time between the real robot controller and the corresponding virtual robot controller.
DE112008003963.1T 2008-08-12 2008-08-12 System and method for off-line programming of an industrial robot Active DE112008003963B4 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2008/060561 WO2010017835A1 (en) 2008-08-12 2008-08-12 A system and a method for off-line programming of an industrial robot

Publications (2)

Publication Number Publication Date
DE112008003963T5 true DE112008003963T5 (en) 2011-06-22
DE112008003963B4 DE112008003963B4 (en) 2016-11-24

Family

ID=40873767

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112008003963.1T Active DE112008003963B4 (en) 2008-08-12 2008-08-12 System and method for off-line programming of an industrial robot

Country Status (2)

Country Link
DE (1) DE112008003963B4 (en)
WO (1) WO2010017835A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011082800A1 (en) 2011-09-15 2013-03-21 Convergent Information Technologies Gmbh Method for generating operational sequence plans for processing of workpiece by industrial robot, involves carrying iterative modification of output plan according to predetermined cost function and carrying iteration to cost function
WO2013037693A2 (en) 2011-09-15 2013-03-21 Convergent Information Technologies Gmbh System and method for the automatic generation of robot programs
DE102013014467A1 (en) * 2013-08-30 2015-03-05 Dürr Ecoclean GmbH "Method for measuring and / or calibrating a robot"
DE102015218697A1 (en) 2015-09-29 2017-03-30 Bayerische Motoren Werke Aktiengesellschaft Method for automatically configuring an external control system for controlling and / or controlling a robot system
DE102015218699A1 (en) 2015-09-29 2017-03-30 Bayerische Motoren Werke Aktiengesellschaft Method for automatically configuring an external control system for controlling and / or regulating a robot system
WO2017054964A1 (en) * 2015-09-29 2017-04-06 Bayerische Motoren Werke Aktiengesellschaft Method for the automatic configuration of an external control system for the open-loop and/or closed-loop control of a robot system

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2859359A1 (en) * 2012-06-11 2015-04-15 Sias AG Pipetting robot
DE102014118001A1 (en) 2014-12-05 2016-06-09 Broetje-Automation Gmbh Method for simulating the motion of a manipulator
CN105171748A (en) * 2015-10-21 2015-12-23 鞍山松意机器人制造有限公司 Remote state monitoring method and system for robots and robot production line equipment
JP6908257B2 (en) * 2016-12-07 2021-07-21 株式会社国際電気通信基礎技術研究所 Robots and robot control programs
DE112018001716B4 (en) * 2017-03-29 2021-01-21 Sumitomo Heavy Industries, Ltd. Main engine support system
EP3566824B1 (en) 2018-05-11 2023-06-28 Siemens Aktiengesellschaft Method, apparatus, computer-readable storage media and a computer program for robotic programming
WO2024019107A1 (en) * 2022-07-22 2024-01-25 ソニーグループ株式会社 Multiple-robot control method, multiple-robot control device, and multiple-robot control system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003059582A2 (en) 2001-12-27 2003-07-24 Prophet Control Systems Limited Program robots with off-line design

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10214880A1 (en) * 2002-04-04 2003-10-23 Erwin Rothballer Robot arm programming method in which process movement commands are automatically adjusted for workpiece condition or state data, such as temperature and or material properties
DE10304706A1 (en) * 2002-07-24 2004-02-05 Kuka Roboter Gmbh Control of a plant in which there are a number of different machine systems linked onto a data bus and using programmable controllers that store historical data
EP1756684B1 (en) * 2004-06-15 2008-04-16 Abb Ab Method and system for off-line programming of multiple interacting robots
DE102005047543A1 (en) * 2005-09-30 2007-04-05 Siemens Ag Controller and/or machine behavior simulating method for tool or production machine, involves automatically transferring data over tool or production machine from machine to simulation device using intranet and/or internet
US7853356B2 (en) * 2006-04-14 2010-12-14 Fanuc Robotics America, Inc. Method for optimizing a robot program and a robot system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003059582A2 (en) 2001-12-27 2003-07-24 Prophet Control Systems Limited Program robots with off-line design

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011082800A1 (en) 2011-09-15 2013-03-21 Convergent Information Technologies Gmbh Method for generating operational sequence plans for processing of workpiece by industrial robot, involves carrying iterative modification of output plan according to predetermined cost function and carrying iteration to cost function
WO2013037693A2 (en) 2011-09-15 2013-03-21 Convergent Information Technologies Gmbh System and method for the automatic generation of robot programs
DE102011082800B4 (en) * 2011-09-15 2016-04-14 Convergent Information Technologies Gmbh System and method for the automated creation of robot programs
DE102013014467A1 (en) * 2013-08-30 2015-03-05 Dürr Ecoclean GmbH "Method for measuring and / or calibrating a robot"
US10099376B2 (en) 2013-08-30 2018-10-16 Ecoclean Gmbh Method for setting up and/or calibrating a robot
DE102015218697A1 (en) 2015-09-29 2017-03-30 Bayerische Motoren Werke Aktiengesellschaft Method for automatically configuring an external control system for controlling and / or controlling a robot system
DE102015218699A1 (en) 2015-09-29 2017-03-30 Bayerische Motoren Werke Aktiengesellschaft Method for automatically configuring an external control system for controlling and / or regulating a robot system
WO2017054964A1 (en) * 2015-09-29 2017-04-06 Bayerische Motoren Werke Aktiengesellschaft Method for the automatic configuration of an external control system for the open-loop and/or closed-loop control of a robot system
US10786898B2 (en) 2015-09-29 2020-09-29 Bayerische Motoren Werke Aktiengesellschaft Method for the automatic configuration of an external control system for the open-loop and/or closed-loop control of a robot system

Also Published As

Publication number Publication date
WO2010017835A1 (en) 2010-02-18
DE112008003963B4 (en) 2016-11-24

Similar Documents

Publication Publication Date Title
DE112008003963B4 (en) System and method for off-line programming of an industrial robot
DE112009003656B4 (en) Method and system for in-production optimization of the parameters of a robot used for assembly
EP2453326B1 (en) Method and system for operating an automated machine
EP1901149B1 (en) Device and method for simulating the processing of a workpiece on a machine tool
DE102012218297B4 (en) Method for dynamically optimizing a robot control interface
DE69624237T2 (en) MOTION CONTROL SYSTEMS
DE10352815B4 (en) Simulation method for machining a workpiece by a machine tool and corresponding computer
EP0875023B1 (en) Automation device
DE10127722A1 (en) System for developing an application system and its implementation
DE19639424A1 (en) Ind. plant atomisation design system using combined process and control model
EP1265146A2 (en) Debugging method and system
DE102011082291A1 (en) Controller for machine tool and machining-related data processing system provided therewith
EP2595016A1 (en) Method, computer program, computer-readable medium and computing unit for operating field devices
DE112016007339T5 (en) simulation device
DE102014219711A1 (en) Method for power plant simulation
EP0862763B1 (en) Simulator unit for simulating a peripheral unit of a modular programmable controller
EP2642359A1 (en) Device for developing and method for creating a programm for an electronical control unit
WO2008113305A1 (en) Device for generating machining programs for a machine tool
DE112019006929T5 (en) Drive control
DE102008023873A1 (en) Drive system operating method, involves using buffer for exchanging data between drive component and drive regulation unit, initializing buffer by drive regulation unit, and temporizing initialization of buffer by control unit
DE102004019432A1 (en) Method and system for virtual commissioning of a technical system with preferred use
DE102013010783A1 (en) Method and control device for testing an automation solution based on a PLC control
EP2012227A1 (en) Programming interface for programming computers
EP2930624A1 (en) Method and device for generating and processing test cases
DE102018128915A1 (en) Process for visualizing the automation of a technical device

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: WINTER, BRANDL, FUERNISS, HUEBNER, ROESS, KAIS, DE

R081 Change of applicant/patentee

Owner name: ABB TECHNOLOGY LTD., CH

Free format text: FORMER OWNER: ABB TECHNOLOGY AB, VAESTERAS, SE

Effective date: 20120716

Owner name: ABB SCHWEIZ AG, CH

Free format text: FORMER OWNER: ABB TECHNOLOGY AB, VAESTERAS, SE

Effective date: 20120716

R082 Change of representative

Representative=s name: WINTER, BRANDL, FUERNISS, HUEBNER, ROESS, KAIS, DE

Effective date: 20120716

R012 Request for examination validly filed
R012 Request for examination validly filed

Effective date: 20150402

R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R082 Change of representative

Representative=s name: WINTER, BRANDL - PARTNERSCHAFT MBB, PATENTANWA, DE

Representative=s name: WINTER, BRANDL, FUERNISS, HUEBNER, ROESS, KAIS, DE

R081 Change of applicant/patentee

Owner name: ABB SCHWEIZ AG, CH

Free format text: FORMER OWNER: ABB TECHNOLOGY LTD., ZUERICH, CH

R082 Change of representative

Representative=s name: WINTER, BRANDL - PARTNERSCHAFT MBB, PATENTANWA, DE

Representative=s name: WINTER, BRANDL, FUERNISS, HUEBNER, ROESS, KAIS, DE

R020 Patent grant now final