System und Verfahren zur Steuerung zumindest einer Maschine, insbesondere eines Kollektivs von Maschinen System and method for controlling at least one machine, in particular a group of machines
Die vorliegende Erfindung betrifft ein System sowie ein Verfahren zur Steuerung zumindest einer Maschine, insbesondere ein System und ein Verfahren zur synchronen oder asynchronen Steuerung eines Kollektivs von Maschinen.The present invention relates to a system and a method for controlling at least one machine, in particular a system and a method for the synchronous or asynchronous control of a group of machines.
Grundsätzlich besitzt jede Maschine, wie diese im Folgenden definiert sein soll, für sich eine eigene individualisierte bzw. individuelle Maschinensprache, die sich aus definierten Befehlscodes zusammensetzt. Die diese Maschinensprache bildende Befehlsstruktur bzw. Befehlssyntax ist ausgebildet, damit die Maschine programmiert oder gesteuert bzw. aktiviert werden kann, um dieser zugedachte definierte oder ggfs, durch autonomes Planen erzeugte Funktionen auszuführen, auf Grund von welchen die Maschine dann mit der Umwelt interagiert. D.h. mittels der Maschinensprache steuert ein Benutzer die Maschine und gibt über entsprechende Befehle der Maschine Anweisungen, damit diese definierte Operationen durchführen kann. Diese Anweisungen können sich sowohl auf die Programmierung der Maschine (Setup) selbst als auch auf die tatsächliche Maschinensteuerung im Betrieb beziehen.In principle, each machine, as it is to be defined below, has its own individualized or individual machine language, which is composed of defined command codes. The command structure or command syntax that forms this machine language is designed so that the machine can be programmed or controlled or activated in order to carry out intended functions or, if necessary, generated by autonomous planning, on the basis of which the machine then interacts with the environment. In other words, a user controls the machine using machine language and gives the machine instructions using appropriate commands so that it can carry out defined operations. These instructions can refer to the programming of the machine (setup) itself as well as to the actual machine control during operation.
Ein Problem im Zusammenwirken von mehreren Maschinen unterschiedlicher Ausgestaltung besteht unter anderem darin, dass jeder Hersteller einer Maschine eine eigene, speziell für diese ausgebildete und entworfene Maschinensprache benutzt, die ggfs, auf einer eigenständigen Programmierlogik basiert und mit den Maschinensprachen der anderen Hersteller nicht kompatibel oder nur unter Einschränkungen kompatibel ist. Dies wirkt sich auch auf den Benutzer aus, der für jede Maschine eine andere Programmierung und andere Steuerungsbefehle verwenden und erlernen muss.One problem in the interaction of several machines of different design is that each manufacturer of a machine uses its own machine language specially trained and designed for it, which may be based on an independent programming logic and is incompatible or only incompatible with the machine languages of the other manufacturers is compatible with restrictions. This also affects the user who is responsible for each machine use and learn different programming and control commands.
Hierbei wird eine Maschine in Bezug auf die von dieser auszuführenden Operationen im Rahmen der vorgesehenen Programmiersprache vorab programmiert, um hierfür die entsprechenden Steuerbefehle zu generieren, die im Anschluss an die Programmierung dann ausgeführt werden sollen.Here, a machine is programmed in advance with regard to the operations to be carried out by it within the framework of the programming language provided, in order to generate the corresponding control commands for this purpose, which are then to be carried out after the programming.
In der Regel werden die Steuerbefehle, definiert als Befehlsgrößen, über eine Mensch-Maschine-Schnittsteile (HMI) eingegeben. Bei einer Maschine, bspw. einem Roboter eines Herstellers, kann die HMI ausgebildet sein, einen Steuerbefehl, z.B. „Bewege Effektor von Position A nach Position B", über eine individuell gestaltete graphische Benutzeroberfläche darzustellen, den der Benutzer dann betätigt. Die Steuerung eines Roboters eines anderen Herstellers kennt diesen Steuerbefehl auch, jedoch kann dieser im roboterseitigen Eingabe- und Steuerungssystem über andere Algorithmen implementiert sein und muss von einem Benutzer auf eine andere Art und Weise, bspw. rein textuell, programmiert bzw. aktiviert werden.As a rule, the control commands, defined as command variables, are entered via a human-machine interface (HMI). In the case of a machine, for example a robot from a manufacturer, the HMI can be designed to display a control command, for example “move effector from position A to position B”, via an individually designed graphical user interface, which the user then actuates from another manufacturer also knows this control command, but it can be implemented in the robot-side input and control system using other algorithms and must be programmed or activated by a user in a different way, for example purely textually.
So können sich folglich die einzelnen Steuerungssysteme von Maschinen, Robotern usw. voneinander so unterscheiden, dass für die Durchführung von ein und derselben Operation jeweils unterschiedliche Programmierschritte und/oder Befehlseingaben von einem Benutzer durchgeführt werden müssen, die sich hinsichtlich ihrer Komplexität und damit der Bedienerfreundlichkeit unterscheiden können. Selbstredend ist dies umständlich und aufwändig. Benutzer müssen auf jede Maschine separat geschult werden. Des Weiteren erweist es sich als nachteilig, dass spezifisches Expertenwissen betreffend einer Maschinen (programmier)spräche sowie der Funktionalität der Maschine selbst erforderlich ist. Hinzu kommt, dass bei einem Maschinenkollektiv, bei der unterschiedliche Maschinen beispielsweise an einer Produktionsstraße Zusammenarbeiten sollen, jede Maschine für sich separat programmiert und gesteuert wird, und diese Maschinen wiederum hinsichtlich ihres Zusammenwirkens aufeinander abgestimmt werden müssen. Ggfs. sind einzelne Maschinen hinsichtlich ihrer Ausgestaltung im Vorfeld gar nicht darauf ausgelegt worden, miteinander kooperieren zu können, geschweige denn miteinander zu kommunizieren. Unterschiedliche Maschinen, wie bspw. Roboter, Förderbänder, Werkzeugmaschinen, Sensoren usw. in einen gemeinsamen Kontext einer Produktionsanlage zu integrieren, so dass diese fehlerfrei und effektiv Zusammenarbeiten können, gestaltet sich daher als sehr aufwändig und zeitintensiv, mit damit einhergehendem Kostenaufwand.Consequently, the individual control systems of machines, robots, etc. can differ from one another in such a way that different programming steps and / or command inputs have to be carried out by a user to carry out one and the same operation, which differ in terms of their complexity and thus user-friendliness can. This is of course cumbersome and time-consuming. Users must be trained separately on each machine. Furthermore, it proves to be disadvantageous that specific expert knowledge relating to a machine (programming) would be required and the functionality of the machine itself. In addition, in the case of a collective of machines, in which different machines are to work together on a production line, for example, each machine is programmed and controlled separately, and these machines in turn have to be coordinated with one another with regard to their interaction. Possibly In terms of their design, individual machines were not designed in advance so that they could cooperate with one another, let alone communicate with one another. Integrating different machines, such as robots, conveyor belts, machine tools, sensors, etc. into a common context of a production system so that they can work together effectively and without errors is therefore very complex and time-consuming, with the associated costs.
Diese Schritte müssen stets vorab in der jeweils maschineneigenen Programmiersprache programmiert werden. Schon gar nicht wird dadurch eine gleichzeitige Abstimmung von mehreren, unterschiedliche Programmiersprachen nutzenden Maschinen, die im Zuge einer oder mehrerer Operationen Zusammenarbeiten sollen, möglich, d.h. eine während den einzelne durchgeführten Programmierungen quasi „live" realisierte Synchronisierung dieser, in ihren Programmier- und Befehlssprachen nicht kompatiblen Maschinen in Bezug auf die gemeinsam auszuführenden Operationen.These steps must always be programmed in advance in the machine's own programming language. It certainly does not allow simultaneous coordination of several machines using different programming languages which are to work together in the course of one or more operations, ie a quasi "live" synchronization of these in their programming and command languages during the individual programming carried out compatible machines with regard to the operations to be performed together.
Auch ist es denkbar, dass gleichartige Maschinen oder unterschiedliche Maschinen und Einheiten eines Kollektivs lokal verteilt sind, so dass eine einheitliche, gemeinsame und/oder gleichzeitige Steuerung durch einen Benutzer vor Ort nicht möglich ist. Vor diesem Hintergrund ist es eine Aufgabe der vorliegenden Erfindung, ein System zu schaffen und ein Verfahren bereitzustellen, mit Hilfe von welchen zumindest eine Maschine unabhängig von der dieser Maschine innewohnenden Maschinensprache auf einfache Art und Weise gesteuert werden kann. Insbesondere ist es jedoch eine Aufgabe der Erfindung, ein Kollektiv von in der Regel unterschiedlichen Maschinen zu steuern .It is also conceivable that machines of the same type or different machines and units of a collective are distributed locally, so that uniform, shared and / or simultaneous control by a user on site is not possible. Against this background, it is an object of the present invention to create a system and to provide a method with the aid of which at least one machine can be controlled in a simple manner independently of the machine language inherent in this machine. In particular, however, it is an object of the invention to control a group of generally different machines.
Gelöst werden diese Aufgaben mit einem System zur Steuerung nach Anspruch 1 und mit einem Verfahren zur Steuerung nach Anspruch 8.These objects are achieved with a system for control according to claim 1 and with a method for control according to claim 8.
In einem ersten Aspekt betrifft die Erfindung ein System zur Steuerung zumindest einer Maschine, der eine individuelle Maschinensprache zugeordnet ist, die definierte Befehlsgrößen umfasst, wobei im Zuge der Steuerung die Maschine zumindest eine Zustandsänderung erfährt, aufweisend: eine Mensch-Maschine-Schnittsteile, der eine Interaktionssprache zugeordnet ist, die definierte Befehlsgrößen umfasst; und zumindest ein Steuermodul, das ausgestaltet ist, in Abhängigkeit der Art der Maschine und/oder der dieser zugordneten Maschinensprache in Bezug auf eine Befehlsgröße der Interaktionssprache und/oder in Bezug auf eine Befehlsgröße der individuellen Maschinensprache zumindest eine Regelfunktion zu generieren, die ausgebildet ist, die Befehlsgröße der Interaktionssprache in eine zugehörige Befehlsgröße der individuellen Maschinensprache zu transformieren.In a first aspect, the invention relates to a system for controlling at least one machine, which is assigned an individual machine language that includes defined command variables, with the machine undergoing at least one change of state in the course of the control, comprising: a man-machine interface, the one Interaction language is assigned, which comprises defined command sizes; and at least one control module that is designed to generate at least one control function depending on the type of machine and / or the machine language assigned to it in relation to a command variable of the interaction language and / or in relation to a command variable of the individual machine language, which is designed to transform the command size of the interaction language into an associated command size of the individual machine language.
Im Rahmen dieser Offenbarung soll hierbei „Maschine" im Sinne eines Oberbegriffs als eine zu steuernde Einheit oder Komponente jeglicher Ausgestaltung verstanden werden, die eine oder mehrere Operationen in einer Interaktion mit der Umgebung, einem Gegenstand, einem Werkstück und/oder einem Menschen durchführen kann, und die beispielsweise umfassen kann:In the context of this disclosure, “machine” in the sense of a generic term is to be understood as a unit or component to be controlled, of any configuration, which one or more operations in an interaction with the Environment, an object, a workpiece and / or a person, and which can include, for example:
- Werkzeugmaschinen jeglicher Art- machine tools of any kind
- stationäre oder mobile Roboter,- stationary or mobile robots,
- Industrieroboter- industrial robots
Leichtbauroboter mit oder ohne Mensch-Roboter- KollaborationsfähigkeitenLightweight robots with or without human-robot collaboration capabilities
- Sensoren jeglicher Art- sensors of any kind
- Manipulatoren- manipulators
- Recheneinheiten- arithmetic units
- Beförderungseinheiten- transport units
- Simulationen- simulations
- Haushaltsgeräte- Domestic appliances
- medizinische und chirurgische Geräte- medical and surgical equipment
- Sortieranlagen und -Vorrichtungen- Sorting systems and devices
- autonome Fahrzeuge- autonomous vehicles
- mobile Plattformen- mobile platforms
- Signalanlagen- Signal systems
- usw., d.h. im Prinzip jede tatsächliche oder virtuelle Einheit, die zu ihrer Funktion und/oder Interaktion mit der Umwelt, die die Zustandsänderungen widerspiegeln, eine eigenständige- etc., i.e. in principle any actual or virtual unit that is independent for its function and / or interaction with the environment, which reflects the changes in state
Befehlsstruktur (d.h. Maschinensprache) aufweist, die von einem Benutzer herangezogen werden kann bzw. benutzt werden muss.Has command structure (i.e. machine language) that can or must be used by a user.
Unter „Befehlsgrößen" (oder auch Befehlscodes) im Rahmen dieser Offenbarung sollen alle Anweisungen verstanden werden, die aus einer Benutzereingabe resultieren können und die Maschine dazu veranlassen, eine bestimmte Funktion zu erfüllen und/oder eine bestimmte Operation auszuführen.“Command variables” (or also command codes) in the context of this disclosure are to be understood as meaning all instructions which can result from a user input and which cause the machine to fulfill a specific function and / or to carry out a specific operation.
In einem weiteren Aspekt der Erfindung ist das Steuermodul des Weiteren ausgestaltet, in Abhängigkeit der Art der Maschine und/oder der dieser zugordneten Maschinensprache in Bezug auf eine Zustandsgröße der Interaktionssprache und/oder in Bezug auf eine Zustandsgröße der individuellen Maschinensprache zumindest eine inverse Regelfunktion zu generieren, die ausgebildet ist, eine Zustandsgröße der individuellen Maschinensprache in eine zugehörige Zustandsgröße der Interaktionssprache zu transformieren.In a further aspect of the invention, the control module is also designed as a function of the type of machine and / or to generate at least one inverse rule function of the machine language assigned to this in relation to a state variable of the interaction language and / or in relation to a state variable of the individual machine language, which is designed to transform a state variable of the individual machine language into an associated state variable of the interaction language.
Dies dient einerseits der Feedback-Kontrolle innerhalb des Steuermoduls bei der Ausführung eines Befehls und andererseits in einem übergeordneten Kontext dann auch der Darstellung eines erfassten Zustands der Maschine oder einer Zustandsänderung der Maschine in bspw. einem Darstellungsmodul der HMI.This serves, on the one hand, for feedback control within the control module when executing a command and, on the other hand, in a higher-level context, then also to display a detected state of the machine or a change in state of the machine in, for example, a display module of the HMI.
Unter „Zustandsgrößen" (oder auch Signalgrößen, Zustandssignale) im Rahmen dieser Offenbarung sollen alle Größen verstanden werden, die im Zuge der durch die Befehlsgrößen erwirkten Zustandsänderungen der Maschine dem Steuermodul bzw. dem Benutzer über die Transformation in der Interaktionssprache dann eine Rückmeldung ermöglichen, inklusive von einen möglichen Einfluss nehmenden Störgrößen."State variables" (or also signal variables, state signals) in the context of this disclosure are to be understood as meaning all variables which then enable the control module or the user to provide feedback via the transformation in the interaction language in the course of the changes in the state of the machine caused by the command variables, including of a possible influencing disturbance.
Der Kern der Erfindung ist folglich darin zu sehen, dass in Bezug auf jegliche Regelgröße die Hin-Transformation über eine erste Regelfunktion zwischen der Interaktionssprache und der Maschinensprache auf der einen Seite und in Bezug auf jegliche Zustandsgröße die Rück-Transformation über eine inverse Regelfunktion zwischen der Maschinensprache und der Interaktionssprache auf der anderen Seite von dem System bzw. dem Verfahren gemäß der Erfindung programmtechnisch im weitesten Sinne als eine Ausführung eines Prozessrechenmodells abgebildet wird. Das Verfahren bzw. das System gemäß der Erfindung ermöglicht die Live-Steuerung zumindest einer Maschine durch einen Benutzer mit unmittelbarer Rückmeldung durch die Maschine, während die Maschine die vom Benutzer eingegebenen Befehle ausführt. Im Gegensatz zu einer Programmierung von Maschinen, die tatsächlich zeitlich vor Ausführung der aus den Befehlen resultierenden Operationen durchgeführt werden muss, erfolgt bei der Erfindung die Steuerung durch den Benutzer „on-the- fly", d.h. in Echtzeit. Es findet stets eine direkte Interaktion zwischen dem Benutzer und der/den Maschine/n statt; die aus den Regelfunktionen und inversen Regelfunktionen resultierenden Codes werden erzeugt, während das diesen zugrunde liegende Programm läuft. Mit anderen Worten, bei dem erfindungsgemäß implementierten Verfahren handelt es sich quasi um ein „Programming in the Loop".The essence of the invention can therefore be seen in the fact that, with regard to any control variable, the forward transformation via a first control function between the interaction language and the machine language on the one hand and with regard to any state variable, the reverse transformation via an inverse control function between the Machine language and the interaction language on the other hand are mapped by the system or the method according to the invention in the broadest sense of the program as an implementation of a process computing model. The method and the system according to the invention enable at least one machine to be controlled live by a user with immediate feedback from the machine while the machine is executing the commands entered by the user. In contrast to the programming of machines, which actually has to be carried out before the execution of the operations resulting from the commands, in the invention the control is carried out by the user "on the fly", ie in real time. There is always direct interaction between the user and the machine (s); the codes resulting from the control functions and inverse control functions are generated while the program on which they are based is running. In other words, the method implemented according to the invention is quasi a “programming in the loop ".
Wie bei einem gegenständlichen Mikrorechner, der Reglerprogramme beinhaltet, die in Abhängigkeit der Struktur und der Parameter der zu Grunde gelegten Reglergesetze konfiguriert und parametriert werden, wird gemäß der Erfindung ein virtueller Prozessrechner implementiert, wobei das System annimmt, wie die Reglerprogramme konfiguriert sein könnten, damit im Sinne eines entsprechenden Reglergesetzes die Regelfunktionen zur Transformation der Befehls- bzw. Zustandsgrößen generiert werden können, was den eigentlichen Abstraktionsprozess widerspiegelt.As with an objective microcomputer that contains controller programs that are configured and parameterized depending on the structure and the parameters of the underlying controller laws, a virtual process computer is implemented according to the invention, the system assuming how the controller programs could be configured with it in the sense of a corresponding control law, the control functions for transforming the command or state variables can be generated, which reflects the actual abstraction process.
Die Übertragung einer Befehlsgröße einer Interaktionssprache in eine entsprechende Befehlsgröße einer Maschinensprache kann daher allgemein als ein gerichtetes Zustandsraummodell beschrieben werden.The transfer of an instruction variable of an interaction language into a corresponding instruction variable of a machine language can therefore generally be described as a directed state space model.
Vereinfacht ausgedrückt stellt gemäß der Erfindung das systemseitige Steuermodul mit einem maschinenseitigen Steuermodul eine Kommunikation her, um eine in der Interaktionssprache des systemseitigen Steuermoduls hinterlegte Befehlsgröße, die einer definierten Operation entspricht, mit einer entsprechenden Befehlsgröße zu verknüpfen, die in der Maschinensprache des maschinenseitigen Steuermoduls hinterlegt ist, wobei das systemseitigeIn simple terms, according to the invention, the system-side control module establishes communication with a machine-side control module in order to establish a communication in the Interaction language of the system-side control module stored command variable, which corresponds to a defined operation, to link with a corresponding command variable that is stored in the machine language of the machine-side control module, the system-side
Steuermodul extern zu dem maschinenseitigen Steuermodul und diesem übergeordnet ist.Control module external to the machine-side control module and this is superordinate.
Der eigentliche Prozess der Transformation in beiden Richtungen ist im Grunde eine Abbildung mit Eingangsgrößen (= Regelgrößen der Interaktionssprache), Ausgangsgrößen (= Stell- /Regelgrößen in der Maschinensprache) und Zustandsgrößen (bspw. Sensorsignale über die Zustandsänderung), wobei ein ständiges Feedback bzw. eine Rückkopplung in Bezug auf die Regelfunktionen über die Zustandsgrößen und ggfs, einfließenden Störgrößen aktiv sein kann.The actual process of transformation in both directions is basically a mapping with input variables (= control variables of the interaction language), output variables (= manipulated / controlled variables in machine language) and state variables (e.g. sensor signals about the change in state), with constant feedback or a feedback with regard to the control functions via the state variables and, if applicable, influencing disturbances can be active.
Das erfindungsgemäße System funktioniert quasi analog wie ein „Simultanübersetzer" .The system according to the invention functions more or less analogously to a "simultaneous translator".
Dabei muss der Ablauf des Prozessrechenmodells nicht zwangsläufig deterministisch ausgelegt sein. Die über die Regelfunktion zu bestimmende zukünftige Ausgabe der Regelgröße muss nicht zwangsläufig vorab bekannt sein, da sich diese unter Umständen auch erst durch die Interaktion der Maschine mit der Umgebung ergeben kann, wobei die Zustandsänderung bspw. durch an der Maschine auftretende Kräfte oder durch Bewegungsmuster der Maschine wiedergegeben wird.The process of the process computing model does not necessarily have to be designed to be deterministic. The future output of the controlled variable to be determined via the control function does not necessarily have to be known in advance, since this may also only arise from the interaction of the machine with the environment, with the change in state, for example, due to forces occurring on the machine or due to movement patterns of the Machine is played.
Das so implementierte Prozessrechenmodell wird unter Berücksichtigung von Parametern und/oder Störgrößen einer ständigen Feedbackregelung unterzogen, bei denen es sich um tatsächliche, während der Zustandsänderung messbare physikalische Größen und/oder um virtuell erzeugte Größen handeln kann. In einer Weiterbildung des Systems kann das Steuermodul des Weiteren so ausgestaltet sein, dass die Regelfunktion in Abhängigkeit der inversen Regelfunktion und/oder umgekehrt generiert wird.The process computing model implemented in this way is subjected to constant feedback control, taking into account parameters and / or disturbance variables, which can be actual physical variables that can be measured during the change in state and / or virtually generated variables. In a further development of the system, the control module can furthermore be designed in such a way that the control function is generated as a function of the inverse control function and / or vice versa.
Des Weiteren kann das Steuermodul so ausgestaltet sein, dass die Regelfunktion und/oder die inverse Regelfunktion während der Zustandsänderung der Maschine geändert werden kann, und zwar beispielsweise in Abhängigkeit von vorgegebenen oder tatsächlichen Rückkopplungsparametern.Furthermore, the control module can be designed in such a way that the control function and / or the inverse control function can be changed during the state change of the machine, specifically, for example, as a function of specified or actual feedback parameters.
Mit anderen Worten, das System gemäß der Erfindung kann in funktionaler und/oder zeitlicher Hinsicht offen ausgelegt sein. Beispielsweise lassen sich den einzelnen Regelfunktionen Freigaben, d.h. was soll maschinenseitig auf alle Fälle realisiert werden, und Beschränkungen, d.h. was darf maschinenseitig auf keinen Fall eintreten, schritthaltend hinzufügen oder von diesen entfernen.In other words, the system according to the invention can be designed to be open in terms of function and / or time. For example, releases, i.e. what should be implemented on the machine side in any case, and restrictions, i.e. what must not occur on the machine side, can be added to or removed from the individual control functions.
Programmseitig wird durch das so gemäß der Erfindung realisierte Prozessrechenmodell für die Hin-Transformation von Befehlsgrößen und die Rück-Transformation von Zustandsgrößen eine Abstraktion einer für eine Maschine vorgegebenen individuellen Maschinensprache herbeigeführt.On the program side, the process computation model implemented according to the invention for the forward transformation of command variables and the reverse transformation of state variables brings about an abstraction of an individual machine language specified for a machine.
In einer bevorzugten Ausführungsform gemäß der Erfindung sind das System und das nachfolgend beschriebene Verfahren insbesondere auf eine Steuerung eines Kollektivs ausgelegt, das sich aus mehreren, unterschiedlichen Arten bzw. Klassen von Maschinen zusammensetzt.In a preferred embodiment according to the invention, the system and the method described below are designed, in particular, for controlling a collective which is composed of several different types or classes of machines.
Hierbei sind mehrere Maschinen vorgesehen, denen jeweils eine individuelle Maschinensprache zugeordnet ist, wobei das Steuermodul ausgestaltet ist, für jede Maschine jeweils zumindest eine entsprechende Regelfunktion und zumindest eine entsprechende inverse Regelfunktion zu generieren.Several machines are provided, each of which is assigned an individual machine language, the control module being designed for each machine to generate at least one corresponding control function and at least one corresponding inverse control function.
Die Maschinensprachen sind in der Regel nicht oder nur mit Einschränkungen miteinander kompatibel.The machine languages are usually not compatible with one another, or only with restrictions.
Das Kollektiv kann dabei als ein potentiell heterogenes System bzw. Netzwerk ausgebildet sein, bspw. eine Produktionsanlage bestehend aus mehreren Maschinen und Robotern, die jede(r) für sich unterschiedliche Aufgaben erfüllen und von unterschiedlichen Herstellern stammen und daher unterschiedliche, nicht miteinander kompatible Maschinensprachen aufweisen und nutzen.The collective can be designed as a potentially heterogeneous system or network, for example a production plant consisting of several machines and robots, each of which performs different tasks and comes from different manufacturers and therefore has different, incompatible machine languages and use.
Als „Kollektiv" im Rahmen dieser Offenbarung sollen folglich nicht nur physisch nicht miteinander gekoppelte, jedoch in irgendeiner Form zusammenarbeitende Maschinen, wie bei Produktionsanlagen, sondern auch physisch miteinander gekoppelte Systeme verstanden werden, wie beispielsweise ein Roboterarm, der an seinem distalen Ende einen Greifermechanismus trägt. Der Roboterarm stammt von einem ersten Hersteller und weist eine eigene Maschinensprache (=Robotersprache) auf, während der daran montierte Greifermechanismus von einem zweiten Hersteller stammt und eine von der Robotersprache getrennte, eigenständige Maschinensprache (=Greifersprache) aufweist.In the context of this disclosure, a "collective" should therefore be understood not only as machines that are not physically coupled to one another but that work together in some form, such as in production plants, but also systems that are physically coupled to one another, such as a robot arm that carries a gripper mechanism at its distal end The robot arm comes from a first manufacturer and has its own machine language (= robot language), while the gripper mechanism mounted on it comes from a second manufacturer and has an independent machine language (= gripper language) that is separate from the robot language.
Im Prinzip sind der physischen Ausgestaltung des Kollektivs zur Realisierung und Anwendung des erfindungsgemäßen Systems und Verfahrens keine Grenzen gesetzt. Die Mitglieder/Maschinen des Kollektivs können lokal und/oder global verteilt sein und über ein Netzwerk oder drahtlos miteinander verbunden werden.In principle, there are no limits to the physical configuration of the collective for implementing and using the system and method according to the invention. The members / machines of the collective can be distributed locally and / or globally and connected to one another via a network or wirelessly.
Vor diesem Hintergrund ist das Steuermodul des Weiteren ausgestaltet, die Regelfunktionen und die inverse Regelfunktionen in Bezug auf die Maschinen eines Kollektivs synchron oder asynchron zu generieren.Against this background, the control module is also designed, the control functions and the inverse Generate control functions in relation to the machines of a collective synchronously or asynchronously.
Mit anderen Worten, die Steuerung der einzelnen Maschinen des Kollektivs durch einen Benutzer über die Interaktionssprache kann individuell, gleichzeitig oder in Abhängigkeit des gewünschten Ablaufs des Kollektivs erfolgen.In other words, the control of the individual machines of the collective by a user via the interaction language can take place individually, simultaneously or as a function of the desired sequence of the collective.
Unabhängig von den Maschinensprachen und der Anzahl der Maschinen wird durch das System und das Verfahren gemäß der Erfindung programmseitig eine einheitliche Abstraktion in Bezug auf alle unterschiedlichen Maschinensprachen realisiert, die in einem Kollektiv von Maschinen vorliegen.Regardless of the machine languages and the number of machines, the system and the method according to the invention implement a uniform abstraction in the program with respect to all different machine languages that are present in a collective of machines.
Die Interaktionssprache fungiert quasi als eine Art Abstraktionssprache, wodurch ein einheitliches System zur Steuerung zumindest einer Maschine eines Kollektivs vorgeschlagen wird, das unabhängig von dem dieser Maschine innenwohnenden Steuerungssystem bzw. der hierfür jeweils vorgesehenen Programmierungsart und Maschinensprache herangezogen werden kann, da es in der Lage ist, mit allen verschiedenen Maschinensprachen von Maschinen, wie bspw. Robotern, der unterschiedlichsten Ausgestaltung bzw. von unterschiedlichen Herstellern zu kommunizieren.The interaction language functions as a kind of abstraction language, as a result of which a uniform system for controlling at least one machine of a collective is proposed, which can be used regardless of the internal control system of this machine or the programming type and machine language provided for this, since it is capable to communicate with all the different machine languages of machines, such as robots, of the most varied of designs or from different manufacturers.
Der Benutzer kann die vereinfachte Programmierung des übergeordneten Systems, die sich vorzugsweise durch eine einfache Bedienlogik (bspw. dialoggestützt, rein textuell oder über graphische Symbole) einer graphischen Benutzeroberfläche der HMI ausweisen kann, heranziehen, um einen Operationsbefehl auf das individuelle Steuerungssystem der Maschine zu übertragen, der von dieser dann ausgeführt wird, ohne dass der Benutzer in die ggfs. sehr komplizierte Logik des maschinenseitigen Steuerungssystems näher einsteigen muss. Ein Benutzer muss sich daher nicht mit allen am Markt befindlichen Programmieranweisungen von Steuerungssystemen unterschiedlicher Maschinen/Roboter im Detail befassen und sich in diese einarbeiten, um eine einfache Operation von der Maschine/dem Roboter oder gar von einem Kollektiv aus Maschinen/Robotern durchführen zu lassen, sondern kann sich ausschließlich des übergeordneten Systems bedienen, was hinsichtlich seiner Programmierung eine wesentlich einfachere Logik und daher bessere Benutzerfreundlichkeit aufweist.The user can use the simplified programming of the higher-level system, which can preferably be identified by a simple operating logic (e.g. dialog-based, purely textual or via graphic symbols) of a graphical user interface of the HMI, in order to transfer an operation command to the individual control system of the machine , which is then carried out by the latter without the user having to go into the possibly very complicated logic of the machine-side control system. A user therefore does not have to deal in detail with all the programming instructions on the market for control systems of different machines / robots and familiarize themselves with them in order to have a simple operation carried out by the machine / robot or even by a collective of machines / robots, but can only use the higher-level system, which has a much simpler logic in terms of its programming and therefore better user-friendliness.
Das übergeordnete System bildet quasi ein generalisiertes Betriebssystem für viele Maschinen, beispielsweise aller am Markt befindlichen Roboter. Es lässt sich auf einfache Art und Weise an neue Betriebs- bzw. Steuerungssysteme, sowie Maschinensprachen, von bestehenden oder neuen Maschinen- oder Robotersystemen und auch an neu durchzuführenden Operationen ohne großen programmiertechnischen Aufwand anpassen.The higher-level system forms, as it were, a generalized operating system for many machines, for example all robots on the market. It can be easily adapted to new operating or control systems, as well as machine languages, from existing or new machine or robot systems and also to new operations to be carried out without great programming effort.
Neben einer vereinfachten Bedienung über mehrere Maschinenklassen hinweg stellt sich durch die Bereitstellung und Realisierung des erfindungsgemäßen Systems und des nachfolgenden beschriebenen erfindungsgemäßen Verfahrens ein erheblicher Zeitgewinn bei der Steuerung, sowohl in Bezug auf die Programmierung (Setup) als auch Bedienung der Maschinen ein, was mit einem erheblichen wirtschaftlichen Vorteil einhergeht .In addition to simplified operation across several machine classes, the provision and implementation of the system according to the invention and the method according to the invention described below result in considerable time savings in control, both in terms of programming (setup) and operation of the machines significant economic advantage.
Darüber hinaus ermöglicht das erfindungsgemäße System auf einfache Art und Weise die gleichzeitige oder zeitlich versetzte Betätigung von Maschinen oder Maschinenkollektiven, die räumlich voneinander getrennt sind.In addition, the system according to the invention enables, in a simple manner, the simultaneous or staggered actuation of machines or machine groups that are spatially separated from one another.
Insbesondere ist das System der Erfindung auch dazu ausgelegt, eigenständig zu erkennen, mit welchem maschinenseitigen Steuersystem, d.h. mit welcher Maschinensprache es gerade verbunden ist bzw. kommunizieren soll, um dann eigenständig die für die gewünschte Befehlsgröße notwendigen „Übersetzungs- " bzw. Transformationsalgorithmen zur Generierung der Regelfunktionen zur Verfügung zu stellen. Ein solches autonomes „Mapping" kann durch entsprechende Learning- oder Deep Learning-Algorithmen oder neuronale Netze erfolgen bzw. implementiert werden.In particular, the system of the invention is also designed to independently recognize which machine-side control system, ie which machine language, it is currently using is connected or is to communicate in order to then independently provide the "translation" or transformation algorithms necessary for the desired command size for generating the control functions. Such an autonomous "mapping" can be achieved by means of appropriate learning or deep learning algorithms or neural Networks are made or implemented.
In diesem Zusammenhang betrifft die Erfindung auch ein Verfahren zur Steuerung zumindest einer Maschine, der eine individuelle Maschinensprache zugeordnet ist, die definierte Befehlsgrößen umfasst, mittels eines Steuermoduls, das mit einer Mensch-Maschine-Schnittsteile zusammenwirkt, der eine Interaktionssprache zugeordnet ist, die ebenfalls definierte Befehlsgrößen, umfasst, wobei im Zuge der Steuerung die Maschine eine Zustandsänderung erfährt, aufweisend die Schritte :In this context, the invention also relates to a method for controlling at least one machine that is assigned an individual machine language that includes defined command values, by means of a control module that interacts with a human-machine interface that is assigned an interaction language that is also defined Command variables, comprising, the machine experiencing a change of state in the course of the control, having the steps:
Erkennen der Art der Maschine und/oder der dieser zugeordneten Maschinensprache; in Abhängigkeit der Art der Maschine und/oder der dieser zugordneten Maschinensprache Generieren einer Regelfunktion in Bezug auf eine Befehlsgröße der Interaktionssprache und/oder in Bezug auf eine Befehlsgröße der individuellen Maschinensprache; undRecognizing the type of machine and / or the machine language assigned to it; depending on the type of machine and / or the machine language assigned to it, generating a control function in relation to a command variable of the interaction language and / or in relation to a command variable in the individual machine language; and
- Transformieren der Befehlsgröße der Interaktionssprache in eine zugehörige Befehlsgröße der individuellen Maschinensprache unter Anwendung der Regelfunktion.Transforming the command variable of the interaction language into an associated command variable of the individual machine language using the control function.
Des Weiteren umfasst das Verfahren die Schritte: in Abhängigkeit der Art der Maschine und/oder der dieser zugordneten Maschinensprache Generieren einer inversen Regelfunktion in Bezug auf eine Zustandsgröße der Interaktionssprache und/oder in Bezug auf eine Zustandsgröße der individuellen Maschinensprache; und Transformieren der Zustandsgröße der individuellen Maschinensprache in eine zugehörige Zustandsgröße der Interaktionssprache unter Anwendung der inversen Regelfunktion .Furthermore, the method comprises the following steps: as a function of the type of machine and / or the machine language assigned to it, generating an inverse control function in relation to a state variable of the interaction language and / or in relation to a state variable of the individual machine language; and Transforming the state variable of the individual machine language into an associated state variable of the interaction language using the inverse rule function.
Das Verfahren zeichnet sich weiter dadurch aus, dass die Regelfunktion in Abhängigkeit der inversen Regelfunktion und/oder umgekehrt generiert werden kann.The method is further characterized in that the control function can be generated as a function of the inverse control function and / or vice versa.
In einer Weiterbildung des Verfahrens kann die Regelfunktion und/oder die inverse Regelfunktion während der Zustandsänderung der Maschine geändert werden.In a further development of the method, the control function and / or the inverse control function can be changed during the state change of the machine.
Dies alles geschieht gemäß der Erfindung bei Ablauf bzw. Ausführung der zugrunde liegenden Operationen, d.h. „on-the- fly".According to the invention, this all takes place during the execution or execution of the underlying operations, i.e. "on the fly".
Vorzugsweise ist das Verfahren gemäß der Erfindung ausgebildet, dass, wenn mehrere Maschinen vorgesehen sind, denen jeweils eine individuelle Maschinensprache zugeordnet ist, eine Regelfunktion und eine inverse Regelfunktion für jede Maschine generiert wird, wobei die Regelfunktionen und die inversen Regelfunktionen in Bezug auf die Maschinen synchron oder asynchron generiert werden können.The method according to the invention is preferably designed so that if several machines are provided, each of which is assigned an individual machine language, a control function and an inverse control function are generated for each machine, with the control functions and the inverse control functions synchronously with respect to the machines or can be generated asynchronously.
Durch das erfindungsgemäße System bzw. Verfahren wird ein Benutzer in die Lage versetzt, eine Maschine oder ein Maschinenkollektiv über ein entsprechendes Netzwerk unmittelbar und in Echtzeit online zu steuern, und zwar unabhängig von der Art der Maschinen und ihren Programmier- und Befehlssprachen.The system or method according to the invention enables a user to control a machine or a collective of machines online directly and in real time via a corresponding network, regardless of the type of machines and their programming and command languages.
Weitere Merkmale und Vorteile der Erfindung ergeben sich aus der Beschreibung der anhand der beiliegenden Zeichnungen erläuterten Ausführungsbeispiele. Es zeigenFurther features and advantages of the invention emerge from the description with reference to the accompanying drawings illustrated embodiments. Show it
Fig. 1 eine schematische Darstellung einer Mensch-Maschine- Schnittsteile;1 shows a schematic representation of a human-machine interface;
Fig. 2 eine schematische Darstellung einer zu steuernden Maschine;2 shows a schematic representation of a machine to be controlled;
Fig. 3 eine schematische Darstellung eines Aufbaus eines erfindungsgemäßen Systems in Bezug auf die Steuerung einer einzigen Maschine K± ;3 shows a schematic representation of a structure of a system according to the invention in relation to the control of a single machine K± ;
Fig. 4 eine weitere schematische Darstellung eines Aufbaus eines erfindungsgemäßen Systems in Bezug auf die Steuerung einer einzigen Maschine K± ;4 shows a further schematic representation of a structure of a system according to the invention in relation to the control of a single machine K± ;
Fig. 5 eine schematische Darstellung eines Kollektivs von Maschinen;5 shows a schematic representation of a group of machines;
Fig. 6 eine Darstellung eines Roboters als ein physisch verbundenes Kollektiv; und6 shows a representation of a robot as a physically connected collective; and
Fig. 7 eine schematische Darstellung eines Aufbaus eines erfindungsgemäßen Systems in Bezug auf die Steuerung eines Kollektivs von Maschinen.7 shows a schematic representation of a structure of a system according to the invention in relation to the control of a group of machines.
In der Fig. 1 ist schematisch eine Mensch-Maschine- Schnittstelle HMI gezeigt, mit Hilfe von welcher ein Benutzer Eingabebefehle einer dieser HMI zugeordneten Interaktionssprache, visuell, textuell, durch Sprachsteuerung, über graphische Symbole oder eine Virtual-Reality-Vorrichtung über ein Eingabemodul EM eingeben kann. Gleichzeitig erhält der Benutzer über die HMI eine Rückmeldung über den Status einer durch das erfindungsgemäße System zu steuernden Maschine, Komponente oder Einheit bzw. eines zu steuernden Maschinenkollektivs .In Fig. 1, a man-machine interface HMI is shown schematically, with the help of which a user input commands of an interaction language assigned to this HMI, visually, textually, by voice control, via graphic symbols or a virtual reality device via an input module EM can enter. At the same time, the user receives feedback via the HMI about the status of a machine, component or unit to be controlled by the system according to the invention or of a collective of machines to be controlled.
Die Interaktionssprache bildet sozusagen die benutzerseitige Befehlssprache, die gemäß der Erfindung vorzugsweise einheitlich in Bezug auf alle Maschinen ausgelegt ist, mit denen das System Zusammenwirken soll. In der Interaktionssprache sind entsprechende Befehlsgrößen rl r ..., ri, hinterlegt bzw. vordefiniert. Handelt es sich bei der zu steuernden Maschine bspw. um einen Roboter, kann die Befehlsgröße r± bspw. bedeuten „Bewege den Roboter von Position A nach Position B", wobei die Art des Roboters und dessen inhärente Maschinensprache dem System und damit dem Benutzer zur Bedienung der Interaktionssprache nicht zwangsläufig bekannt sind.The interaction language forms, so to speak, the user-side command language which, according to the invention, is preferably designed uniformly with respect to all machines with which the system is to interact. Corresponding command values rlr ..., ri, are stored or predefined in the interaction language. If the machine to be controlled is, for example, a robot, the command variable r± can mean, for example, "Move the robot from position A to position B", whereby the type of robot and its inherent machine language are available to the system and thus to the user Operation of the interaction language are not necessarily known.
Die Maschinensprache der Maschine umfasst alle durch Befehlsgrößen definierten Instruktionen, die von der Maschine im Rahmen von Operationen direkt ausgeführt werden können, wobei die Menge und die formale Struktur bzw. Syntax dieser Instruktionen, also der Befehlssatz, sich von Maschine zu Maschine unterscheiden, selbst wenn die Maschinen im Rahmen der Umsetzung einer Befehlsgröße zu dem gleichen Ergebnis kommen. Bspw. ist ein sechsachsiger, positionsgeregelter Roboter eines ersten Herstellers mit einer ersten Maschinensprache (Maschinencode, Maschinenprogramm) ebenso wie ein sechsachsiger, positionsgeregelter, technisch unter Umständen unterschiedlich realisierter Roboter eines zweiten Herstellers mit einer zweiten Maschinensprache in der Lage, jeweils ihre Effektoren von der Position A zu der Position B zu bewegen, d.h. das Ergebnis bzw. die funktionale Leistung beider Roboter ist identisch, jedoch erfolgt hierfür die Ausführung über unterschiedliche Befehlsgrößen der Maschinensprache .The machine language of the machine includes all instructions defined by command variables that can be executed directly by the machine in the context of operations, whereby the quantity and the formal structure or syntax of these instructions, i.e. the command set, differ from machine to machine, even if the machines come to the same result when implementing a command variable. For example, a six-axis, position-controlled robot from a first manufacturer with a first machine language (machine code, machine program) as well as a six-axis, position-controlled, technically differently implemented robot from a second manufacturer with a second machine language is able to determine its effectors from the position A to the position B, ie the result or the functional performance of both robots is identical, but the execution takes place via different command values of the machine language.
In der Fig. 2 ist schematisch der Aufbau einer durch das System gemäß der Erfindung zu steuernden Maschine Ki gezeigt.In FIG. 2, the structure of a machine Ki to be controlled by the system according to the invention is shown schematically.
Diese Maschine Ki besitzt eine eigenständige, mit der benutzerseitigen Interaktionssprache hinsichtlich Art und Programmierung nicht identische Maschinensprache. In dieser Maschinensprache, die mit Maschinensprachen anderer Maschinen bzw. Maschinenklassen nicht identisch und nicht kompatibel sein muss, sind ebenfalls Befehlsgrößen Ri, ..., Ri hinterlegt, die hinsichtlich ihrer Ausführung, d.h. dem zu erzielenden Ergebnis, den Befehlsgrößen der Interaktionssprache entsprechen .This machine Ki has its own machine language which is not identical to the user interaction language in terms of type and programming. In this Machine language, which does not have to be identical and not compatible with machine languages of other machines or machine classes, are also stored command variables Ri, ..., Ri which correspond to the command variables of the interaction language with regard to their execution, ie the result to be achieved.
In dem genannten Beispiel bedeutet daher die Befehlsgröße Ri der Maschinensprache ebenso „Bewege den Roboter von Position A nach Position B", wobei die Befehlsgrößen R2 bis Ri weitere Befehle umfassen können, die im Anschluss an den Befehl Rx ausgeführt werden können.In the example mentioned, the command variable Ri of the machine language therefore also means "move the robot from position A to position B", the command variables R2 to Ri can include further commands that can be executedafter the command R x.
In der Fig. 3 ist schematisch der Aufbau eines erfindungsgemäßen Systems in Bezug auf die Steuerung einer einzigen Maschine K± gezeigt.In Fig. 3 the structure of a system according to the invention is shown schematically in relation to the control of a single machine K± .
Das System gemäß der Erfindung ist ausgelegt, bspw. durch eine entsprechende Programmierung in Bezug auf die Software oder zumindest eines Rechenkerns, in Bezug auf jede Befehlsgröße ri, ..., ri der Interaktionssprache jeweils zumindest eine Regelfunktion fi, ..., fi zu generieren, mit der diese Befehlsgrößen r1 ..., auf die dieser jeweils zugeordneten bzw. entsprechenden Befehlsgröße Ri, ..., Ri der Maschinensprache der Maschine Ki umgewandelt bzw. transformiert wird.The system according to the invention is designed, for example, by appropriate programming in relation to the software or at least one arithmetic core, in relation to each command variable ri, ..., ri of the interaction language in each case at least one control function fi, ..., fi generate with which these command values r1 ..., is converted or transformed to the respectively assigned or corresponding command variable Ri, ..., Ri of the machine language of the machine Ki.
Gemäß der Erfindung erfolgt dieser Vorgang derart, dass sich die Regelfunktionen fi, ..., fi über zumindest einen in der Software oder dem Rechenkern hinterlegten bzw. implementierten Algorithmus in Abhängigkeit der Art bzw. der Klasse der Maschine K±, bspw. einem sechsachsigen, positionsgesteuerten Roboter, der dieser Maschine K± innenwohnenden individuellen (in der Regel herstellerabhängigen) Maschinensprache und/oder der Art des Befehls selbst bestimmt. Tatsächlich muss hierzu die Befehlsstruktur bzw. Befehlssyntax der Interaktionssprache die Befehlsstruktur bzw. Befehlssyntax der Maschine Ki nicht kennen.According to the invention, this process takes place in such a way that the control functions fi,..., Fi are implemented via at least one algorithm stored or implemented in the software or the computing kernel depending on the type or class of the machine K± , for example a six-axis one , position-controlled robot that determines this machine K± internal individual (usually manufacturer-dependent) machine language and / or the type of command itself. In fact, the command structure or command syntax of the interaction language does not have to know the command structure or command syntax of the machine Ki for this purpose.
Die Maschine Ki selbst wird dabei als ein Rechnermodell einer Zustandsmaschine beschrieben, die im Zuge der Ausführung einer jeden Befehlsgröße eine Zustandsänderung erfährt, was in der Fig. 3 exemplarisch durch den Pfeil Z angegeben ist. In der einfachsten Form kann das Rechnermodell als eine Turing- Maschine beschrieben werden.The machine Ki itself is described as a computer model of a state machine which experiences a change of state in the course of the execution of each command variable, which is indicated by the arrow Z in FIG. In its simplest form, the computer model can be described as a Turing machine.
Hierbei muss die Zustandsänderung nicht zwangsläufig dynamischer Natur sein. Bei der Maschine Ki kann es sich beispielsweise auch um einen Sensor jeglicher Art handeln, dessen aktueller Zustand, d.h. Messwert, über eine entsprechende Eingabe in der Interaktionssprache mittels einer Befehlsgröße r2 abgefragt wird, z.B. im Sinne von „Ermittle vorherrschende Temperatur", indem das Steuermodul des Systems eine entsprechende Regelfunktion f2 erzeugt, die diese Eingabe auf die Regelgröße R2 der Maschinen (sensor)spräche im Sinne von „Ermittle vorherrschende Temperatur" des Sensors abbildet. Die Temperatur als eine Zustandsgröße bzw. ein Zustandssignal kann dann an das Steuermodul bzw. die HMI zur Darstellung bzw. Übermittlung der Information an den Benutzer zurück transferiert werden, was im Folgenden im Zusammenhang mit Fig. 4 erläutert werden soll.The change of state does not necessarily have to be of a dynamic nature. The machine Ki can, for example, also be a sensor of any type whose current state, ie measured value, isqueried via a corresponding input in the interaction language by means of a command variable r 2 , e.g. in the sense of "Determine prevailing temperature" by the The system's control modulegenerates a corresponding control function f 2 , which maps this input to the controlled variable R2 of the machine (sensor) in the sense of "Determine the prevailing temperature" of the sensor. The temperature as a state variable or a state signal can then be transferred back to the control module or the HMI for displaying or transmitting the information to the user, which is to be explained below in connection with FIG. 4.
Gemäß der Erfindung ist das Steuermodul des Weiteren dazu ausgelegt, dass im Zuge der Generierung der Regelfunktionen flf ..., fi eine ständige Rückkopplung von den Befehlsgrößen R2, ..., Ri der Maschine K2 erfolgt, was sinnbildlich durch die Pfeile Ui, ..., Ui dargestellt ist.According to the invention, the control module is also designed so that in the course of generating the control functions flf ..., fi there is constant feedback from the commandvariables R 2 , ..., Ri of the machine K2 , which is symbolized by the arrows Ui, ..., Ui is shown.
Die Erfindung zeichnet sich folglich dadurch aus, dass sie zur Kommunikation zwischen einer benutzerseitig definierten Interaktionssprache und einer vorgegebenen, individualisierten Maschinensprache virtuell ein Prozessrechenmodell implementiert, im weitesten Sinne die Grundstruktur eines Regelkreises, bei dem tatsächliche und/oder virtuelle Zustandsgrößen und/oder Störgrößen in die Feedback-Kontrolle mit einfließen. Gemäß der Erfindung wird ein solcher Regelkreis vorzugsweise programmtechnisch virtuell erzeugt, mit den einzelnen Befehlsgrößen als virtuelle Regelgrößen.The invention is consequently characterized in that it is defined for communication between a user Interaction language and a given, individualized machine language virtually implements a process computing model, in the broadest sense the basic structure of a control loop in which actual and / or virtual state variables and / or disturbance variables are included in the feedback control. According to the invention, such a control loop is preferably generated virtually in a program, with the individual command variables as virtual control variables.
Um zu erkennen, ob und in welchem Umfang die Zustandsänderung (bspw. „Roboter hat sich von Position A zu Position B bewegt") der jeweils zu steuernden Maschine erfolgt ist, muss dem System (und damit dem Benutzer über die HMI) eine entsprechende Rückmeldung geliefert werden.In order to recognize whether and to what extent the status change (e.g. "Robot has moved from position A to position B") of the machine to be controlled has occurred, the system (and thus the user via the HMI) must receive a corresponding feedback to be delivered.
Dies ist exemplarisch in Fig. 4 dargestellt.This is shown as an example in FIG. 4.
Der Maschinensprache der Maschine K± ist ein Satz von Zustandsgrößen Si, ..., Si zugeordnet. Diese Zustandsgrößen Si, ..., Si wiederum entsprechen einem Satz von in der Interaktionssprache definierten äquivalenten Zustandsgrößen si,A set of state variables Si, ..., Si is assigned to the machine language of the machine K±. These state variables Si, ..., Si in turn correspond to a set of equivalent state variables si, defined in the interaction language,
..., Si...., Si.
Gemäß der Erfindung ist das zumindest eine Steuermodul des Weiteren so ausgestaltet, dass in Bezug auf eine Zustandsgröße Si, ..., si der Interaktionssprache jeweils zumindest eine inverse Regelfunktion fi1, ..., fi_1 generiert wird, die ausgebildet ist, eine entsprechende Zustandsgröße Si, ..., Si der Maschine Ki in die zugehörige Zustandsgröße si, ..., si der Interaktionssprache zu transformieren bzw. abzubilden.According to the invention, the at least one control module is further designed such that at least one inverse control function fi1 , ..., fi_1 is generated in relation to a state variable Si, ..., si of the interaction language, which is designed to be a to transform or map the corresponding state variable Si, ..., Si of the machine Ki into the associated state variable si, ..., si of the interaction language.
Auch hier folgt die Generierung der inversen Regelfunktion dem erfindungsgemäßen Ansatz, die Kommunikation zwischen der Maschinensprache und der Interaktionssprache als ein Prozessrechenmodell abzubilden, wobei hierfür entsprechende Algorithmen im Steuermodul ablegt sind.Here too, the generation of the inverse control function follows the approach according to the invention, the communication between the machine language and the interaction language as one To map process computing model, with corresponding algorithms being stored in the control module.
Sowohl die Hin-Transformation in Bezug auf eine Regelgröße über die Generierung einer Regelfunktion fi als auch die Rück- Transformation in Bezug eine Zustandsgröße, die mit der Regelgröße in einem funktionalen Zusammenhang stehen kann, über die Generierung einer inversen Regelfunktion f^1 bewirkt an der Schnittstelle zur Interaktionssprache eine einheitliche Abstraktion über alle zu steuernden Maschinen K± , vorzugsweise einer Klasse, hinweg. Die Ausgabe der so erhaltenen Information (erreichte Position, Temperatur, usw.) kann dem Benutzer über ein entsprechend ausgebildetes Darstellungsmodul DM vermittelt werden.Both the forward transformation in relation to a controlled variable via the generation of a control function fi and the reverse transformation in relation to a state variable that can be functionally related to the controlled variable via the generation of an inverse control function f ^1 effected on the Interface to the interaction language a uniform abstraction across all machines to be controlled K± , preferably one class. The output of the information obtained in this way (position reached, temperature, etc.) can be conveyed to the user via a correspondingly designed display module DM.
Der Benutzer benötigt gemäß der Erfindung daher nur eine einzige Interaktionssprache mit einem definierten Befehlssatz, um Maschinen, Komponenten und/oder Maschinenansammlungen zu steuern bzw. mit diesen zu kommunizieren. Die Interaktionssprache ist dabei vorzugsweise bedienerfreundlich und leicht verständlich ausgelegt, bspw. über eine App- Steuerung auf einer graphischen Benutzeroberfläche, und im Verhältnis zu allen Maschinensprachen der zu steuernden Maschinen unabhängig und autark.According to the invention, the user therefore only needs a single interaction language with a defined set of instructions in order to control machines, components and / or machine collections or to communicate with them. The interaction language is preferably designed to be user-friendly and easy to understand, for example via an app control on a graphical user interface, and is independent and self-sufficient in relation to all machine languages of the machines to be controlled.
Das erfindungsgemäße System ist daher ausgelegt, die Abstraktion über alle unterschiedlichen Maschinensprachen hinweg durch vorgegebene, im System implementierte Algorithmen, dadurch zu bewerkstelligen, dass alle möglichen virtuellen und/oder tatsächlichen Parameter in Bezug auf das durch diese Algorithmen realisierte Prozessrechenmodell, wie Regelgrößen, Zustandsgrößen als auch mögliche Störgröße (bspw. Latenzen) berücksichtigt werden. In einer bevorzugten Ausführungsform wird das System jedoch verwendet, um ein vorzugsweise potentiell heterogen verteiltes Kollektiv von Maschinen, Komponenten oder Einheiten zu steuern .The system according to the invention is therefore designed to accomplish the abstraction across all different machine languages by means of predetermined algorithms implemented in the system, in that all possible virtual and / or actual parameters in relation to the process calculation model implemented by these algorithms, such as controlled variables, state variables as possible disturbance variables (e.g. latencies) can also be taken into account. In a preferred embodiment, however, the system is used to control a preferably potentially heterogeneously distributed collective of machines, components or units.
Fig. 5 zeigt schematisch ein solches Kollektiv bestehend aus den Maschinen Kx bis K9 .5 schematically shows such a collective consisting of machines Kx to K9 .
Jede Maschine Kx bis K für sich erfährt eine Zustandsänderung Zi bis Z , die sich im Zuge der Steuerung einstellt.Each machine Kx to K experiences a change of state Zi to Z, which occurs in the course of the control.
Die Maschinen selbst müssen in keinem funktionalen Zusammenhang stehen und können sich auch an unterschiedlichen Orten befinden. Sie können jedoch auch Zusammenarbeiten, ohne dass sie miteinander kompatible Maschinensprachen besitzen müssen, beispielsweise im Rahmen einer gemeinsamen Produktionsanlage, was exemplarisch durch die Pfeile A, B dargestellt ist. Z. Bsp. kann es sich bei der Maschine K um eine Werkzeugmaschine handeln, die von einem Roboter K bestückt wird, indem dieser Werkstücke einem Förderband K entnimmt und diesem nach der Bearbeitung wieder übergibt.The machines themselves do not have to be functionally related and can also be located in different locations. However, they can also work together without having to have mutually compatible machine languages, for example within the framework of a joint production facility, which is shown by way of example by the arrows A, B. For example, the machine K can be a machine tool that is equipped by a robot K in that it removes workpieces from a conveyor belt K and transfers them again after processing.
Obwohl die Maschinen K bis K für sich unterschiedliche, miteinander nicht kompatible Maschinensprachen besitzen, erfolgt die Kommunikation der Maschinen untereinander, deren Steuerung und ggfs. auch Programmierung über das Abstraktionsprinzip gemäß dem erfindungsgemäßen Verfahren mit der Interaktionssprache als einheitliche Befehlssprache für alle Maschinen K7 bis K9 .Although the machines K to K have different, mutually incompatible machine languages, the communication between the machines, their control and possibly also programming takes place via the abstraction principle according to the inventive method with the interaction language as the uniform command language for all machines K7 to K9 .
Bei dem Kollektiv kann es sich jedoch auch um mehrere Komponenten einer einzigen, eigenständigen Maschine handeln, die funktional Zusammenwirken, wie beispielsweise ein Roboterarm K eines Herstellers, der an seinem distalen Ende einen Greifermechanismus K eines anderen Herstellers trägt, wie dies exemplarisch in der Fig. 6 dargestellt ist, wobei der Roboterarm K3, bzw. seine Steuerung/Maschinensprache, und der Greifermechanismus K5, bzw. seine Steuerung/Maschinensprache nur teilweise oder gar keine Informationen voneinander haben können.The collective can, however, also be several components of a single, independent machine that functionally interact, such as a robot arm K from one manufacturer that carries a gripper mechanism K from another manufacturer at its distal end, as shown by way of example in FIG. 6, the robot arm K3 , or its control / machine language, and the gripper mechanism K5 , or its control / machine language, being able to have only partial or no information from one another.
In der Fig. 7 ist schematisch die Steuerung eines Kollektivs nach dem erfindungsgemäßen Verfahren gezeigt.In FIG. 7 the control of a collective according to the method according to the invention is shown schematically.
Jede Maschine K2 und K2 weist jeweils einen Satz von Befehlsgrößen (Ri, ..., Ri)Ki und (Ri, ..., R2)K2 in deren eigener Maschinensprache auf. Ebenso ist jeder Maschine K2 und K2 ein Satz von Zustandsgrößen (Si, ..., Si)Ki und (S1, ..., S2)K2 zugeordnet, die bereits vorhanden sind (bspw. vorhandene Temperatur) oder sich durch eine Zustandsänderung infolge der Steuerung erst einstellen (bspw. dann geänderte Temperatur).Each machine K2 and K2 has a set of command variables (Ri, ..., Ri) Ki and (Ri, ..., R2) K2 in their own machine language. Likewise, each machine K2 and K2 is assigned a set of state variables (Si, ..., Si) Ki and (S1 , ..., S2) K2 , which are already present (e.g. existing temperature) or are only set by a change of state as a result of the control (e.g. then changed temperature).
Gemäß der Erfindung wird daher dann in Bezug auf jede Regelgröße ein entsprechender Satz Fi von Regelfunktionen f - fi für die Maschine K2 und Satz F2 von Regelfunktionen f - f2 für die Maschine K2 und in Bezug auf jede Zustandsgröße ein entsprechender Satz Fi-1 von inversen Regelfunktionen fi_1 - f^1 für die Maschine K2 und F2_1 von inversen Regelfunktionen fi_1 - fi1 für die Maschine K2 erzeugt, wie dies im Zusammenhang mit den Figuren 3 und 4 vorhergehend erläutert wurde.According to the invention, a corresponding set Fi of control functions f-fi for machine K2 and set F2 of control functions f-f2 for machine K2 and, with regard to each state variable, a corresponding set Fi-1 generated by inverse control functions fi_1 - f ^1 for machine K2 and F2_1 by inverse control functions fi_1 - fi1 for machine K2 , as was explained above in connection with FIGS. 3 and 4.
Dadurch lässt sich eine einheitliche Abstraktion über alle Maschinenklassen bzw. -arten und deren Maschinensprachen hinweg realisieren.This enables a uniform abstraction to be implemented across all machine classes or types and their machine languages.
Die Erzeugung der einzelnen Regelfunktionen ist durch vorgegebene und/oder anpassbare und/oder über (Deep) Learning- Algorithmen möglich, die im Steuermodul (Software, Rechenkern) implementiert sind. Dadurch wird ein formales Interaktionsmodell, also eine Art Interaktionssteuerung geschaffen, mit der der Benutzer unterschiedliche, hinsichtlich ihrer Maschinensprache zwangsläufig nicht miteinander kompatible Maschinen, einzeln, d.h. asynchron, oder synchron betätigen kann, so dass diese Maschinen in einem höheren Ablaufkontext integriert sind, wie dies z.B. bei einer aus unterschiedlichen Maschinen bestehenden Produktionsanlage der Fall wäre.The generation of the individual control functions is possible by means of predefined and / or adaptable and / or (deep) learning algorithms that are implemented in the control module (software, calculation core). This creates a formal interaction model, a kind of interaction control created, with which the user can operate different machines that are inevitably incompatible with one another in terms of their machine language, i.e. asynchronously or synchronously, so that these machines are integrated in a higher process context, as is the case, for example, with a production system consisting of different machines would.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102019005787.2ADE102019005787A1 (en) | 2019-08-20 | 2019-08-20 | System and method for controlling at least one machine, in particular a group of machines |
| PCT/EP2020/073341WO2021032841A1 (en) | 2019-08-20 | 2020-08-20 | System and method for controlling at least one machine, more particularly a collective of machines |
| Publication Number | Publication Date |
|---|---|
| EP4018275A1true EP4018275A1 (en) | 2022-06-29 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP20764589.6AWithdrawnEP4018275A1 (en) | 2019-08-20 | 2020-08-20 | System and method for controlling at least one machine, more particularly a collective of machines |
| Country | Link |
|---|---|
| US (1) | US12405595B2 (en) |
| EP (1) | EP4018275A1 (en) |
| JP (1) | JP2022545803A (en) |
| KR (1) | KR20220050953A (en) |
| CN (1) | CN114375427A (en) |
| DE (1) | DE102019005787A1 (en) |
| WO (1) | WO2021032841A1 (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102767843B1 (en) | 2022-10-14 | 2025-02-18 | 한국생산기술연구원 | Method for generating an artificial intelligence to check delay time of facility and method for control of said facility using the same |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3668653A (en)* | 1968-10-22 | 1972-06-06 | Sundstrad Corp | Control system |
| GB2350442A (en)* | 1999-05-18 | 2000-11-29 | Falcon Machine Tools Co Ltd | Computerised numerical controller with profile path editor |
| DE102012217573A1 (en)* | 2012-09-27 | 2014-03-27 | Krones Ag | Operating system for a machine |
| US9308647B2 (en)* | 2014-06-03 | 2016-04-12 | Bot & Dolly, Llc | Systems and methods for instructing robotic operation |
| US10675761B2 (en)* | 2016-10-14 | 2020-06-09 | Magic Leap, Inc. | Mode architecture for general purpose robotics |
| CN108390877B (en)* | 2018-02-26 | 2020-08-28 | 阳光电源股份有限公司 | Communication protocol conversion method and communication protocol converter |
| DE102019100766A1 (en)* | 2018-08-07 | 2020-02-13 | Still Gmbh | Remote-controlled industrial truck |
| US20200364173A1 (en)* | 2018-09-04 | 2020-11-19 | All Axis Robotics, LLC | Universal bridge controller for machine language interpretive collaborative robot and machine interface |
| Publication number | Publication date |
|---|---|
| CN114375427A (en) | 2022-04-19 |
| KR20220050953A (en) | 2022-04-25 |
| WO2021032841A1 (en) | 2021-02-25 |
| JP2022545803A (en) | 2022-10-31 |
| DE102019005787A1 (en) | 2021-02-25 |
| US20220283568A1 (en) | 2022-09-08 |
| US12405595B2 (en) | 2025-09-02 |
| Publication | Publication Date | Title |
|---|---|---|
| DE102015004932B4 (en) | Simulation device for several robots | |
| DE102004030032B4 (en) | System and method for configuring and parameterizing an automatable machine | |
| EP1385071B1 (en) | Method for exchanging data between machine controllers, specially robot controllers | |
| DE102010045528B4 (en) | A scaffolding and method for controlling a robotic system using a distributed computer network | |
| DE3587034T3 (en) | Method and device for controlling automatic devices. | |
| DE19853205A1 (en) | Process for controlling technical processes | |
| EP2098925A1 (en) | Method and device for programming and/or configuring a safety controller | |
| DE102016013434A1 (en) | Sequence control programmer, sequencing program and workstation | |
| WO2014173470A1 (en) | Numeric controller with notification of a cam system in the event of a change in the subroutine | |
| EP3803522B1 (en) | Method for producing or machining a product and control device for controlling a production system | |
| DE102017120221A1 (en) | Control unit, work control device, multi-axis motion control device and drive control device | |
| EP3082002B1 (en) | Safety control and method for controlling an automated system | |
| DE102014219711A1 (en) | Method for power plant simulation | |
| EP4018275A1 (en) | System and method for controlling at least one machine, more particularly a collective of machines | |
| EP3710900B1 (en) | Method and system for defining or learning a robot command | |
| EP4123396B1 (en) | Technique for implementing visualization for an automation system with a programmable controller | |
| EP3548975B1 (en) | Control of a technical process on a multi computing core installation | |
| EP2341405B1 (en) | Method for operating a machine | |
| EP2037341B1 (en) | Programming system | |
| EP3757688B1 (en) | Method for configuring an industrial machine | |
| WO2006032632A1 (en) | Method for operating an automation device and/or device for carrying out said method | |
| EP3764178A1 (en) | Method for integrating a machine or a module, interface for integration, computer program, and computer-readable medium | |
| EP3712724A1 (en) | Automation device, method for operating the automation device and computer program | |
| DE102012108490B4 (en) | Method and simulation environment for flexible automated connection of submodels | |
| DE102022112439B3 (en) | Safe robot |
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent | Free format text:STATUS: UNKNOWN | |
| STAA | Information on the status of an ep patent application or granted ep patent | Free format text:STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE | |
| 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: REQUEST FOR EXAMINATION WAS MADE | |
| 17P | Request for examination filed | Effective date:20220225 | |
| 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 | |
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| 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:20230512 | |
| STAA | Information on the status of an ep patent application or granted ep patent | Free format text:STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN | |
| 18D | Application deemed to be withdrawn | Effective date:20230923 | |
| 19U | Interruption of proceedings before grant | Effective date:20231101 | |
| 19W | Proceedings resumed before grant after interruption of proceedings | Effective date:20251201 |