EP3620271A1 - Method for programming a robot as well as computing device and computer program - Google Patents

Method for programming a robot as well as computing device and computer program Download PDF

Info

Publication number
EP3620271A1
EP3620271A1 EP19181271.8A EP19181271A EP3620271A1 EP 3620271 A1 EP3620271 A1 EP 3620271A1 EP 19181271 A EP19181271 A EP 19181271A EP 3620271 A1 EP3620271 A1 EP 3620271A1
Authority
EP
European Patent Office
Prior art keywords
program
robot
database
programming
computing device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP19181271.8A
Other languages
German (de)
French (fr)
Inventor
Ralf Schwinge
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.)
Volkswagen AG
Original Assignee
Volkswagen 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 Volkswagen AG filed Critical Volkswagen AG
Publication of EP3620271A1 publication Critical patent/EP3620271A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1658Programme controls characterised by programming, planning systems for manipulators characterised by programming language
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36231Translate, convert machine independent to machine dependent program
    • 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/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50391Robot

Definitions

  • the DE 10 2016 216 409 A1 discloses an apparatus with a processing device for controlling an interaction between a user and a household appliance.
  • the processing device is set up to detect the beginning of a natural language dialogue between a user and the device and to control the household appliance based on the dialogue.
  • the DE 100 21 389 A1 discloses a method for controlling a system. In order to simplify and simplify the use of the system, it is provided that the control information entered corresponds to the application devices available is interpreted, and an application device is controlled according to the interpretation result.
  • a preferred embodiment of the method provides that when information is retrieved from the database, the keyword including parameter information, if any, is sent to the database in a request, which serves as index information for retrieving information from the database.
  • the key words address the database, so to speak. This information is processed by the database so that it returns the finished program sections.
  • the database could be organized as an associative memory CAM (Content Addressed Memory).
  • the computing device is set up to communicate with an external central computer on which the database is installed.
  • the invention can also be implemented with a computer program which is designed to carry out the steps of the method according to the invention when processed in a computing device.
  • Fig. 1 The programming of the gripping robot is described using an example. A keyword overview is available to the programmer. The keywords and their meaning are listed there.
  • the example of the use of the gripping robot 10 in the material feed is considered in more detail. His work can be divided into different phases, which in Fig. 1 are shown.
  • the robot 10 is initialized and in the process it is moved into the starting position. The starting position is in Fig. 1a shown.
  • the gripper 14 is open. Then it is moved to the gripping position.
  • the gripping position is in Fig. 1b to see. Then it must be programmed for gripping component 16.
  • Fig. 1c it is shown that the gripper 14 is closed accordingly.
  • the process of moving the robot position to the target position follows.
  • the target position is in Fig. 1d shown. Component 16 is deposited there. Is in Fig. 1e represented in that the gripper 14 is opened again.
  • the gripping robot 10 is moved back to the starting position, which is already shown in FIG
  • Fig. 2 shows an arrangement of computers for the implementation of automatic program creation according to the concept of the invention.
  • the reference number 30 denotes the office computer on which the programmer controls the creation of the robot program.
  • a program generator 60 is installed on the office computer 30 and is processed. First, the programmer creates several sequences of key words for the various control processes. It takes the keywords from a specified table and adds the necessary parameters. This creates several sequences of keywords, which are put together in a sequence. The program generator 60 evaluates this sequence and sends the various keyword sequences to a central computer 40.
  • a database 50 is installed on the central computer 40. This contains the programming rules.
  • the third phase see Fig. 1c relates to the movement of the robot arm 12 to the storage position. For this, however, no keyword sequence is created manually, only the corresponding position information is given, see Sequence 2: in Fig. 3 .
  • step S1 After creating the keyword sequences for the individual control phases in step S1, the keyword sequences are then converted into real program code. This creates basic programs that contain program code in the application-oriented programming language. These are PLC macros and PLC operands, which are also known from the programming of programmable logic controllers. This takes place with the aid of the database 50 and the algorithm 60 in step S2
  • rules listed in the programming guideline rules for bypassing obstacles, rules for position releases or interlocks, rules for clamping feedback and parts controls, rules for specifying positions and coordinates, rules for grippers, releases and flags, rules for the types of interpolation to be used, rules for programming jump commands, rules for specifying motion parameters, rules and examples for programming subroutines and macros, rules for programming sequences, rules for programming repetitions, rules for initialization phases, rules for technology - Calls, rules for programming tool changing operations, rules for programming ready-to-work messages, etc.
  • the programming guideline can be implemented in the form of a database on the office computer 30 or the central computer 40, which is connected to the office computer 30 via a network.
  • the respective keyword in the keyword sequence that is to be implemented serves as address information under which the relevant regulations can be found in the database 50.
  • the implementation of the keyword with the optional parameter specifications then takes place with the code examples for the keyword and the regulations contained in the database 50.
  • An algorithm as part of the OLP program generator 60 which runs on the office computer 30, assembles the individual code sections into a program.
  • the implementation of basic programs that are largely finished. Certain comment lines are also generated automatically. If multi-lingual comments are to be inserted, the language selection can be entered in a menu of the converter tool before implementation.
  • the Fig. 4 shows the finished program code for the 9 sequences shown in Fig. 3 are shown.

Abstract

Der Vorschlag betrifft ein Verfahren zur Programmierung eines Roboters (10) für die Durchführung einer Tätigkeit, wobei der Roboter (10) mit einer programmierbaren Steuereinheit (70) ausgestattet ist. Das Verfahren zeichnet sich dadurch aus, dass die Roboter-Programme mit einem einheitlichen Programm-Generator (60) erstellt werden, wobei der Programm-Generator (60) eine oder mehrere Sequenzen von Schlüsselwörtern in gültigen Programmcode für die programmierbare Steuereinheit (70) umsetzt, derart, dass der Programm-Generator (60) bei der Umsetzung der Schlüsselwörter der jeweiligen Sequenz einen Abruf von Informationen in einem Programmier-Regelwerk durchführt, von dem er den für den jeweiligen Robotertyp passenden Programmcode in der vorgegebenen Syntax zurückerhält und wobei der Programm-Generator (60) die empfangenen Programm-Code-Abschnitte zu einem fertigen Programmcode zusammensetzt.

Figure imgaf001
The proposal relates to a method for programming a robot (10) for carrying out an activity, the robot (10) being equipped with a programmable control unit (70). The method is characterized in that the robot programs are created with a uniform program generator (60), the program generator (60) converting one or more sequences of keywords into valid program code for the programmable control unit (70), such that the program generator (60), when converting the keywords of the respective sequence, calls up information in a programming rule set, from which it receives the program code suitable for the respective robot type in the predetermined syntax, and the program generator (60) assembles the received program code sections into a finished program code.
Figure imgaf001

Description

Der Vorschlag betrifft das technische Gebiet der Programmierung von Robotern, Drohnen und anderen programmierbaren Einrichtungen, die eine bestimmte Aufgabe erfüllen sollen. Insbesondere geht es um die automatische Programmierung von Industrie-Robotern, die bei der Fertigung von Produkten eingesetzt werden.The proposal relates to the technical field of programming robots, drones and other programmable devices that are intended to perform a specific task. In particular, it is about the automatic programming of industrial robots that are used in the manufacture of products.

Bei den Fertigungsrobotern geht es darum einzelne oder mehrere Arbeitsschritte durchzuführen. Bei einer komplexen Fertigung, wie z.B. im Karosseriebau von Fahrzeugen, sind viele Arbeitsschritte durchzuführen. Als Beispiele werden genannt, Greifen von Bauteilen, Halten/Positionieren von Bauteilen, Kleben von Bauteilen, Schweißen von Bauteilen, Löten von Bauteilen, Nieten von Bauteilen, Fräsen von Bauteilen, Stanzen von Bauteilen, Prägen von Bauteilen, Tiefziehen von Bauteilen, usw. Für solche Aufgaben gibt es spezialisierte Roboter, z.B. Greif-Roboter, Schweiß-Roboter, Niet-Roboter, Klebe-Roboter, usw. Ausdrücklich wird darauf hingewiesen, dass der Begriff Fertigungsroboter auch diejenigen Roboter mit umfassen soll, die bei der Qualitätssicherung eingesetzt werden. Dabei geht es darum, verschiedene Bauteile/Baugruppen, die bei der Fertigung zusammengesetzt werden, zur Kontrolle zu vermessen. Die hochgenaue Vermessung wird oft von einem Roboter erledigt, der mit einer entsprechenden Messeinrichtung versehen ist.Manufacturing robots are about performing one or more work steps. With complex production, e.g. In vehicle body construction, many work steps have to be carried out. Examples include gripping components, holding / positioning components, gluing components, welding components, soldering components, riveting components, milling components, punching components, stamping components, deep drawing components, etc. For such tasks exist in specialized robots, e.g. Gripping robots, welding robots, riveting robots, adhesive robots, etc. It is expressly pointed out that the term manufacturing robot should also include those robots that are used in quality assurance. The aim is to measure various components / assemblies that are assembled during production for control purposes. The high-precision measurement is often carried out by a robot that is equipped with an appropriate measuring device.

Die Datenschnittstelle für die Eintragung von SPS-Operanden und Makrobefehlen in das Offline generierte Roboterprogramm ist zur Zeit manuell. Hierdurch ergibt sich eine hohe Fehlerrate mit der Folge von hohem Korrekturaufwand der Roboterprogramme in der Fertigungshalle bei Inbetriebnahme und Anlagenhochlauf. Nach dem Stand der Technik werden die Roboterprogramme manuell an der Anlage korrigiert, teilweise unterstützt durch Prüftools. Bei komplexen Fertigungen werden viele Industrie-Roboter mit einer hohen Zahl unterschiedlicher Applikationsgeräte eingesetzt. Entsprechend hoch ist der Programmieraufwand. Bei manueller Programmerstellung sind auch Fehleingaben unvermeidlich. Wenn den Programmierern die komplette Freiheit gegeben wird, entstehen vielfältige Varianten von Programmen für die gleiche Programmieraufgabe. Diese sind schwer vergleichbar und der jeweils nachfolgende Programmierer hat es schwer die verschiedenen Varianten zu verstehen und weiterzubearbeiten.The data interface for entering PLC operands and macro commands in the robot program generated offline is currently manual. This results in a high error rate, which means that the robot programs in the production hall need to be corrected during commissioning and system startup. According to the state of the art, the robot programs are corrected manually on the system, partly supported by test tools. Many industrial robots with a large number of different application devices are used for complex production. The programming effort is correspondingly high. With manual program creation, incorrect entries are also unavoidable. If the programmers are given complete freedom, diverse variants of programs for the same programming task arise. These are difficult to compare and the subsequent programmer has difficulty understanding and working on the different variants.

Aber auch dann, wenn vielfältige Vorschriften zu beachten sind, hat der Programmierer es schwer. In einem großen Konzern werden die unterschiedlichsten Robotertypen von verschiedenen Roboter-Herstellern eingesetzt, für die es jeweils Spezialvorschriften gibt. Für einen Programmierer ist es nahezu unmöglich alle Vorschriften auswendig zu kennen und all diese Vorschriften zu beachten. Bei der Abnahme der erstellten Programme stellt sich dann oft heraus, dass sie nicht vorschriftmäßig sind und es muss mühsam nachgearbeitet werden, um die Programme in die vorgeschriebene Form zu bringen. Ein hoher Zeitaufwand zur Abarbeitung ist erforderlich, da die Roboter für solche Korrekturen und Tests z.T. nur am Wochenende zur Verfügung stehen. Dann ist auch wieder die Korrekturausführung Programmierer-abhängig mit z.T. erforderlichen Wiederholkorrekturen. Jedenfalls erfordert dies einen erhöhten Personaleinsatz in der Anlaufphase von Fertigungsanlagen.But even if a variety of regulations have to be observed, the programmer has a hard time. A large corporation uses a wide variety of robot types from different robot manufacturers, each of which has special regulations. It is almost impossible for a programmer to know all the regulations by heart and to observe all these regulations. When the programs created are accepted, it often turns out that they are not in accordance with the regulations, and laborious reworking is required to bring the programs into the prescribed form. A lot of time is required for processing, because the robots sometimes make such corrections and tests. only available on weekends. Then the correction execution again depends on the programmer with some. required repeat corrections. In any case, this requires an increased use of personnel in the start-up phase of manufacturing plants.

Insbesondere besteht ein Bedarf nach Vereinheitlichung ohne Interpretationsspielraum bei der Programmierung von Robotern. Dies wurde im Rahmen der Erfindung erkannt.In particular, there is a need for standardization without scope for interpretation when programming robots. This was recognized in the context of the invention.

Die DE 10 2016 216 409 A1 offenbart eine Vorrichtung mit einer Verarbeitungseinrichtung zur Steuerung einer Interaktion zwischen einem Benutzer und einem Hausgerät. Die Verarbeitungseinrichtung ist dazu eingerichtet, den Beginn eines natürlichsprachigen Dialogs zwischen einem Benutzer und der Vorrichtung zu erfassen und das Hausgerät auf Basis des Dialogs zu steuern.The DE 10 2016 216 409 A1 discloses an apparatus with a processing device for controlling an interaction between a user and a household appliance. The processing device is set up to detect the beginning of a natural language dialogue between a user and the device and to control the household appliance based on the dialogue.

Die DE 10 2016 011 020 A1 offenbart eine Kontaktplan-Überwachungsvorrichtung, die auf einem Monitor eine Betriebssituation eines Kontaktplanprogramms, das auf einer in eine CNC eingebauten programmierbaren Steuerung ausgeführt wird. Ein zu einem Schaltkreis des Kontaktplanprogramms hinzugefügter Kommentar wird mit einem Bereich zum Anzeigen von Informationen über eine Betriebssituation der CNC versehen, die Betriebssituation des Kontaktplanprogramms wird in dem Bereich widergespiegelt, und Anzeigedaten, in denen die Betriebssituation der CNC angezeigt wird, werden angezeigt.The DE 10 2016 011 020 A1 discloses a ladder monitoring device that monitors an operating situation of a ladder program that is executed on a programmable controller built into a CNC on a monitor. A comment added to a circuit of the ladder program is provided with an area for displaying information about an operating situation of the CNC, the operating situation of the ladder program is reflected in the area, and display data in which the operating situation of the CNC is displayed are displayed.

Die DE 296 05 700 U1 offenbart eine Vorrichtung zum Übersetzen von einen Roboter steuernden Programmanweisungen nach DIN 66025, welche in Form von Teileprogrammen vorliegen, die wiederum aus Sätzen von Programmanweisungen gebildet werden.The DE 296 05 700 U1 discloses a device for translating program instructions controlling a robot according to DIN 66025, which are available in the form of part programs, which in turn are formed from sets of program instructions.

Die DE 100 21 389 A1 offenbart ein Verfahren zum Steuern eines Systems. Um die Benutzung des Systems zu vereinfachen und zu erleichtern, ist vorgesehen, dass eingegebene Steuerinformation entsprechend zur Verfügung stehender Anwendungseinrichtungen interpretiert wird, und eine Anwendungseinrichtung entsprechend dem Interpretationsergebnis gesteuert wird.The DE 100 21 389 A1 discloses a method for controlling a system. In order to simplify and simplify the use of the system, it is provided that the control information entered corresponds to the application devices available is interpreted, and an application device is controlled according to the interpretation result.

Die EP 1 571 514 A1 offenbart ein System zur Bedienung und Steuerung technischer Prozesse, mit zumindest einer als Mess- und eine Steuergerät ausgebildeten Baugruppe, die mittels elektrischer Leitungen mit Sensoren und Aktoren von Prozessen in Verbindung steht, und mit einem Steuerprogramm, wobei eine Mess- und Steuereinheit, eine Bedien- und Beobachtungsbaugruppe und je eine optional vorgesehene Datenbank, eine Prozessdokumentation sowie ggf. weitere Baugruppen einer Prozessautomatisierung durch Datenkanäle und ein Steuerprogramm miteinander verbunden sind.The EP 1 571 514 A1 discloses a system for operating and controlling technical processes, with at least one module designed as a measuring and a control unit, which is connected to sensors and actuators of processes by means of electrical lines, and with a control program, wherein a measuring and control unit, an operator - and observation module and each an optionally provided database, process documentation and possibly other modules of process automation are connected to one another by data channels and a control program.

Die EP 1 355 208 A1 System zur Automatisierung technischer Prozesse und/oder Versuche, bei dem vorgesehen sind, eine Mess- und eine Steuereinheit, die mittels Mess- und Steuerkanälen mit Sensoren und Aktoren des Prozesses oder der Versuchseinheit in Verbindung stehen, zumindest eine Bibliothek, die Visualisierungsobjekte und Steuermodule enthält, und das System beherrschende Software. Das System ermöglicht es, dem Anwender ohne Kenntnisse von Programmiertechniken Anwendungen zu entwickeln.The EP 1 355 208 A1 System for the automation of technical processes and / or experiments, in which there are provided a measuring and a control unit, which are connected by means of measuring and control channels with sensors and actuators of the process or the test unit, at least one library which contains visualization objects and control modules , and software that dominates the system. The system enables the user to develop applications without any knowledge of programming techniques.

Die Erfindung setzt sich zur Aufgabe, einen solchen Ansatz zu finden, durch den die Vereinheitlichung der Programmierung möglich wird. Diese Aufgabe wird durch ein Verfahren zur Programmierung von Robotern gemäß Anspruch 1, eine Recheneinrichtung zur Verwendung bei dem Verfahren gemäß Anspruch 7 und ein Computerprogramm gemäß Anspruch 10 gelöst.The object of the invention is to find such an approach which makes it possible to standardize the programming. This object is achieved by a method for programming robots according to claim 1, a computing device for use in the method according to claim 7 and a computer program according to claim 10.

Die abhängigen Ansprüche beinhalten vorteilhafte Weiterbildungen und Verbesserungen der Erfindung entsprechend der nachfolgenden Beschreibung dieser Maßnahmen.The dependent claims contain advantageous developments and improvements of the invention in accordance with the following description of these measures.

Die Lösung besteht in einem Verfahren zur Programmierung eines Roboters für die Durchführung einer Tätigkeit, wobei der Roboter mit einer programmierbaren Steuereinheit ausgestattet ist, auf dem die Roboter-Steuerungsprogramme laufen sollen. Gemäß des Vorschlages werden die Roboter-Programme mit einem einheitlichen Programm-Generator maschinell erstellt, wobei der Programm-Generator eine oder mehrere Sequenzen von Schlüsselwörtern in gültigen Programmcode für die programmierbare Steuereinheit umsetzt. Dies geschieht derart, dass der Programm-Generator bei der Umsetzung mit dem jeweiligen Schlüsselwort der jeweiligen Sequenz einen Abruf von Informationen in einem Programmier-Regelwerk durchführt, von dem es den für den jeweiligen Robotertyp passenden Programmcode in der vorgegebenen Syntax zurückerhält. Der Programm-Generator setzt die empfangenen Programm-Code-Abschnitte zu einem fertigen Programmcode zusammen. Die derartige Abarbeitung der Sequenzen von Schlüsselwörtern ergibt den fertigen Programmcode. Die Sequenz von Schlüsselwörtern kann dabei von dem Programmierer manuell erstellt werden. Zusätzlich muss er für bestimmte Schlüsselwörter noch bestimmte Parameterangaben machen.The solution consists in a method for programming a robot for carrying out an activity, the robot being equipped with a programmable control unit on which the robot control programs are to run. According to the proposal, the robot programs are created mechanically with a uniform program generator, the program generator converting one or more sequences of keywords into valid program code for the programmable control unit. This is done in such a way that the program generator, when implemented with the respective keyword of the respective sequence, calls up information in a programming rule set, from which it receives the program code suitable for the respective robot type in the specified syntax. The program generator sets the received program code sections to a finished program code. Processing the sequences of keywords in this way results in the finished program code. The sequence of keywords can be created manually by the programmer. In addition, he has to make certain parameter specifications for certain keywords.

Das Verfahren bietet beträchtliche Vorteile für die Programmierung von Robotern. Die Schlüsselwörter selber sind genauestens spezifiziert und der Programmierer entnimmt sie einer Tabelle. Eine Fehlerquelle könnte noch darin bestehen, dass ein falsches Schlüsselwort oder ein falscher Parameter angegeben wird. Die Schlüsselwörter sind aber spezifisch auf das Verständnis der Robotertechnik abgestimmt und dienen, als Platzhalter für Makros und Operanden, insbesondere SPS-Makros und SPS-Operanden und ermöglichen eine funktionsorientierte didaktisch sichere Eingabe in das Roboter-Offline-Programm OLP. Durch einen geeigneten Algorithmus in Verbindung mit dem Programmier-Regelwerk wird aus dem Rohprogramm in Form der Schlüsselwort-Sequenzen ein verwendungsfähiges, standardkonformes Roboterprogramm. All die Fehlerquellen, die bei ausschließlich manueller Programmierung bestehen werden so vermieden.The method offers considerable advantages for programming robots. The key words themselves are precisely specified and the programmer takes them from a table. Another source of error could be that an incorrect keyword or parameter is specified. However, the keywords are specifically tailored to the understanding of robot technology and serve as placeholders for macros and operands, in particular PLC macros and PLC operands, and enable function-oriented, didactically safe entry into the robot offline program OLP. Using a suitable algorithm in conjunction with the programming rules, the raw program in the form of the keyword sequences becomes a usable, standard-compliant robot program. All the sources of error that exist with manual programming only are thus avoided.

Durch die Verbindung von didaktisch einfach handhabbaren, funktionalen Schlüsselwörtern mit einem regelbasierten Algorithmus ist eine automatisierte Programmerstellung für Roboteranwendungen möglich.The combination of functional keywords that are easy to handle didactically with a rule-based algorithm enables automated program creation for robot applications.

Mit Einsatz dieses Programmierverfahrens in der Fläche bestehen noch weitere Vorteile:

  • es steigt die Geschwindigkeit zur Erstellung von Roboterprogrammen
  • alle Anwender programmieren die Programme einheitlich in gleicher Weise
  • die Qualität der Programme wird erhöht
  • der Aufwand für Nacharbeit sinkt
  • individuelle Fehler werden deutlich reduziert
  • Anlagenabnahme - die Roboterabnahme kann zu einem früheren Zeitpunkt erfolgen.
There are other advantages to using this programming method in the area:
  • the speed for creating robot programs increases
  • all users program the programs uniformly in the same way
  • the quality of the programs is increased
  • the effort for reworking is reduced
  • individual errors are significantly reduced
  • System acceptance - the robot acceptance can take place earlier.

Es ist ebenfalls von Vorteil, wenn das Programmier-Regelwerk so ausgelegt wird, dass der Programm-Generator in den Programmcode ein oder mehrere Kommentare zur Beschreibung von Funktionen einfügt. Die Programme werden dadurch lesbarer und besser dokumentiert.It is also advantageous if the programming rules are designed so that the program generator inserts one or more comments into the program code to describe functions. This makes the programs easier to read and better documented.

Bei einem großen Konzern gibt es verschiedene Standorte in verschiedenen Ländern. Hier ist es von Vorteil, wenn der OLP-Generator den oder die Kommentare in einer Anzahl von mehreren ausgewählten Sprachen einfügt, so dass sie in den jeweiligen Standorten verstanden werden können.A large corporation has different locations in different countries. Here it is advantageous if the OLP generator contains the comment or comments in a number of insert several selected languages so that they can be understood in the respective locations.

Es ist weiterhin von Vorteil, wenn das Programmier-Regelwerk als Datenbank ausgeführt wird, die entweder auf dem Rechner, auf dem das Programm für die Steuerung des Roboters erstellt wird, gespeichert wird oder auf einem Zentralrechner installiert wird, der mit dem Rechner verbunden ist. Der Rechner muss nicht in der Nähe des Roboters positioniert werden. Er kann in einem Büro untergebracht werden, wo der Programmierer an dem Offline-Programm arbeitet. Das fertige Programm wird später zu der programmierbaren Steuervorrichtung des Roboters übertragen. Die Datenbank kann entweder lokal auf dem jeweiligen Rechner installiert werden oder auf einem Zentralrechner, an den die Bürorechner angeschlossen sind.It is also advantageous if the programming rule set is executed as a database, which is either stored on the computer on which the program for controlling the robot is created, or is installed on a central computer which is connected to the computer. The computer does not have to be positioned near the robot. It can be placed in an office where the programmer is working on the offline program. The finished program is later transferred to the programmable control device of the robot. The database can either be installed locally on the respective computer or on a central computer to which the office computers are connected.

Für das Verfahren sieht eine bevorzugte Ausführungsform vor, dass bei dem Abruf von Informationen in der Datenbank, das Schlüsselwort inklusive Parameterangaben falls vorhanden in einer Anfrage an die Datenbank gesendet wird, das als Index-Information für den Abruf von Informationen in der Datenbank dient. Die Schlüsselwörter adressieren sozusagen die Datenbank. Diese Informationen werden von der Datenbank so verarbeitet, dass sie die fertigen Programmabschnitte zurückliefert. In einer Ausführungsform könnte die Datenbank als Assoziativspeicher CAM (Content Addressed Memory) organisiert werden.A preferred embodiment of the method provides that when information is retrieved from the database, the keyword including parameter information, if any, is sent to the database in a request, which serves as index information for retrieving information from the database. The key words address the database, so to speak. This information is processed by the database so that it returns the finished program sections. In one embodiment, the database could be organized as an associative memory CAM (Content Addressed Memory).

Für eine entsprechende Recheneinrichtung zur Durchführung von Schritten des Verfahrens ist es vorteilhaft, wenn die Recheneinrichtung eine Recheneinheit mit Anschluss an ein Programmier-Regelwerk aufweist, das als Datenbank ausgeführt ist, wobei die Recheneinrichtung eingerichtet ist, eine Sequenz von Schlüsselwörtern, die einen Steuervorgang beschreiben, an die Datenbank zu senden, und von der Datenbank den gültigen Programmcode für die Sequenz von Schlüsselwörtern zurückzuerhalten.For a corresponding computing device for carrying out steps of the method, it is advantageous if the computing device has a computing unit with a connection to a programming rule set, which is designed as a database, the computing device being set up, a sequence of keywords that describe a control process, to the database, and to get back from the database the valid code for the sequence of keywords.

Für eine Recheneinrichtung, die entsprechend ausgelegt wird, um Schritte des Verfahrens durchzuführen, gelten die entsprechenden Vorteile.The corresponding advantages apply to a computing device which is designed accordingly to carry out steps of the method.

Die Datenbank kann in der Recheneinrichtung selbst installiert sein.The database can be installed in the computing device itself.

Für eine bessere Kontrolle über die Datenbank ist es vorteilhaft, wenn die Recheneinrichtung eingerichtet ist, mit einem externen Zentralrechner zu kommunizieren, auf dem die Datenbank installiert ist.For better control over the database, it is advantageous if the computing device is set up to communicate with an external central computer on which the database is installed.

Die Erfindung lässt sich auch mit einem Computerprogramm realisieren, das ausgelegt ist, bei Abarbeitung in einer Recheneinrichtung, die Schritte des erfindungsgemäßen Verfahrens durchzuführen.The invention can also be implemented with a computer program which is designed to carry out the steps of the method according to the invention when processed in a computing device.

Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und werden nachfolgend anhand der Figuren näher erläutert.Exemplary embodiments of the invention are shown in the drawings and are explained in more detail below with reference to the figures.

Es zeigen:

Fig. 1
eine typische Ansicht eines Fertigungs-Roboters, der für das Greifen eines Bauteiles an einer Position und das Ablegen des Bauteiles an anderer Position spezialisiert ist;
Fig. 2
eine Konzeptansicht für die Umsetzung der automatischen Programmerstellung;
Fig. 3
ein Textdokument, das eine Auflistung von den für die Programmierung des Greif-Roboters nötigen Schlüsselwort-Sequenzen enthält;
Fig. 4a
den ersten Teil eines Textdokuments, das das fertig umgesetzte Programm mit Programmcode für die verschiedenen in Fig. 3 gezeigten Sequenzen enthält; und
Fig. 4b
den zweiten Teil des Textdokuments, das das fertig umgesetzte Programm mit Programmcode für die verschiedenen in Fig. 3 gezeigten Sequenzen enthält.
Show it:
Fig. 1
a typical view of a manufacturing robot, which is specialized for gripping a component in one position and depositing the component in another position;
Fig. 2
a concept view for the implementation of the automatic program creation;
Fig. 3
a text document that contains a listing of the keyword sequences necessary for programming the gripping robot;
Fig. 4a
the first part of a text document that contains the completed program with program code for the various Fig. 3 contains sequences shown; and
Fig. 4b
the second part of the text document, which contains the completed program with program code for the various in Fig. 3 shown sequences contains.

Die vorliegende Beschreibung veranschaulicht die Prinzipien der erfindungsgemäßen Offenbarung. Es versteht sich somit, dass Fachleute in der Lage sein werden, verschiedene Anordnungen zu konzipieren, die zwar hier nicht explizit beschrieben werden, die aber Prinzipien der erfindungsgemäßen Offenbarung verkörpern und in ihrem Umfang ebenfalls geschützt sein sollen.The present description illustrates the principles of the disclosure of the invention. It is therefore understood that those skilled in the art will be able to design various arrangements which are not explicitly described here, but which embody the principles of the disclosure according to the invention and should also be protected in their scope.

Bei der Fertigung eines komplexen Produktes werden vielfältige, spezialisierte Typen von Fertigungsrobotern eingesetzt. Als Beispiel wird eine Fertigungsstraße einer Fahrzeugkarosserie betrachtet. Dort werden z.B. spezialisierte Roboter für die folgenden Tätigkeiten eingesetzt: Greifen, Positionieren, Ablegen, Fügen, Schweißen, Kleben, Schrauben, Nieten, Löten, Fräsen, Prägen, Durchsetzfügen (Clinchen), Schneiden, Laserschweißen, Befüllen, Messen, usw. Diese Aufzählung ist typisch, erhebt aber keinen Anspruch auf Vollständigkeit. Entsprechend viele spezialisierte Roboter müssen programmiert werden, um die Tätigkeiten punktgenau durchführen zu können.A wide range of specialized types of manufacturing robots are used to manufacture a complex product. A production line of a vehicle body is considered as an example. There are e.g. specialized robots used for the following activities: gripping, positioning, depositing, joining, welding, gluing, screwing, riveting, soldering, milling, embossing, clinching, cutting, laser welding, filling, measuring, etc. This list is typical, does not claim to be complete. Correspondingly many specialized robots have to be programmed in order to be able to carry out the activities precisely.

Fig. 1 zeigt eine Ansicht eines Roboters 10, der bei der Fertigung eines Produktes zum Greifen eines Bauteiles eingesetzt wird. Er dient ebenfalls dazu, das gegriffene Bauteil an eine andere Position zu verbringen, wo es entweder gehalten wird, um durch weitere Roboter an dem entstehenden Produkt montiert zu werden oder einfach nur abgelegt wird. Im zweiten Fall dient der Greif-Roboter dem Zweck der Materialzuführung. Es ist ein typischer 5-Achsen Roboterarm 12 gezeigt. An dem Roboterarm 12 ist eine Greifzange 14 angebracht. Durch Kreise sind die verschiedenen Achsen des Roboterarms 12 angedeutet. Die Anzahl der Achsen spielt für den Vorschlag keine wichtige Rolle und die Erfindung kann bei jedem Mehrachsen-Robotertyp eingesetzt werden. Derzeit sind Ein- bis Zwölfachs-Roboter auf dem Markt, die bedient werden können. Fig. 1 shows a view of a robot 10 which is used in the manufacture of a product for gripping a component. It is also used to move the gripped component to a different position, where it is either held so that it can be mounted on the resulting product by further robots, or simply put down. In the second case, the gripping robot serves the purpose of feeding material. It is a typical 5-axis robotic arm 12 shown. A gripper 14 is attached to the robot arm 12. The different axes of the robot arm 12 are indicated by circles. The number of axes is not important for the proposal and the invention can be used with any type of multi-axis robot. There are currently single to twelve-axis robots on the market that can be operated.

Die Programmierung des Greif-Roboters wird an einem Beispiel beschrieben. Dem Programmierer steht eine Schlüsselwortübersicht zur Verfügung. Darin sind die Schlüsselwörter und ihre Bedeutung aufgelistet. Es wird das Beispiel der Verwendung des Greif-Roboters 10 bei der Materialzuführung näher betrachtet. Seine Tätigkeit lässt sich in verschiedene Phasen unterteilen, die in Fig. 1 dargestellt sind. Zunächst wird der Roboter 10 initialisiert und dabei wird er in die Ausgangsposition verfahren. Die Ausgangsposition ist in Fig. 1a gezeigt. Die Greifzange 14 ist dabei geöffnet. Danach wird er an die Greifposition verfahren. Die Greifposition ist in Fig. 1b zu sehen. Danach muss er für das Greifen des Bauteils 16 programmiert werden. In Fig. 1c ist dargestellt, dass die Greifzange 14 entsprechend geschlossen ist. Es folgt der Vorgang des Verfahrens der Roboterposition an die Zielposition. Die Zielposition ist in Fig. 1d gezeigt. Dort wird das Bauteil 16 abgelegt. Das ist in Fig. 1e dadurch dargestellt, dass die Greifzange 14 wieder geöffnet ist. Schließlich wird der Greif-Roboter 10 wieder in die Ausgangsposition verfahren, die ja schon in Fig. 1a zu sehen ist.The programming of the gripping robot is described using an example. A keyword overview is available to the programmer. The keywords and their meaning are listed there. The example of the use of the gripping robot 10 in the material feed is considered in more detail. His work can be divided into different phases, which in Fig. 1 are shown. First, the robot 10 is initialized and in the process it is moved into the starting position. The starting position is in Fig. 1a shown. The gripper 14 is open. Then it is moved to the gripping position. The gripping position is in Fig. 1b to see. Then it must be programmed for gripping component 16. In Fig. 1c it is shown that the gripper 14 is closed accordingly. The process of moving the robot position to the target position follows. The target position is in Fig. 1d shown. Component 16 is deposited there. Is in Fig. 1e represented in that the gripper 14 is opened again. Finally, the gripping robot 10 is moved back to the starting position, which is already shown in FIG Fig. 1a you can see.

Die elektrische und elektronische Ausstattung des Roboters 10 ist in der Fig. 1 nicht im Detail gezeigt. Für die Robotersteuerung ist eine programmierbare Steuerung SPS zuständig, die meistens neben dem / in der Nähe des Roboter 10 positioniert ist. In Fig. 2 ist die programmierbare Steuerung mit der Bezugszahl 70 versehen. Es ist auch möglich, dass in einem Schaltschrank gleich mehrere programmierbare Steuerungen untergebracht sind, die mehrere Roboter steuern, die dann alle an diesen Schaltschrank angeschlossen sind. Der Roboter 10 muss für die Ausübung der gewünschten Tätigkeit programmiert werden. Dies geschieht üblicherweise abseits von der programmierbaren Steuerung mit einem Bürorechner.The electrical and electronic equipment of the robot 10 is in the Fig. 1 not shown in detail. A programmable controller PLC, which is usually positioned next to / in the vicinity of the robot 10, is responsible for the robot controller. In Fig. 2 the programmable controller is provided with the reference number 70. It is also possible for several programmable controls to be accommodated in one control cabinet, which control several robots, all of which are then connected to this control cabinet. The robot 10 must be programmed to perform the desired activity. This usually takes place apart from the programmable control with an office computer.

Fig. 2 zeigt eine Anordnung von Rechnern für die Umsetzung der automatischen Programmerstellung nach dem Konzept der Erfindung. Die Bezugszahl 30 bezeichnet den Bürorechner, an dem der Programmierer die Erstellung des Roboterprogramms kontrolliert. Auf dem Bürorechner 30 ist ein Programm-Generator 60 installiert, der zur Abarbeitung kommt. Zunächst erstellt de Programmierer mehrere Sequenzen von Schlüsselwörtern für die verschiedenen Steuerungsvorgänge. Er entnimmt die Schlüsselwörter aus einer spezifizierten Tabelle und fügt die notwendigen Parameter hinzu. Dabei entstehen mehrere Sequenzen von Schlüsselwörtern, die in einer Folge zusammengestellt werden. Der Programm-Generator 60 wertet diese Folge aus und sendet die verschiedenen Schlüsselwort-Sequenzen an einen Zentralrechner 40. Auf dem Zentralrechner 40 ist eine Datenbank 50 installiert. In dieser ist das Programmier-Regelwerk enthalten. Pro Schlüsselwort finden sich darin auch die passenden entsprechend der ProgrammierRichtlinie des Unternehmens konformen Programmcode-Abschnitte, die aus der Datenbank 50 entnommen werden und an den Bürorechner 30 zurück gesendet werden. Der Programm-Generator 60 stellt die empfangenen Codeabschnitte zum fertigen Programmcode zusammen. Der fertige Programmcode kann im Bürorechner 30 noch individuell bearbeitet werden, für eine individuelle Besonderheit. Dies führt der Programmierer manuell durch. Das fertiggestellte Programm wird an die programmierbare Steuervorrichtung 70 des Industrie-Roboters 10 übertragen. Fig. 2 shows an arrangement of computers for the implementation of automatic program creation according to the concept of the invention. The reference number 30 denotes the office computer on which the programmer controls the creation of the robot program. A program generator 60 is installed on the office computer 30 and is processed. First, the programmer creates several sequences of key words for the various control processes. It takes the keywords from a specified table and adds the necessary parameters. This creates several sequences of keywords, which are put together in a sequence. The program generator 60 evaluates this sequence and sends the various keyword sequences to a central computer 40. A database 50 is installed on the central computer 40. This contains the programming rules. For each key word there are also the appropriate program code sections which conform to the programming guidelines of the company and which are taken from the database 50 and sent back to the office computer 30. The program generator 60 assembles the received code sections into the finished program code. The finished program code can still be edited individually in office computer 30 for an individual specialty. The programmer does this manually. The completed program is transferred to the programmable control device 70 of the industrial robot 10.

Die Programmierung erfolgt also in drei Schritten:
Im Schritt S1 wird der Programmierer die Schlüsselwörter eingeben, die für die Programmierung geeignet sind. Dazu steht dem Programmierer eine Schlüsselwortübersicht zur Verfügung. In der Schlüsselwortübersicht sind die Schlüsselwörter für den Greifer mit ihrer Bedeutung aufgelistet. Extrakt aus Tabelle: 6.0 Greifer BTK 1,... Abfrage Bauteilkontrolle, gewöhnlich Merker G_AUF 1,... Spanngruppe AUF, mit Merker kombinierbar G_ZU 1,... Spanngruppe ZU, mit Merker 32.0 Special Users WARTEBIS AUS,... Wartebedingung, multipel
The programming is done in three steps:
In step S1, the programmer will enter the keywords that are suitable for programming. The programmer has a keyword overview for this purpose. The keywords for the gripper are listed with their meaning in the keyword overview. Extract from the table: 6.0 gripper BTK 1, ... Component control query, usually flag G_AUF 1, ... Clamping group OPEN, can be combined with marker G_ZU 1, ... Clamping group CLOSED, with marker 32.0 Special Users WAITING OUT, ... Waiting condition, multiple

Für die erste Phase der in Fig. 1 gezeigten Anwendung bzgl. der Materialzuführung wird folgende Sequenz von Schlüsselwörtern erstellt. Es handelt sich um die Initialisierungsphase:

  • PTP VB=100% VE=100% ACC=100% RobWzg=0 Base=0 SPSTrig=0[1/100s]
  • Warte auf Folgenstart
  • -- G_AUF 1,M2 --
  • -- BTK 2 --
  • PTP VB=100% VE=100% ACC=100% RobWzg=0 Base=0 SPSTrig=0[1/100s]
Die zweite Phase, s. Fig. 1b betrifft das Verfahren des Roboterarms 12 zur Greifposition.For the first phase of the Fig. 1 shown application regarding the material feed, the following sequence of keywords is created. It is the initialization phase:
  • PTP VB = 100% VE = 100% ACC = 100% RobWzg = 0 Base = 0 SPSTrig = 0 [1 / 100s]
  • Wait for episode start
  • - G_AUF 1, M2 -
  • - BTK 2 -
  • PTP VB = 100% VE = 100% ACC = 100% RobWzg = 0 Base = 0 SPSTrig = 0 [1 / 100s]
The second phase, see Fig. 1b relates to the movement of the robot arm 12 to the gripping position.

Um das zu realisieren, erstellt der Programmierer die folgende Sequenz von Schlüsselwörtern:

  • -- Entnahmeposition --
  • - BTK 1 --
  • - G_ZU 1 --
  • PTP VB=100% VE=100% ACC=100% RobWzg=0 Base=0 SPSTrig=0[1/100s]
To do this, the programmer creates the following sequence of keywords:
  • - removal position -
  • - BTK 1 -
  • - G_ZU 1 -
  • PTP VB = 100% VE = 100% ACC = 100% RobWzg = 0 Base = 0 SPSTrig = 0 [1 / 100s]

Dabei entspricht der Ausdruck "Entnahmeposition" keinem Schlüsselwort, sondern einem gewollten, bleibenden Kommentar.The expression "removal position" does not correspond to a keyword, but rather to an intentional, permanent comment.

Die dritte Phase, s. Fig. 1c betrifft das Verfahren des Roboterarms 12 zur Ablegeposition. Dafür wird aber keine Schlüsselwort-Sequenzmanuell erstellt, sondern nur die entsprechende Positionsangabe gemacht, s. Sequenz 2: in Fig. 3.The third phase, see Fig. 1c relates to the movement of the robot arm 12 to the storage position. For this, however, no keyword sequence is created manually, only the corresponding position information is given, see Sequence 2: in Fig. 3 .

2: PTP VB=100% VE=100% ACC=100% RobWzg=0 Base=0 SPSTrig=0[1/100s] {Pno1=1,Pno2=-1,SPSno=-1} ;1: Die Fahrbedingungen werden hinsichtlich maschineller Sicherheiten aus vorherigen Freigaben von der übergeordneten programmierbaren Steuerung (SPS) und eigenen Bedingungen, wie etwa Bauteilkontrollen (BTK) durch den OLP-Programmgenerator 60 in das fertige Programm eingefügt. Beispiel für die Umsetzung in Programmcode: FB PSPS = M1 & M30 & M32 & M952: PTP VB = 100% VE = 100% ACC = 100% RobWzg = 0 Base = 0 SPSTrig = 0 [1 / 100s] {Pno1 = 1, Pno2 = -1, SPSno = -1}; 1: The driving conditions will with regard to machine security from previous releases from the higher-level programmable controller (PLC) and own conditions, such as component controls (BTK), inserted into the finished program by the OLP program generator 60. Example of implementation in program code: FB PSPS = M1 & M30 & M32 & M95

In Fig. 1d ist noch die Phase für das Ablegen des gegriffenen Bauteils 20 gezeigt. Die entsprechende Sequenz von Schlüsselwörtern wird nachfolgend aufgelistet:

  • -- -M1 --
  • -- Ablegeposition --
  • - G_AUF 1 --
  • PTP VB=100% VE=100% ACC=100% RobWzg=0 Base=0 SPSTrig=0[1/100s]
  • -- WARTEBIS M2 --
  • -- M2 --
  • PTP VB=100% VE=100% ACC=100% RobWzg=0 Base=0 SPSTrig=0[1/100s]
In Fig. 1d the phase for depositing the gripped component 20 is also shown. The corresponding sequence of keywords is listed below:
  • - -M1 -
  • - storage position -
  • - G_AUF 1 -
  • PTP VB = 100% VE = 100% ACC = 100% RobWzg = 0 Base = 0 SPSTrig = 0 [1 / 100s]
  • - WARTEBIS M2 -
  • - M2 -
  • PTP VB = 100% VE = 100% ACC = 100% RobWzg = 0 Base = 0 SPSTrig = 0 [1 / 100s]

Für das Anfahren der Ausgangsposition wird wiederum automatisch ein Programmteil erzeugt, ohne Schlüsselwort-Sequenz. Die Abfolgen sind immer gleich und spezifiziert. Das folgende Beispiel, hergeleitet aus Richtlinien, zeigt eine Darstellung des fertig generierten Codes für das Anfahren der Ausgangsposition:

  • -- Gesamt Arbeitsfertigmeldung --
  • PTP VB=100% VE=0% ACC=100% RobWzg=0 Base=0 SPSTrig=5[1/100s] P
  • FB PSPS = EIN
  • A23 = AUS
  • WARTE BIS M2
  • SPSMAKRO15 = EIN
  • WARTE BIS E23
  • A23= EIN
  • FB PSPS = M2 & M30 & M31 & M95
  • PTP VB=100% VE=0% ACC=100% RobWzg=0 Base=0 SPSTrig=0[1/100s] P
  • FB PSPS = EIN
  • t1 (EIN) = STOP
  • t2 (EIN) = t1[1/10Sek]
  • t2 (EIN) = STOP
A program part is automatically generated for moving to the starting position, without a keyword sequence. The sequences are always the same and specified. The following example, derived from guidelines, shows a representation of the generated code for moving to the starting position:
  • - Total job completion notification -
  • PTP VB = 100% VE = 0% ACC = 100% RobWzg = 0 Base = 0 SPSTrig = 5 [1 / 100s] P
  • FB PSPS = ON
  • A23 = OFF
  • WAIT UP TO M2
  • SPSMAKRO15 = ON
  • WAIT UNTIL E23
  • A23 = ON
  • FB PSPS = M2 & M30 & M31 & M95
  • PTP VB = 100% VE = 0% ACC = 100% RobWzg = 0 Base = 0 SPSTrig = 0 [1 / 100s] P
  • FB PSPS = ON
  • t1 (ON) = STOP
  • t2 (ON) = t1 [1/10 sec]
  • t2 (ON) = STOP

Die fertigen Schlüsselwort-Sequenzen für das in Fig. 1 gezeigte Beispiel sind in Fig. 3 gezeigt. Fig. 3 zeigt ein mit Text-Editor generiertes Dokument mit dem Titel "Folge100". Insgesamt sind darin 9 Sequenzen aufgelistet. Dabei betreffen nur die Sequenzen 1:, 3:, 6: und 7: die zuvor beschriebenen vom Programmierer angelegten Schlüsselwort-Sequenzen. Die anderen Sequenzen werden vom OLP-Generator-Programm 60 automatisch hinzugefügt. Das Dokument wird als Folge bezeichnet, weil es bereits mehr enthält als die Schlüsselwort-Sequenzen. Eine Folge ist bereits ein sogenanntes Koordinaten-Programm bei der Programmierung von Robotern.The finished keyword sequences for the in Fig. 1 shown examples are in Fig. 3 shown. Fig. 3 shows a document generated with a text editor with the title "sequence 100". A total of 9 sequences are listed. Only the sequences 1 :, 3 :, 6: and 7: relate to the previously described keyword sequences created by the programmer. The other sequences are automatically added by the OLP generator program 60. The document is called a sequence because it already contains more than the keyword sequences. One consequence is a so-called coordinate program when programming robots.

Nach dem Anlegen der Schlüsselwort-Sequenzen für die einzelnen Steuerungsphasen in Schritt S1 erfolgt dann die Umsetzung der Schlüsselwort-Sequenzen in echten Programmcode. Dabei entstehen Grundprogramme, die Programmcode in der anwendungsorientierten Programmiersprache beinhalten. Es handelt sich um SPS-Makros und SPS-Operanden, die auch aus der Programmierung von Speicherprogrammierbaren Steuerungen bekannt sind. Dies erfolgt mit Hilfe der Datenbank 50 und des Algorithmus 60 im Schritt S2After creating the keyword sequences for the individual control phases in step S1, the keyword sequences are then converted into real program code. This creates basic programs that contain program code in the application-oriented programming language. These are PLC macros and PLC operands, which are also known from the programming of programmable logic controllers. This takes place with the aid of the database 50 and the algorithm 60 in step S2

Diese Umsetzung erfolgt maschinell ohne Zutun des Programmierers. Dazu bedient sich das Umsetz-Tool einer Programmierrichtlinie, die von dem Unternehmen, das den Roboter einsetzt, erstellt wurde. Diese Richtlinie enthält die Regeln, die nach Unternehmensvorgabe für die Programmierung zu beachten sind. Das ist z.B. erforderlich zur Einhaltung von Sicherheitsbestimmungen. Es dient aber auch dazu, dass die Programme lesbar und verständlich bleiben. Bei einem großen Konzern, der Industrie-Roboter an verschiedenen Standorten einsetzt, wo auch noch unterschiedliche Sprachen gesprochen werden, ist dies ein entscheidender Punkt. Durch diese Vereinheitlichung der Programmierung können dann auch vielfältige Fehlprogrammierungen vermieden werden.This implementation is done automatically without the intervention of the programmer. To do this, the implementation tool uses a programming guideline created by the company that uses the robot. This guideline contains the rules that must be observed for programming according to the company's specifications. This is necessary, for example, to comply with safety regulations. But it also serves to keep the programs readable and understandable. In a large corporation, the industrial robot at various Locations where different languages are spoken, this is a crucial point. By standardizing the programming, a variety of incorrect programming can also be avoided.

Beispiele von Regeln, die in der Programmierrichtlinie aufgeführt werden, Vorschriften für die Umfahrung von Hindernissen, Vorschriften für Stellungsfreigaben bzw. Verriegelungen, Vorschriften für Spannrückmeldungen und Teilekontrollen, Vorschriften für die Angabe von Positionen und Koordinaten, Vorschriften für Greifer, Freigaben und Merker, Vorschriften für die einzusetzenden Interpolationsarten, Vorschriften für die Programmierung von Sprungbefehlen, Vorschriften für die Angabe von Bewegungsparametern, Vorschriften und Beispiele für die Programmierung von Unterprogrammen und Makros, Vorschriften für die Programmierung von Folgen, Vorschriften für die Programmierung von Folgenwiederholungen, Vorschriften für Initialisierungsphasen, Vorschriften für Technologie-Aufrufe, Vorschriften für die Programmierung von Werkzeugwechselvorgängen, Vorschriften für die Programmierung von Arbeitsfertigmeldungen, usw.Examples of rules listed in the programming guideline, rules for bypassing obstacles, rules for position releases or interlocks, rules for clamping feedback and parts controls, rules for specifying positions and coordinates, rules for grippers, releases and flags, rules for the types of interpolation to be used, rules for programming jump commands, rules for specifying motion parameters, rules and examples for programming subroutines and macros, rules for programming sequences, rules for programming repetitions, rules for initialization phases, rules for technology - Calls, rules for programming tool changing operations, rules for programming ready-to-work messages, etc.

Beispiele:Examples: 2. Programmierung von Handlingaufgaben mit Spanngruppen2. Programming of handling tasks with clamping groups 2.1 Programmierung von Punkt 2 einer Folge2.1 Programming point 2 of a sequence

Beispiel: Greifer mit 4 Spanngruppen und 2 Bauteilkontrollen Example : Gripper with 4 clamping groups and 2 component controls 2: PTP VB = 100% VE = 0% ACC = 100% RobWzg=1 Base=1 SPSTrig = 0 [1/100s]2: PTP VB = 100% VE = 0% ACC = 100% RobWzg = 1 Base = 1 SPSTrig = 0 [1 / 100s] 1: FB PSPS = EIN1: FB PSPS = ON Online-Fahrbedingungen ausgeschaltet Online driving conditions switched off 2. A23 = AUS2. A23 = OFF Schutzgitter gesperrt Protective grille blocked 3: t1 (EIN) = 0 [1/10Sek]3: t1 (ON) = 0 [1/10 sec] Start Taktzeitmessung Start cycle time measurement 4: SPS MAKRO50 = EIN4: PLC MAKRO50 = ON Merker-Initialisierung Flag initialization 5: A80 = EIN5: A80 = ON Freigabe Spanner AUF/ZU Release tensioner OPEN / CLOSE 6: A15 = AUS6: A15 = OFF Meldung "Grundstellung" ausschalten Switch off the "home position" message 7: F1 = EIN7: F1 = ON Vorwahl Spanngruppe 1 Preselection clamping group 1 8: F2 = EIN8: F2 = ON Vorwahl Spanngruppe 2 Preselection clamping group 2 9: F3 = EIN9: F3 = ON Vorwahl Spanngruppe 3 Preset clamping group 3 10: F4 = EIN10: F4 = ON Vorwahl Spanngruppe 4 Preselection clamping group 4 11: SPS MAKRO342 = !E579 & !E58011: PLC MAKRO342 =! E579 &! E580 Greifer AUF OPEN gripper 12: SPS MAKRO340 = EIN12: PLC MAKRO340 = ON Greifer Initialisieren Initialize gripper 13: WARTE BIS M31 & M33 & M35 & M3713: WAIT TO M31 & M33 & M35 & M37 Abfrage Greifer ist AUF ∼ The gripper is open 14. WARTE BIS E2314. WAIT UNTIL E23 Keine Zutrittsanforderung No access request 15. A23 = EIN15. A23 = ON Schutzgitter gesperrt Protective grille blocked 16: FB PSPS = E14 & E24 & E80 & M31 & M33 & M35 & M3716: FB PSPS = E14 & E24 & E80 & M31 & M33 & M35 & M37

4.3 Programmierung letzter Punkt einer Folge4.3 Programming the last point in a sequence

Im letzten Punkt der jeweiligen Folge ist der entsprechende Timer für die Gesamttaktzeit zu stoppen, der Wert zu sichern und ggf. Überwachungszeiten zu triggern. Beispiel: 55: PTP VB=100% VE=0% ACC=100% RobWzg=1 Base=1 SPSTri=0[1/100s]  1: FB PSPS = EIN  2: t1 ( EIN) = STOP Gesamttaktzeit aktueller Durchlauf  3: t2 (EIN ) = t1 [1/10Sek]  4: t2 ( EIN ) = STOP Folge Gesamt-Arbeitsfertigmeldung W: PTP VB=100% VE=0% ACC=100% RobWzg=1 Base=1 SPSTrig=5 [1/100s] 1: FB PSPS = EIN 2: A23 = AUS Schutzgitter freigegeben 3: SPS MAKRO15 = EIN Gesamtarbeitsfertigmeldung 4: WARTE BIS E23 Fahrfreigabe von SPS 5: A23 = EIN Schutzgitter gesperrt 6: FB PSPS = M30 & E80 & M95 In the last point of the respective sequence, the corresponding timer for the total cycle time must be stopped, the value saved and, if necessary, monitoring times triggered. Example: 55: PTP VB = 100% VE = 0% ACC = 100% RobWzg = 1 Base = 1 SPSTri = 0 [1 / 100s] 1: FB PSPS = ON 2: t1 (ON) = STOP Takt Total cycle time of current run 3: t2 (ON) = t1 [1/10 sec] 4: t2 (ON) = STOP episode Total job completion notification W: PTP VB = 100% VE = 0% ACC = 100% RobWzg = 1 Base = 1 SPSTrig = 5 [1 / 100s] 1: FB PSPS = ON 2: A23 = OFF Protective grille released 3: PLC MACRO15 = ON Complete work completion notification 4: WAIT UNTIL E23 PLC release 5: A23 = ON Protective grille blocked 6: FB PSPS = M30 & E80 & M95

Das Makro15 für die Gesamt-Arbeitsfertigmeldung darf nur am Ende in der Folge, jedoch nicht im letzten Punkt aufgerufen werden!!! Falls nötig, muss der letzte Punkt kopiert werden und als vorletzter eingefügt werden.The Macro15 for the overall work completion notification may only be called up at the end of the sequence, but not at the last point !!! If necessary, the last point must be copied and inserted as the penultimate.

Die Programmierrichtlinie kann in Form einer Datenbank auf dem Bürorechner 30 oder dem Zentralrechner 40, der mit dem Bürorechner 30 über ein Netzwerk verbunden ist, realisiert werden. Das jeweilige Schlüsselwort in der Schlüsselwort-Sequenz, die umgesetzt werden soll, dient als Adressinformation unter der die relevanten Vorschriften in der Datenbank 50 zu finden sind. Die Umsetzung des Schlüsselwortes mit den optionalen Parameterangaben, geschieht dann mit den in der Datenbank 50 enthaltenen Code-Beispielen für das Schlüsselwort und den Vorschriften. Ein Algorithmus als Teil des OLP-Programmgenerators 60 der auf dem Bürorechner 30 läuft, baut die einzelnen Code-Abschnitte zu einem Programm zusammen. So entstehen durch die Umsetzung Grundprogramme die weitgehend fertig sind. Auch bestimmte Kommentarzeilen werden automatisch generiert. Sollen mehrsprachige Kommentare eingefügt werden, kann die Sprachenauswahl vor der Umsetzung in einem Menü des Umsetzer-Tools eingegeben werden.The programming guideline can be implemented in the form of a database on the office computer 30 or the central computer 40, which is connected to the office computer 30 via a network. The respective keyword in the keyword sequence that is to be implemented serves as address information under which the relevant regulations can be found in the database 50. The implementation of the keyword with the optional parameter specifications then takes place with the code examples for the keyword and the regulations contained in the database 50. An algorithm as part of the OLP program generator 60, which runs on the office computer 30, assembles the individual code sections into a program. The implementation of basic programs that are largely finished. Certain comment lines are also generated automatically. If multi-lingual comments are to be inserted, the language selection can be entered in a menu of the converter tool before implementation.

Die Fig. 4 zeigt den fertigen Programmcode für die 9 Sequenzen, die in Fig. 3 gezeigt sind.The Fig. 4 shows the finished program code for the 9 sequences shown in Fig. 3 are shown.

Das Dokument, das den fertigen Programmcode zeigt, hat den Titel "Folge100_generiert". Es enthält neben dem Programmcode auch einige wichtige Kommentarzeilen.The document that shows the finished program code has the title "Folg100_generiert". In addition to the program code, it also contains some important comment lines.

Alle hierin erwähnten Beispiele wie auch bedingte Formulierungen sind ohne Einschränkung auf solche speziell angeführten Beispiele zu verstehen. So wird es zum Beispiel von Fachleuten anerkannt, dass ein dargestelltes Flussdiagramm, Zustandsübergangsdiagramm, Pseudocode und dergleichen verschiedene Varianten zur Darstellung von Prozessen darstellen, die im Wesentlichen in computerlesbaren Medien gespeichert und somit von einem Computer oder Prozessor ausgeführt werden können.All of the examples mentioned herein, as well as conditional formulations, are to be understood without being restricted to such specific examples. For example, it is recognized by those skilled in the art that a flowchart, state transition diagram, pseudocode, and the like shown are different variants for representing processes represent, which are essentially stored in computer-readable media and thus can be executed by a computer or processor.

Es sollte verstanden werden, dass das vorgeschlagene Verfahren und die zugehörigen Vorrichtungen in verschiedenen Formen von Hardware, Software, Firmware, Spezialprozessoren oder einer Kombination davon implementiert werden können. Spezialprozessoren können anwendungsspezifische integrierte Schaltungen (ASICs), Reduced Instruction Set Computer (RISC) und / oder Field Programmable Gate Arrays (FPGAs) umfassen. Vorzugsweise wird das vorgeschlagene Verfahren und die Vorrichtung als eine Kombination von Hardware und Software implementiert. Die Software wird vorzugsweise als ein Anwendungsprogramm auf einer Programmspeichervorrichtung installiert. Typischerweise handelt es sich um eine Maschine auf Basis einer Computerplattform, die Hardware aufweist, wie beispielsweise eine oder mehrere Zentraleinheiten (CPU), einen Direktzugriffsspeicher (RAM) und eine oder mehrere Eingabe/Ausgabe (I/O) Schnittstelle(n). Auf der Computerplattform wird typischerweise außerdem ein Betriebssystem installiert. Die verschiedenen Prozesse und Funktionen, die hier beschrieben wurden, können Teil des Anwendungsprogramms sein oder ein Teil, der über das Betriebssystem ausgeführt wird.It should be understood that the proposed method and associated devices can be implemented in various forms of hardware, software, firmware, special processors, or a combination thereof. Special processors can include application-specific integrated circuits (ASICs), reduced instruction set computers (RISC) and / or field programmable gate arrays (FPGAs). The proposed method and the device are preferably implemented as a combination of hardware and software. The software is preferably installed as an application program on a program storage device. Typically, it is a machine based on a computer platform, which has hardware such as one or more central processing units (CPU), a random access memory (RAM) and one or more input / output (I / O) interface (s). An operating system is typically also installed on the computer platform. The various processes and functions described here can be part of the application program or part of the operating system.

BezugszeichenlisteReference list

1010th
Roboterrobot
1212th
RoboterarmRobotic arm
1414
Greifzangepliers
2020
BauteilComponent
3030th
BürorechnerOffice calculator
4040
ZentralrechnerCentral computer
5050
DatenbankDatabase
6060
Algorithmusalgorithm
7070
programmierbare Steuervorrichtungprogrammable controller
S1 - S3S1 - S3
verschiedene Schritte des Programmierverfahrensdifferent steps of the programming process

Claims (10)

Verfahren zur Programmierung eines Roboters (10) für die Durchführung einer Tätigkeit, wobei der Roboter (10) mit einer programmierbaren Steuereinheit (70) ausgestattet ist, dadurch gekennzeichnet, dass die Roboter-Programme mit einem einheitlichen Programm-Generator (60) erstellt werden, wobei der Programm-Generator (60) eine oder mehrere Sequenzen von Schlüsselwörtern in gültigen Programmcode für die programmierbare Steuereinheit (70) umsetzt, derart, dass der Programm-Generator (60) bei der Umsetzung der Schlüsselwörter der jeweiligen Sequenz einen Abruf von Informationen in einem Programmier-Regelwerk durchführt von dem er den für den jeweiligen Robotertyp passenden Programmcode in der vorgegebenen Syntax zurückerhält und wobei der Programm-Generator (60) die empfangenen Programm-Code-Abschnitte zu einem fertigen Programmcode zusammensetzt.Method for programming a robot (10) for carrying out an activity, the robot (10) being equipped with a programmable control unit (70), characterized in that the robot programs are created with a uniform program generator (60), wherein the program generator (60) converts one or more sequences of keywords into valid program code for the programmable control unit (70), such that the program generator (60) retrieves information in one when converting the keywords of the respective sequence Programming set of rules executes from which he receives the program code suitable for the respective robot type in the specified syntax and the program generator (60) assembles the received program code sections into a finished program code. Verfahren nach Anspruch 1, wobei die Schlüsselwörter wenigstens zum Teil mit Parameterangaben versehen sind.The method of claim 1, wherein the keywords are at least partially provided with parameter information. Verfahren nach Anspruch 1 oder 2, wobei der Programm-Generator (60) in den Programmcode ein oder mehrere Kommentare zur Beschreibung von Funktionen einfügt.The method of claim 1 or 2, wherein the program generator (60) inserts one or more comments describing functions in the program code. Verfahren nach Anspruch 3, wobei der Programm-Generator (60) den oder die Kommentare in einer Anzahl von mehreren ausgewählten Sprachen einfügt.The method of claim 3, wherein the program generator (60) inserts the comment (s) in a number of multiple selected languages. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Programmier-Regelwerk als Datenbank (50) ausgeführt wird, die entweder auf dem Rechner (30), auf dem das Programm für die Steuerung des Roboters (10) erstellt wird, gespeichert wird oder auf einem Zentralrechner (40) installiert wird, der mit dem Rechner (30) verbunden ist.Method according to one of the preceding claims, wherein the programming rule set is executed as a database (50), which is either stored on the computer (30) on which the program for controlling the robot (10) is created or on a central computer (40) is installed, which is connected to the computer (30). Verfahren nach Anspruch 5, wobei bei dem Abruf von Informationen in der Datenbank (50), das Schlüsselwort inklusive Parameterangaben falls vorhanden in einer Anfrage an die Datenbank (50) gesendet wird, das als Index-Information für den Abruf von Informationen in der Datenbank (50) dient.Method according to claim 5, wherein when information is retrieved from the database (50), the keyword including parameter information, if present, is sent to the database (50) in a request, which is used as index information for the retrieval of information from the database (50 50) serves. Recheneinrichtung zur Durchführung von Schritten des Verfahrens nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Recheneinrichtung (30) eine Recheneinheit mit Anschluss an ein Programmier-Regelwerk aufweist, das als Datenbank (50) ausgeführt ist, wobei die Recheneinrichtung (30) eingerichtet ist, eine Sequenz von Schlüsselwörtern, die einen Steuervorgang beschreibt, an die Datenbank (50) zu senden, und von der Datenbank (50) den gültigen Programmcode für die Sequenz von Schlüsselwörtern zurückzuerhalten.Computing device for carrying out steps of the method according to one of the preceding claims, characterized in that the computing device (30) has a computing unit with connection to a programming rule system which is designed as a database (50), the computing device (30) being set up to send a sequence of keywords describing a control process to the database (50) and to get back from the database (50) the valid program code for the sequence of keywords. Recheneinrichtung nach Anspruch 7, wobei die Datenbank (50) in der Recheneinrichtung (30) installiert ist.Computing device according to claim 7, wherein the database (50) is installed in the computing device (30). Recheneinrichtung nach Anspruch 8, wobei die Recheneinrichtung (30) eingerichtet ist mit einem externen Zentralrechner (40) zu kommunizieren, auf dem die Datenbank (50) installiert ist.Computing device according to Claim 8, the computing device (30) being set up to communicate with an external central computer (40) on which the database (50) is installed. Computerprogramm, dadurch gekennzeichnet, dass das Computerprogramm ausgelegt ist, bei Abarbeitung in einer Recheneinrichtung (30) die Schritte des Verfahrens nach einem der Ansprüche 1 bis 6 durchzuführen.Computer program, characterized in that the computer program is designed to carry out the steps of the method according to one of claims 1 to 6 when processed in a computing device (30).
EP19181271.8A 2018-08-27 2019-06-19 Method for programming a robot as well as computing device and computer program Pending EP3620271A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018214417.6A DE102018214417B3 (en) 2018-08-27 2018-08-27 Method for programming a robot as well as computing device and computer program

Publications (1)

Publication Number Publication Date
EP3620271A1 true EP3620271A1 (en) 2020-03-11

Family

ID=66999611

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19181271.8A Pending EP3620271A1 (en) 2018-08-27 2019-06-19 Method for programming a robot as well as computing device and computer program

Country Status (4)

Country Link
US (1) US11491652B2 (en)
EP (1) EP3620271A1 (en)
CN (1) CN110861080B (en)
DE (1) DE102018214417B3 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019135810B3 (en) * 2019-12-27 2020-10-29 Franka Emika Gmbh Generation of a control program for a robot manipulator
CN111752573B (en) * 2020-07-03 2021-11-09 中山市恺特自动化科技有限公司 Universal programming method and programmer for industrial robot

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040006401A1 (en) * 2002-07-08 2004-01-08 Tsutomu Yamada Data format conversion method and equipment,and controller management system using data format conversion equipment
EP3316053A1 (en) * 2016-10-27 2018-05-02 Yokogawa Electric Corporation Engineering tool coordination device, engineering tool coordination method, and non-transitory computer readable storage medium

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6209037B1 (en) * 1995-05-30 2001-03-27 Roy-G-Biv Corporation Motion control systems using communication map to facilitating communication with motion control hardware
US20060206219A1 (en) * 1995-05-30 2006-09-14 Brown David W Motion control systems and methods
DE29605700U1 (en) 1996-03-27 1996-06-05 Siemens Ag Device for translating a machine tool, a robot or the like. controlling program instructions
DE10021389A1 (en) 2000-05-03 2001-11-08 Nokia Mobile Phones Ltd Electronic system setting modification method e.g. for radio receiver, involves interpreting user input with respect to each electronic device and confirming the input before regulation
JP4108342B2 (en) * 2001-01-30 2008-06-25 日本電気株式会社 Robot, robot control system, and program thereof
EP1355208A1 (en) 2002-04-15 2003-10-22 Peter Renner System for the automation of technical processes
DE502004010849D1 (en) 2004-03-06 2010-04-15 Peter Renner System for controlling and operating technical processes
US8355818B2 (en) * 2009-09-03 2013-01-15 Battelle Energy Alliance, Llc Robots, systems, and methods for hazard evaluation and visualization
US8560118B2 (en) * 2007-04-16 2013-10-15 Neuroarm Surgical Ltd. Methods, devices, and systems for non-mechanically restricting and/or programming movement of a tool of a manipulator along a single axis
US7945349B2 (en) * 2008-06-09 2011-05-17 Abb Technology Ab Method and a system for facilitating calibration of an off-line programmed robot cell
US8847115B2 (en) * 2008-06-16 2014-09-30 Illinois Tool Works Inc. Configurable welding interface for automated welding applications
KR101658795B1 (en) * 2010-05-04 2016-09-23 (주)로보티즈 User created robot programming tool having intermediate language generator and the intermediate language code based on robot programming method
CN103718120A (en) * 2011-07-27 2014-04-09 Abb技术有限公司 System for commanding a robot
US9063535B2 (en) * 2011-12-22 2015-06-23 Fanuc Robotics America Corporation Numerical control program execution by robot
AU2013204965B2 (en) * 2012-11-12 2016-07-28 C2 Systems Limited A system, method, computer program and data signal for the registration, monitoring and control of machines and devices
CN104698855A (en) * 2013-12-05 2015-06-10 上海能感物联网有限公司 Method of carrying out field control on robot by Chinese text
US9358685B2 (en) * 2014-02-03 2016-06-07 Brain Corporation Apparatus and methods for control of robot actions based on corrective user inputs
DE102015204641B4 (en) * 2014-06-03 2021-03-25 ArtiMinds Robotics GmbH Method and system for programming a robot
FR3038245B1 (en) * 2015-06-30 2017-12-29 Staubli Sa Ets METHOD FOR CONTROLLING AN AUTOMATED WORKING CELL
JP6325500B2 (en) 2015-09-17 2018-05-16 ファナック株式会社 Ladder diagram monitor device that can additionally display the operation status of CNC during comment
WO2017144713A1 (en) * 2016-02-25 2017-08-31 Roche Diabetes Care Gmbh Method and system for quality evaluation of a handheld analytical device
EP3243607B1 (en) * 2016-05-09 2021-01-27 OpiFlex Automation AB A system and a method for programming an industrial robot
DE102016216409A1 (en) 2016-08-31 2018-03-01 BSH Hausgeräte GmbH Interactive control device
KR102012073B1 (en) * 2017-02-03 2019-08-19 두산로보틱스 주식회사 Method and Apparatus for Programming Robot based on Skill
CN107650123A (en) * 2017-06-30 2018-02-02 哈尔滨工大特种机器人有限公司 A kind of robotic programming method and apparatus of expansible instruction set
US10311874B2 (en) * 2017-09-01 2019-06-04 4Q Catalyst, LLC Methods and systems for voice-based programming of a voice-controlled device
JP6950415B2 (en) * 2017-09-29 2021-10-13 オムロン株式会社 Control device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040006401A1 (en) * 2002-07-08 2004-01-08 Tsutomu Yamada Data format conversion method and equipment,and controller management system using data format conversion equipment
EP3316053A1 (en) * 2016-10-27 2018-05-02 Yokogawa Electric Corporation Engineering tool coordination device, engineering tool coordination method, and non-transitory computer readable storage medium

Also Published As

Publication number Publication date
DE102018214417B3 (en) 2019-07-25
CN110861080B (en) 2023-04-11
CN110861080A (en) 2020-03-06
US11491652B2 (en) 2022-11-08
US20200061818A1 (en) 2020-02-27

Similar Documents

Publication Publication Date Title
DE102012112900A1 (en) Numerical control program alignment by robots
DE102005047543A1 (en) 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
WO2002065223A2 (en) System for controlling and monitoring machines and/or systems with active components belonging to different active groups
DE102004030032B4 (en) System and method for configuring and parameterizing an automatable machine
EP2837981B1 (en) Method and device for the automated configuration of a monitoring function of an industrial robot
DE102017110469A1 (en) An information processing apparatus for processing processing information exchanged between a plurality of manufacturing cells
EP3620271A1 (en) Method for programming a robot as well as computing device and computer program
DE102004041469A1 (en) Workpiece measurement system for computerized numerical controlled production system, sets dimension parameters of workpiece in database based on which measuring program is generated
EP1522910A1 (en) Method and system for configuring a control system
EP0553621A1 (en) Programmable computer control for a machine tool
DE112005002185B4 (en) Method for operating an automation device or device for carrying out the method
EP0903654B1 (en) Control system for a palletisation installation
WO2017080647A1 (en) Method for the simplified modification of application programs for controlling an industrial plant
EP3420426B1 (en) Device and method for adapting a numerical control system to a machine to be controlled
DE202008003348U1 (en) control device
EP4121825A1 (en) Computer-implemented method for creating control data sets, cad-cam system and production system
WO2019202023A1 (en) System and method for mounting an item of switchgear cabinet equipment of modular construction
DE102017010678B4 (en) Method and system for specifying an application pattern command lexicon for inputting at least one robot command
WO2008113305A1 (en) Device for generating machining programs for a machine tool
EP2796953B1 (en) Numerical controller with indicator for preview in case of changes to the part program
EP3969970A1 (en) Method for displaying and operating production means, in particular for the plastics processing industry
EP3712724A1 (en) Automation device, method for operating the automation device and computer program
DE102016121788A1 (en) Configuration of an automation system
WO2019101345A1 (en) Method and device for planning a specific process system
WO2021032841A1 (en) System and method for controlling at least one machine, more particularly a collective of machines

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN PUBLISHED

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20200911

RBV Designated contracting states (corrected)

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20211118