WO2024088531A1 - Method for the automated creation of a graphical user interface and computer-program-based editor - Google Patents
Method for the automated creation of a graphical user interface and computer-program-based editor Download PDFInfo
- Publication number
- WO2024088531A1 WO2024088531A1 PCT/EP2022/079966 EP2022079966W WO2024088531A1 WO 2024088531 A1 WO2024088531 A1 WO 2024088531A1 EP 2022079966 W EP2022079966 W EP 2022079966W WO 2024088531 A1 WO2024088531 A1 WO 2024088531A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user
- control element
- data
- graphical
- computer program
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/4093—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/409—Numerical 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 using manual data input [MDI] or by using control panel, e.g. controlling functions with the panel; characterised by control panel details or by setting parameters
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32128—Gui graphical user interface
Definitions
- the invention relates to a method for the automated creation of a graphical user interface of a human-machine interface for an industrial machine control system. Furthermore, the invention relates to a computer program-based editor for carrying out the method according to the invention.
- machine in the sense of the invention includes individual machines, but also systems and/or production lines which have a plurality of individual machines, in particular those which are connected to one another in terms of process technology.
- HMI human-machine interface
- the machine itself is controlled by a computer-aided control device, in particular a controller, which is able to process data from the machine in real time and, based on this, to transmit corresponding control values to the machine or its components.
- a computer-aided control device in particular a controller, which is able to process data from the machine in real time and, based on this, to transmit corresponding control values to the machine or its components.
- the controller is programmed using PLC or CNC programming (PLC: Programmable Logic Controller; CNC: Computerized Numerical Control) so that the machine can carry out its intended functions as an interaction of all components.
- PLC Programmable Logic Controller
- CNC Computerized Numerical Control
- GUI graphical user interface
- the invention is therefore based on the object of enabling non-specialist users to create graphical user interfaces of a human-machine interface for an industrial machine control system that is optimized in terms of its usability.
- the invention proposes a method for the automated creation of a graphical user interface of a human-machine interface for an industrial machine control system, in which data points are specified by the computer program and/or defined by the user, each data point representing a machine-related value and in which on the computer program side, depending on a user-side selection of at least one data point, at least one already created and retrievably stored graphical control element is proposed for displaying and/or controlling the machine-related values associated with the at least one data point or at least one new graphical control element is proposed for displaying and/or controlling the machine-related values associated with the at least one
- the invention proposes a software editor for carrying out the method according to the invention for the automated creation of a graphical user interface of a human-machine interface of an industrial machine and/or system control, comprising its own graphical user interface with a first selection area in which data points can be positioned in a user-selectable manner, with a second selection area in which at least one graphical control element created by the computer program can be positioned in a user-selectable manner, and with a display area which displays the graphical user interface of the human-machine interface to be created.
- a relative position in the display area can be assigned to a graphical control element by the user and/or the computer program and the graphical control element can be positioned by the user and/or the computer program in accordance with the assigned position, and comprising a data storage device, in particular a database, for storing data points, metadata and graphical control elements, wherein the data storage device, in particular the database, is in data communication with the graphical user interface.
- the present invention basically supports any non-specialist user, but in particular the PLC programmer, in creating the graphical user interface of the MMS in that he can specify a data point for the MMS and, using the computer program-supported method according to the invention, propose or create a suitable graphical control element that is optimized in terms of usability.
- corresponding graphical control elements can be stored in a prepared form and linked to known data points via a database.
- the computer program allows the user to link specified and/or self-defined data points with corresponding metadata.
- the computer program it is possible for the computer program to carry out a more in-depth analysis of the data point using the metadata and, based on this, to create at least one new graphical control element and/or to suggest a previously created control element that can be retrieved.
- the function of a separate MMS designer can therefore be completely taken over by the method according to the invention and the editor according to the invention with maximum automation.
- “Position” and “positionable” in the sense of the invention means that a graphical control element of the MMS is added at a specific logical position that relates it to other graphical control elements and/or according to predefinable parameters, and not that it is fixed at a specific position in the sense of concrete coordinates (x,y).
- manipulated variables are values that influence the production process and are specified from outside. These are the so-called manipulated variables.
- One manipulated variable is in particular the production speed.
- One state variable is in particular an error message.
- Each data point has a programmatic meaning, which is preferably defined by metadata. It is preferably provided that at least one data point is provided with metadata in which at least the data type of the data point is specified.
- a data point associated with the production speed is represented by metadata comprising a specific data type, in particular a floating point number, and a physical unit is defined.
- a data point associated with an error message is defined by metadata comprising an error code in the form of the data type of an integer and an error text in the form of the data type of a text (string).
- the data points for creating the at least one graphical control element are displayed in a first selection area for a user to select. This allows the user to select data points that have already been specified by the program. Furthermore, it is preferably provided that data points previously defined by the user are also displayed in this first selection area.
- control element proposed or created by the computer program or several such control elements for different data points or for the same data point are displayed in a selection area.
- the selection area can be the first selection area or it can preferably be a second selection area that is spatially separated from the first selection area.
- the at least one graphic control element can then be selected by the user and placed in a display area at a freely selectable position, in particular by means of drag & drop.
- the display area represents at least part of the graphical user interface of the MMS to be created.
- the automation implemented using a computer program in the sense of “replacing a GUI designer” is limited to the suggestion or creation of a graphic design for the graphical control element and otherwise leaves the user with extensive design freedom when creating the GUI. Nevertheless, this already achieves a significant optimization of the later GUI in terms of usability, which contributes advantageously to clear and simple control of the machine or system and its operational reliability.
- a complete GUI is created based on the given data points and preferably depending on the metadata linked to the data points, as well as predefinable parameters, such as usability parameters and/or display parameters.
- the computer program side selects and/or creates graphical control elements that match the data points and the positioning of all graphical control elements is coordinated in such a way that a GUI is produced that is optimized in terms of the resulting usability.
- the created GUI is preferably then displayed to the user in the display area.
- the GUI created in this way and displayed in the display area is preferably editable, so that the user has the option in particular of changing the positions of individual graphical control elements.
- the at least one graphical control element is selected by the user, whereby a position in a display area, which represents the graphical user interface to be created, is determined by the computer program depending on predeterminable parameters, such as in particular usability parameters and/or display parameters, and the graphical control element is positioned by the computer program according to the previously determined position in the display area.
- At least one further graphical control element is displayed on the computer program side in a user-selectable manner depending on a user-selected selection of a further data point, a position for the first and the further graphical control element in the display area is determined in mutual dependence and depending on the predeterminable usability parameters, and then the further graphical control element is positioned in the display area according to the previously determined position without the existing position of the first graphical control element being changed or the further graphical control element is positioned in the display area according to the previously determined position and the first graphical control element is repositioned in the display area according to a newly determined position.
- Usability parameters in the sense of the invention preferably comprise design specifications that can be specified and called up by the computer program and which, in conjunction with the metadata of the data points, in particular with the data types, allow the computer program to arrange the graphical control elements in a way that is optimized for the subsequent user experience (UX), under which usability is to be subsumed as a partial aspect.
- specifications can be included according to which control elements for data points with matching or similar data types are to be arranged in groups in terms of position and control elements for data points with different data types are to be arranged at a distance from one another in terms of position. This would serve the purpose of visually displaying control elements for manipulated variables on the one hand and for state variables on the other hand as separate from one another.
- Display parameters within the meaning of the invention include in particular parameters that enable the GUI to be adapted to different end-user display devices. These include in particular resolution, screen size and/or screen format.
- the predefinable parameters which allow the determination of the position of the graphical control elements, are structured in the form of a predefinable decision matrix or a decision tree.
- the method uses an artificial intelligence (K1) designed for this purpose.
- the data types available within the metadata include basic data types in the form of Booleans (truth values, i.e. only values "TRUE” or “FALSE” are possible), integers, floating point numbers, time specifications, text and lists as well as user-defined data types, such as:
- the metadata include access authorization data and other data in addition to data types. Access authorization data contains information about whether the data of a data point can be overwritten or only read. Other data includes units, limit values and/or the number of relevant decimal places.
- the machine-related data represented by data points can be characterized in such a way that they are understandable for the user and it is possible on the computer program side to create a graphical user interface for a human-machine interface, at least partially automatically.
- the GUI created can be transferred to the production operation. It is conceivable to carry out the method according to the invention directly on the computer-aided control device, in particular the computer-aided controller, to save the GUI created and possibly displayed in the display area in a file and then to execute it on the control device in the production operation using a suitable program. Alternatively, the method can be carried out on a computer system separate from the control device and the GUI created. This can be saved in a file of a predeterminable type and transferred to the computer-aided control device of a machine control system in an executable manner.
- FIG. 1 is a schematic representation of the method according to the invention with a minimal degree of automation
- Fig. 2 is a schematic representation of the method according to the invention with maximum degree of automation.
- Figure 1 shows a method according to the invention with a minimal degree of automation.
- a corresponding computer program product in the form of an editor with its own graphical user interface (GUI) is executed on a data processing device, in particular a computer.
- GUI graphical user interface
- the editor's GUI provides a first selection area in which data points specified by the computer program and/or user-defined data points that represent machine-related data from a PLC program are displayed for the user to select.
- the data points are linked to metadata that further characterizes the data point.
- a data point In a first process step 1, the user selects a data point. To do so, he uses common input methods, such as a computer mouse or a keyboard.
- a graphical control element is selected from a corresponding database in a second process step 2 - or created in the case of a user-defined data point.
- the selected or created control element is suggested to the user in a third process step 3 by displaying it as a selectable element in a second selection area of the editor's GUI.
- the user can also be shown alternative control elements for the selected data point, from which he can select one for further use.
- the user can repeat this process with as many data points and controls as desired.
- Figure 2 illustrates a method according to the invention with a maximum degree of automation.
- the editor's GUI provides a selection area in which data points specified by the computer program and/or data points defined by the user, which represent machine-related data of a PLC program, are displayed for the user to select.
- the data points are linked to metadata that further characterizes the data point.
- a first step 1 the user selects all data points that are to be included in the GUI to be created using a respective graphical control element. To do this, he uses common input methods, such as a computer mouse or a keyboard.
- a complete GUI is created on the computer program side in a second process step 2 based on the specified data points, depending on the metadata linked to the data points and predefinable usability parameters.
- graphical control elements suitable for the data points are selected and/or created by the computer program and the positioning of all graphical control elements is coordinated in such a way that a GUI is created that is optimized in terms of resulting usability.
- the process is finished at this point.
- the GUI created in this way for the MMS is saved in a predefined file and can be executed on the relevant computer-based control device, in particular the controller, and used to control the machine.
- a third process step 3 can be provided, in which the computer-generated GUI is displayed in the display area of the editor and gives the user the opportunity for further editing.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Automation & Control Theory (AREA)
- Manufacturing & Machinery (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
Verfahren zum automatisierten Erstellen einer grafischen Benutzeroberfläche und computerprogrammbasierter Editor Method for automated creation of a graphical user interface and computer program-based editor
Die Erfindung betrifft ein Verfahren zum automatisierten Erstellen einer grafischen Benutzeroberfläche einer Mensch-Maschine-Schnitstelle für eine industrielle Maschinensteuerung. Darüber hinaus betrifft die Erfindung einen computerprogrammbasierten Editor zur Durchführung des erfindungsgemäßen Verfahrens. The invention relates to a method for the automated creation of a graphical user interface of a human-machine interface for an industrial machine control system. Furthermore, the invention relates to a computer program-based editor for carrying out the method according to the invention.
Der Begriff „Maschine“ umfasst im Sinne der Erfindung Einzelmaschinen, aber auch Anlagen und/oder Fertigungsstraßen, die eine Mehrzahl von, insbesondere miteinander verfahrenstechnisch verbundenen, Einzelmaschinen aufweisen. The term “machine” in the sense of the invention includes individual machines, but also systems and/or production lines which have a plurality of individual machines, in particular those which are connected to one another in terms of process technology.
Damit eine Maschine vollständig funktionieren kann, ist es in der Regel notwendig, an einem mit der Maschine datentechnisch verbundenen Bedienpanel, insbesondere einem Bildschirm, über eine Mensch-Maschine-Schnitstelle (MMS; Englisch: Human Maschine Interface; HMI) Informationen zum Betriebszustand der Maschine anzuzeigen und dem Maschinenbediener die Möglichkeit zu geben, in den Arbeitsablauf, insbesondere den Produktionsablauf, einzugreifen. Dies geschieht zum Beispiel durch Einstellungen oder direkte Bedienung der Maschine über die MMS. In order for a machine to function fully, it is usually necessary to display information about the operating status of the machine on a control panel that is connected to the machine via a human-machine interface (HMI), particularly a screen, and to give the machine operator the opportunity to intervene in the workflow, particularly the production process. This is done, for example, by making settings or directly operating the machine via the HMI.
Die Maschine selbst wird übereine rechnergestützte Steuereinrichtung, insbesondere einen Controller, der in der Lage ist, in Echtzeit Daten aus der Maschine zu verarbeiten und basierend darauf entsprechende Stellwerte an die Maschine bzw. deren Komponenten zu übermitteln, gesteuert. The machine itself is controlled by a computer-aided control device, in particular a controller, which is able to process data from the machine in real time and, based on this, to transmit corresponding control values to the machine or its components.
Der Controller wird mitels SPS- oder CNC-Programmierung (SPS: Speicherprogrammierbare Steuerung; CNC: Computerized Numerical Control (rechnergestützte numerische Steuerung)) dazu programmiert, dass die Maschine ihre vorgesehenen Funktionen als Zusammenspiel aller Komponenten ausführen kann. Das SPS-Programm hat hierzu Zugriff auf alte maschinenbezogenen Daten, um aus ihnen die erforderlichen Stellgrößen zu berechnen. The controller is programmed using PLC or CNC programming (PLC: Programmable Logic Controller; CNC: Computerized Numerical Control) so that the machine can carry out its intended functions as an interaction of all components. The PLC program has access to old machine-related data in order to calculate the required control variables from it.
Bei der Erstellung einer MMS ist es wichtig, die maschinenbezogenen Daten visuell so aufzubereiten, dass die Maschine sicher und produktiv betrieben werden kann. Der Maschinenbediener soll hierdurch in die Lage versetzt werden, möglichst schnell und zuverlässig erkennen zu können, in welchem Zustand sich die Maschine befindet, um daraus ableiten zu können, ob ein Eingreifen notwendig ist und bejahendenfalls, welche Maßnahmen zu ergreifen sind. Auch soll die Ausführung dieser Maßnahmen mitels der MMS möglichst einfach sein. When creating an MMS, it is important to visually prepare the machine-related data in such a way that the machine can be operated safely and productively. This should enable the machine operator to to be able to reliably identify the state of the machine in order to be able to determine whether intervention is necessary and, if so, what measures need to be taken. The implementation of these measures using the MMS should also be as simple as possible.
Moderne MMS verfügen dabei zu diesem Zweck über eine grafische Benutzeroberfläche (Graphical User Interface; GUI), auf der grafische Bedienelemente so dargestellt und angeordnet werden, dass sich eine möglichst hohe Usability ergibt. Usability bezeichnet hierbei die Gebrauchstauglichkeit der GUI i.S.d. DIN EN ISO 9241 und ist ein Maß für das Ausmaß, in welchem ein Maschinenbediener seine Aufgaben mittels der GUI effektiv, effizient und zufriedenstellend ausführen kann. For this purpose, modern MMS have a graphical user interface (GUI) on which graphical control elements are displayed and arranged in such a way that the usability is as high as possible. Usability refers to the suitability of the GUI for use as defined by DIN EN ISO 9241 and is a measure of the extent to which a machine operator can carry out his tasks effectively, efficiently and satisfactorily using the GUI.
Aufgrund der unterschiedlichen Anforderungen ist zu berücksichtigen, dass SPS- Programmierung einerseits und MMS-Design andererseits von verschiedenen Berufsgruppen vorgenommen werden. Due to the different requirements, it must be taken into account that PLC programming on the one hand and MMS design on the other hand are carried out by different professional groups.
Es hat sich insbesondere bei mitelständischen Industriemaschinenherstellern und -betreibem jedoch eingebürgert, ausschließlich SPS-Programmierer zu beschäftigen, die ausbildungsbedingt Expertise in diesem Gebiet haben, jedoch dem Grunde nach über keine Expertise auf dem Gebiet des MMS-Designs insbesondere mit Blick auf Usability verfügen. Gleichwohl fällt in diesen Unternehmen aus Kostengründen auch das Design von MMS in den Tätigkeitsbereich des SPS-Programmierers. However, it has become common practice, particularly among medium-sized industrial machine manufacturers and operators, to only employ PLC programmers who have expertise in this area due to their training, but who fundamentally have no expertise in the field of MMS design, particularly with regard to usability. Nevertheless, in these companies, the design of MMS also falls within the scope of the PLC programmer's work for cost reasons.
Dies hat in nachteiliger Weise zur Folge, dass unter diesen Voraussetzungen erstellte GUIs hinsichtlich ihrer Usability teils gravierende Mängel aufweisen. The disadvantage of this is that GUIs created under these conditions sometimes have serious deficiencies in terms of their usability.
Der Erfindung liegt daher die Aufgabe zugrunde, fachfremde Benutzer in die Lage zu versetzen, grafische Benutzeroberflächen einer Mensch-Maschine-Schnitstelle für eine industrielle Maschinensteuerung zu erstellen, die hinsichtlich ihrer Usability optimiert ist. The invention is therefore based on the object of enabling non-specialist users to create graphical user interfaces of a human-machine interface for an industrial machine control system that is optimized in terms of its usability.
Zur Lösung dieser Aufgabe schlägt die Erfindung verfahrensseitig ein Verfahren zum automatisierten Erstellen einer grafischen Benutzeroberfläche einer Mensch-Maschine- Schnitstelle für eine industrielle Maschinensteuerung vor, bei dem computerprogrammseitig Datenpunkte vorgegeben werden und/oder benutzerseitig definiert werden, wobei jeweils ein Datenpunkt einen maschinenbezogenen Wert repräsentiert und bei dem computerprogrammseitig in Abhängigkeit einer benutzerseitigen Auswahl wenigstens eines Datenpunktes wenigstens ein bereits erstelltes und abrufbar gespeichertes grafisches Bedienelement zur Anzeige und/oder Steuerung der mit dem wenigstens einen Datenpunkt assoziierten maschinenbezogenen Werte vorgeschlagen wird oder wenigstens ein neues grafisches Bedienelement zur Anzeige und/oder Steuerung der mit dem wenigstens einenTo solve this problem, the invention proposes a method for the automated creation of a graphical user interface of a human-machine interface for an industrial machine control system, in which data points are specified by the computer program and/or defined by the user, each data point representing a machine-related value and in which on the computer program side, depending on a user-side selection of at least one data point, at least one already created and retrievably stored graphical control element is proposed for displaying and/or controlling the machine-related values associated with the at least one data point or at least one new graphical control element is proposed for displaying and/or controlling the machine-related values associated with the at least one
Datenpunkt assoziierten maschinenbezogenen Werte erstellt wird. machine-related values associated with the data point.
Ferner schlägt die Erfindung zur Lösung der Aufgabe computerprogrammproduktseitig einen Softwareeditor zur Durchführung des erfindungsgemäßen Verfahrens zum automatisierten Erstellen einer grafischen Benutzeroberfläche einer Mensch-Maschine- Schnitstelle einer industriellen Maschinen- und/oder Anlagensteuerung vor, aufweisend eine eigene grafische Benutzeroberfläche mit einem ersten Auswahlbereich, in welchem Datenpunkte jeweils benutzerseitig auswählbar positionierbar sind, mit einem zweiten Auswahlbereich, in welchem wenigstens ein computerprogrammseitig erstelltes grafisches Bedienelement benutzerseitig auswählbar positionierbar ist, und mit einem Anzeigebereich welcher die zu erstellende grafische Benutzeroberfläche der Mensch-Maschine-Furthermore, to solve the problem, the invention proposes a software editor for carrying out the method according to the invention for the automated creation of a graphical user interface of a human-machine interface of an industrial machine and/or system control, comprising its own graphical user interface with a first selection area in which data points can be positioned in a user-selectable manner, with a second selection area in which at least one graphical control element created by the computer program can be positioned in a user-selectable manner, and with a display area which displays the graphical user interface of the human-machine interface to be created.
Schnittstelle repräsentiert, wobei einem grafischen Bedienelement eine relative Position im Anzeigebereich benutzerseitig und/oder computerprogrammseitig zuweisbar und das grafische Bedienelement entsprechend der zugewiesenen Position benutzerseitig und/oder computerprogrammseitig positionierbar ist, und aufweisend einen Datenspeicher, insbesondere eine Datenbank, zur Speicherung von Datenpunkten, Metadaten und grafischen Bedienelementen, wobei der Datenspeicher, insbesondere die Datenbank, mit der grafischen Benutzeroberfläche in datentechnischer Kommunikation steht. Interface, wherein a relative position in the display area can be assigned to a graphical control element by the user and/or the computer program and the graphical control element can be positioned by the user and/or the computer program in accordance with the assigned position, and comprising a data storage device, in particular a database, for storing data points, metadata and graphical control elements, wherein the data storage device, in particular the database, is in data communication with the graphical user interface.
Die vorliegende Erfindung unterstützt dem Grunde nach jeden fachfremden Anwender, insbesondere jedoch den SPS-Programmierer, bei der Erstellung der grafischen Benutzeroberfläche der MMS dahingehend, dass er der MMS einen Datenpunkt vorgeben kann und mittels des erfindungsgemäßen computerprogrammgestützten Verfahrens ihm ein dazu passendes und hinsichtlich seiner Usability optimiertes grafisches Bedienelement vorschlägt oder neu erstellt. Hierzu können entsprechende grafische Bedienelemente bereits vorbereitet gespeichert und über eine Datenbank mit bekannten Datenpunkten verknüpft sein. Zusätzlich erlaubt das Computerprogramm dem Benutzer die Verknüpfung von vorgegebenen und/oder selbst definierten Datenpunkten mit entsprechenden Metadaten. In diesem Fall ist es computerprogrammseitig möglich, anhand der Metadaten eine tiefergehende Analyse des Datenpunktes vorzunehmen und darauf basierend wenigstens ein neues grafisches Bedienelement zu erstellen und/oder ein zuvor erstelltes, abrufbar hinterlegtes Bedienelement vorzuschlagen. Die Funktion eines gesonderten MMS- Designers kann daher bei maximaler Automatisierung vollständig von dem erfindungsgemäßen Verfahren und dem erfindungsgemäßen Editor übernommen werden. The present invention basically supports any non-specialist user, but in particular the PLC programmer, in creating the graphical user interface of the MMS in that he can specify a data point for the MMS and, using the computer program-supported method according to the invention, propose or create a suitable graphical control element that is optimized in terms of usability. For this purpose, corresponding graphical control elements can be stored in a prepared form and linked to known data points via a database. In addition, the computer program allows the user to link specified and/or self-defined data points with corresponding metadata. In this case, it is possible for the computer program to carry out a more in-depth analysis of the data point using the metadata and, based on this, to create at least one new graphical control element and/or to suggest a previously created control element that can be retrieved. The function of a separate MMS designer can therefore be completely taken over by the method according to the invention and the editor according to the invention with maximum automation.
„Position“ und „positionierbar“ im Sinne der Erfindung bedeutet, dass ein grafisches Bedienelement der MMS an einer bestimmten logischen Position, die es relativ zu anderen grafischen Bedienelementen in Bezug setzt und/oder gemäß vorgebbarer Parameter, hinzugefügt wird und nicht, dass es an einer bestimmten Position im Sinne von konkreten Koordinaten (x,y) fixiert wird. “Position” and “positionable” in the sense of the invention means that a graphical control element of the MMS is added at a specific logical position that relates it to other graphical control elements and/or according to predefinable parameters, and not that it is fixed at a specific position in the sense of concrete coordinates (x,y).
Mit Bezug auf die maschinenbezogenen Daten ist für die Prozesssteuerung lediglich eine Teilmenge von Bedeutung. Insbesondere relevant sind Werte, die den Produktionsablauf beeinflussen und von außen vorgegeben werden. Dies sind die sogenannten Stellgrößen. Eine Stellgröße ist insbesondere die Produktionsgeschwindigkeit. Ferner sind Werte relevant, die Rückschlüsse auf den Zustand der Maschine zulassen und anhand derer der Maschinenbediener ein ordnungsgemäßes Funktionieren der Maschine erkennen kann. Dies sind die sogenannten Zustandsgrößen. Eine Zustandsgröße ist insbesondere eine Fehlermeldung. With regard to the machine-related data, only a subset is important for process control. Particularly relevant are values that influence the production process and are specified from outside. These are the so-called manipulated variables. One manipulated variable is in particular the production speed. Also relevant are values that allow conclusions to be drawn about the state of the machine and which the machine operator can use to determine whether the machine is functioning properly. These are the so-called state variables. One state variable is in particular an error message.
Diese maschinenbezogenen Daten werden grafisch in der Benutzeroberfläche des Editors durch „Datenpunkte“ repräsentiert. Dies sind insbesondere grafische Elemente, mit denen der Nutzer innerhalb des Editors interagieren kann. Dabei hat jeder Datenpunkt eine programmtechnische Bedeutung, die vorzugsweise durch Metadaten definiert wird. Bevorzugt vorgesehen ist, dass wenigstens ein Datenpunkt mit Metadaten versehen ist, in welchen wenigstens der Datentyp des Datenpunkts festgelegt ist. Verfahrensseitig bevorzugt ist dabei, dass computerprogrammseitig in Abhängigkeit einer benutzerseitigen Auswahl wenigstens eines Datenpunktes und der Metadaten des wenigstens einen ausgewählten Datenpunktes wenigstens ein bereits erstelltes und abrufbar gespeichertes grafisches Bedienelement zur Anzeige und/oder Steuerung der mit dem wenigstens einen Datenpunkt assoziierten maschinenbezogenen Werte vorgeschlagen wird oder wenigstens ein neues grafisches Bedienelement zur Anzeige und/oder Steuerung der mit dem wenigstens einen Datenpunkt assoziierten maschinenbezogenen Werte erstellt wird. So wird beispielsweise ein mit der Produktionsgeschwindigkeit assoziierter Datenpunkt durch Metadaten umfassend einen bestimmten Datentyp, insbesondere eine Gleitkommazahl, und eine physikalische Einheit definiert. Ein mit einer Fehlermeldung assoziierter Datenpunkt wird demgegenüber durch Metadaten umfassend einen Fehlercode in Form des Datentyps einer Ganzzahl und einen Fehlertext in Form des Datentyps eines Texts (engl. String) definiert. Gemäß einem bevorzugten Merkmal der Erfindung ist vorgesehen, dass die Datenpunkte zur Erstellung des wenigstens einen grafischen Bedienelements in einem ersten Auswahlbereich für einen Benutzer auswählbar angezeigt werden. Dies ermöglicht dem Benutzer eine Auswahl von bereits programmseitig vorgegebenen Datenpunkten. Ferner ist bevorzugt vorgesehen, dass zuvor benutzerseitig definierte Datenpunkte ebenfalls in diesem ersten Auswahlbereich auswählbar angezeigt werden. These machine-related data are represented graphically in the user interface of the editor by "data points". These are in particular graphic elements with which the user can interact within the editor. Each data point has a programmatic meaning, which is preferably defined by metadata. It is preferably provided that at least one data point is provided with metadata in which at least the data type of the data point is specified. In terms of the method, it is preferred that on the computer program side, depending on a user-side selection of at least one data point and the metadata of the at least one selected data point, at least one already created and retrievably stored graphical control element is proposed for displaying and/or controlling the machine-related values associated with the at least one data point or at least one new graphical control element is created for displaying and/or controlling the machine-related values associated with the at least one data point. For example, a data point associated with the production speed is represented by metadata comprising a specific data type, in particular a floating point number, and a physical unit is defined. In contrast, a data point associated with an error message is defined by metadata comprising an error code in the form of the data type of an integer and an error text in the form of the data type of a text (string). According to a preferred feature of the invention, it is provided that the data points for creating the at least one graphical control element are displayed in a first selection area for a user to select. This allows the user to select data points that have already been specified by the program. Furthermore, it is preferably provided that data points previously defined by the user are also displayed in this first selection area.
Hinsichtlich der Erstellung der späteren GUI der MMS sind computerprogrammseitig vorzugsweise verschiedene Automatisierungsgrade möglich. With regard to the creation of the subsequent GUI of the MMS, various degrees of automation are preferably possible on the computer program side.
Eine Nutzung des Verfahrens bzw. des Editors mit minimalem Automatisierungsgrad kann insbesondere vorsehen, dass das computerprogrammseitig vorgeschlagene oder erstellte Bedienelement oder mehrere solcher Bedienelemente für verschiedene Datenpunkte oder für den gleichen Datenpunkt in einem Auswahlbereich angezeigt wird. Der Auswahlbereich kann der erste Auswahlbereich sein oder es kann bevorzugt ein zweiter, vom ersten Auswahlbereich räumlich getrennter Auswahlbereich sein. Das wenigstens eine grafische Bedienelement kann dann vom Benutzer ausgewählt und, insbesondere mittels Drag & Drop, in einem Anzeigebereich an frei wählbarer Position platziert werden. DerUse of the method or the editor with a minimal degree of automation can in particular provide that the control element proposed or created by the computer program or several such control elements for different data points or for the same data point are displayed in a selection area. The selection area can be the first selection area or it can preferably be a second selection area that is spatially separated from the first selection area. The at least one graphic control element can then be selected by the user and placed in a display area at a freely selectable position, in particular by means of drag & drop. The
Anzeigebereich repräsentiert dabei wenigstens einen Teil der zu erstellenden grafischen Benutzeroberfläche der MMS. Bei dieser „Minimallösung“ ist die mitels Computerprogramm realisierte Automatisierung im Sinne des „Ersatzes eines GUI-Designers“ auf den Vorschlag bzw. die Erstellung einer grafischen Ausgestaltung für das grafische Bedienelement beschränkt und überlässt dem Benutzer im Übrigen weitgehenden Gestaltungsspielraum bei der Erstellung der GUI. Gleichwohl ist damit bereits eine erhebliche Optimierung der späteren GUI hinsichtlich Usability erreicht, was in vorteilhafte Weise zu übersichtlichen und einfach Steuerung der Maschine oder Anlage und deren Betriebssicherheit beiträgt. The display area represents at least part of the graphical user interface of the MMS to be created. In this "minimal solution", the automation implemented using a computer program in the sense of "replacing a GUI designer" is limited to the suggestion or creation of a graphic design for the graphical control element and otherwise leaves the user with extensive design freedom when creating the GUI. Nevertheless, this already achieves a significant optimization of the later GUI in terms of usability, which contributes advantageously to clear and simple control of the machine or system and its operational reliability.
Eine Nutzung des Verfahrens bzw. des Editors mit maximalem Automatisierungsgrad kann demgegenüber insbesondere vorsehen, dass der Nutzer lediglich diejenigen Datenpunkte auswählt, die aus rein steuerungstechnischer Sicht auf der späteren GUI vorhanden sein sollen. Computerprogrammseitig wird anhand der vorgegebenen Datenpunkte und vorzugsweise in Abhängigkeit der mit den Datenpunkten verknüpften Metadaten, sowie vorgebbarer Parameter, wie insbesondere Usability-Parameter und/oder Darstellungsparameter, eine vollständige GUI erstellt. Hierbei werden computerprogrammseitig zu den Datenpunkten passende grafische Bedienelemente ausgewählt und/oder erstellt und die Positionierung sämtlicher grafischer Bedienelemente derart aufeinander abgestimmt, dass sich eine hinsichtlich der resultierenden Usability optimierte GUI ergibt. Vorzugsweise wird die erstellte GUI anschließend im Anzeigebereich dem Nutzer angezeigt. Bevorzugt ist die derart erstellte und im Anzeigebereich angezeigte GUI editierbar, so dass der Nutzer insbesondere die Möglichkeit hat die Positionen einzelner grafischer Bedienelemente zu verändern. In contrast, using the process or the editor with the maximum degree of automation can provide in particular that the user only selects those data points that are to be present on the later GUI from a purely control-technical point of view. should. On the computer program side, a complete GUI is created based on the given data points and preferably depending on the metadata linked to the data points, as well as predefinable parameters, such as usability parameters and/or display parameters. In this process, the computer program side selects and/or creates graphical control elements that match the data points and the positioning of all graphical control elements is coordinated in such a way that a GUI is produced that is optimized in terms of the resulting usability. The created GUI is preferably then displayed to the user in the display area. The GUI created in this way and displayed in the display area is preferably editable, so that the user has the option in particular of changing the positions of individual graphical control elements.
Zwischenstufen hinsichtlich des Automatisierungsgrades sind möglich. Insbesondere kann vorgesehen sein, dass das wenigstens eine grafische Bedienelement benutzerseitig ausgewählt wird, wobei computerprogrammseitig eine Position in einem Anzeigebereich, welcher die zu erstellende grafische Benutzeroberfläche repräsentiert, in Abhängigkeit vorgebbarer Parameter, wie insbesondere Usability-Parameter und/oder Darstellungsparameter, bestimmt wird und das grafische Bedienelement computerprogrammseitig entsprechend der zuvor bestimmten Position im Anzeigebereich positioniert wird. Intermediate stages in terms of the degree of automation are possible. In particular, it can be provided that the at least one graphical control element is selected by the user, whereby a position in a display area, which represents the graphical user interface to be created, is determined by the computer program depending on predeterminable parameters, such as in particular usability parameters and/or display parameters, and the graphical control element is positioned by the computer program according to the previously determined position in the display area.
Als weitere Zwischenstufe kann für den Fall, dass bereits eines oder mehrere grafische Bedienelemente benutzen- und/oder computerprogrammseitig im Anzeigebereich platziert wurden, vorgesehen sein, dass computerprogrammseitig wenigstens ein weiteres grafisches Bedienelement in Abhängigkeit einer benutzerseitigen Auswahl eines weiteren Datenpunktes benutzerseitig auswählbar angezeigt wird, jeweils eine Position für das erste und das weitere grafische Bedienelement in dem Anzeigebereich in gegenseitiger Abhängigkeit und in Abhängigkeit der vorgebbareren Usability-Parameter bestimmt wird und anschließend das weitere grafische Bedienelement entsprechend der zuvor bestimmten Position im Anzeigebereich positioniert wird, ohne dass die bestehende Position des ersten grafischen Bedienelements verändert wird oder das weitere grafische Bedienelement entsprechend der zuvor bestimmten Position im Anzeigebereich positioniert wird und das erste grafische Bedienelement entsprechend einer neu bestimmten Position im Anzeigebereich umpositioniert wird. Usability-Parameter im Sinne der Erfindung umfassen vorzugsweise vorgebbare und computerprogrammseitig abrufbare Gestaltungsvorgaben, die im Zusammenspiel mit den Metadaten der Datenpunkte, insbesondere mit den Datentypen, computerprogrammseitig eine hinsichtlich der späteren User Experience (UX), unter welche die Usability als Teilaspekt zu subsumieren ist, optimierte Anordnung der grafischen Bedienelemente erlauben. Beispielsweise können Vorgaben enthalten sein, wonach Bedienelemente für Datenpunkte mit übereinstimmenden oder ähnlichen Datentypen positionstechnisch gruppiert anzuordnen sind und Bedienelemente für Datenpunkte mit verschiedenen Datentypen positionstechnisch beabstandet zu einander anzuordnen sind. Dies würde dem Zweck dienen, Bedienelemente für Stellgrößen einerseits und für Zustandsgrößen andererseits optisch getrennt voneinander darzustellen. Ferner können Vorgaben enthalten sein, die einzelne Bedienelemente nach ihrer technischen Zusammengehörigkeit positionieren. Dies würde dem Zweck dienen, einem Bedienelement für eine Stellgröße das Bedienelement für die in technischer Hinsicht zugehörige Zustandsgröße positionstechnisch unmitelbar zuzuordnen. Vorgenannte Vorgaben dienen lediglich der Verdeutlichung. Es können eine Vielzahl weiterer Parameter vorgegeben sein, die computerprogrammseitig eine detaillierte Bewertung und Entscheidung hinsichtlich der Positionierung der Bedienelemente zulässt. As a further intermediate stage, in the event that one or more graphical control elements have already been used and/or placed in the display area by the computer program, it can be provided that at least one further graphical control element is displayed on the computer program side in a user-selectable manner depending on a user-selected selection of a further data point, a position for the first and the further graphical control element in the display area is determined in mutual dependence and depending on the predeterminable usability parameters, and then the further graphical control element is positioned in the display area according to the previously determined position without the existing position of the first graphical control element being changed or the further graphical control element is positioned in the display area according to the previously determined position and the first graphical control element is repositioned in the display area according to a newly determined position. Usability parameters in the sense of the invention preferably comprise design specifications that can be specified and called up by the computer program and which, in conjunction with the metadata of the data points, in particular with the data types, allow the computer program to arrange the graphical control elements in a way that is optimized for the subsequent user experience (UX), under which usability is to be subsumed as a partial aspect. For example, specifications can be included according to which control elements for data points with matching or similar data types are to be arranged in groups in terms of position and control elements for data points with different data types are to be arranged at a distance from one another in terms of position. This would serve the purpose of visually displaying control elements for manipulated variables on the one hand and for state variables on the other hand as separate from one another. Furthermore, specifications can be included that position individual control elements according to their technical relationship. This would serve the purpose of directly assigning the control element for the technically associated state variable to a control element for a manipulated variable in terms of position. The above specifications are merely for clarification. A large number of other parameters can be specified, which allows the computer program to make a detailed evaluation and decision regarding the positioning of the control elements.
Darstellungsparameter im Sinne der Erfindung umfassen insbesondere Kenngrößen, die eine Anpassung der GUI an verschiedene endbenutzerseitige Anzeigeräte ertauben. Hierzu zählen insbesondere Auflösung, Bildschirmgröße und/oder Bildschirmformat. Display parameters within the meaning of the invention include in particular parameters that enable the GUI to be adapted to different end-user display devices. These include in particular resolution, screen size and/or screen format.
Gemäß einem bevorzugten Merkmal der Erfindung ist vorgesehen, dass die vorgebbaren Parameter, welche die Bestimmung der Position der grafischen Bedienelemente erlaubt, in Form einer vorgebbaren Entscheidungsmatrix oder eines Entscheidungsbaums strukturiert sind. Alternativ bedient sich das Verfahren einer zu diesem Zweck ausgebildeten künstlichen Intelligenz (Kl). According to a preferred feature of the invention, it is provided that the predefinable parameters, which allow the determination of the position of the graphical control elements, are structured in the form of a predefinable decision matrix or a decision tree. Alternatively, the method uses an artificial intelligence (K1) designed for this purpose.
Gemäß einem bevorzugten Merkmal der Erfindung, umfassen die innerhalb der Metadaten verfügbaren Datentypen Basisdatentypen in Form von Booleans (Wahrheitswerte, d.h. nur Werte „TRUE“ (wahr) bzw. „FALSE“ (falsch) möglich), Ganzzahlen, Gleitkommazahlen, Zeitangaben, Text und Listen sowie benutzerdefinierte Datentypen, wie etwa: According to a preferred feature of the invention, the data types available within the metadata include basic data types in the form of Booleans (truth values, i.e. only values "TRUE" or "FALSE" are possible), integers, floating point numbers, time specifications, text and lists as well as user-defined data types, such as:
Bereiche (Range): Beschränkung des zulässigen Wertebereichs, etwa BYTE=Ganzzahl zwischen 0 und 255; STR10=String mit max. 10 Zeichen; IP_ADRESSE= abc.def.pqr.xyz (jedes Tripel ist ein BYTE, der ist ein STR1). Range: Restriction of the permissible range of values, e.g. BYTE=integer between 0 and 255; STR10=string with max. 10 characters; IP_ADDRESS= abc.def.pqr.xyz (each triple is a BYTE, which is a STR1).
Aufzählung (ENUM): Ganzzahl oder String mit erweiterten Metadaten, die weitere Informationen zu bestimmten Zuständen enthalten, etwa 1=OK, 2=Wamung, 3=Fehlerzustand; „OK“=OK, „WARN'-Warnung, „ERR“=Fehlerzustand Enumeration (ENUM): Integer or string with extended metadata that contains further information about certain states, such as 1=OK, 2=Warning, 3=Error state; "OK"=OK, "WARN" warning, "ERR"=Error state
Strukturen (STRUCT): Zusammengesetzter Datentyp, der wenigstens einen, vorzugsweise mehrere andere Datenpunkte beliebiger Datentypen umfasst. Beispielsweise „Kontoinformation={name:String; alterGanzzahl; kontostand:Gleitkommazahl}“. Structures (STRUCT): Composite data type that includes at least one, preferably several other data points of any data type. For example, “Account information={name:String; oldInteger; account balance:Floating point number}”.
Des Weiteren Arrays und Listen aus Basisdatentypen und oder benutzerdefinierten Datentypen. Es ist ferner vorgesehen, dass die Metadaten neben Datentypen auch Zugriffsberechtigungsdaten und sonstige Daten umfassen. Zugriffsberechtigungsdaten enthalten Informationen darüber, ob die Daten eines Datenpunkts überschreibbar oder nur auslesbar sind. Sonstige Daten umfassen Einheiten, Grenzwerte und/oder Anzahl von relevanten Dezimalstellen. Mitels der damit bereitgestellten Metadaten lassen sich die durch Datenpunkte repräsentierten maschinenbezogenen Daten derart charakterisieren, dass sie für den Benutzer verständlich sind und es computerprogrammseitig möglich wird, wenigstens teilweise automatisiert eine grafische Benutzeroberfläche für eine Mensch- Maschine-Schnittstelle zu erstellen. Furthermore, arrays and lists of basic data types and/or user-defined data types. It is also intended that the metadata include access authorization data and other data in addition to data types. Access authorization data contains information about whether the data of a data point can be overwritten or only read. Other data includes units, limit values and/or the number of relevant decimal places. Using the metadata provided, the machine-related data represented by data points can be characterized in such a way that they are understandable for the user and it is possible on the computer program side to create a graphical user interface for a human-machine interface, at least partially automatically.
Es ist abschließend bevorzugt vorgesehen, dass die erstellte GUI in den Produktionsbetrieb überführt werden kann. Denkbar ist, das erfindungsgemäße Verfahren unmittelbar auf der rechnergestützten Steuereinrichtung, insbesondere dem rechnergestützten Controller, auszuführen, die erstellte und im Anzeigenbereich gegebenenfalls angezeigte GUI in einer Datei zu speichern und anschließend im Produktionsbetrieb auf der Steuereinrichtung mit einem geeigneten Programm auszuführen. Alternativ kann das Verfahren auf einem von der Steuereinrichtung separierten Rechnersystem ausgeführt und die GUI erstellt werden. Diese kann in einer Datei vorgebbaren Typs gespeichert und auf die rechnergestützte Steuereinrichtung einer Maschinensteuerung ausführbar übertragen werden. Finally, it is preferably provided that the GUI created can be transferred to the production operation. It is conceivable to carry out the method according to the invention directly on the computer-aided control device, in particular the computer-aided controller, to save the GUI created and possibly displayed in the display area in a file and then to execute it on the control device in the production operation using a suitable program. Alternatively, the method can be carried out on a computer system separate from the control device and the GUI created. This can be saved in a file of a predeterminable type and transferred to the computer-aided control device of a machine control system in an executable manner.
Die Erfindung wird nachfolgend anhand eines für den Fachmann nicht beschränkend zu verstehenden Ausführungsbeispiels erläutert. Dabei zeigt Fig. 1 eine schematische Darstellung des erfindungsgemäßen Verfahrens mit minimalem Automatisierungsgrad; The invention is explained below using an embodiment which is not to be understood as limiting for the person skilled in the art. Fig. 1 is a schematic representation of the method according to the invention with a minimal degree of automation;
Fig. 2 eine schematische Darstellung des erfindungsgemäßen Verfahrens mit maximalem Automatisierungsgrad. Fig. 2 is a schematic representation of the method according to the invention with maximum degree of automation.
Figur 1 zeigt ein erfindungsgemäßes Verfahren mit minimalem Automatisierungsgrad. Dabei wird ein entsprechendes Computerprogrammprodukt in Form eines Editors mit eigener grafischer Benutzeroberfläche (GUI) auf einer Datenverarbeitungseinrichtung, insbesondere einem Computer, ausgeführt. Figure 1 shows a method according to the invention with a minimal degree of automation. A corresponding computer program product in the form of an editor with its own graphical user interface (GUI) is executed on a data processing device, in particular a computer.
Die GUI des Editors stellt einen ersten Auswahlbereich bereit, in welchem computerprogrammseitig vorgegebene Datenpunkte und/oder benutzerseitig definierte Datenpunkte, welche maschinenbezogene Daten eines SPS-Programms repräsentieren, für den Benutzer auswählbar angezeigt werden. Die Datenpunkte sind mit Metadaten datentechnisch verknüpft, die den Datenpunkt weiter charakterisieren. The editor's GUI provides a first selection area in which data points specified by the computer program and/or user-defined data points that represent machine-related data from a PLC program are displayed for the user to select. The data points are linked to metadata that further characterizes the data point.
In einem ersten Verfahrensschritt 1 wählt der Benutzer einen Datenpunkt aus. Hierfür bedient er sich gängiger Eingabemethoden, wie etwa einer Computermaus oder einer Tastatur. In a first process step 1, the user selects a data point. To do so, he uses common input methods, such as a computer mouse or a keyboard.
Computerprogrammseitig wird in Abhängigkeit der Auswahl des Benutzers und der mit dem Datenpunkt verknüpften Metadaten in einem zweiten Verfahrensschrit 2 ein grafisches Bedienelement aus einer entsprechenden Datenbank ausgewählt - oder im Falle eines benutzerdefinierten Datenpunktes erstellt. On the computer program side, depending on the user's selection and the metadata associated with the data point, a graphical control element is selected from a corresponding database in a second process step 2 - or created in the case of a user-defined data point.
Das ausgewählte oder erstellte Bedienelement wird dem Benutzer in einem driten Verfahrensschritt 3 vorgeschlagen, indem es in einem zweiten Auswahlbereich der GUI des Editors auswählbar angezeigt wird. Hierbei können dem Benutzer für den gewählten Datenpunkt auch alternative Bedienelemente angezeigt werden, aus denen er eines für die weitere Verwendung auswählen kann. The selected or created control element is suggested to the user in a third process step 3 by displaying it as a selectable element in a second selection area of the editor's GUI. The user can also be shown alternative control elements for the selected data point, from which he can select one for further use.
Hat der Benutzer eine diesbezügliche Entscheidung getroffen, kann er in einem vierten Verfahrensschrit 4 eines der vorgeschlagenen Bedienelemente auswählen und in einem von der GUI des Editors zur Verfügung gestellten Anzeigebereichs, welche die zu erstellende grafische Benutzeroberfläche der Mensch-Maschine-Schnittstelle repräsentiert, insbesondere mittels Drag & Drop positionieren. Once the user has made a decision in this regard, he can select one of the suggested controls in a fourth step 4 and in a display area provided by the GUI of the editor, which shows the creating graphical user interface of the human-machine interface, in particular positioning by means of drag & drop.
Diesen Vorgang kann der Benutzer mit beliebig vielen Datenpunkten und Bedienelementen wiederholen. The user can repeat this process with as many data points and controls as desired.
Figur 2 illustriert ein erfindungsgemäßes Verfahren mit maximalem Automatisierungsgrad. Figure 2 illustrates a method according to the invention with a maximum degree of automation.
Wie bei dem in Figur 1 gezeigten Verfahren stellt die GUI des Editors einen Auswahlbereich bereit, in welchem computerprogrammseitig vorgegebene Datenpunkte und/oder benutzerseitig definierte Datenpunkte, welche maschinenbezogene Daten eines SPS- Programms repräsentieren, für den Benutzer auswählbar angezeigt werden. Die Datenpunkte sind mit Metadaten datentechnisch verknüpft, die den Datenpunkt weiter charakterisieren. As in the process shown in Figure 1, the editor's GUI provides a selection area in which data points specified by the computer program and/or data points defined by the user, which represent machine-related data of a PLC program, are displayed for the user to select. The data points are linked to metadata that further characterizes the data point.
In einem ersten Verfahrensschrit 1 wählt der Benutzer sämtliche Datenpunkte aus, die in der zu erstellenden GUI mittels eines jeweiligen grafischen Bedienelements Eingang finden sollen. Hierfür bedient er sich gängiger Eingabemethoden, wie etwa einer Computermaus oder einer Tastatur. In a first step 1, the user selects all data points that are to be included in the GUI to be created using a respective graphical control element. To do this, he uses common input methods, such as a computer mouse or a keyboard.
Nach erfolgter Auswahl und gegebenenfalls einer abschließenden Bestätigung über einen vom Editor bereitgestellten entsprechenden Mechanismus, insbesondere einen Buton, wird computerprogrammseitig in einem zweiten Verfahrensschritt 2 anhand der vorgegebenen Datenpunkte in Abhängigkeit der mit den Datenpunkten verknüpften Metadaten und vorgebbarer Usability-Parameter eine vollständige GUI erstellt. After the selection has been made and, if necessary, a final confirmation via a corresponding mechanism provided by the editor, in particular a button, a complete GUI is created on the computer program side in a second process step 2 based on the specified data points, depending on the metadata linked to the data points and predefinable usability parameters.
Hierbei werden computerprogrammseitig zu den Datenpunkten passende grafische Bedienelemente ausgewählt und/oder erstellt und die Positionierung sämtlicher grafischer Bedienelemente derart aufeinander abgestimmt, dass sich eine hinsichtlich der resultierenden Usability optimierte GUI ergibt In this case, graphical control elements suitable for the data points are selected and/or created by the computer program and the positioning of all graphical control elements is coordinated in such a way that a GUI is created that is optimized in terms of resulting usability.
Prinzipiell ist der Vorgang an dieser Stelle beendet. Die derart erstellte GUI für das MMS wird in einer vorgebbaren Datei gespeichert und kann auf der betreffenden rechnergestützten Steuereinrichtung, insbesondere dem Controller, ausgeführt und zur Steuerung der Maschine eingesetzt werden. Optional kann ein driter Verfahrensschrit 3 vorgesehen sein, in welchem die computerseitig erstellte GUI im Anzeigebereich des Editors angezeigt wird und dem Benutzer die Möglichkeit zu einer weiteren Editierung gibt. In principle, the process is finished at this point. The GUI created in this way for the MMS is saved in a predefined file and can be executed on the relevant computer-based control device, in particular the controller, and used to control the machine. Optionally, a third process step 3 can be provided, in which the computer-generated GUI is displayed in the display area of the editor and gives the user the opportunity for further editing.
Zwischenstufen zwischen den Automatisierungsgraden gemäß Figuren 1 und 2 sind möglich. So kann es insbesondere auch bei dem Verfahren nach Figur 2 vorteilhaft sein, dem Benutzer für wenigstens einen Teil der Datenpunkte jeweils alternative grafische Bedienelemente anzuzeigen, von denen der Benutzer jeweils wenigstens ein grafisches Bedienelement für die weitere Erstellung der GUI auswählen kann. Intermediate stages between the degrees of automation according to Figures 1 and 2 are possible. In particular, in the method according to Figure 2 it can be advantageous to show the user alternative graphical control elements for at least some of the data points, from which the user can select at least one graphical control element for the further creation of the GUI.
Claims
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2022/079966 WO2024088531A1 (en) | 2022-10-26 | 2022-10-26 | Method for the automated creation of a graphical user interface and computer-program-based editor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2022/079966 WO2024088531A1 (en) | 2022-10-26 | 2022-10-26 | Method for the automated creation of a graphical user interface and computer-program-based editor |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024088531A1 true WO2024088531A1 (en) | 2024-05-02 |
Family
ID=84360782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2022/079966 WO2024088531A1 (en) | 2022-10-26 | 2022-10-26 | Method for the automated creation of a graphical user interface and computer-program-based editor |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024088531A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7324856B1 (en) * | 2003-09-25 | 2008-01-29 | Rockwell Automation Technologies, Inc. | Autogeneration of code via human-machine interfaces (HMI) and self-building HMI |
DE102013211894A1 (en) * | 2013-06-24 | 2014-12-24 | Robert Bosch Gmbh | HMI processing device and method for generating a graphical user interface for a machine |
-
2022
- 2022-10-26 WO PCT/EP2022/079966 patent/WO2024088531A1/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7324856B1 (en) * | 2003-09-25 | 2008-01-29 | Rockwell Automation Technologies, Inc. | Autogeneration of code via human-machine interfaces (HMI) and self-building HMI |
DE102013211894A1 (en) * | 2013-06-24 | 2014-12-24 | Robert Bosch Gmbh | HMI processing device and method for generating a graphical user interface for a machine |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102004042550B4 (en) | State machine function block with user changeable configuration database for state transitions | |
DE69322641T2 (en) | CONTROL FOR PAINT SPRAYERS AND THE LIKE | |
DE69424558T2 (en) | OPERATING STATION FOR A CONTROL SYSTEM FOR A MANUFACTURING PROCESS AND METHOD FOR MONITORING AND CONTROLLING A MANUFACTURING PROCESS | |
DE102008008500B3 (en) | Method for computer-assisted configuration of e.g. motor vehicle, involves determining template provided for generic specification of characteristics of technical system, and values of template based on modeling of configuration information | |
DE102009011679A1 (en) | Method and device for creating a user program for a safety control | |
DE112012001007T5 (en) | Multi-axis control system setting / Justierfunktionsunterstützungsvorrichtung | |
EP2407842B1 (en) | Method for operating machines or machines in a machine series and design system | |
DE112013006918T5 (en) | Program graph display device, program graph display method and program graph display program | |
DE10297725T5 (en) | Editor zing device | |
DE102007062453A1 (en) | Method for programming and / or diagnosing a programmable logic controller | |
DE102007062395A1 (en) | Automatic parameterizing method for field device i.e. modular four-wire field device, involves providing selection possibility to user when parameter values are transferred in accordance with parameterization implementation | |
WO2024088531A1 (en) | Method for the automated creation of a graphical user interface and computer-program-based editor | |
EP2299341A1 (en) | Editing device and method for configuring parameters of an industrial automation arrangement | |
EP1862901A1 (en) | Input of program commands in imperative programming languages | |
DE102020103852B4 (en) | Creation and optimization of a control program for a robot manipulator | |
DE102019215497B4 (en) | METHOD FOR CONTROLLING A NUMERICALLY CONTROLLED MACHINE TOOL BASED ON CONTROL DATA CONTAINING AN NC PROGRAM | |
WO2024088533A1 (en) | Integrated development environment for the complete software-based programming of a graphical user interface of a human-machine interface for industrial machine controllers | |
EP2012227A1 (en) | Programming interface for programming computers | |
EP1241568B1 (en) | Method and apparatus for entering variables into the program flow of a data processing system | |
DE112017005761B4 (en) | Programming device | |
WO2014146716A1 (en) | Engineering system of a process plant and/or production plant | |
EP3657276B1 (en) | System and method for operating a system | |
EP1983426A1 (en) | Automated visualisation of selected simulation data | |
EP1393137B1 (en) | Method for determining automated processes | |
EP4495719A1 (en) | Method and engineering system for generating a user interface for an industrial automation assembly |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22809138 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |