EP1904903B1 - Method for operating and monitoring a control device, corresponding operating/monitoring device, control device, and machine comprising such a control device, and uses of said method, as well as storage media - Google Patents

Method for operating and monitoring a control device, corresponding operating/monitoring device, control device, and machine comprising such a control device, and uses of said method, as well as storage media Download PDF

Info

Publication number
EP1904903B1
EP1904903B1 EP06777617A EP06777617A EP1904903B1 EP 1904903 B1 EP1904903 B1 EP 1904903B1 EP 06777617 A EP06777617 A EP 06777617A EP 06777617 A EP06777617 A EP 06777617A EP 1904903 B1 EP1904903 B1 EP 1904903B1
Authority
EP
European Patent Office
Prior art keywords
display
operating
control device
program
monitoring device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
EP06777617A
Other languages
German (de)
French (fr)
Other versions
EP1904903A1 (en
Inventor
Bernhard Frey
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Publication of EP1904903A1 publication Critical patent/EP1904903A1/en
Application granted granted Critical
Publication of EP1904903B1 publication Critical patent/EP1904903B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31161Java programcode or simular active agents, programs, applets
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34038Web, http, ftp, internet, intranet server

Definitions

  • the present invention relates to a method for operating and monitoring a control device by means of a data-technologically connected operating / monitoring device.
  • the HMI device and the control device have a processor-based control unit for executing software programs.
  • the present invention further relates to an operating / monitoring device with a graphical user interface, input means for a user, a data interface for data communication with a control device and with a processor-based control unit for executing software programs.
  • the invention additionally relates to a control device having a processor-based control unit for executing software programs and having a data interface for data-linkage with an operating / monitoring device.
  • the invention relates to a machine with such a control device.
  • the invention also relates to suitable uses of the method for operating and monitoring of automation and manufacturing processes as well as for the commissioning of a control device.
  • the invention relates to a data storage medium for storing a display or interpreter program for carrying out the method according to the invention.
  • Such methods are e.g. from the automation and manufacturing technology known. There, machines, systems or system components are monitored with a connected to it or if necessary connectable operating / monitoring device.
  • HMI device for human machine interface is also used for an operator control / monitoring device.
  • operator / monitor is a device to understand which visualize observation processes and if necessary can also carry out operating procedures by means of accesses to a connected control unit.
  • An example of such an operating / monitoring device is a so-called operator panel, which has a comparatively large display unit for a graphical user interface. On this user interface, parameters, graphs or a schematic image of the machine or system to be monitored can be displayed. Due to the low installation depth, the operator panels can also be designed as a portable unit. Alternatively, they can also be mounted in a control cabinet wall of a plant or machine control.
  • Such operating / monitoring devices are based, for example, on a Windows CE or Linux computer platform.
  • a machine to be monitored such as a machine tool or a drive, usually has a control unit which controls, regulates and monitors the power section of the machine, the system or the system part and which makes it suitable for "rough" operation in automation and production technology is.
  • the control unit can also be used to make changes to the parameters for controlling and regulating the machine, the system or the system component.
  • the controllers themselves usually have limited ability to visualize the state of the connected machine. In most cases, light-emitting diodes (LED) are mounted on the outside of such a control device, for example to indicate the proper operation of the machine (green LED). A red glowing or flashing LED usually signals a malfunctioning operation, such as the failure of the machine.
  • control devices can have a diagnostic interface, such as via a serial interface based on the V24 or USB standards. For example, a diagnostic device or the aforementioned operator control / monitoring device can be connected via this interface.
  • control devices have a control unit, which are usually designed as a so-called "embedded system".
  • An embedded system is embedded computer systems that provide their service in a variety of other applications such as e.g. in airplanes, cars or household appliances. Embedded systems therefore combine the great flexibility of software with the performance of hardware due to their often very hardware-related and comparatively simple design. The software development for these systems is therefore not comparable to that for e.g. Desktop or PC systems.
  • Preferred programming languages are e.g. Assembler or C.
  • operating systems are used, which have a limited to the most necessary functions. Although such operating systems do not have memory protection, they are sufficient for real-time requirements.
  • Typical embedded operating systems are e.g. PERL, VxWorks and increasingly also special Linux derivatives.
  • Embedded systems are usually based on the same hardware as computers, but they are usually subject to highly restrictive conditions. Thus, e.g. Microcontrollers are used, which compared to known from the desktop or notebook area CPUs have a very limited architecture and performance. Other computer components such as hard disk, keyboard, screen are mostly missing completely. As required, a small keypad may be provided for input and a small LCD display for output. A small Flash ROM or Flash RAM chip as electronic memory replaces mechanical components such as a hard disk.
  • firmware The software programs on an embedded system, such as the "stripped-down" operating system and the actual control application, are also referred to as firmware.
  • the firmware is usually on a ROM and thus can not be changed during operation. In the case of a flash ROM, there is the possibility of a firmware update, without the chip must be replaced. On In this way, the "software" can be updated, for example, via the external data interface.
  • HMI devices have heretofore provided a parameter interface so that direct access to the embedded system can be made to provide internal operating data of the firmware, e.g. to "interrogate" the control logic, system parameters or internal operating states.
  • Control units available today can handle extremely complex control and regulating tasks in automation and production technology.
  • Another disadvantage is when e.g. the customer or service personnel of a machine, plant or equipment must be granted access to the firmware of a control unit's control unit in order to make customer-specific adjustments. In this case, entering incorrect parameters may result in errors and possibly damage to the controller or the machine connected to the controller.
  • a system which connects to a local web browser via a local communication network of a PC and communications applications to a local device.
  • the local device is for example a PLC or an I / O module.
  • An additional device can be connected to the PLC.
  • the PC can be connected to the internet.
  • On the PC can be a web browser, which can be started by an application. Web browser applets or active x-objects can be transmitted via the communication network.
  • a further object of the invention is to prevent access to the firmware of a control device, wherein a control and monitoring of the control unit should continue to be possible.
  • the problem is solved for the method in a characteristic manner in that an interpreter program is executed on the control unit, which can access scripts with display modules and program structures.
  • the program structures can access operating data of the firmware of the control device, wherein the operating data are converted into display data of a predeterminable display format and vice versa.
  • the scripts are processed, the program structures the associated result in the form of display blocks with possibly the display data in the default display format put together and make the result available to the HMI device.
  • a display program is executed to display at least display blocks in the predeterminable display format. References to at least one script are stored on the control unit in the display modules. The references are related to an event, whereby the associated script is started and processed by the interpreter program when the event occurs.
  • a special feature of the invention is that the display / display unit shown display modules with appropriate Events in turn start scripts in the control unit. As a result of the processing, these scripts put together new display modules, which in turn can be loaded by the HMI device. As it were, scripts are started - viewed from the operating / monitoring device - and the corresponding result of the script processing is then loaded for display.
  • the big advantage of the invention is that the operating / monitoring device can no longer directly access the sensitive firmware of the control unit. Communication now takes place via an interpreter program. Access to the actual control application as well as to the internal operating data of the firmware is no longer possible.
  • the program structures of the scripts are structured such that they allow read and write access to the control logic of the control unit.
  • the interpreter program executed by the control unit processes step-by-step scripts.
  • Scripts consist of a list of commands that are processed one after the other.
  • a simple program syntax is defined, which also includes conditional statements such as branches, loops and function calls.
  • the existing instruction set can also be expanded dynamically by including new program structures in a command library, for example.
  • the use of scripts is known, for example, from the programming languages Visual Basic or JAVA-Script. The scripts are written in clear text and are easy to read and modify. Other well-known examples of scripts are so-called macros.
  • scripting language i. the sequential arrangement of the simple structured script commands
  • Simple script commands may e.g. "SETPARAM” or “GETPARAM” with a subsequently specified number of required arguments to be submitted or accepted.
  • Wizards are interactive utilities, such as Installers.
  • interpreter program executes the instructions sequentially by adding to the respective instruction an executable code, e.g. is executed in a runtime library, compilation is advantageously not necessary for changes to the scripts, the display blocks and the program structures.
  • the access to the complex control logic of the control unit with its device-specific features is done solely by the interpreter program.
  • the interpreter program can also perform other tasks in the control unit, which are not assigned to the HMI device.
  • the interpreter program may e.g. execute written applications for the firmware in the scripting language.
  • the operating data of the firmware which are usually in a binary format, are converted by means of the program structures into display data of a predefined display format.
  • One possible display format is e.g. a so-called ASCII string, which converts a binary operating date into a plaintext string.
  • ASCII string Such a character string can also be enclosed between two so-called "tags" for the purpose of identifying the display program.
  • Tags are e.g. used in the markup language XML or in the description language HTML.
  • the references are, as previously described, associated with a triggering event.
  • An event may e.g. be a user action on a graphical user interface of the HMI device.
  • An example of a user action is choosing one of several options in a so-called combo box. The selection may e.g. using a mouse pointer by clicking on the desired option.
  • a reference to an associated script is output on the control unit.
  • a reference to the same script on the controller is possible by e.g. with the reference an associated text or an associated identifier of the selected option is output as an argument.
  • An event may e.g. also be an internal alarm or alarm state of the controller.
  • Such messages are e.g. generated in the context of an interrupt or a so-called Exception or cyclically output by a monitoring program of the control unit by means of an interrupt.
  • a corresponding display module can also be generated and stored. This display module may e.g. visualize an error or warning text. In this way, messages can advantageously also be transmitted to the operating / monitoring device, even if there is no user action.
  • the display modules include, for example, text fields, bitmaps, edit fields. This can be for the Operating / monitoring device can easily create new user interfaces in a modular way.
  • program structures include e.g. mathematical and logical functions as well as program branches and loops.
  • Mathematical functions may e.g. Be multiplication, division, addition.
  • Logical functions may e.g. OR, AND, shift operations or bit-related operations.
  • the program structures may even be structured in such a way that functions recursively call themselves. In this way, a construction of powerful and at the same time simple commands is possible.
  • the interpreter program manages data in the form of variables and arrays, which can be defined in the scripts.
  • application-related data types can be advantageously declared and used.
  • the scripts, the display modules and the program structures are preferably stored as files in a library.
  • the term library is to be interpreted broadly. In particular, this is to be understood as a data-technically advantageous organization of the "source files" of the scripts, display modules and program structures, such as e.g. in directories or folders.
  • the above files can also be in a compressed file format and decompressed when called by the interpreter program.
  • the unpacking or decompression can be done using a small parser program.
  • the file compression allows a significant significant reduction in the memory requirements of the otherwise available in plain text "source files”.
  • the processing speed of the interpreter program increases advantageously.
  • the display modules or the display pages combined from display modules are preferably stored in a result file.
  • This result file can easily be loaded from the HMI device via file transfer commands. This can e.g. by specifying the file name and the associated path.
  • the display blocks or the display pages combined from display blocks can also be saved in a compressed file format in the result file.
  • the interpreter program executes a suitable compression program. After loading the compressed file, it is unpacked again by the display program.
  • a suitable compression program is especially suitable for this.
  • ACX or ACF file format which compresses text with minimal software effort particularly effectively.
  • the display program cyclically checks for the presence of updated display modules or updated display pages combined from display modules. If, for example, If the result file now has a later date and time than the last loaded result file, the result file is loaded and the displayed objects are displayed.
  • the scripts, the display modules and the program structures are structured in the notation of the markup language XML (Extentable Markup Language).
  • XML is a standardized markup language that uses concepts and rules to create its own markup languages, programming languages and scripting languages can be defined.
  • a script language developed on the basis of these concepts and rules consists again and again of elements, marked by so-called tags, their nesting rules and attributes with permitted value assignments.
  • XML-based scripting language The big advantage of an XML-based scripting language is the ease of extensibility of these elements, as well as the availability of a variety of development tools such as XML tools, editors and test tools such as DTD (document type definition) for syntax checking.
  • development tools such as XML tools, editors and test tools
  • DTD document type definition
  • the script language Tcl Tool Command Language
  • Tk Tool Kit
  • Appropriate libraries and tools are also available so that a user will be able to create scripts in a very short time.
  • the interpreter program is executed by the control unit in a background process.
  • This has the advantage that primarily control and regulatory tasks are performed by the controller, so that these tasks are not affected by script calls.
  • control unit executes software programs of a real-time or real-time operating system, e.g. PERL, VxWorks or RTLinux, off.
  • PERL real-time or real-time operating system
  • VxWorks VxWorks or RTLinux
  • the data transmission between the operating / monitoring device and the control device takes place by wireless means, such as by means of the standardized transmission method WLAN, Bluetooth radio-technical basis or by means of IRDA based on infrared rays.
  • wireless means such as by means of the standardized transmission method WLAN, Bluetooth radio-technical basis or by means of IRDA based on infrared rays.
  • a connection can be established immediately as soon as the HMI device reaches the detection area of a control unit. Since all display components are loaded and displayed exclusively by the respective control unit both in the wireless and in the wired data transmission, the operation and monitoring of several achievable control units is also advantageously possible.
  • a refresh or update button on the operating / monitoring device can be pressed so that the result file to be monitored for the control device to be monitored can be read out and displayed with the display modules.
  • the method according to the invention can also be used for starting up a control device.
  • a control device e.g. a whole plant with a variety of control units are put into operation.
  • the inventive method can be used particularly advantageously for operating and monitoring of automation and manufacturing processes, since in this industrial environment a large number of different control devices with different control and regulation tasks is used.
  • the display program for carrying out the method according to the invention can be stored on an operating / monitoring device in (exclusively) machine-readable form on a data storage medium.
  • the data storage medium may e.g. a floppy disk, a compact disk (CD) or a digital versatile disk (DVD).
  • the data storage medium may also be a compact electronic memory card, in particular an MM card, SD card or CF card.
  • the data storage medium can advantageously be read out on site by means of a suitable reading device in the operating / monitoring device or in the control unit.
  • electronic memory cards and the corresponding readers are advantageous because of their extremely compact design for installation in an operating / monitoring device or in a control unit.
  • the operating / monitoring device has a graphical user interface, input means for a user, a data interface for the data connection of the operating / monitoring device to a control device and a processor-based control unit for executing software programs.
  • the control unit is used to execute a display program for carrying out the method according to the invention.
  • the display program is used in particular for loading and displaying at least display modules in a predefinable display format on the graphical user interface.
  • the display program is also used to output a reference to at least one script on the control unit. The reference is stored in the display blocks and can be selected by a user action on the graphical user interface.
  • an operating / monitoring device has a touch screen, which at the same time displays the graphical user interface, such as an LCD display, and input means.
  • Display modules shown on the graphical user interface which offer a plurality of possibilities for a selection to a user, advantageously allow a selection with a finger pressure. Furthermore, the number of keys is advantageously reduced.
  • the HMI device is designed as a portable mobile unit. This device can advantageously be used e.g. be carried by a service technician or a commissioning for the respective application.
  • an operating / monitoring device as an operator panel for use in automation and manufacturing technology.
  • Such devices are designed especially for the harsh industrial environment.
  • control device corresponding to the method.
  • a control device has a processor-based control unit for executing software programs and a data interface for data communication with an operating / monitoring device.
  • the control unit is used to execute an interpreter program for carrying out the method according to the invention.
  • the interpreter program serves to start and execute a script by means of an associated reference to the script in the control unit received from the data interface.
  • the interpreter program is used to compile the associated processing result by means of the program structures of the started script in the form of display modules.
  • the interpreter program is used to store the display blocks on the controller.
  • the control unit of such a control device preferably has a microcontroller.
  • a microcontroller unlike a CPU, includes a variety of digital ones Inputs and outputs as well as possibly several analog inputs and outputs. As a result, advantageously many measurement signals, switching signals, speed signals, etc. can be detected.
  • a large number of actuators can be actuated via downstream power amplifiers, such as motors, actuators, valves. By integrating the input / output channels on the microcontroller, an extremely compact design is possible.
  • microcontrollers include an integrated RAM memory and a ROM memory. In this way, even in mechanical terms, a stored in the ROM memory firmware to protect against unauthorized access.
  • control unit can also be regarded as a system embedded in the control unit (embedded system). Further necessary matching circuits and driver components can be arranged with the microcontroller on a board extremely compact and possibly encapsulated against environmental influences.
  • control device As an automation device. Due to the variety of control and regulation tasks in the industrial environment, there is a desire for easy-to-use and observable devices.
  • a machine or a plant part which or which has a control unit according to the invention for controlling the machine or the plant part, advantageous to operate faster and more effective and to observe.
  • FIG. 1 shows an exemplary operating / monitoring device 1, which is connected to a control unit 9 data technology.
  • the operating / monitoring device 1 has a display unit or, a graphical user interface 2 for displaying the display units loaded by the control unit 9.
  • the operator control / monitoring device 1 comprises, for example, a row of keys 3, which execute so-called softkeys commands or functions on the graphical user interface 2 overlying symbolized or described.
  • the buttons 4 allow you to adjust the brightness of the display.
  • a numeric block 5 allows the input of numerical values, eg a change of process parameters.
  • the switch 6 the operating / monitoring device 1 can be switched on and off.
  • By means of the key marked with MENU an immediate return to a master menu is possible.
  • By the reference numeral 8 indicator lights are marked.
  • FIG. 1 further shows an exemplary control unit 9, which is connected to a motor 13 according to the example of the figure.
  • the motor 13 and the control unit 9 form according to the example of the figure, a machine 14, such as a machine tool.
  • the control unit 9 can also be flanged directly on the engine 13.
  • the control unit 9 has a control unit 10, preferably designed as an embedded system.
  • the control unit 10 communicates with the operating / monitoring device 1 via a wireless or line-connected data connection 15.
  • the exemplary motor 13 is connected to the control unit 9 via output lines 11 and input lines 12, such as for detecting the rotational speed.
  • FIG. 2 shows a representation of the functional blocks of the exemplary HMI device 1 and the control unit 9 and their interaction according to the inventive method.
  • the operating / monitoring device 1 has an operating system 26 for carrying out the essential input and output functions of the operating / monitoring device 9.
  • the reference numeral 27 is an exemplary application APPL referred to separately or in parallel to a display program 28 - im Example of the figure called "HMI" - can be executed.
  • the application 27 may be, for example, a text editor or a calculator program.
  • FIG. 2 further shows the exemplary control unit 9 with the control unit 10, characterized by a dot-dashed frame.
  • the control unit 10 includes an operating system 21 and by way of example an application 22.
  • This application 22 may, for example, a control and regulation program for the connected to the control unit 9 exemplary engine 13 according to FIG. 1 be.
  • Operating system 21 and application 22 form the firmware of the control unit 10 by way of example.
  • an interpreter program 24 which can read out scripts, display modules and program structures in the XML notation from a library 30. This is indicated by an arrow labeled READ. Display modules 29 generated as part of the processing are stored as result file 25. This is symbolized by the further arrow labeled WRITE. Another arrow labeled START indicates the way a request from the display program 28 to the interpreter program 24 takes. In this way, a label of the desired script is transmitted, which is then processed directly by the interpreter program. The result of this processing can be loaded subsequently by the display program 28 as a result file 25. This is symbolized by the arrow labeled LOAD.
  • FIG. 3 shows an example of the structure of a library 30 with scripts 31, display modules 32 and program constructs 33.
  • the scripts 31 can in turn be combined from display modules 32 and program structures 33.
  • the display modules 32 and program constructs 33 stored in the library 30 are modularly integrated by the interpreter program as part of script processing into a new display module. As described above, it is advantageous to organize them as files in directories or folders.
  • FIG. 4 shows the principal syntax of a program structure 331 named "ADD" which adds a series of summands.
  • the summands are called when this program structure is called 331 in the form of arguments.
  • ⁇ arg> denotes the beginning of an argument to be submitted.
  • ⁇ / arg> the corresponding end.
  • the numerical value to be passed is then inserted between these two parenthesized expressions.
  • the result ie the sum of the summands, is returned as the result of the calling function.
  • FIG. 5 shows as program structure 332 a well-known IF-ELSE instruction, which is known from other programming languages, such as PASCAL.
  • the associated exemplary data structure specifies that the operands to be compared are to be transferred in the first and third line with arguments.
  • the second line should indicate the type of comparison by means of an operator, such as "greater”, “equal”, “smaller”.
  • the command is executed in case the result of the comparison is positive.
  • the alternative processing takes place according to the keyword designated "ELSE”.
  • FIG. 6 . 7 show example scripts 311, 312 in XML.
  • the script according to FIG. 6 entitled LOAD_PAGE is specified and started on the HMI device 1 in response to a user action by the display program.
  • the exemplary data structure determines from a relative path specification an absolute path, so that the desired file can be addressed.
  • the file which in turn may have scripts 31, display modules 32 or program structures 33, is loaded and then processed.
  • FIG. 7 shows a program structure 312 entitled "LOAD_PARAMETER”. According to XML notation, the innermost program structure is executed first, ie the command "GETPARAM". The calculated parameter value is then converted into a string, ie into a character string, and then stored as a display component in the result file.
  • FIG. 8 . 9 show by way of example the data structure 333 of a program structure 334 in XML, which interacts with the internal control logic of a control unit.
  • FIG. 8 shows the data structure of a GETPARAM and a SETPARAM statement. The number of arguments to be passed or read is given in the respective data structure.
  • FIG. 9 shows a program structure based on this, which - again starting from the innermost program structure - reads out the value of the parameter 98 and writes this value into the parameter 99. This is a simple copy instruction.
  • FIG. 10-13 show exemplary graphically displayed display modules 291-292 as well as the respective associated sequence of instructions 294-295 in XML.
  • FIG. 12 shows a so-called combobox with the current title "enuml”. By selecting the indicated arrow 293 then a selection of several fields can be made. The possible choice is exemplary according to FIG. 13 specified in the command lines with the keyword "item".
  • FIG. 14 11 shows the basic mode of operation of the compression of an exemplary XML script 40 into a corresponding AXF file 43 according to the invention.
  • the script 40 is given in plain text. In terms of data technology, this script is nothing more than a string of a certain length.
  • AXF Dictionary 42 are instructions, such as "text”, “combobox update” or “item” by a corresponding hexadecimal abbreviation is shown.
  • number types such as "INTEGER” or "FLOAT” may be replaced by further abbreviations.
  • the result, ie the AXF file 43 is shown in hexadecimal representation. In comparison to the original memory requirement of the script 40 in plain text, the memory requirement has been significantly reduced.
  • FIG. 15 shows an exemplary controller 9 with a reader 51 for reading an electronic memory card 50 as a data storage medium for an interpreter program 24 according to the invention.
  • the electronic memory card 50 can be plugged into a slot 51 provided for this purpose on the outside of the control unit 9.
  • FIG. 16 shows an exemplary sequence for starting, processing a script 52 and a display module 54 generated therefrom according to the inventive method using the example of a test script.
  • FIG. 17 shows the associated command lines of the example script or display in XML FIG. 16 .
  • test script 52 is stored in compressed form on an electronic memory card 50.
  • the test script 52 will now be considered a new "application" created by a customer or programmer for the controller 9.
  • the compressed XML file contained thereon is unpacked by means of a parser program 53 on the control unit 9 and subsequently edited by the interpreter program 24.
  • FIG. 17 shows the unpacked command lines as they are to the interpreter program 24 after unpacking. It is in the test script to an addition program "ADD", which should add the two numbers 1 and 2.
  • This addition program is now processed by the interpreter program 24 and a corresponding display module in script form generated. This is on the right side of the FIG. 17 shown.
  • This display module is then compressed and stored as result file 54 on the control unit 9, such as in a RAM disk.
  • This result file 54 is loaded by a loading command of the display program 28 and then the display module is displayed on the graphical user interface of the operating / monitoring device 1. This is the example of FIG. 16 shown.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention relates to a method which is characterized in that an interpreter program (24) is executed on the control device (9) and is adapted to access scripts (31) having display components (29, 32) and program architectures (33). Said program architectures (33) are enabled to access operating data of the firmware (20) of the control device (9), said operational data being convertible to display data of a defined display format and vice versa. The scripts (31) are run, the program architectures (33) compiling the corresponding result in the form of display components (29, 32) with optionally the display data in the defined display format and making the result available to the operating/monitoring device (1). A display program (28) is executed on the operating/monitoring device (1) in order to display at least the display components (29, 32) in the defined display format. References to at least one script (31) on the control device (9) are deposited in the display components (29, 32). These references are connected to an event, and the interpreter program (24) initiates and runs the corresponding script (31) when this event occurs. The advantage is that the operating/monitoring device (1) can no longer directly access the sensitive firmware (20) of the control device (9). Communication is carried out via an interpreter program (24). Access to the actual control application (22) is no longer possible.

Description

Die vorliegende Erfindung betrifft ein Verfahren zum Bedienen und Beobachten eines Steuergeräts mittels eines damit datentechnisch verbundenen Bedien-/Beobachtungsgeräts. Das Bedien-/Beobachtungsgerät und das Steuergerät weisen eine prozessorgestützte Steuereinheit zum Ausführen von Softwareprogrammen auf. Die vorliegende Erfindung betrifft weiter ein Bedien-/Beobachtungsgerät mit einer grafischen Bedienoberfläche, Eingabemitteln für einen Benutzer, einer Datenschnittstelle zur datentechnischen Verbindung mit einem Steuergerät sowie mit einer prozessorgestützten Steuereinheit zum Ausführen von Softwareprogrammen. Die Erfindung betrifft zudem ein Steuergerät mit einer prozessorgestützten Steuereinheit zum Ausführen von Softwareprogrammen und mit einer Datenschnittstelle zur datentechnischen Verbindung mit einem Bedien-/Beobachtungsgerät. Außerdem betrifft die Erfindung eine Maschine mit einem solchen Steuergerät. Die Erfindung betrifft zudem geeignete Verwendungen des Verfahrens zum Bedienen und Beobachten von Automatisierungs- und Fertigungsprozessen sowie zur Inbetriebnahme eines Steuergeräts. Schließlich betrifft die Erfindung je ein Datenspeichermedium zur Speicherung eines Anzeige- oder Interpreter-Programms zur Durchführung des erfindungsgemäßen Verfahrens.The present invention relates to a method for operating and monitoring a control device by means of a data-technologically connected operating / monitoring device. The HMI device and the control device have a processor-based control unit for executing software programs. The present invention further relates to an operating / monitoring device with a graphical user interface, input means for a user, a data interface for data communication with a control device and with a processor-based control unit for executing software programs. The invention additionally relates to a control device having a processor-based control unit for executing software programs and having a data interface for data-linkage with an operating / monitoring device. Moreover, the invention relates to a machine with such a control device. The invention also relates to suitable uses of the method for operating and monitoring of automation and manufacturing processes as well as for the commissioning of a control device. Finally, the invention relates to a data storage medium for storing a display or interpreter program for carrying out the method according to the invention.

Derartige Verfahren sind z.B. aus der Automatisierungs- und Fertigungstechnik bekannt. Dort werden Maschinen, Anlagen oder Anlagenteile mit einem daran angeschlossenen oder im Bedarfsfall anschließbaren Bedien-/Beobachtungsgerät überwacht.Such methods are e.g. from the automation and manufacturing technology known. There, machines, systems or system components are monitored with a connected to it or if necessary connectable operating / monitoring device.

Häufig wird für ein Bedien-/Beobachtungsgerät auch der Begriff HMI-Gerät für Human-Machine-Interface verwendet. Unter dem Begriff Bedien-/Beobachtungsgerät ist ein Gerät zu verstehen, welches Beobachtungsvorgänge visualisieren und ggf. auch Bedienvorgänge mittels Zugriffe auf ein angeschlossenes Steuergerät durchführen kann. Ein Beispiel für ein solches Bedien-/Beobachtungsgerät ist ein sogenanntes Operator Panel, welches über eine vergleichsweise große Anzeigeeinheit für eine grafische Bedienoberfläche verfügt. Auf dieser Bedienoberfläche können Parameter, Graphen oder ein schematisches Abbild der zu überwachenden Maschine oder Anlage dargestellt werden. Durch die geringe Bautiefe können die Operator Panels auch als tragbare Einheit ausgeführt werden. Sie können alternativ auch in einer Schaltschrankwand einer Anlagen- oder Maschinensteuerung angebracht sein. Derartige Bedien-/Beobachtungsgeräte basieren z.B. auf einer Windows CE- oder Linux-Computerplattform.Frequently, the term HMI device for human machine interface is also used for an operator control / monitoring device. The term operator / monitor is a device to understand which visualize observation processes and if necessary can also carry out operating procedures by means of accesses to a connected control unit. An example of such an operating / monitoring device is a so-called operator panel, which has a comparatively large display unit for a graphical user interface. On this user interface, parameters, graphs or a schematic image of the machine or system to be monitored can be displayed. Due to the low installation depth, the operator panels can also be designed as a portable unit. Alternatively, they can also be mounted in a control cabinet wall of a plant or machine control. Such operating / monitoring devices are based, for example, on a Windows CE or Linux computer platform.

Eine zu überwachende Maschine, wie z.B. eine Werkzeugmaschine oder ein Antrieb, weist zumeist ein Steuergerät auf, welches den Leistungsteil der Maschine, der Anlage oder des Anlagenteils steuert, regelt und überwacht und welches für den "rauen" Betrieb in der Automatisierungs- und Fertigungstechnik ertüchtigt ist. Über das Steuergerät lassen sich auch Änderungen an den Parametern für die Steuerung und Regelung der Maschine, der Anlage oder des Anlagenteils vornehmen. Die Steuergeräte selbst verfügen gewöhnlich nur über eine eingeschränkte Möglichkeit, den Zustand der angeschlossenen Maschine zu visualisieren. Zumeist sind an der Außenseite eines solchen Steuergeräts Leuchtdioden (LED) angebracht, um z.B. den ordnungsgemäßen Betrieb der Maschine (grüne LED) anzuzeigen. Eine rotleuchtende oder blinkende LED signalisiert üblicherweise einen nichtordnungsgemäßen Betrieb, wie z.B. den Ausfall der Maschine. Bekannt ist auch, dass Steuergeräte über eine Diagnoseschnittstelle, wie z.B. über eine serielle Schnittstelle auf Basis des V24- oder USB-Standards, verfügen können. Über diese Schnittstelle kann z.B. ein Diagnosegerät oder auch das obengenannte Bedien-/Beobachtungsgerät angeschlossen werden.A machine to be monitored, such as a machine tool or a drive, usually has a control unit which controls, regulates and monitors the power section of the machine, the system or the system part and which makes it suitable for "rough" operation in automation and production technology is. The control unit can also be used to make changes to the parameters for controlling and regulating the machine, the system or the system component. The controllers themselves usually have limited ability to visualize the state of the connected machine. In most cases, light-emitting diodes (LED) are mounted on the outside of such a control device, for example to indicate the proper operation of the machine (green LED). A red glowing or flashing LED usually signals a malfunctioning operation, such as the failure of the machine. It is also known that control devices can have a diagnostic interface, such as via a serial interface based on the V24 or USB standards. For example, a diagnostic device or the aforementioned operator control / monitoring device can be connected via this interface.

Die obengenannten Steuergeräte weisen eine Steuereinheit auf, die zumeist als sogenanntes "Embedded System" ausgeführt sind. Bei einem Embedded System handelt es sich um eingebettete Computersysteme, die ihren Dienst in einer Vielzahl von weiteren Anwendungsbereichen versehen, wie z.B. in Flugzeugen, Autos oder Haushaltsgeräten. "Embedded Systems" vereinigen daher durch ihre oftmals sehr hardwarenahe und vergleichsweise einfache Konstruktion die große Flexibilität von Software mit der Leistungsfähigkeit der Hardware. Die Software-Entwicklung für diese Systeme ist daher nicht vergleichbar mit der für z.B. Desktop- oder PC-Systeme. Bevorzugte Programmiersprachen sind z.B. Assembler oder C. Oftmals werden daher Betriebssysteme eingesetzt, die einen auf das nötigste beschränkten Funktionsumfang aufweisen. Solche Betriebssysteme verfügen zwar nicht über Speicherschutz, genügen dafür jedoch Echtzeitanforderungen. Übliche Embedded-Betriebssysteme sind z.B. PERL, VxWorks und zunehmend auch spezielle Linux-Derivate.The above-mentioned control devices have a control unit, which are usually designed as a so-called "embedded system". An embedded system is embedded computer systems that provide their service in a variety of other applications such as e.g. in airplanes, cars or household appliances. Embedded systems therefore combine the great flexibility of software with the performance of hardware due to their often very hardware-related and comparatively simple design. The software development for these systems is therefore not comparable to that for e.g. Desktop or PC systems. Preferred programming languages are e.g. Assembler or C. Often therefore operating systems are used, which have a limited to the most necessary functions. Although such operating systems do not have memory protection, they are sufficient for real-time requirements. Typical embedded operating systems are e.g. PERL, VxWorks and increasingly also special Linux derivatives.

Embedded-Systeme basieren zumeist auf derselben Hardware wie Computer, sie unterliegen jedoch meist stark einschränkenden Randbedingungen. So werden z.B. Mikrocontroller eingesetzt, die im Vergleich zu aus dem Desktop- oder Notebook-Bereich bekannten CPUs eine stark eingeschränkte Architektur und Leistungsfähigkeit aufweisen. Weitere Computerkomponenten wie Festplatte, Tastatur, Bildschirm fehlen zumeist ganz. Je nach Erfordernis kann zur Eingabe ein kleines Tastenfeld und zur Ausgabe eine kleine LCD-Anzeige vorgesehen sein. Ein kleiner Flash-ROM- oder Flash-RAM-Chip als elektronischer Speicher ersetzt mechanische Komponenten wie eine Festplatte.Embedded systems are usually based on the same hardware as computers, but they are usually subject to highly restrictive conditions. Thus, e.g. Microcontrollers are used, which compared to known from the desktop or notebook area CPUs have a very limited architecture and performance. Other computer components such as hard disk, keyboard, screen are mostly missing completely. As required, a small keypad may be provided for input and a small LCD display for output. A small Flash ROM or Flash RAM chip as electronic memory replaces mechanical components such as a hard disk.

Die Softwareprogramme auf einem Embedded System, wie z.B. das "abgespeckte" Betriebssystem sowie die eigentliche Steuerungsapplikation, werden auch als Firmware bezeichnet. Die Firmware befindet sich gewöhnlich auf einem ROM und kann folglich während des Betriebs nicht verändert werden. Im Falle eines Flash-ROMs besteht die Möglichkeit eines Firmware-Updates, ohne dass der Chip ausgewechselt werden muss. Auf diese Weise kann die "Software" z.B. über die externe Datenschnittstelle aktualisiert werden.The software programs on an embedded system, such as the "stripped-down" operating system and the actual control application, are also referred to as firmware. The firmware is usually on a ROM and thus can not be changed during operation. In the case of a flash ROM, there is the possibility of a firmware update, without the chip must be replaced. On In this way, the "software" can be updated, for example, via the external data interface.

Bedien-/Beobachtungsgeräte weisen bisher eine Parameterschnittstelle auf, so dass ein direkter Zugriff auf das Embedded System erfolgen kann, um interne Betriebsdaten der Firmware, wie z.B. die Steuerlogik, Systemparameter oder interne Betriebszustände, "abfragen" zu können. Heute verfügbare Steuereinheiten können äußerst komplexe Steuerungs- und Regelungsaufgaben in der Automatisierungs- und Fertigungstechnik übernehmen.HMI devices have heretofore provided a parameter interface so that direct access to the embedded system can be made to provide internal operating data of the firmware, e.g. to "interrogate" the control logic, system parameters or internal operating states. Control units available today can handle extremely complex control and regulating tasks in automation and production technology.

Nachteil daran ist zwangläufig die äußerst komplexe und aufwändige Abbildung der Steuerlogik bzw. der Struktur der Steuerungs- und Regelungsmechanismen auf dem Bedien-/Beobachtungsgerät. Diese "Spiegelung" der Logik schafft zudem eine starke Abhängigkeit zwischen den Steuergeräten und den Bedien-/Beobachtungsgeräten in Hinblick auf die Variantenvielfalt und auf die technische Weiterentwicklung solcher Geräte.The disadvantage of this is inevitably the extremely complex and complex mapping of the control logic or the structure of the control and regulation mechanisms on the HMI device. This "mirroring" the logic also creates a strong dependence between the control units and the HMI devices in terms of variety and the technical development of such devices.

Ein weiterer Nachteil ist es, wenn z.B. den Kunden oder dem Servicepersonal einer Maschine, Anlage oder eines Anlagenteils Zugriff auf die Firmware der Steuereinheit eines Steuergeräts gewährt werden muss, um kundenspezifische Anpassungen durchführen zu können. In diesem Fall kann es bei einer Eingabe von falschen Parametern zu Fehlern und ggf. zu Schäden am Steuergerät oder an der mit dem Steuergerät verbundenen Maschine kommen.Another disadvantage is when e.g. the customer or service personnel of a machine, plant or equipment must be granted access to the firmware of a control unit's control unit in order to make customer-specific adjustments. In this case, entering incorrect parameters may result in errors and possibly damage to the controller or the machine connected to the controller.

Ein Großteil der Entwicklungszeiten sowie Entwicklungskosten finden ihren Niederschlag als maschinenspezifische Applikation wieder, die als Firmware in der Steuereinheit abgelegt ist. Eine derartige Applikation stellt zugleich das "Kondensat", d.h. das Know-how, der Entwicklung dar.Much of the development time and development costs are reflected as a machine-specific application that is stored as firmware in the control unit. Such an application also provides the "condensate", i. the know-how, the development.

Es ist somit ein großer Nachteil, wenn Dritte auf solche Applikationen in der Firmware einer Steuereinheit zugreifen können bzw. zugreifen dürfen.It is therefore a great disadvantage if third parties can access or access such applications in the firmware of a control unit.

Aus der US 6 854 026 B1 ist beispielsweise ein System bekannt, welches über ein lokales Kommunikationsnetzwerk eines PC's mit einem lokalen Web-Browser und Kommunikationsanwendungen mit einem lokalen Gerät verbindet. Das lokale Gerät ist beispielsweise eine SPS oder ein I/O-Modul. An die SPS kann ein weiteres Gerät angeschlossen sein. Der PC kann einerseits ans Internet angeschlossen sein. Auf dem PC kann sich ein Web-Browser befinden, welcher durch eine Applikation gestartet werden kann. Über das Kommunikationsnetzwerk können dabei web browser applets oder active x-objekte übertragen werden.From the US Pat. No. 6,854,026 B1 For example, a system is known which connects to a local web browser via a local communication network of a PC and communications applications to a local device. The local device is for example a PLC or an I / O module. An additional device can be connected to the PLC. On the one hand, the PC can be connected to the internet. On the PC can be a web browser, which can be started by an application. Web browser applets or active x-objects can be transmitted via the communication network.

Es ist somit eine Aufgabe der Erfindung, ein Verfahren sowie ein korrespondierendes Bedien-/Beobachtungsgerät und Steuergerät sowie eine Maschine mit einem solchen Steuergerät anzugeben, durch welche der Aufwand für die Entwicklung und Wartung eines Bedien-/Beobachtungsgerät sowie eines Steuergeräts verringert wird.It is therefore an object of the invention to provide a method and a corresponding operating / monitoring device and control device, as well as a machine with such a control device, by which the effort for the development and maintenance of an operating / monitoring device and a control device is reduced.

Es ist eine weitere Aufgabe Erfindung, den Aufwand zur Anpassung eines Bedien-/Beobachtungsgerät an ein anzuschließendes Steuergerät zu vermindern.It is a further object of the invention to reduce the expense of adapting an operating / monitoring device to a control device to be connected.

Eine weitere Aufgabe der Erfindung ist es, einen Zugriff auf die Firmware eines Steuergeräts zu unterbinden, wobei ein Bedienen und Beobachten des Steuergeräts weiterhin möglich sein soll.A further object of the invention is to prevent access to the firmware of a control device, wherein a control and monitoring of the control unit should continue to be possible.

Die Aufgabe wird für das Verfahren in kennzeichnender Weise dadurch gelöst, dass auf dem Steuergerät ein Interpreter-Programm ausgeführt wird, welches auf Skripte mit Anzeigebausteinen und Programmstrukturen zugreifen kann. Die Programmstrukturen können dabei auf Betriebsdaten der Firmware des Steuergeräts zugreifen können, wobei die Betriebsdaten in Anzeigedaten eines vorgebbaren Anzeigeformats umgewandelt werden und umgekehrt. Die Skripte werden abgearbeitet, wobei die Programmstrukturen das zugehörige Ergebnis in Form von Anzeigebausteinen mit ggf. den Anzeigedaten im vorgegebenen Anzeigeformat zusammenstellen und das Ergebnis dem Bedien-/Beobachtungsgerät zur Verfügung stellen. Auf dem Bedien-/Beobachtungsgerät wird ein Anzeigeprogramm ausgeführt, um zumindest Anzeigebausteine im vorgebbaren Anzeigeformat darzustellen. In den Anzeigebausteinen sind Verweise auf zumindest ein Skript auf dem Steuergerät hinterlegt. Die Verweise stehen dabei in Zusammenhang mit einem Ereignis, wobei dann das zugehörige Skript bei Eintritt des Ereignisses vom Interpreter-Programm gestartet und abgearbeitet wird.The problem is solved for the method in a characteristic manner in that an interpreter program is executed on the control unit, which can access scripts with display modules and program structures. The program structures can access operating data of the firmware of the control device, wherein the operating data are converted into display data of a predeterminable display format and vice versa. The scripts are processed, the program structures the associated result in the form of display blocks with possibly the display data in the default display format put together and make the result available to the HMI device. On the operating / monitoring device, a display program is executed to display at least display blocks in the predeterminable display format. References to at least one script are stored on the control unit in the display modules. The references are related to an event, whereby the associated script is started and processed by the interpreter program when the event occurs.

Besonderes Merkmal der Erfindung ist, dass vom Bedien-/Beobachtungsgerät dargestellte Anzeigebausteine bei entsprechenden Ereignissen wiederum Skripte im Steuergerät starten. Diese Skripte stellen als Ergebnis der Abarbeitung ihrerseits neue Anzeigebausteine zusammen, die dann wiederum vom Bedien-/Beobachtungsgerät geladen werden können. Es werden sozusagen - vom Bedien-/Beobachtungsgerät aus betrachtet - Skripte gestartet und im Anschluss das zugehörige Ergebnis der Skriptabarbeitung zur Darstellung geladen.A special feature of the invention is that the display / display unit shown display modules with appropriate Events in turn start scripts in the control unit. As a result of the processing, these scripts put together new display modules, which in turn can be loaded by the HMI device. As it were, scripts are started - viewed from the operating / monitoring device - and the corresponding result of the script processing is then loaded for display.

Der große Vorteil der Erfindung liegt darin, dass das Bedien-/Beobachtungsgerät nicht mehr direkt auf die sensitive Firmware der Steuereinheit zugreifen kann. Die Kommunikation erfolgt nun über ein Interpreter-Programm. Ein Zugang zur eigentlichen Steuerungsapplikation sowie zu den internen Betriebsdaten der Firmware ist nicht mehr möglich. Die Programmstrukturen der Skripte sind dabei so strukturiert, dass sie einen Schreib- und Lesezugriff auf die Steuerlogik des Steuergeräts erlauben. Vorteilhaft ist es dabei möglich, unzulässige Parameterwerte zu prüfen, wie z.B. auf Plausibilität. Dadurch werden unzulässige Zustände und folglich mögliche Schäden am Steuergerät sowie an der angeschlossenen Maschine vermieden.The big advantage of the invention is that the operating / monitoring device can no longer directly access the sensitive firmware of the control unit. Communication now takes place via an interpreter program. Access to the actual control application as well as to the internal operating data of the firmware is no longer possible. The program structures of the scripts are structured such that they allow read and write access to the control logic of the control unit. Advantageously, it is possible to check inadmissible parameter values, such as e.g. for plausibility. This prevents impermissible conditions and consequently possible damage to the control unit and the connected machine.

Das Interpreter-Programm, welches von der Steuereinheit ausgeführt wird, arbeitet schrittweise Skripte ab. Skripte bestehen aus einer Liste von Befehlen, die nacheinander abgearbeitet werden. Für diese "Skriptsprache" ist eine einfache Programmsyntax definiert, welche auch bedingte Anweisungen wie Verzweigungen, Schleifen sowie Funktionsaufrufe umfassen. Auch kann der vorhandene Befehlsvorrat dynamisch erweitert werden, indem neue Programmstrukturen z.B. in eine Befehlsbibliothek aufgenommen werden. Die Verwendung von Skripten ist z.B. von den Programmiersprachen Visual Basic oder JAVA-Script bekannt. Die Skripte sind dabei in Klartext abgefasst und in entsprechender Weise einfach zu lesen und zu ändern. Weitere bekannte Beispiele für Skripte sind sogenannten Makros.The interpreter program executed by the control unit processes step-by-step scripts. Scripts consist of a list of commands that are processed one after the other. For this "scripting language" a simple program syntax is defined, which also includes conditional statements such as branches, loops and function calls. The existing instruction set can also be expanded dynamically by including new program structures in a command library, for example. The use of scripts is known, for example, from the programming languages Visual Basic or JAVA-Script. The scripts are written in clear text and are easy to read and modify. Other well-known examples of scripts are so-called macros.

Damit ist ein weiterer großer Vorteil verbunden. Denn die Skriptsprache, d.h. die Hintereinanderreihung der einfachen strukturierten Skriptbefehle, erlaubt eine "Programmierung" auf einem hohen Abstraktionsniveau, ohne dass Kenntnisse der eigentlichen Firmware notwendig sind. Dadurch können Kunden wie auch OEM-Lieferanten eigene Anwendungen für ihre Zwecke erstellen. Einfache Skriptbefehle können z.B. sein: "SETPARAM" oder "GETPARAM" mit einer nachfolgend festgelegten Anzahl von erforderlichen zu übergebenden bzw. zu übernehmenden Argumenten.This is another great advantage. Because the scripting language, i. the sequential arrangement of the simple structured script commands, allows a "programming" on a high level of abstraction, without knowledge of the actual firmware is necessary. This allows customers as well as OEM suppliers to create their own applications for their own purposes. Simple script commands may e.g. "SETPARAM" or "GETPARAM" with a subsequently specified number of required arguments to be submitted or accepted.

Die zuvor beschriebenen Skripte können auch die Ablaufsteuerung von "Wizards" übernehmen. Wizard sind interaktive Hilfsprogramme, wie z.B. Installationsprogramme.The scripts described above can also take over the control of "wizards". Wizards are interactive utilities, such as Installers.

Da das Interpreter-Programm die Befehle sequentiell abarbeitet, indem zu dem jeweiligen Befehl ein lauffähiger Code, wie z.B. in einer Runtime-Bibliothek, ausgeführt wird, ist eine Kompilierung vorteilhaft bei Änderungen der Skripte, der Anzeigebausteine und der Programmstrukturen nicht erforderlich. Die Zugriffe auf die komplexe Steuerlogik des Steuergeräts mit ihren gerätespezifischen Besonderheiten erfolgt alleinig durch das Interpreter-Programm.Since the interpreter program executes the instructions sequentially by adding to the respective instruction an executable code, e.g. is executed in a runtime library, compilation is advantageously not necessary for changes to the scripts, the display blocks and the program structures. The access to the complex control logic of the control unit with its device-specific features is done solely by the interpreter program.

Das Interpreterprogramm kann darüber hinaus auch anderweitige Aufgaben im Steuergerät ausführen, die nicht dem Bedien-/Beobachtungsgerätsgerät zuzuordnen sind. Das Interpreter-Programm kann z.B. in der Skriptsprache abgefasste Applikationen für die Firmware ausführen.The interpreter program can also perform other tasks in the control unit, which are not assigned to the HMI device. The interpreter program may e.g. execute written applications for the firmware in the scripting language.

Ein weiterer großer Vorteil ist, dass kundenspezifische Anpassungen, wie z.B. in Form einer geänderten Darstellung von Parametern, keinerlei Änderungen an der Firmware des Bedien-/Beobachtungsgeräts sowie der Firmware der Steuereinheit be-dingen. Die Änderungen erfolgen ausschließlich dadurch, indem neue Dateien mit Skripten und ggf. mit Anzeigebausteinen und Programmstrukturen in das Steuergerät geladen werden.Another great advantage is that customer-specific adjustments, such as in the form of a modified representation of parameters, do not require any changes to the firmware of the operating / monitoring device and the firmware of the control unit. The changes are made exclusively by loading new files with scripts and possibly with display blocks and program structures into the control unit.

Die Betriebsdaten der Firmware, welche üblicherweise in einem binären Format vorliegen, werden mittels der Programmstrukturen in Anzeigedaten eines vorgebbaren Anzeigeformats umgewandelt. Ein mögliches Anzeigeformat ist z.B. ein sogenannter ASCII-String, welcher ein binäres Betriebsdatum in eine im Klartext lesbare Zeichenkette umwandelt. Eine solche Zeichenkette kann zur Kennzeichnung für das Anzeigeprogramm auch zwischen zwei sogenannten "Tags" eingeschlossen werden. Tags werden z.B. in der Auszeichnungssprache XML oder in der Beschreibungssprache HTML eingesetzt.The operating data of the firmware, which are usually in a binary format, are converted by means of the program structures into display data of a predefined display format. One possible display format is e.g. a so-called ASCII string, which converts a binary operating date into a plaintext string. Such a character string can also be enclosed between two so-called "tags" for the purpose of identifying the display program. Tags are e.g. used in the markup language XML or in the description language HTML.

Die Verweise stehen, wie zuvor beschrieben, in Zusammenhang mit einem auslösenden Ereignis. Ein Ereignis kann z.B. eine Benutzeraktion auf einer grafischen Bedienoberfläche des Bedien-/Beobachtungsgeräts sein. Ein Beispiel für eine Benutzeraktion ist die Auswahl einer von mehreren Optionen in einer sogenannten Combobox. Die Auswahl kann z.B. mittels eines Mauszeigers erfolgen, indem die gewünschte Option angeklickt wird. Davon abhängig wird ein Verweis auf ein zugehöriges Skript auf dem Steuergerät ausgegeben. Auch ist ein Verweis auf dasselbe Skript auf dem Steuergerät möglich, indem z.B. mit dem Verweis ein zugehöriger Text oder eine zugehörige Kennung der ausgewählten Option als Argument ausgegeben wird.The references are, as previously described, associated with a triggering event. An event may e.g. be a user action on a graphical user interface of the HMI device. An example of a user action is choosing one of several options in a so-called combo box. The selection may e.g. using a mouse pointer by clicking on the desired option. Depending on this, a reference to an associated script is output on the control unit. Also, a reference to the same script on the controller is possible by e.g. with the reference an associated text or an associated identifier of the selected option is output as an argument.

Ein Ereignis kann z.B. auch ein interner Melde- oder Alarmzustand des Steuergeräts sein. Derartige Meldungen werden z.B. im Rahmen eines Interrupts oder einer sogenannten Exception generiert oder zyklisch von einem Überwachungsprogramm des Steuergeräts mittels eines Interrupts ausgegeben. Abhängig von einem auszulösenden Ereignis kann auch ein entsprechender Anzeigebaustein erzeugt und abspeichert werden. Dieser Anzeigebaustein kann z.B. einen Fehler- oder Warntext visualisieren. Auf diese Weise können auch vorteilhaft Meldungen an das Bedien-/Beobachtungsgerät übertragen werden, auch wenn keine Benutzeraktion vorliegt.An event may e.g. also be an internal alarm or alarm state of the controller. Such messages are e.g. generated in the context of an interrupt or a so-called Exception or cyclically output by a monitoring program of the control unit by means of an interrupt. Depending on an event to be triggered, a corresponding display module can also be generated and stored. This display module may e.g. visualize an error or warning text. In this way, messages can advantageously also be transmitted to the operating / monitoring device, even if there is no user action.

Im besonderen Maße umfassen die Anzeigebausteine z.B. Textfelder, Bitmaps, Editierfelder. Dadurch lassen sich für das Bedien-/Beobachtungsgerät neue Bedienoberflächen auf einfache Weise modular erstellen.In particular, the display modules include, for example, text fields, bitmaps, edit fields. This can be for the Operating / monitoring device can easily create new user interfaces in a modular way.

Weiterhin umfassen die Programmstrukturen z.B. mathematische und logische Funktionen sowie Programmverzweigungen und Schleifen. Mathematische Funktionen können z.B. Multiplikation, Division, Addition sein. Logische Funktionen können z.B. ODER-, AND-, Schiebeoperationen oder auch bitbezogene Operationen sein. Die Programmstrukturen können sogar in einer Weise strukturiert sein, dass sich Funktionen in rekursiver Weise sich selbst wieder aufrufen. Auf diese Weise ist eine Konstruktion mächtiger und zugleich einfacher Befehle möglich.Furthermore, the program structures include e.g. mathematical and logical functions as well as program branches and loops. Mathematical functions may e.g. Be multiplication, division, addition. Logical functions may e.g. OR, AND, shift operations or bit-related operations. The program structures may even be structured in such a way that functions recursively call themselves. In this way, a construction of powerful and at the same time simple commands is possible.

Es können gemäß einer weiteren Verfahrensvariante mehrere Anzeigebausteine zu Anzeigeseiten kombiniert werden. Dadurch können in vorteilhafter weise als Abarbeitungsergebnis eines Skripts ganze Bildschirmseiten mit einer Vielzahl von Anzeigebausteinen dargestellt werden, wie z.B. ein Stammmenü oder ein Startfenster.It can be combined into display pages according to a further process variant several display modules. As a result, entire screen pages with a multiplicity of display modules can advantageously be represented as the processing result of a script, such as e.g. a root menu or a startup window.

Vorzugweise verwaltet das Interpreter-Programm Daten in Form von Variablen und Arrays, wobei diese in den Skripten definiert werden können. Dadurch können in vorteilhafter Weise anwendungsbezogene Datentypen deklariert und eingesetzt werden.Preferably, the interpreter program manages data in the form of variables and arrays, which can be defined in the scripts. As a result, application-related data types can be advantageously declared and used.

Vorzugsweise werden die Skripte, die Anzeigebausteine und die Programmstrukturen als Dateien in einer Bibliothek abgelegt. Der Begriff Bibliothek ist dabei weit auszulegen. Insbesondere ist darunter eine datentechnisch vorteilhafte Organisation der "Quelldateien" der Skripte, Anzeigebausteine sowie der Programmstrukturen zu verstehen, wie z.B. in Verzeichnissen bzw. Ordnern.The scripts, the display modules and the program structures are preferably stored as files in a library. The term library is to be interpreted broadly. In particular, this is to be understood as a data-technically advantageous organization of the "source files" of the scripts, display modules and program structures, such as e.g. in directories or folders.

Die oben genannten Dateien können auch in einem komprimierten Dateiformat vorliegen und bei Aufruf durch das Interpreter-Programm wieder dekomprimiert werden. Das Entpacken bzw. Dekomprimieren kann mittels eines kleinen Parser-Programms erfolgen. Die Dateikomprimierung erlaubt eine vorteilhafte erhebliche Reduzierung des Speicherbedarfs der sonst in Klartext vorliegenden "Quelldateien". Zudem erhöht sich vorteilhaft die Abarbeitungsgeschwindigkeit des Interpreter-Programms.The above files can also be in a compressed file format and decompressed when called by the interpreter program. The unpacking or decompression can be done using a small parser program. The file compression allows a significant significant reduction in the memory requirements of the otherwise available in plain text "source files". In addition, the processing speed of the interpreter program increases advantageously.

Vorzugsweise werden die Anzeigebausteine bzw. die aus Anzeigebausteinen kombinierten Anzeigeseiten in einer Ergebnisdatei gespeichert. Diese Ergebnisdatei kann über Dateitransferbefehle auf einfache Weise vom Bedien-/Beobachtungsgerät geladen werden. Dies kann z.B. über Angabe des Dateinamens und des zugehörigen Pfads erfolgen.The display modules or the display pages combined from display modules are preferably stored in a result file. This result file can easily be loaded from the HMI device via file transfer commands. This can e.g. by specifying the file name and the associated path.

Wie die "Quelldateien" können auch die Anzeigebausteine bzw. die aus Anzeigebausteinen kombinierten Anzeigeseiten in ein komprimiertes Dateiformat in der Ergebnisdatei gespeichert werden. Hierzu führt das Interpreter-Programm ein geeignetes Komprimierungsprogramm aus. Nach dem Laden der komprimierten Datei wird diese durch das Anzeigeprogramm wieder entpackt. Besonders geeignet ist hierfür ein ACX- oder ACF-Dateiformat, welches Text mit geringem Softwareaufwand besonders effektiv komprimiert.Like the "source files", the display blocks or the display pages combined from display blocks can also be saved in a compressed file format in the result file. For this, the interpreter program executes a suitable compression program. After loading the compressed file, it is unpacked again by the display program. Especially suitable for this is an ACX or ACF file format, which compresses text with minimal software effort particularly effectively.

In einer weiteren bevorzugten Ausführungsform prüft das Anzeigeprogramm zyklisch das Vorhandensein von aktualisierten Anzeigebausteinen bzw. von aus Anzeigebausteinen kombinierten aktualisierten Anzeigeseiten. Liegt z.B. die Ergebnisdatei nun mit jüngerem Datum und Uhrzeit gegenüber der zuletzt geladenen Ergebnisdatei vor, so wird die Ergebnisdatei geladen und die enthaltenen Anzeigeobjekte dargestellt.In a further preferred embodiment, the display program cyclically checks for the presence of updated display modules or updated display pages combined from display modules. If, for example, If the result file now has a later date and time than the last loaded result file, the result file is loaded and the displayed objects are displayed.

In einer bevorzugten Ausführungsform des Verfahrens werden die Skripte, die Anzeigebausteine und die Programmstrukturen in der Notation der Auszeichnungssprache XML (Extentable Markup Language) strukturiert. XML ist eine standardisierte Auszeichnungssprache, mittels derer Konzepte und Regeln eigene Auszeichnungssprachen, Programmiersprachen sowie Skriptsprachen definiert werden können. Eine auf Basis dieser Konzepte und Regeln entwickelte Skriptsprache besteht immer wieder aus Elementen, markiert durch sog. Tags, deren Verschachtelungsregeln und aus Attributen mit erlaubten Wertzuweisungen.In a preferred embodiment of the method, the scripts, the display modules and the program structures are structured in the notation of the markup language XML (Extentable Markup Language). XML is a standardized markup language that uses concepts and rules to create its own markup languages, programming languages and scripting languages can be defined. A script language developed on the basis of these concepts and rules consists again and again of elements, marked by so-called tags, their nesting rules and attributes with permitted value assignments.

Der große Vorteil einer Skriptsprache auf Basis von XML ist die einfache Erweiterbarkeit derer Elemente sowie das Vorhandensein einer Vielzahl von Entwicklungstools wie XML Tools, Editoren und Prüfwerkzeuge wie DTD (document type definition) zur Syntaxprüfung.The big advantage of an XML-based scripting language is the ease of extensibility of these elements, as well as the availability of a variety of development tools such as XML tools, editors and test tools such as DTD (document type definition) for syntax checking.

Alternativ kann zur Abarbeitung der Skripte die Skriptsprache Tcl (Tool command language) mit Anzeigebausteinen auf Basis von Tk (Tool kit) verwendet werden. Entsprechende Bibliotheken und Werkzeuge sind ebenfalls vorhanden, so dass ein Benutzer in sehr kurzer Zeit in der Lage sein wird, Skripte zu erstellen.Alternatively, the script language Tcl (Tool Command Language) with display blocks based on Tk (Tool Kit) can be used to process the scripts. Appropriate libraries and tools are also available so that a user will be able to create scripts in a very short time.

Vorzugsweise wird das Interpreter-Programm durch die Steuereinheit in einem Hintergrund-Prozess ausgeführt. Damit ist der Vorteil verbunden, dass vorrangig Steuer- und Regelaufgaben durch das Steuergerät ausgeführt werden, so dass diese Aufgaben nicht durch Skriptaufrufe beeinträchtigt werden.Preferably, the interpreter program is executed by the control unit in a background process. This has the advantage that primarily control and regulatory tasks are performed by the controller, so that these tasks are not affected by script calls.

Im Besonderen führt die Steuereinheit Softwareprogramme eines Echtzeit- oder auch Realtime-Betriebssystems, wie z.B. PERL, VxWorks oder RTLinux, aus. Dadurch ist die Ausführung von parallel mehreren Überwachungs-, Steuerungs- und Regelungsaufgaben möglich. Ein übergeordnetes Zeitscheiben Management stellt sicher, dass die durchzuführenden Aufgaben gemäß ihrer Priorisierung ausreichend Rechenzeit in einem vorgebbaren Zeitintervall erhalten.In particular, the control unit executes software programs of a real-time or real-time operating system, e.g. PERL, VxWorks or RTLinux, off. This makes it possible to execute several monitoring, control and regulation tasks in parallel. A higher-level time slice management ensures that the tasks to be carried out, according to their prioritization, receive sufficient computing time within a predefinable time interval.

In einer weiteren vorteilhaften Verfahrensvariante erfolgt die Datenübertragung zwischen dem Bedien-/Beobachtungsgerät und dem Steuergerät auf drahtlosem Wege, wie z.B. mittels der standardisierten Übertragungsverfahren WLAN, Bluetooth auf funktechnischer Basis oder mittels IRDA auf Basis von Infrarotstrahlen. Im Vergleich zu den gängigen standardisierten leitungsgebundenen Übertragungsverfahren, wie z.B. mittels LAN, Ethernet oder USB, ist sofort ein Verbindungsaufbau möglich, sobald das Bedien-/Beobachtungsgerät im Erfassungsbereich eines Steuergeräts gelangt. Da sowohl bei der kabellosen als auch bei der kabelgebundenen Datenübertragung sämtliche Anzeigebausteine ausschließlich vom jeweiligen Steuergerät geladen und dargestellt werden, ist weiterhin vorteilhaft das Bedienen und Beobachten mehrerer erreichbarer Steuergeräte möglich. Nach Auswahl eines der erreichbaren Steuergeräte kann z.B. eine Refresh- oder Aktualisierungstaste auf dem Bedien-/Beobachtungsgerät gedrückt werden, so dass die zum aktuell zu überwachenden Steuergerät zugehörige Ergebnisdatei mit den Anzeigebausteinen ausgelesen und dargestellt werden kann.In a further advantageous variant of the method, the data transmission between the operating / monitoring device and the control device takes place by wireless means, such as by means of the standardized transmission method WLAN, Bluetooth radio-technical basis or by means of IRDA based on infrared rays. Compared to common standardized line-based transmission methods, such as LAN, Ethernet or USB, a connection can be established immediately as soon as the HMI device reaches the detection area of a control unit. Since all display components are loaded and displayed exclusively by the respective control unit both in the wireless and in the wired data transmission, the operation and monitoring of several achievable control units is also advantageously possible. After selecting one of the achievable control devices, for example, a refresh or update button on the operating / monitoring device can be pressed so that the result file to be monitored for the control device to be monitored can be read out and displayed with the display modules.

Das erfindungsgemäße Verfahren ist auch zur Inbetriebnahme eines Steuergeräts verwendbar. Somit kann mittels eines vorteilhaft einzigen Bedien-/Beobachtungsgeräts z.B. eine ganze Anlage mit einer Vielzahl von Steuergeräten in Betrieb genommen werden.The method according to the invention can also be used for starting up a control device. Thus, by means of an advantageously single HMI device, e.g. a whole plant with a variety of control units are put into operation.

Das erfindungsgemäße Verfahren kann besonders vorteilhaft zum Bedienen und Beobachten von Automatisierungs- und Fertigungsprozessen verwendet werden, da in diesem industriellen Umfeld eine große Anzahl unterschiedlichster Steuergeräte mit unterschiedlichen Steuer- und Regelungsaufgaben zum Einsatz kommt.The inventive method can be used particularly advantageously for operating and monitoring of automation and manufacturing processes, since in this industrial environment a large number of different control devices with different control and regulation tasks is used.

Weiterhin kann das Anzeigeprogramm zur Durchführung des erfindungsgemäßen Verfahrens auf einem Bedien-/Beobachtungsgerät in (ausschließlich) maschinenlesbarer Form auf einem Datenspeichermedium gespeichert werden.Furthermore, the display program for carrying out the method according to the invention can be stored on an operating / monitoring device in (exclusively) machine-readable form on a data storage medium.

Auch kann das Interpreter-Programm und/oder die Bibliothek aus Skripten, Anzeigebausteinen und Programmstrukturen zur Durchführung des erfindungsgemäßen Verfahrens auf einem Steuergerät in maschinenlesbarer Form auf einem Datenspeichermedium gespeichert werden.Also, the interpreter program and / or the library of scripts, display blocks and program structures for carrying out the method according to the invention on a control unit stored in machine-readable form on a data storage medium.

Das Datenspeichermedium kann z.B. eine Diskette, eine Compact Disk (CD) oder eine Digital Versatile Disk (DVD) sein. Alternativ kann das Datenspeichermedium auch ein kompakte elektronische Speicherkarte, insbesondere eine MM-Card, SD-Card oder CF-Card, sein.The data storage medium may e.g. a floppy disk, a compact disk (CD) or a digital versatile disk (DVD). Alternatively, the data storage medium may also be a compact electronic memory card, in particular an MM card, SD card or CF card.

Das Datenspeichermedium kann vorteilhaft vor Ort mittels eines geeigneten Lesegeräts im Bedien-/Beobachtungsgerät oder im Steuergerät ausgelesen werden. Insbesondere sind elektronische Speicherkarten und die entsprechenden Lesegeräte wegen ihrer äußerst kompakten Bauart vorteilhaft für den Einbau in ein Bedien-/Beobachtungsgerät bzw. in ein Steuergerät geeignet.The data storage medium can advantageously be read out on site by means of a suitable reading device in the operating / monitoring device or in the control unit. In particular, electronic memory cards and the corresponding readers are advantageous because of their extremely compact design for installation in an operating / monitoring device or in a control unit.

Die Aufgabe wird weiterhin mit einem zum Verfahren korrespondierenden Bedien-/Beobachtungsgerät gelöst. Dazu weist das Bedien-/Beobachtungsgerät eine grafische Bedienoberfläche, Eingabemittel für einen Benutzer, eine Datenschnittstelle zur datentechnischen Verbindung des Bedien-/Beobachtungsgeräts mit einem Steuergerät sowie eine prozessorgestützte Steuereinheit zum Ausführen von Softwareprogrammen auf.The object is further achieved with a method corresponding to the operating / monitoring device. For this purpose, the operating / monitoring device has a graphical user interface, input means for a user, a data interface for the data connection of the operating / monitoring device to a control device and a processor-based control unit for executing software programs.

Die Steuereinheit dient zum Ausführen eines Anzeigeprogramms zur Durchführung des erfindungsgemäßen Verfahrens. Das Anzeigeprogramm dient insbesondere zum Laden und Darstellen zumindest von Anzeigebausteinen in einem vorgebbaren Anzeigeformat auf der grafischen Bedienoberfläche. Das Anzeigeprogramm dient auch zur Ausgabe eines Verweises auf zumindest ein Skript auf dem Steuergerät. Dabei ist der Verweis in den Anzeigebausteinen hinterlegt und durch eine Benutzeraktion auf der grafischen Bedienoberfläche auswählbar.The control unit is used to execute a display program for carrying out the method according to the invention. The display program is used in particular for loading and displaying at least display modules in a predefinable display format on the graphical user interface. The display program is also used to output a reference to at least one script on the control unit. The reference is stored in the display blocks and can be selected by a user action on the graphical user interface.

In einer besonderen Ausführungsform weist ein erfindungsgemäßes Bedien-/Beobachtungsgerät einen Touch-Screen auf, welcher zugleich Anzeigeeinheit für die grafische Bedienoberfläche, wie z.B. ein LCD-Display, und Eingabemittel ist. Auf der grafischen Bedienoberfläche dargestellte Anzeigebausteine, welche mehrere Möglichkeiten für eine Auswahl einem Benutzer anbieten, erlauben auf vorteilhaft einfache Weise eine Auswahl mit einem Fingerdruck. Weiterhin reduziert sich vorteilhaft die Anzahl von Tasten.In a particular embodiment, an operating / monitoring device according to the invention has a touch screen, which at the same time displays the graphical user interface, such as an LCD display, and input means. Display modules shown on the graphical user interface, which offer a plurality of possibilities for a selection to a user, advantageously allow a selection with a finger pressure. Furthermore, the number of keys is advantageously reduced.

In einer bevorzugten Ausführungsform ist das Bedien-/Beobachtungsgerät als tragbare mobile Einheit ausgeführt. Dieses Gerät kann in vorteilhafter Weise z.B. von einem Servicetechniker oder von einem Inbetriebsetzer für den jeweiligen Einsatz mitgeführt werden.In a preferred embodiment, the HMI device is designed as a portable mobile unit. This device can advantageously be used e.g. be carried by a service technician or a commissioning for the respective application.

Besonders vorteilhaft ist die Ausbildung eines Bedien-/Beobachtungsgeräts als Operator Panel für den Einsatz in der Automatisierungs- und Fertigungstechnik. Derartige Geräte sind besonders für das raue industrielle Umfeld ausgebildet.Particularly advantageous is the formation of an operating / monitoring device as an operator panel for use in automation and manufacturing technology. Such devices are designed especially for the harsh industrial environment.

Die Aufgabe wird weiterhin mit einem zum Verfahren korrespondierenden Steuergerät gelöst. Ein solches Steuergerät weist eine prozessorgestützte Steuereinheit zum Ausführen von Softwareprogrammen und eine Datenschnittstelle zur datentechnischen Verbindung mit einem Bedien-/Beobachtungsgerät auf.The object is further achieved with a control device corresponding to the method. Such a control device has a processor-based control unit for executing software programs and a data interface for data communication with an operating / monitoring device.

Die Steuereinheit dient zum Ausführen eines Interpreter-Programms zur Durchführung des erfindungsgemäßen Verfahrens. Insbesondere dient das Interpreter-Programm zum Starten und Abarbeiten eines Skripts mittels eines von der Datenschnittstelle empfangenen zugehörigen Verweises auf das Skript im Steuergerät. Ebenso dient das Interpreter Programm zum Zusammenstellen des zugehörigen Abarbeitungsergebnisses mittels der Programmstrukturen des gestarteten Skripts in Form von Anzeigebausteinen. Schließlich dient das Interpreter-Programm zum Speichern der Anzeigebausteine auf dem Steuergerät.The control unit is used to execute an interpreter program for carrying out the method according to the invention. In particular, the interpreter program serves to start and execute a script by means of an associated reference to the script in the control unit received from the data interface. Likewise, the interpreter program is used to compile the associated processing result by means of the program structures of the started script in the form of display modules. Finally, the interpreter program is used to store the display blocks on the controller.

In bevorzugter Weise weist die Steuereinheit eines solchen Steuergeräts einen Mikrocontroller auf. Ein Mikrocontroller umfasst im Gegensatz zu einer CPU eine Vielzahl von digitalen Ein- und Ausgängen sowie gegebenenfalls mehrere analoge Ein-und Ausgänge. Dadurch können vorteilhaft viele Messsignale, Schaltsignale, Drehzahlsignale etc. erfasst werden. Zugleich kann eine Vielzahl von Aktoren über nachgeschaltete Leistungsverstärker angesteuert werden, wie z.B. Motoren, Stellglieder, Ventile. Durch die Integration der Ein-/Ausgabekanäle auf dem Mikrocontroller ist eine äußerst kompakte Bauart möglich.The control unit of such a control device preferably has a microcontroller. A microcontroller, unlike a CPU, includes a variety of digital ones Inputs and outputs as well as possibly several analog inputs and outputs. As a result, advantageously many measurement signals, switching signals, speed signals, etc. can be detected. At the same time, a large number of actuators can be actuated via downstream power amplifiers, such as motors, actuators, valves. By integrating the input / output channels on the microcontroller, an extremely compact design is possible.

Zum Teil umfassen Mikrocontroller einen integrierten RAM-Speicher sowie einen ROM-Speicher. Auf diese Weise lässt sich auch in mechanischer Hinsicht eine im ROM-Speicher hinterlegte Firmware vor unbefugten Zugriffen schützen.In part, microcontrollers include an integrated RAM memory and a ROM memory. In this way, even in mechanical terms, a stored in the ROM memory firmware to protect against unauthorized access.

Eine derartige Steuereinheit kann auch als ein im Steuergerät eingebettetes System betrachtet werden (embedded system). Weitere notwendige Anpassschaltungen und Treiberbausteine können mit dem Mikrocontroller auf einer Platine äußerst kompakt angeordnet werden und ggf. vor Umwelteinflüssen gekapselt ausgeführt werden.Such a control unit can also be regarded as a system embedded in the control unit (embedded system). Further necessary matching circuits and driver components can be arranged with the microcontroller on a board extremely compact and possibly encapsulated against environmental influences.

Besonders vorteilhaft ist die Ausbildung eines Steuergeräts als Automatisierungsgerät. Aufgrund der vielfältigen Steuer-und Regelungsaufgaben im industriellen Umfeld besteht gerade dort der Wunsch nach einfach bedien- und beobachtbaren Geräten.Particularly advantageous is the formation of a control device as an automation device. Due to the variety of control and regulation tasks in the industrial environment, there is a desire for easy-to-use and observable devices.

Schließlich ist eine Maschine oder ein Anlagenteil, welche bzw. welcher ein erfindungsgemäßes Steuergerät zur Steuerung der Maschine oder des Anlagenteils aufweist, vorteilhaft schneller und effektiver zu bedienen und zu beobachten.Finally, a machine or a plant part, which or which has a control unit according to the invention for controlling the machine or the plant part, advantageous to operate faster and more effective and to observe.

Die Erfindung wird an Hand der nachfolgenden Figuren näher erläutert. Dabei zeigt

FIG 1
einen beispielhaftes Bedien-/Beobachtungsgerät, welches mit einem Steuergerät datentechnisch verbunden ist,
FIG 2
eine Darstellung der Funktionsblöcke des beispielhaften Bedien-/Beobachtungsgeräts und Steuergeräts und deren Wechselwirkung gemäß dem erfindungsgemäßen Verfahren,
FIG 3
ein Beispiel für den Aufbau einer Bibliothek mit Anzeigebausteinen, Programmstrukturen und Skripten gemäß der Erfindung,
FIG 4, 5
beispielhafte Programmstrukturen in der Notation der Auszeichnungssprache XML,
FIG 6, 7
beispielhafte Skripte in XML,
FIG 8, 9
beispielhafte Datenstruktur einer Programmstruktur in XML, welche mit der internen Steuerlogik eines Steuergeräts interagiert,
FIG 10-13
beispielhafte grafisch dargestellte Anzeigebausteine sowie die jeweilige zugehörige Abfolge von Befehlen in XML,
FIG 14
die prinzipielle Funktionsweise der Komprimierung eines beispielhaften XML-Skripts in eine entsprechende AXF-Datei gemäß der Erfindung,
FIG 15
ein beispielhaftes Steuergerät mit einem Lesegerät zum Auslesen einer elektronischen Speicherkarte als Datenspeichermedium für ein Interpreter-Programm gemäß der Erfindung,
FIG 16
einen beispielhaften Ablauf für das Starten, Abarbeiten eines Skripts und eines daraus erzeugten Anzeigebausteins gemäß dem erfindungsgemäßen Verfahren am Beispiel eines Testskripts und
FIG 17
die zugehörigen Befehlszeilen des beispielhaften Skripts bzw. Anzeigebausteins gemäß FIG 16 in XML.
The invention will be explained in more detail with reference to the following figures. It shows
FIG. 1
an exemplary operating / monitoring device, which is connected to a control device for data processing,
FIG. 2
a representation of the functional blocks of the exemplary HMI device and controller and their interaction according to the inventive method,
FIG. 3
an example for the construction of a library with display modules, program structures and scripts according to the invention,
4, 5
exemplary program structures in the notation of the markup language XML,
FIG. 6, 7
exemplary scripts in XML,
FIG. 8, 9
exemplary data structure of a program structure in XML, which interacts with the internal control logic of a control unit,
FIG. 10-13
exemplary graphically displayed display modules as well as the respective associated sequence of instructions in XML,
FIG. 14
the basic mode of operation of the compression of an exemplary XML script into a corresponding AXF file according to the invention,
FIG. 15
an exemplary controller with a reader for reading an electronic memory card as a data storage medium for an interpreter program according to the invention,
FIG. 16
an exemplary sequence for starting, processing a script and a display module generated therefrom according to the inventive method using the example of a test script and
FIG. 17
the associated command lines of the example script or display block according to FIG. 16 in XML.

FIG 1 zeigt ein beispielhaftes Bedien-/Beobachtungsgerät 1, welches mit einem Steuergerät 9 datentechnisch verbunden ist. Das Bedien-/Beobachtungsgerät 1 weist eine Anzeigeeinheit bzw, eine grafische Bedienoberfläche 2 für die Darstellung der von dem Steuergerät 9 geladenen Anzeigebausteine auf. Darüber hinaus umfasst das Bedien-/Beobachtungsgerät 1 beispielhaft eine Tastenreihe 3, welche als sogenannte Softkeys Befehle oder Funktionen ausführen, die auf der grafischen Bedienoberfläche 2 darüberliegend symbolisiert oder beschrieben werden. Die Tasten 4 erlauben die Einstellung der Helligkeit der Anzeige. Ein Zahlenblock 5 erlaubt die Eingabe von Zahlenwerten, z.B. ein Ändern von Prozessparametern. Mittels des Schalters 6 kann das Bedien-/Beobachtungsgerät 1 ein- und ausgeschaltet werden. Mittels der mit MENÜ gekennzeichneten Taste ist eine sofortige Rückkehr in ein Stammmenü möglich. Mit dem Bezugszeichen 8 sind Kontrollleuchten gekennzeichnet. FIG. 1 shows an exemplary operating / monitoring device 1, which is connected to a control unit 9 data technology. The operating / monitoring device 1 has a display unit or, a graphical user interface 2 for displaying the display units loaded by the control unit 9. In addition, the operator control / monitoring device 1 comprises, for example, a row of keys 3, which execute so-called softkeys commands or functions on the graphical user interface 2 overlying symbolized or described. The buttons 4 allow you to adjust the brightness of the display. A numeric block 5 allows the input of numerical values, eg a change of process parameters. By means of the switch 6, the operating / monitoring device 1 can be switched on and off. By means of the key marked with MENU an immediate return to a master menu is possible. By the reference numeral 8 indicator lights are marked.

FIG 1 zeigt weiterhin ein beispielhaftes Steuergerät 9, welches gemäß dem Beispiel der Figur mit einem Motor 13 verbunden ist. Der Motor 13 und das Steuergerät 9 bilden gemäß dem Beispiel der Figur eine Maschine 14, wie z.B. eine Werkzeugmaschine. Das Steuergerät 9 kann auch direkt am Motor 13 angeflanscht sein. Das Steuergerät 9 weist eine Steuereinheit 10, vorzugsweise ausgebildet als eingebettetes System, auf. Die Steuereinheit 10 kommuniziert über eine drahtlose oder leitungsgebundene Datenverbindung 15 mit dem Bedien-/Beobachtungsgerät 1. Der beispielhafte Motor 13 ist über Ausgabeleitungen 11 und Eingabeleitungen 12, wie z.B. zur Erfassung der Drehzahl, an das Steuergerät 9 angeschlossen. FIG. 1 further shows an exemplary control unit 9, which is connected to a motor 13 according to the example of the figure. The motor 13 and the control unit 9 form according to the example of the figure, a machine 14, such as a machine tool. The control unit 9 can also be flanged directly on the engine 13. The control unit 9 has a control unit 10, preferably designed as an embedded system. The control unit 10 communicates with the operating / monitoring device 1 via a wireless or line-connected data connection 15. The exemplary motor 13 is connected to the control unit 9 via output lines 11 and input lines 12, such as for detecting the rotational speed.

FIG 2 zeigt eine Darstellung der Funktionsblöcke des beispielhaften Bedien-/Beobachtungsgeräts 1 und des Steuergeräts 9 sowie deren Wechselwirkung gemäß dem erfindungsgemäßen Verfahren. Das Bedien-/Beobachtungsgerät 1 verfügt über ein Betriebssystem 26 zum Durchführen der wesentlichen Ein- und Ausgabefunktionen des Bedien-/Beobachtungsgerät 9. Mit dem Bezugszeichen 27 ist eine beispielhafte Applikation APPL bezeichnet, die gesondert oder auch parallel zu einem Anzeige-programm 28 - im Beispiel der Figur mit "HMI" bezeichnet - ausgeführt werden kann. Bei der Applikation 27 kann es sich z.B. um einen Texteditor oder ein Taschenrechnerprogramm handeln. FIG. 2 shows a representation of the functional blocks of the exemplary HMI device 1 and the control unit 9 and their interaction according to the inventive method. The operating / monitoring device 1 has an operating system 26 for carrying out the essential input and output functions of the operating / monitoring device 9. The reference numeral 27 is an exemplary application APPL referred to separately or in parallel to a display program 28 - im Example of the figure called "HMI" - can be executed. The application 27 may be, for example, a text editor or a calculator program.

FIG 2 zeigt weiterhin das beispielhafte Steuergerät 9 mit der Steuereinheit 10, gekennzeichnet durch einen punktstrichlierten Rahmen. Die Steuereinheit 10 umfasst ein Betriebssystem 21 sowie beispielhaft eine Applikation 22. Diese Applikation 22 kann z.B. ein Steuer- und Regelungsprogramm für den an das Steuergerät 9 angeschlossenen beispielhaften Motor 13 gemäß FIG 1 sein. Betriebssystem 21 und Applikation 22 bilden beispielhaft die Firmware der Steuereinheit 10. FIG. 2 further shows the exemplary control unit 9 with the control unit 10, characterized by a dot-dashed frame. The control unit 10 includes an operating system 21 and by way of example an application 22. This application 22 may, for example, a control and regulation program for the connected to the control unit 9 exemplary engine 13 according to FIG. 1 be. Operating system 21 and application 22 form the firmware of the control unit 10 by way of example.

Erfindungsgemäß ist ein Interpreter-Programm 24 vorgesehen, welches Skripte, Anzeigebausteine sowie Programmstrukturen in der XML-Notation aus einer Bibliothek 30 auslesen kann. Dies ist durch einen Pfeil mit der Bezeichnung READ gekennzeichnet. Im Rahmen der Abarbeitung erzeugte Anzeigebausteine 29 werden als Ergebnisdatei 25 abgespeichert. Dies ist durch den weiteren Pfeil mit der Bezeichnung WRITE symbolisiert. Ein weiterer Pfeil mit der Bezeichnung START zeigt den Weg an, den eine Anforderung vom Anzeigeprogramm 28 zum Interpreter-Programm 24 nimmt. Über diesen Weg wird eine Kennzeichnung des gewünschten Skripts übertragen, das danach unmittelbar vom Interpreter-Programm abgearbeitet wird. Das Ergebnis dieser Abarbeitung kann durch das Anzeigeprogramm 28 im Anschluss als Ergebnisdatei 25 geladen werden. Dies ist durch den Pfeil mit der Bezeichnung LOAD symbolisiert.According to the invention, an interpreter program 24 is provided which can read out scripts, display modules and program structures in the XML notation from a library 30. This is indicated by an arrow labeled READ. Display modules 29 generated as part of the processing are stored as result file 25. This is symbolized by the further arrow labeled WRITE. Another arrow labeled START indicates the way a request from the display program 28 to the interpreter program 24 takes. In this way, a label of the desired script is transmitted, which is then processed directly by the interpreter program. The result of this processing can be loaded subsequently by the display program 28 as a result file 25. This is symbolized by the arrow labeled LOAD.

FIG 3 zeigt ein Beispiel für den Aufbau einer Bibliothek 30 mit Skripten 31, Anzeigebausteinen 32 und Programmkonstrukten 33. Dabei können die Skripte 31 wiederum aus Anzeigebausteinen 32 und Programmstrukturen 33 kombiniert sein. Die in der Bibliothek 30 gespeicherten Anzeigebausteine 32 und Programmkonstrukte 33 werden vom Interpreter-Programm im Rahmen der Skriptabarbeitung in einen neuen Anzeigebaustein modular eingebunden. Wie eingangs beschrieben, ist es vorteilhaft, diese als Dateien in Verzeichnissen bzw. Ordner zu organisieren. FIG. 3 shows an example of the structure of a library 30 with scripts 31, display modules 32 and program constructs 33. In this case, the scripts 31 can in turn be combined from display modules 32 and program structures 33. The display modules 32 and program constructs 33 stored in the library 30 are modularly integrated by the interpreter program as part of script processing into a new display module. As described above, it is advantageous to organize them as files in directories or folders.

FIG 4, 5 zeigen beispielhafte Programmstrukturen 331, 332 in der Notation der Auszeichnungssprache XML. 4, 5 show exemplary program structures 331, 332 in the notation of the markup language XML.

FIG 4 zeigt die prinzipielle Syntax einer Programmstruktur 331 mit der Bezeichnung "ADD", welche eine Reihe von Summanden addiert. Die Summanden werden bei Aufruf dieser Programmstruktur 331 in Form von Argumenten übergeben. <arg> bezeichnet dabei den Beginn eines zu übergebenden Arguments. </arg> das entsprechende Ende. Zwischen diesen beiden Klammerausdrücken wird dann der zu übergebende Zahlenwert eingefügt. Nach der Abarbeitung wird das Ergebnis, d.h. die Summe der Summanden, als Ergebnis der aufrufenden Funktion zurückgegeben. FIG. 4 shows the principal syntax of a program structure 331 named "ADD" which adds a series of summands. The summands are called when this program structure is called 331 in the form of arguments. <arg> denotes the beginning of an argument to be submitted. </ arg> the corresponding end. The numerical value to be passed is then inserted between these two parenthesized expressions. After processing, the result, ie the sum of the summands, is returned as the result of the calling function.

FIG 5 zeigt als Programmstruktur 332 eine allgemein bekannte IF-ELSE-Anweisung, welche aus anderen Programmiersprachen, wie z.B. PASCAL, bekannt ist. Die zugehörige beispielhafte Datenstruktur spezifiziert, dass in der ersten und dritten Zeile mit Argumenten die zu vergleichenden Operanden zu übergeben sind. In der zweiten Zeile ist die Art des Vergleichs mittels eines Operators anzugeben, wie z.B. "größer", "gleich", "kleiner". In den beiden nachfolgenden mit <do>-Argumenten bezeichneten Zeilen erfolgt die Befehlsabarbeitung für den Fall, dass das Vergleichsergebnis positiv ist. Im anderen Fall erfolgt die alternative Bearbeitung nach dem mit "ELSE" bezeichneten Schlüsselwort. FIG. 5 shows as program structure 332 a well-known IF-ELSE instruction, which is known from other programming languages, such as PASCAL. The associated exemplary data structure specifies that the operands to be compared are to be transferred in the first and third line with arguments. The second line should indicate the type of comparison by means of an operator, such as "greater", "equal", "smaller". In the following two lines, labeled with <do> arguments, the command is executed in case the result of the comparison is positive. In the other case, the alternative processing takes place according to the keyword designated "ELSE".

FIG 6, 7 zeigen beispielhafte Skripte 311, 312 in XML. FIG. 6 . 7 show example scripts 311, 312 in XML.

Das Skript gemäß FIG 6 mit dem Titel LOAD_PAGE wird als Reaktion auf eine Benutzeraktion durch das Anzeigeprogramm auf dem Bedien-/Beobachtungsgerät 1 spezifiziert und gestartet. Die beispielhafte Datenstruktur ermittelt aus einer relativen Pfadangabe eine absolute Pfadangabe, so dass die gewünschte Datei adressiert werden kann. Mittels des Befehls PARSE_PAGE wird die Datei, welche wiederum Skripte 31, Anzeigebausteine 32 oder Programmstrukturen 33 aufweisen kann, geladen und diese dann abgearbeitet.The script according to FIG. 6 entitled LOAD_PAGE is specified and started on the HMI device 1 in response to a user action by the display program. The exemplary data structure determines from a relative path specification an absolute path, so that the desired file can be addressed. By means of the command PARSE_PAGE, the file, which in turn may have scripts 31, display modules 32 or program structures 33, is loaded and then processed.

FIG 7 zeigt eine Programmstruktur 312 mit dem Titel "LOAD_PARAMETER". Gemäß XML-Notation wird zuerst die innerste Programmstruktur abgearbeitet, d.h. der Befehl "GETPARAM". Der ermittelte Parameterwert wird anschließend in einen String, d.h. in eine Zeichenkette, umgewandelt und anschließend als Anzeigebaustein in der Ergebnisdatei abgelegt. FIG. 7 shows a program structure 312 entitled "LOAD_PARAMETER". According to XML notation, the innermost program structure is executed first, ie the command "GETPARAM". The calculated parameter value is then converted into a string, ie into a character string, and then stored as a display component in the result file.

FIG 8, 9 zeigen beispielhaft die Datenstruktur 333 einer Programmstruktur 334 in XML, welche mit der internen Steuerlogik eines Steuergeräts interagiert. FIG. 8 . 9 show by way of example the data structure 333 of a program structure 334 in XML, which interacts with the internal control logic of a control unit.

FIG 8 zeigt die Datenstruktur einer GETPARAM- und einer SETPARAM-Anweisung. In der jeweiligen Datenstruktur ist die Anzahl der zu übergebenden oder zu lesenden Argumenten angegeben. FIG. 8 shows the data structure of a GETPARAM and a SETPARAM statement. The number of arguments to be passed or read is given in the respective data structure.

FIG 9 zeigt eine auf diese basierende Programmstruktur, welche - wiederum ausgehend von der innersten Programmstruktur - den Wert des Parameters 98 ausliest und diesen Wert in den Parameter 99 einschreibt. Es handelt sich hierbei um eine einfache Kopieranweisung. FIG. 9 shows a program structure based on this, which - again starting from the innermost program structure - reads out the value of the parameter 98 and writes this value into the parameter 99. This is a simple copy instruction.

FIG 10-13 zeigen beispielhafte grafisch dargestellte Anzeigebausteine 291-292 sowie die jeweilige zugehörige Abfolge von Befehlen 294-295 in XML. FIG 10 zeigt ein Textfeld mit dem Titel "Hauptmenü". Die Größe dieses beispielhaften Textfelds wird mit dem Parameter size="16" gemäß FIG 11 festgelegt. Wird dieses Textfeld z.B. mit einem Mauszeiger angewählt, so wird das Interpreter-Programm 24 durch das Anzeigeprogramm 28 veranlasst, die beispielhafte Datei "SINAMICS_G\MAIN.AXF" zu laden, deren Anzeigebausteine eine Hauptmenü-Bildschirmseite darstellen kann. FIG 12 zeigt eine sog. Combobox mit dem gegenwärtigen Titel "enuml". Mittels Anwahl des eingezeichneten Pfeils 293 kann dann eine Auswahl aus mehreren Feldern getroffen werden. Die mögliche Auswahl ist beispielhaft gemäß FIG 13 in den Befehlszeilen mit dem Schlüsselwort "item" angegeben. FIG. 10-13 show exemplary graphically displayed display modules 291-292 as well as the respective associated sequence of instructions 294-295 in XML. FIG. 10 shows a text box titled "Main Menu". The size of this example text field is determined by the parameter size = "16" FIG. 11 established. If this text field is selected, for example, with a mouse pointer, then the interpreter program 24 is caused by the display program 28 to load the exemplary file "SINAMICS_G \ MAIN.AXF" whose display modules can display a main menu screen page. FIG. 12 shows a so-called combobox with the current title "enuml". By selecting the indicated arrow 293 then a selection of several fields can be made. The possible choice is exemplary according to FIG. 13 specified in the command lines with the keyword "item".

FIG 14 zeigt die prinzipielle Funktionsweise der Komprimierung eines beispielhaften XML-Skripts 40 in eine entsprechende AXF-Datei 43 gemäß der Erfindung. Das Skript 40 ist als Klartext gegeben. In datentechnischer Hinsicht ist dieses Skript nichts anderes als eine Zeichenkette mit einer bestimmten Länge. Mittels eines AXF-Dictionary 42 werden Anweisungen, wie z.B. "text", "combobox update" oder "item" durch ein entsprechendes hexadezimales Kürzel dargestellt. Desgleichen können gemäß einer Übersetzungstabelle 41 Zahlentypen, wie "INTEGER" oder "FLOAT", durch weitere Kürzel ersetzt werden. Das Resultat, d.h. die AXF-Datei 43, ist in hexadezimaler Darstellung gezeigt. Im Vergleich zum ursprünglichen Speicherbedarf des Skripts 40 im Klartext hat sich der Speicherbedarf erheblich verkleinert. FIG. 14 11 shows the basic mode of operation of the compression of an exemplary XML script 40 into a corresponding AXF file 43 according to the invention. The script 40 is given in plain text. In terms of data technology, this script is nothing more than a string of a certain length. By means of an AXF Dictionary 42 are instructions, such as "text", "combobox update" or "item" by a corresponding hexadecimal abbreviation is shown. Likewise, according to a translation table 41, number types such as "INTEGER" or "FLOAT" may be replaced by further abbreviations. The result, ie the AXF file 43, is shown in hexadecimal representation. In comparison to the original memory requirement of the script 40 in plain text, the memory requirement has been significantly reduced.

FIG 15 zeigt ein beispielhaftes Steuergerät 9 mit einem Lesegerät 51 zum Auslesen einer elektronischen Speicherkarte 50 als Datenspeichermedium für ein Interpreter-Programm 24 gemäß der Erfindung. Die elektronische Speicherkarte 50 kann dabei in einem dafür vorgesehenen Schlitz 51 an der Außenseite des Steuergeräts 9 eingesteckt werden. FIG. 15 shows an exemplary controller 9 with a reader 51 for reading an electronic memory card 50 as a data storage medium for an interpreter program 24 according to the invention. The electronic memory card 50 can be plugged into a slot 51 provided for this purpose on the outside of the control unit 9.

FIG 16 zeigt einen beispielhaften Ablauf für das Starten, Abarbeiten eines Skripts 52 und eines daraus erzeugten Anzeigebausteins 54 gemäß dem erfindungsgemäßen Verfahren am Beispiel eines Testskripts. FIG. 16 shows an exemplary sequence for starting, processing a script 52 and a display module 54 generated therefrom according to the inventive method using the example of a test script.

FIG 17 zeigt die zugehörigen Befehlszeilen des beispielhaften Skripts bzw. Anzeigebausteins in XML gemäß FIG 16. FIG. 17 shows the associated command lines of the example script or display in XML FIG. 16 ,

Gemäß FIG 16 ist das Testskript 52 in komprimierter Form auf einer elektronischen Speicherkarte 50 abgelegt. Das Testskript 52 wird nun als neue "Anwendung" betrachtet, die ein Kunde oder Programmierer für das Steuergerät 9 erstellt hat. Nach Einschieben der elektronischen Speicherkarte 50 wird die darauf enthaltene komprimierte XML-Datei mittels eines Parser-Programms 53 auf dem Steuergerät 9 entpackt und anschlie ßend durch das Interpreter-Programm 24 bearbeitet.According to FIG. 16 the test script 52 is stored in compressed form on an electronic memory card 50. The test script 52 will now be considered a new "application" created by a customer or programmer for the controller 9. After insertion of the electronic memory card 50, the compressed XML file contained thereon is unpacked by means of a parser program 53 on the control unit 9 and subsequently edited by the interpreter program 24.

FIG 17 zeigt die entpackten Befehlszeilen, wie sie dem Interpreter-Programm 24 nach dem Entpacken vorliegen. Es handelt sich bei dem Testskript um ein Additionsprogramm "ADD", welches die beiden Zahlen 1 und 2 addieren soll. Dieses Additionsprogramm wird nun durch das Interpreter-Programm 24 bearbeitet und ein entsprechender Anzeigebaustein in Skriptform erzeugt. Dies ist auf der rechten Seite der Figur 17 dargestellt. Der Anzeigebaustein enthält nun auch als Textangabe 1 + 2 = 3 das Ergebnis der mathematischen Operation. Dieser Anzeigebaustein wird anschließend komprimiert und als Ergebnisdatei 54 auf dem Steuergerät 9, wie z.B. in einer RAM-Disk, abgelegt. Durch einen Ladebefehl des Anzeigeprogramms 28 wird diese Ergebnisdatei 54 geladen und anschließend der Anzeigebaustein auf der graphischen Bedienoberfläche des Bedien-/Beobachtungsgeräts 1 dargestellt. Dies ist im Beispiel der FIG 16 dargestellt. FIG. 17 shows the unpacked command lines as they are to the interpreter program 24 after unpacking. It is in the test script to an addition program "ADD", which should add the two numbers 1 and 2. This addition program is now processed by the interpreter program 24 and a corresponding display module in script form generated. This is on the right side of the FIG. 17 shown. The display module now also contains as text 1 + 2 = 3 the result of the mathematical operation. This display module is then compressed and stored as result file 54 on the control unit 9, such as in a RAM disk. This result file 54 is loaded by a loading command of the display program 28 and then the display module is displayed on the graphical user interface of the operating / monitoring device 1. This is the example of FIG. 16 shown.

Claims (35)

  1. Method for operating and monitoring a control device (9) by means of an operating/monitoring device (1) which has a data-oriented link to it, with the control device (9) and the operating/monitoring device (1) having a processor-supported control unit (10) for executing software programs,
    characterised in that
    a) an interpreter program (24) is executed on the control device (9), and can access scripts (31) with display modules (32) and program structures (33),
    b) the program structures (33) can access operating data for the firmware on the control device (9), with the items of operating data being converted into display data in a prescribable display format, and vice versa,
    c) the scripts (31) are processed, in doing which the program structures (33) compile the associated result in the form of display modules (32) with any necessary display data in the prescribed display format, and make the result available to the operating/monitoring device (1),
    d) a display program (28) is executed on the operating/monitoring device (1) in order to display at least display modules (32) in the prescribable display format, and
    e) stored in the display modules (32) are references to at least one script (31) on the control device (9), these being associated with an event, by which means the associated script (31) is started and processed by the interpreter program (24) when the event occurs.
  2. Method according to claim 1, characterised in that the event is a user action, which can be selected on a graphical user interface (2) of the operating/monitoring device (1).
  3. Method according to claim 1 or 2, characterised in that the event is an internal report or alarm state of the control device (9).
  4. Method according to claim 3, characterised in that the internal report or alarm state (9) is output cyclically by the control device (9).
  5. Method according to one of the preceding claims, characterised in that the display modules (32) incorporate text fields, bit maps, edit fields.
  6. Method according to one of the preceding claims, characterised in that the program structures (33) incorporate mathematical and logical functions together with program branches and loops.
  7. Method according to one of the preceding claims, characterised in that several display modules (32) are combined into display pages.
  8. Method according to one of the preceding claims, characterised in that the interpreter program manages data in the form of variables and arrays which are defined in the scripts (31).
  9. Method according to one of the preceding claims, characterised in that the scripts (31), the display modules (32) and the program structures (33) are present in a library (30) as files.
  10. Method according to claim 9, characterised in that the files are present in a compressed file format.
  11. Method according to one of the preceding claims, characterised in that the display modules (32) or the display pages made by combining display modules (32), as applicable, are stored in a results file (25).
  12. Method according to claim 11, characterised in that the results file (25) is decompressed again after it has been loaded by the display program (28).
  13. Method according to one of the preceding claims, characterised in that the display program (28) checks cyclically for the presence of updated display modules (32) or updated display pages from combinations of display modules (32), as applicable, and if they are present loads and displays them.
  14. Method according to one of the preceding claims, characterised in that the scripts (31), the display modules (32) and program structures (33) are structured in the notation of the XML markup language (Extensible Markup Language).
  15. Method according to one of claims 1 to 13, characterised in that for the purpose of processing the scripts (31), use is made of the script language Tcl with display modules (32) based on Tk.
  16. Method according to one of the preceding claims, characterised in that the interpreter program (24) is executed by the control unit (10) in a background process.
  17. Method according to one of the preceding claims, characterised in that the control unit (10) executes software programs of a real time operating system.
  18. Method according to one of the preceding claims, characterised in that the operating/monitoring device (1) and the control device (9) communicate via a wireless data transmission link.
  19. Method according to one of the preceding claims, characterised in that the method is applied during the commissioning of the control device (9).
  20. Method according to one of claims 1 to 18, characterised in that the method is applied for operating and monitoring automation and manufacturing processes.
  21. Data storage medium with a display program (28), stored in machine-readable form, for carrying out the method according to one of claims 1 to 18 on a device, with the device especially being an operating/monitoring device (1), with the program especially being a display program (28).
  22. Data storage medium according to claim 21, with the program being an interpreter program (24), with a library (30) of scripts (31), display modules (32) and program structures (33) for carrying out the method according to one of claims 1 to 18, with device being a control device (9).
  23. Operating/monitoring device with a graphical user interface (2), with facilities (3-7) for user inputs, with a data interface for a data-oriented link between the operating/monitoring device and a control device (9) and with a processor-supported control unit (10) for executing software programs, characterised by the control unit (10) for executing a display program (28) for carrying out Method according to one of claims 1 to 18
    a) for loading and displaying on the graphical user interface (2) at least display modules (29), in a prescribable display format, and
    b) for outputting a reference to at least one script (31) on the control device (9), with the reference being held in the display modules (32) and being able to be selected by a user action on the graphical user interface (2).
  24. Operating/monitoring device according to claim 23, characterised in that the graphical user interface (2) is a touch screen.
  25. Operating/monitoring device according to claim 23 or 24, characterised in that the operating/monitoring device (1) takes the form of a portable mobile unit.
  26. Operating/monitoring device according to one of claims 23 to 25, characterised in that the operating/monitoring device (1) is an operator panel for use in automation and manufacturing technology.
  27. Operating/monitoring device according to one of claims 23 to 26, characterised in that the operating/monitoring device (1) has a reader for a data storage medium according to claim 21 or 22, such as for example a diskette, CD, DVD drive or a reader for reading out electronic memory cards (50).
  28. Operating/monitoring device according to one of claims 23 to 27, characterised by a wireless data interface based on a WLAN, IRDA or Bluetooth standard for connecting it to the control device (9).
  29. Control device with a processor-supported control unit (10) for executing software programs and with a data interface for a data-oriented link to an operating/monitoring device (1), characterised by the control unit (10) for executing an interpreter program (24) for carrying out a method according to one of claims 1 to 18
    a) for starting and processing a script (31) by means of an associated reference to the script (31) in the control device (9), received from the data interface,
    b) for compiling the associated result of the processing, using the program structures (33) for the script which has been started (31), in the form of display modules (32), if necessary with the display data in the prescribed display format, and
    c) for storing the display modules (32) on the control device (9).
  30. Control device according to claim 29, characterised by a microcontroller as the control unit (10).
  31. Control device according to claim 29 or 30, characterised in that the control unit (10) is a system embedded in the control device (9).
  32. Control device according to one of claims 29 to 31, characterised in that the control device (9) is a programmable controller.
  33. Control device according to one of claims 29 to 32, characterised in that the control device (9) has a reader (51) for reading out electronic memory cards (50).
  34. Control device according to one of claims 29 to 33, characterised by a wireless data interface based on a WLAN, IRDA or Bluetooth standard, for connecting it to the operating/monitoring device (1).
  35. Machine tool with a control device (9) according to one of claims 29 to 34.
EP06777617A 2005-07-21 2006-07-06 Method for operating and monitoring a control device, corresponding operating/monitoring device, control device, and machine comprising such a control device, and uses of said method, as well as storage media Expired - Fee Related EP1904903B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005034168A DE102005034168A1 (en) 2005-07-21 2005-07-21 Method for operating and monitoring a control device, corresponding HMI device, control device and machine with such a control device and uses of the method and data storage media
PCT/EP2006/063971 WO2007009890A1 (en) 2005-07-21 2006-07-06 Method for operating and monitoring a control device, corresponding operating/monitoring device, control device, and machine comprising such a control device, and uses of said method, as well as storage media

Publications (2)

Publication Number Publication Date
EP1904903A1 EP1904903A1 (en) 2008-04-02
EP1904903B1 true EP1904903B1 (en) 2012-04-11

Family

ID=36968240

Family Applications (1)

Application Number Title Priority Date Filing Date
EP06777617A Expired - Fee Related EP1904903B1 (en) 2005-07-21 2006-07-06 Method for operating and monitoring a control device, corresponding operating/monitoring device, control device, and machine comprising such a control device, and uses of said method, as well as storage media

Country Status (6)

Country Link
US (1) US8316356B2 (en)
EP (1) EP1904903B1 (en)
JP (1) JP2009501984A (en)
CN (1) CN101228488B (en)
DE (1) DE102005034168A1 (en)
WO (1) WO2007009890A1 (en)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008008646A1 (en) * 2008-02-11 2009-08-13 Robert Bosch Gmbh CNC control and data transmission method
DE102008052955B4 (en) * 2008-10-23 2010-06-24 Knorr-Bremse Systeme für Nutzfahrzeuge GmbH Method for transmitting program codes to a memory of a control device, in particular for motor vehicles
US8341608B2 (en) * 2008-11-13 2012-12-25 Visicom Media, Inc. Cross-browser toolbar and method thereof for facilitating cross-browser interoperability
EP2333628B1 (en) 2009-12-04 2013-12-04 Umicore AG & Co. KG A system and method for system automation based on interpreting a tree sequence of operations
US20110307904A1 (en) * 2010-06-14 2011-12-15 James Malnati Method and apparatus for automation language extension
JP4927975B2 (en) * 2010-07-06 2012-05-09 ファナック株式会社 Numerical control device with personal computer function
CN102572596A (en) * 2010-12-17 2012-07-11 北京国微集成技术有限公司 Management method of application assemblies and multi-media device
DE102011109931A1 (en) 2011-08-10 2013-02-14 Audi Ag Method for providing an indication in a vehicle and vehicle with a display device
US8806452B2 (en) * 2011-11-10 2014-08-12 International Business Machines Corporation Transformation of computer programs and eliminating errors
DE202012100635U1 (en) 2012-02-24 2012-04-17 Wago Verwaltungsgesellschaft Mbh control device
JP5986511B2 (en) * 2013-01-25 2016-09-06 アズビル株式会社 Display device
US8868241B2 (en) * 2013-03-14 2014-10-21 GM Global Technology Operations LLC Robot task commander with extensible programming environment
DE102013108478A1 (en) * 2013-08-06 2015-02-12 Endress+Hauser Process Solutions Ag Method for expanding an embedded software component of a field device
DE102013013155A1 (en) 2013-08-08 2015-03-05 Krohne Messtechnik Gmbh Method for parameterizing a field device and corresponding field device
JP2016110401A (en) * 2014-12-05 2016-06-20 株式会社デジタル Image display control unit
DE102016223895A1 (en) * 2016-12-01 2018-06-07 Robert Bosch Gmbh Procedure for checking a working device, implement and data carrier
DE102016124326A1 (en) * 2016-12-14 2018-06-14 Endress+Hauser Conducta Gmbh+Co. Kg Method of operating a transmitter and corresponding transducers
WO2019112556A1 (en) 2017-12-05 2019-06-13 Flowserve Management Company Position sensors for valve systems and related assemblies, systems and methods
KR102005718B1 (en) * 2018-08-14 2019-07-31 알서포트 주식회사 Situation information indexing type actual operation based script generation method for mobile device
EP3839729A4 (en) * 2018-09-18 2022-04-20 Siemens Aktiengesellschaft Program file writing and running processing method, device and system
CN113656145B (en) * 2021-08-18 2024-05-31 南瑞集团有限公司 Script scheduling calculation method for AGC control device of hydropower station

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5867175A (en) * 1996-05-24 1999-02-02 Microsoft Corporation Method and apparatus for scriping animation
US6971066B2 (en) * 1997-08-18 2005-11-29 National Instruments Corporation System and method for deploying a graphical program on an image acquisition device
EP0973297A2 (en) * 1998-07-17 2000-01-19 Tektronix, Inc. Web based remote monitoring/control of a measurement instrument
US6366301B1 (en) * 1998-09-17 2002-04-02 General Electric Company Man-machine interface for a virtual lockout/tagout panel display
DE29823119U1 (en) * 1998-12-28 1999-02-25 Siemens AG, 80333 München Automation device
DE19929933C2 (en) 1999-06-29 2002-06-27 Siemens Ag Communication system and communication method for an automation device with communication data stored in the automation device
US6854026B1 (en) * 1999-12-29 2005-02-08 General Electric Company Methods and systems for interfacing small devices to computer networks
US7117239B1 (en) 2000-07-28 2006-10-03 Axeda Corporation Reporting the state of an apparatus to a remote computer
DE10065401A1 (en) * 2000-12-27 2003-03-06 Siemens Ag automation system
US20060036941A1 (en) * 2001-01-09 2006-02-16 Tim Neil System and method for developing an application for extending access to local software of a wireless device
DE10151117A1 (en) * 2001-10-15 2003-05-08 Siemens Ag Method for forming an operating function of field devices and field device
EP1316865A1 (en) * 2001-11-28 2003-06-04 Abb Research Ltd. Automation service system
DE10229878A1 (en) * 2002-04-29 2003-11-13 Siemens Ag Automation device with interface for message and port-based access to an application
US7308492B2 (en) * 2002-10-02 2007-12-11 Sony Corporation Method and apparatus for use in remote diagnostics
JP2004297234A (en) 2003-03-26 2004-10-21 Hitachi Ltd Controller for electric apparatus, its control method, and download service
US7822934B2 (en) 2003-07-01 2010-10-26 T&D Corporation Multipurpose semiconductor integrated circuit device
DE502004010765D1 (en) * 2003-12-22 2010-04-01 Siemens Ag Control or regulating device of a tool or production machine
US7530052B2 (en) * 2004-05-14 2009-05-05 National Instruments Corporation Creating and executing a graphical program with first model of computation that includes a structure supporting second model of computation
US7620516B2 (en) * 2005-05-02 2009-11-17 Mks Instruments, Inc. Versatile semiconductor manufacturing controller with statistically repeatable response times

Also Published As

Publication number Publication date
CN101228488B (en) 2010-09-01
CN101228488A (en) 2008-07-23
JP2009501984A (en) 2009-01-22
US8316356B2 (en) 2012-11-20
WO2007009890A1 (en) 2007-01-25
EP1904903A1 (en) 2008-04-02
US20090182437A1 (en) 2009-07-16
DE102005034168A1 (en) 2007-02-01

Similar Documents

Publication Publication Date Title
EP1904903B1 (en) Method for operating and monitoring a control device, corresponding operating/monitoring device, control device, and machine comprising such a control device, and uses of said method, as well as storage media
EP1401171B1 (en) Electronic apparatus for a bussystem
EP2399174B1 (en) Method and apparatus for creating an application program for a safety controller
EP1184758B1 (en) Method for debugging programs for industrial controllers, especially motion controllers, in the context of flow chart programmation
DE112005001031B4 (en) Graphic screen configuration framework for unified process control system interface
EP2367083B1 (en) Device for creating a program for a memory programmable control device, programming device and method for programming a memory programmable control device
EP2171553B1 (en) Method for controlling a field device in automation engineering
WO2013004389A1 (en) Method and device for the programming and configuration of a programmable logic controller
DE10116809A1 (en) Programmable controller for the development of control programs uses sequential processing
EP3542232B1 (en) Control system for an industrial automation facility and method for programming and operating such a control system
EP2407842B1 (en) Method for operating machines or machines in a machine series and design system
EP1714197B1 (en) Driver for field devices used in process automation technology
DE10341325B4 (en) Test device and test method for testing of tool or production machines
EP2073083A1 (en) Method of 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
DE102008047238A1 (en) Framework-based control for automation systems
EP3457234B1 (en) Method for providing information in the form of computer code to a process module with the assistance of a computer
DE102014016819A1 (en) Method and device for managing and configuring field devices of an automation system
DE102020130022A1 (en) Checking the compatibility of a process module to be newly integrated in an automation system
DE102013010783A1 (en) Method and control device for testing an automation solution based on a PLC control
EP2360540B1 (en) Data carrier with pictures for the configuration of drive systems and computer with graphical user interface
EP2012227A1 (en) Programming interface for programming computers
DE10038439B4 (en) An apparatus, at least comprising a computer system and an industrial controller, for debugging industrial control programs
EP1393137B1 (en) Method for determining automated processes
EP2085879A1 (en) Method for operating a programmable device, computer program for implementing the method and programmable device operating according to the method or programmable device with such a computer program

Legal Events

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

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20080121

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): DE

DAX Request for extension of the european patent (deleted)
RBV Designated contracting states (corrected)

Designated state(s): DE

17Q First examination report despatched

Effective date: 20091123

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): DE

DAX Request for extension of the european patent (deleted)
REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 502006011296

Country of ref document: DE

Effective date: 20120606

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

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

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

RAP2 Party data changed (patent owner data changed or rights of a patent transferred)

Owner name: SIEMENS AKTIENGESELLSCHAFT

26N No opposition filed

Effective date: 20130114

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 502006011296

Country of ref document: DE

Effective date: 20130114

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20210917

Year of fee payment: 16

REG Reference to a national code

Ref country code: DE

Ref legal event code: R119

Ref document number: 502006011296

Country of ref document: DE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20230201