WO2004111738A1 - Vorrichtung und verfahren zur programmierung und/oder ausführung von programmen für industrielle automatisierungssysteme - Google Patents

Vorrichtung und verfahren zur programmierung und/oder ausführung von programmen für industrielle automatisierungssysteme Download PDF

Info

Publication number
WO2004111738A1
WO2004111738A1 PCT/EP2004/004740 EP2004004740W WO2004111738A1 WO 2004111738 A1 WO2004111738 A1 WO 2004111738A1 EP 2004004740 W EP2004004740 W EP 2004004740W WO 2004111738 A1 WO2004111738 A1 WO 2004111738A1
Authority
WO
WIPO (PCT)
Prior art keywords
machine
objects
program
tree
independent program
Prior art date
Application number
PCT/EP2004/004740
Other languages
English (en)
French (fr)
Inventor
Elmar Thurner
Original Assignee
Siemens Aktiengesellschaft
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 Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority to US10/560,839 priority Critical patent/US7831316B2/en
Priority to EP04731008.1A priority patent/EP1634130B1/de
Publication of WO2004111738A1 publication Critical patent/WO2004111738A1/de

Links

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/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • 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/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13122Flow chart program activates several ladder diagrams, each controls one machine
    • 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/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13145Graphical input of network of symbols, simulation on screen, translate to machine

Definitions

  • the invention relates to a device and a method for programming and / or executing programs for industrial automation systems.
  • a generic method for programming industrial automation systems in the sense of the preamble of claim 1 is based on at least one computer unit with input aids, output aids, and preferably at least one display device.
  • Modules and functions, each representing subtasks of an automation solution are modeled and / or created using the input aids and, if necessary, the display device.
  • the building blocks and functions can be assigned model information and / or meta information using the input aids and the display device.
  • the modules and functions are structured and networked with the input aids and, if appropriate, the display device, so as to form at least one hierarchical tree as at least one machine-independent program.
  • Metadata is information about other information, for example information about existing objects.
  • Programmable automation systems or MES systems that is to say systems for the control and / or regulation of automated processes or systems, generally contain a so-called runtime system for the temporal sequence control of an automation component of a machine or a system.
  • such systems have an engineering device for creating and editing control programs and investment functions. The control programs and system functions created using the engineering device are executed in the runtime system.
  • the or each machine-independent program generated with the aid of the engineering device is converted in one or more stages into a machine-dependent automation program for the components of the automation system.
  • this is done on the basis of the visual representation during programming, the visual representation being converted into an imperative, sequential machine language or a machine code.
  • this sequential machine code is loaded onto an automation component for execution, for example a programmable logic controller (PLC).
  • PLC programmable logic controller
  • the imperative, sequential machine code accordingly represents the machine-dependent automation program which is customary in the prior art and is loaded in this form onto the components or automation devices of the automation system.
  • Automation programs, which are generated in the manner described above according to the prior art are inflexible, however, since they are difficult to change at runtime. Furthermore, such automation programs can only be used on the special components of an automation system for which the corresponding machine code has been generated. Accordingly, the programs cannot be used flexibly.
  • the present invention is based on the problem of creating a new method and a new device for programming and / or executing programs for industrial automation systems.
  • the or each machine-independent program is loaded in the form of at least one hierarchical tree into the corresponding components of the automation system, the corresponding components of the automation system executing the or each machine-independent program preferably with the help of at least one object machine assigned to it.
  • the or each machine-independent program is preferably in the form of at least one executable, hierarchical object or operator tree.
  • the device according to the invention for programming industrial automation systems is defined in independent claim 14.
  • a computer program for implementing the method or the device is independent Claim 23 claimed.
  • the invention relates to a data processing device on which such a computer program is installed.
  • Fig. 4 schematic representation of a program
  • FIG. 5 a schematic representation of the program according to FIG. 4 in a tree structure.
  • a pyramid 10 makes it clear that the information is compressed at the top.
  • the top level is ERP level 11 (Enterprise Resource Planning level).
  • ERP level 11 Enterprise Resource Planning level
  • business management and sales tasks are usually planned and carried out in a company, such as finance, sales, Human resources and reporting.
  • Logistical tasks spanning production plants, such as material management, are also carried out on this ERP level 11.
  • SAPR / 3 system is, for example, an ERP system that is used very frequently at the corporate management level.
  • the lowest level of the pyramid according to FIG. 1 is the so-called automation level 12.
  • programmable logic controllers (PLC) 13 are usually used in connection with visualization systems and process control systems (PCS) 14.
  • PCS process control systems
  • the drives 15, actuators 16 and sensors 17 of production and / or manufacturing facilities are directly connected to the automation level 12.
  • the link between the ERP level 11 and the automation level 12 is the MES level 18.
  • the applications of the MES level 18 thus ensure vertical integration between the ERP level 11 and the automation level 12.
  • the MES applications must Complete rough planning of the ERP level 11 with production plant-specific detailed planning and forward it to the systems of the automation level 12, on the other hand it is the task of the MES applications to record production-relevant data of the automation level 12, to process it and to forward it to the ERP level 11.
  • Typical MES applications include Quality Management 19, Maintenance Management 20, Performance Analysis 21, Process Management or Asset Management.
  • the automation level 12, the MES level 18 or MES facility or the ERP level 11 or ERP facility generally contain a so-called runtime system for the temporal sequence control of the components involved (subcomponents, modules, tasks, processes of the operating system etc.). Furthermore, these levels or devices contain a so-called engineering device for creating and editing programs which are provided for execution in the runtime system.
  • FIG. 2 shows a highly schematic diagram of an engineering device 22, a runtime system 23 and a technical process 24 to be controlled.
  • the connection between the runtime system 23 of the controller or of the automation system and the technical process 24 takes place bidirectionally via inputs and / or
  • Output connections 26 The programming takes place in the engineering device 22.
  • the engineering device 22 contains tools for the configuration, programming and project planning of technical processes, such as, for example, industrial plants.
  • the programs created in the engineering device 22 are transmitted via an information path 25 into the runtime system 23 of the MES device or the ERP device or another target system.
  • the engineering device 22 typically comprises a computer system with a graphics screen, input aids such as a keyboard and mouse, processor, working memory and secondary storage, a device for receiving computer-readable media such as floppy disks and CDs, and connection units for data exchange with other systems.
  • the engineering devices 22 include editors and graphic tools for the modeling and programming of systems and controls.
  • machine-independent programs are created using graphic ladder diagrams, function diagrams, sequence function charts or continuous function charts.
  • the program is created with the aid of object-oriented.
  • object-oriented engineering devices 22 support object orientation, such as the creation of objects, the creation of classes, the creation of superclasses and the representation of inheritance relationships.
  • data blocks, function blocks or objects are preferably linked with meta information and structured as hierarchical trees and networked with one another.
  • the programs or controls or system specifications created with the aid of such an engineering device 22 are independent of the machine.
  • the programs created using the engineering device 22 ultimately have to be executed on a target system, for example on the components of the automation system, in order to control the technical process 24. Before going into this, however, the correlations in the creation of machine-independent programs should be shown below.
  • An object 27 can be used in all types of engineering, such as chemical engineering, product engineering, software engineering, etc.
  • An object 27 is generally an object or an element of a domain or a world of discourse.
  • object-oriented software development an object 27 is an individual specimen of things or things, people or concepts of the real world or the imaginary world.
  • An object 27 has a certain defined state and reacts to its surroundings with a defined behavior.
  • object identity which distinguishes it from all other objects and which allows access to another specific object.
  • An object can know one or more other objects. Connections or ramifications or networks exist between objects that know each other.
  • the state of an object 27 is determined by its data or attribute values and the respective connections to other objects.
  • the behavior of an object is defined by its set of methods or operations.
  • object- A class describes the type of an object. This type description can be used to generate concrete instances, which then represent a specific programming language object.
  • Object diagrams can be used to graphically represent objects and their connections. Such editors for object diagrams are part of object-oriented engineering devices. These diagrams can be edited and edited by a user in such an object-oriented engineering device.
  • the left part of the illustration in FIG. 3 shows information or elements that an object 27 usually contains.
  • Data 29 can be, for example, a current measured value or a manipulated value.
  • Methods 30 represent executable activities in the sense of an algorithm, for example an AND operation or a control algorithm.
  • the set of methods determines the behavior of an object class or an object instantiated by this class.
  • the methods 30 of an object can be used and called by other objects.
  • the objects 27 can include so-called sub-objects 31, which the objects need for the implementation of the methods 30.
  • An object tree is formed by subobjects 31.
  • a so-called container 32 is shown hatched on the right side of the object 27 shown in FIG. 3.
  • Such containers 32 implement mechanisms for maintaining meta information and mechanisms for accessing meta information.
  • the containers 29 represent a capsule layer around the object 27, and all access to an object takes place only via the interface 28.
  • the methods 30 and data 29 and the meta information of the object 27 are accessed via the interface 28.
  • a service that uses the object can thus use the metadata to abstract from the specific structure and meaning of the data functions. All access takes place as already thinks about the generic interface 28. This makes the reusability and interchangeability of objects 27 possible. Objects 27 can therefore always be accessed in the same way, even in complex systems.
  • the so-called containers 32 provide infrastructure functions such as data networking, data storage and data visualization in a uniform manner for all types of objects.
  • the infrastructure functions provided by a container 32 include, for example, trace functions, that is to say information about who and how long an object 27 is used.
  • the container 32 also contains meta information and self-description information for the object 27.
  • FIG. 4 shows a program shown in the engineering device 22.
  • 5 shows the program in the form of an object or operator tree.
  • the blocks and functions of the program according to FIG. 4 in FIG. 5 are converted into objects 27, specifically in the form of a hierarchical tree 33.
  • Objects 27 are shown as double circles.
  • the circle schematically represents the structure of an object in the sense of FIG. 3.
  • the left part of an object 27 again relates to the data 29, methods 30 and subobjects 31.
  • the right part represents the so-called container 32, which contains the meta information and the Provides infrastructure information for an object.
  • the container 32 represents a capsule layer for the object 27.
  • the object is only accessed via the generic object interface 28.
  • the outer circles around the objects visualize that the objects are embedded in the optional infrastructure of a system.
  • the optional infrastructure provides generic services such as storage and loading. Networking is one aspect of the infrastructure. Access to infrastructure services or corresponding functions is realized via the container 32 and is the same for all objects 27 in the hierarchical tree 33.
  • the outer circle of an object 27 thus represents a collection of infrastructure services or Infrastructure functions that access the objects via their container 29. Once an infrastructure service has been implemented, it can be used in the same way by all objects 27.
  • FIG. 5 shows an example of a structure of a machine-independent program of a control task to be implemented as a hierarchical object tree 33, as it is loaded into the components of the automation system and processed there.
  • the individual objects 27 of the tree 33 correspond to modules and functions of the program according to FIG. 4, as it is edited in an engineering device. This follows directly from the textual description of the program elements in FIGS. 4 and 5.
  • the representation according to FIG. 4 shows a ladder diagram or function diagram. This structural equivalence ensures that the program can be changed locally.
  • the metadata assigned to the containers 32 of the objects 27 enables the current program to be mapped back to the representation in engineering.
  • a machine-independent program 33 which is preferably modeled or created on the engineering device 22 via objects 27, is not, as is customary in the prior art, first converted into a machine-dependent automation program in the form of a sequential machine code and then up a component of the automation system or another target device is loaded, rather the machine-independent programs are loaded into the corresponding components of the automation system in the form of hierarchical trees.
  • the programs are loaded in the form of an object or operator tree onto a PLC or other automation device.
  • Such an object or operator tree is a 1: 1 image of a representation of the program.
  • Such an operator tree is an executable program that contains or can contain all the engineering data for the program.
  • the corresponding components of the automation system execute the machine-independent program.
  • the or each machine-independent object or operator tree is loaded onto the corresponding components of the automation system using a machine-independent, symbolic representation of the tree, for example in the form of a bytecode or in the form of a markup language.
  • XML Extended Mark-up Language
  • XML Extended Mark-up Language
  • an object machine or a real-time object machine serves this purpose.
  • the object machine resolves the symbolic representation of the or each hierarchical tree 33 of the or each machine-independent engineering program, converts symbolic addresses into physical addresses, and thus forms or generates an executable program in the form of an executable object or operator tree. This is carried out on the or each component of the automation system.
  • the real-time object machine is assigned to the component of the automation system for the instantiation and execution of the program by the component of the automation system.
  • the real-time object machine provides objects, for example operators.
  • the operators are logical operators, such as AND operations, OR operations, NOR operations or XOR operations.
  • the operators can also be mathematical operators, such as operators for basic arithmetic operations, interpolation operators or filter operators.
  • the objects are preferably data objects or base objects and control objects.
  • the base objects include data and properties.
  • the properties are, for example the maximum execution time, the maximum memory consumption or the transaction ability of the object.
  • the executable operator tree consists of operators, namely logical and / or mathematical operators, and control objects.
  • Control objects can be, for example, a statement list, transaction container, process container, and so on.
  • Input data objects of a control object are at the same time output data objects from other operators or control objects.
  • the objects are triggered to execute the operator tree. The triggering of the objects is triggered along the hierarchy and / or the networking of the objects when all required input data objects have triggered. Data objects trigger when their value changes or their trigger is triggered.
  • the operator tree By interconnecting input data objects with inputs of sensors or actuators and by interconnecting output data objects with outputs of sensors or actuators, the operator tree is integrated into the real automation environment and the executable automation program is made available.
  • executable operator trees By using transaction-capable, real-time-capable and / or fault-tolerant objects, executable operator trees are created that are themselves transaction-capable, real-time-capable and / or fault-tolerant.
  • a program generated with the aid of the invention can thus be executed on all components of an automation system on which the object machine or the real-time object machine is implemented.
  • the program can be changed at runtime. Accordingly, local subtrees of the program provided as an executable operator tree can be added, changed or removed. Furthermore, such a program is self- descriptive if self-describing objects are used.
  • the machine-independent program can be visualized from the executable operator tree. Storage for programs can therefore be omitted.
  • the engineering time is further reduced with the aid of the invention. Programming is done purely via lexical and semantic functions.

Abstract

Die Erfindung betrifft ein Verfahren zur Programmierung und/oder Ausführung von Programmen für industrielle Automatisierungssysteme. Bausteine und Funktionen, die jeweils Teilaufgaben einer Automatisierungslösung repräsentieren, werden mit Eingabehilfsmitteln und gegebenenfalls einer Anzeigevorrichtung modelliert und/oder erstellt. Die Bausteine und Funktionen werden mit den Eingabehilfsmitteln und gegebenenfalls der Anzeigevorrichtung strukturiert und vernetzt, so dass dieselben als mindestens ein maschinen-unabhängiges Programm mindestens einen hierarchischen Baum bilden. Erfindungsgemäss wird das oder jedes maschinen-unabhängige Programm in Form mindestens eines hierarchischen Baums in die entsprechenden Komponenten des Automatisierungssystems geladen. Die entsprechenden Komponenten des Automatisierungssystems führen das oder jedes maschinen-unabhängige Programm aus.

Description

Beschreibung
Vorrichtung und Verfahren zur Programmierung und/oder Ausführung von Programmen für industrielle AutomatisierungsSysteme
Die Erfindung betrifft eine Vorrichtung und ein Verfahren zur Programmierung und/oder Ausführung von Programmen für industrielle Automatisierungssysteme.
Ein gattungsgemäßes Verfahren zur Programmierung industrieller Automatisierungssysteme im Sinne des Oberbegriffs des Patentanspruchs 1 basiert auf mindestens einer Rechnereinheit mit Eingabehilfsmitteln, Ausgabehilfsmitteln, sowie vorzugsweise mindestens einer Anzeigevorrichtung. Bausteine und Funktionen, die jeweils Teilaufgaben einer Automatisierungs- lösung repräsentieren, werden mit den Eingabehilfsmitteln und gegebenenfalls der Anzeigevorrichtung modelliert und/oder erstellt. Den Bausteinen und Funktionen können Modellinformationen und/oder Metainformationen mit den Eingabehilfsmitteln und der Anzeigevorrichtung zugeordnet werden. Die Bausteine und Funktionen werden mit den Eingabehilfsmitteln und gegebenenfalls der Anzeigevorrichtung strukturiert und vernetzt, um so als mindestens ein maschinen-unabhängiges Programm mindestens einen hierarchischen Baum zu bilden.
In klassischen Programmiersprachen, wie zum Beispiel Pascal oder Fortran, werden Daten, Bausteine und Funktionen getrennt. Erst im Zuge des Paradigmas der Objektorientierung wurden Daten und Funktionen zu Objekten zusammengeführt. Ver- einzelt werden auch Metadaten den Objekten zugeordnet. Metadaten sind Informationen über andere Informationen, zum Beispiel Informationen über vorhandene Objekte. Solche Metadaten sind zwar in einem Gesamtsystem bzw. in einem Gesamtkontext vorhanden, sie sind aber in Automatisierungssystemen weder physikalisch in einem Objekt hinterlegt, noch enthalten sie Wissen über die zu realisierende Applikation für eine industrielle Anlage oder über den zu realisierenden Prozess. Programmierbare Automatisierungssysteme bzw. MES-Systeme, das heißt Systeme zur Steuerung und/oder Regelung von automatisierten Prozessen oder Anlagen, enthalten in der Regel ein so genanntes Laufzeitsystem zur zeitlichen Ablaufsteuerung einer Automatisierungskomponente einer Maschine oder eines Systems. Des weiteren verfügen derartige Systeme über eine Engineering-Vorrichtung zum Erstellen und Editieren von Steuerungsprogrammen und AnIagefunktionen. Die mithilfe der Engineering-Vorrichtung erstellten Steuerungsprogramme und Anlage- funktionen werden im Laufzeitsystem ausgeführt.
Es zählt bereits zum noch nicht veröffentlichten Stand der Technik, Automatisierungssysteme dadurch zu programmieren, dass in einer Engineering-Vorrichtung Objekte, die jeweils Teilaufgaben einer Automatisierungslösung repräsentieren, mithilfe von Eingabehilfsmitteln und einer Anzeigevorrichtung modelliert werden. Derartigen Objekten werden ebenfalls über die Eingabehilfsmittel und die Anzeigevorrichtung Modellinformationen sowie Metainformationen zugeordnet. Die Objekte werden dann als hierarchische Bäume strukturiert und vernetzt, um so mindestens ein maschinen-unabhängiges Programm bereitzustellen.
Nach dem Stand der Technik wird das oder jedes mithilfe der Engineering-Vorrichtung erzeugte maschinen-unabhängige Programm in einer oder in mehreren Stufen in ein maschinenabhängiges Automatisierungsprogramm für die Komponenten des Automatisierungssystems umgewandelt. Dies erfolgt nach dem Stand der Technik ausgehend von der visuellen Repräsentation bei der Programmierung, wobei die visuelle Repräsentation in eine imperative, sequentielle Maschinensprache bzw. einen Maschinencode umgesetzt werden. Dieser sequentielle Maschinencode wird nach dem Stand der Technik zur Ausführung auf eine Automatisierungskomponente, zum Bespiel eine speicherprogram- mierbare Steuerung (SPS) , geladen. Der imperative, sequentielle Maschinencode stellt demnach das nach dem Stand der Technik übliche maschinen-abhängige Auto- matisierungsrogramm dar, welches in dieser Form auf die Komponenten bzw. Automatisierungseinrichtungen des Automatisie- rungssystems geladen wird. Automatisierungsprogramme, welche auf die oben beschriebene Art nach dem Stand der Technik erzeugt werden, sind jedoch unflexibel, da sie zur Laufzeit nur schlecht änderbar sind. Des weiteren sind derartige Automatisierungsprogramme nur auf den speziellen Komponenten eines Automatisierungssystems verwendbar, für die der entsprechende Maschinencode erzeugt worden ist . Die Programme sind demnach nicht flexibel verwendbar.
Hiervon ausgehend liegt der vorliegenden Erfindung das Prob- lern zu Grunde, ein neuartiges Verfahren und eine neuartige Vorrichtung zur Programmierung und/oder Ausführung von Programmen für industrielle Automatisierungssysteme zu schaffen.
Dieses Problem wird dadurch gelöst, dass das eingangs genann- te Verfahren durch die Merkmale des Patentanspruchs 1 weitergebildet ist.
Erfindungsgemäß wird das oder jedes maschinen-unabhängige Programm in Form mindestens eines hierarchischen Baums in die entsprechenden Komponenten des Automatisierungssystems geladen, wobei die entsprechenden Komponenten des Automatisierungssystems das oder jedes maschinen-unabhängige Programm vorzugsweise mit Hilfe mindestes einer denselben zugeordneten Objektmaschine direkt ausführen. Das oder jedes maschinen- unabhängige Programm liegt vorzugsweise in Form mindestens eines ausführbaren, hierarchischen Objekt- bzw. Operatorbaums vor.
Die erfindungsgemäße Vorrichtung zur Programmierung indus- trieller Automatisierungssysteme ist im unabhängigen Patentanspruch 14 definiert. Ein Computerprogramm zur Implementierung des Verfahrens oder der Vorrichtung ist im unabhängigen Patentanspruch 23 beansprucht. Des weiteren betrifft die Erfindung gemäß dem unabhängigen Patentanspruch 24 eine Datenverarbeitungseinrichtung, auf der ein solches Computerprogramm installiert ist.
Bevorzugte Weiterbildungen der Erfindung ergeben sich aus den Unteransprüchen und der nachfolgenden Beschreibung.
Nachfolgend werden bevorzugte Ausführungsbeispiele der Erfin- düng - ohne hierauf beschränkt zu sein - anhand der Zeichnung näher erläutert . In der Zeichnung zeigt :
Fig. 1: eine Darstellung einer Automatisierungs-Pyramide mit drei Steuerungsebenen,
Fig. 2: eine schematische Darstellung einer Engineeringvorrichtung, eines Laufzeitsystems und einem zu steuernden technischen Prozess,
Fig. 3: eine schematische Darstellung eines Objekts,
Fig. 4: schematische Darstellung eines Programms, und
Fig. 5: eine schematische Darstellung des Programms gemäß Fig. 4 in Baumstruktur.
Fig. 1 zeigt in einer prinzipiellen Übersichtsdarstellung drei Steuerungsebenen, wie sie üblicherweise in einem produzierenden Unternehmen zu finden sind. Durch eine Pyramide 10 wird verdeutlicht, dass nach oben hin eine Verdichtung der Informationen stattfindet.
Die oberste Ebene ist die ERP-Ebene 11 (Enterprise Resource Planning-Ebene) . Auf dieser ERP-Ebene 11 bzw. Unternehmens- leitebene werden üblicherweise betriebswirtschaftliche und vertriebliche Aufgaben in einem Unternehmen projektiert und durchgeführt, so zum Beispiel Finanzwesen, Vertriebswesen, Personalwesen und Berichterstattung. Aber auch Produktionsanlagen übergreifende, logistische Aufgaben, wie zum Beispiel Materialverwaltung, werden auf dieser ERP-Ebene 11 durchgeführt. Das SAPR/3 -System ist zum Beispiel ein ERP-System, das auf der Unternehmensleitebene sehr häufig verwendet wird.
Die unterste Ebene der Pyramide gemäß Fig. 1 ist die so genannte Automatisierungsebene 12. Auf dieser Ebene kommen üblicherweise speicherprogrammierbare Steuerungen (SPS) 13 in Verbindung mit Visualisierungssystemen und Prozessleitsyste- men (PLS) 14 zum Einsatz. Die Antriebe 15, Aktuatoren 16 und Sensoren 17 von Produktions- und/oder Fertigungseinrichtungen stehen direkt mit der Automatisierungsebene 12 in Verbindung.
Das Verbindungsglied zwischen der ERP-Ebene 11 und der Automatisierungsebene 12 ist die MES-Ebene 18. Die Applikationen der MES-Ebene 18 sorgen somit für eine vertikale Integration zwischen der ERP-Ebene 11 und der Automatisierungsebene 12. Die MES-Applikationen müssen einerseits die Grobplanungen der ERP-Ebene 11 um produktionsanlagenspezifische Feinplanungen ergänzen und an die Systeme der Automatisierungsebene 12 weiterleiten, andererseits ist es Aufgabe der MES-Applikationen produktionsrelevante Daten der Automatisierungsebene 12 aufzunehmen, aufzubereiten und an die ERP-Ebene 11 weiterzulei- ten. Typische MES-Applikationen sind unter anderem das Quali- ty Management 19, Maintenance Management 20, Performance Ana- lysis 21, Process Management oder auch Asset Management.
Durch die jeweils drei Punkte wird in Fig. 1 verdeutlicht, dass sich auch auf einer Ebene weitere Elemente bzw. Applikationen befinden können.
Die Automatisierungsebene 12, die MES-Ebene 18 bzw. MES- Einrichtung oder die ERP-Ebene 11 oder ERP-Einrichtung ent- halten in der Regel ein so genanntes LaufzeitSystem zur zeitlichen Ablaufsteuerung der beteiligten Komponenten (Teilkomponenten, Module, Tasks, Prozesse des Betriebssystems usw.). Des weiteren enthalten diese Ebenen bzw. Einrichtungen eine so genannte Engineering-Vorrichtung zum Erstellen und Editieren von Programmen, welche zur Ausführung im Laufzeitsystem vorgesehen sind.
Fig. 2 zeigt stark schematisiert eine Engineering-Vorrichtung 22, ein Laufzeitsystem 23 und einen zu steuernden technischen Prozess 24. Die Verbindung zwischen dem Laufzeitsystem 23 der Steuerung bzw. des Automatisierungssystems und dem techni- sehen Prozess 24 erfolgt bidirektional über Ein- und/oder
Ausgabeverbindungen 26. Die Programmierung erfolgt in der Engineering-Vorrichtung 22. Die Engineering-Vorrichtung 22 enthält Werkzeuge für die Konfiguration, Programmierung und Projektierung technischer Prozesse, wie zum Beispiel industriel- ler Anlagen. Die in der Engineering-Vorrichtung 22 erstellten Programme werden über einen Informationspfad 25 in das Laufzeitsystems 23 der MES-Vorrichtung bzw. der ERP-Vorrichtung bzw. eines sonstigen Zielsystems übertragen.
Die Engineering-Vorrichtung 22 umfasst üblicherweise ein Computersystem mit Grafikbildschirm, Eingabehilfsmitteln, wie Tastatur und Maus, Prozessor, Arbeitsspeicher und Sekundärspeicher, eine Einrichtung für die Aufnahme computerlesbarer Medien, wie Disketten und CDs, sowie Anschlusseinheiten für einen Datenaustausch mit anderen Systemen. Die Engineering- Vorrichtungen 22 umfassen Editoren und grafische Werkzeuge für die Modellierung und Programmierung von Anlagen und Steuerungen. Bei Engineering-Vorrichtungen, die nicht objektorientiert sind, erfolgt die Erstellung maschinen-unabhängiger Programme mit Hilfe von grafischen Kontaktplänen, Funktionsplänen, Sequence Function Charts oder Continuous Function Charts. Bei objektorientierten Engineering-Vorrichtungen erfolgt die Programmerstellung mit Hilfe objektorientiert. Insbesondere unterstützen objektorientierte Engineering- Vorrichtungen 22 die Objektorientierung, wie die Erstellung von Objekten, die Erstellung von Klassen, die Erstellung von Oberklassen sowie die Darstellung von Vererbungsbeziehungen. Über Editoren, Maskeneingabe oder über Drag&Drop-Mechanismen werden Datenbausteine, Funktionsbausteine oder Objekte vorzugsweise mit Metainformationen verknüpft und als hierarchische Bäume strukturiert und miteinander vernetzt. Die mithil- fe einer solchen Engineering-Vorrichtung 22 erstellten Programme bzw. Steuerungen bzw. Anlagenspezifikationen sind raa- schinen-unabhängig .
Die mithilfe der Engineering-Vorrichtung 22 erstellten Pro- gramme müssen letztendlich auf einem Zielsystem, zum Beispiel auf den Komponenten des Automatisierungssystems, ausgeführt werden, um den technischen Prozess 24 zu steuern. Bevor jedoch hierauf eingegangen wird, sollen nachfolgend noch die Zusammenhänge bei der Erstellung maschinen-unabhängiger Pro- gramme dargestellt werden.
Fig. 3 zeigt stark schematisiert die Darstellung eines Objekts 27 mit einem Objektinterface 28. Solche Objekte 27 können bei allen Arten des Engineerings, wie zum Beispiel Chemi- cal Engineering, Product Engineering, Software Engineering usw., verwendet werden. Ein Objekt 27 ist allgemein ein Gegenstand oder ein Element einer Domäne bzw. einer Diskurswelt. In der objektorientierten Softwareentwicklung ist ein Objekt 27 ein individuelles Exemplar von Dingen oder Sachen, Personen oder Begriffen der realen Welt oder der Vorstellungswelt. Ein Objekt 27 besitzt einen bestimmten definierten Zustand und reagiert mit einem definierten Verhalten auf seine Umgebung. Außerdem besitzt ein derartiges Objekt 27 eine Objektidentität, die es von allen anderen Objekten unter- scheidet und die es erlaubt, auf ein anderes bestimmtes Objekt zuzugreifen. Ein Objekt kann ein oder mehrere andere Objekte kennen. Zwischen Objekten, die sich kennen, bestehen Verbindungen oder Verzweigungen bzw. Vernetzungen. Der Zustand eines Objekts 27 wird durch seine Daten bzw. Attribut- werte und die jeweiligen Verbindungen zu anderen Objekten bestimmt. Das Verhalten eines Objekts wird durch seine Menge von Methoden bzw. Operationen definiert. In der Objektorien- tierung wird durch eine Klasse der Typ eines Objekts beschrieben. Aus dieser Typbeschreibung können konkrete Instanzen, die dann ein konkretes programmiersprachliches Objekt darstellen, erzeugt werden. Mithilfe von Objektdiagrammen lassen sich Objekte und ihre Verbindungen grafisch darstellen. Solche Editoren für Objektdiagramme sind Teil von objektorientierten Engineering-Vorrichtungen. Diese Diagramme können von einem Anwender in einer solchen objektorientierten Engineering-Vorrichtung editiert und bearbeitet werden.
Der linke Teil der Darstellung der Fig. 3 zeigt Informationen bzw. Elemente, die ein Objekt 27 üblicherweise enthält. Bei Daten 29 kann es sich zum Beispiel um einen aktuellen Messwert oder um einen Stellwert handeln. Methoden 30 repräsen- tieren ausführbare Tätigkeiten im Sinne eines Algorithmus, zum Beispiel eine UND-Verknüpfung oder einen Regelalgorithmus. Die Menge der Methoden bestimmt das Verhalten einer Objektklasse bzw. eines von dieser Klasse instantiierten Objekts. Die Methoden 30 eines Objekts können von anderen Ob- jekten verwendet und aufgerufen werden. Weiterhin können die Objekte 27 so genannte Subobjekte 31 umfassen, welche die Objekte für die Realisierung der Methoden 30 benötigen. Durch Subobjekte 31 wird ein Objektbaum gebildet.
Auf der rechten Seite des in Fig. 3 dargestellten Objekts 27 ist schraffiert ein so genannter Container 32 dargestellt. Durch solche Container 32 werden Mechanismen für die Metain- formationshaltung und Mechanismen des Zugriffs auf Metainfor- mationen realisiert. Die Container 29 stellen eine Kapsel- Schicht um das Objekt 27 dar, und alle Zugriffe auf ein Objekt erfolgen nur über die Schnittstelle 28. Über die Schnittstelle 28 wird auf die Methoden 30 und Daten 29 und auf die Metainformationen des Objekts 27 zugegriffen. Bei einem Zugriff auf die Daten oder die Methoden kann somit ein Dienst, der das Objekt verwendet, anhand der Metadaten vom konkreten Aufbau und der konkreten Bedeutung der Datenfunktionen abstrahieren. Alle Zugriffe erfolgen, wie bereits er- wähnt über die generische Schnittstelle 28. Dadurch ist die Wiederverwendbarkeit und Austauschbarkeit von Objekten 27 möglich. Somit kann auch in komplexen Systemen immer auf dieselbe Art und Weise auf Objekte 27 zugegriffen werden. Insbe- sondere stellen die so genannten Container 32 Infrastrukturfunktionen, wie Datenvernetzung, Datenspeicherung und Datenvisualisierung in einer einheitlichen Art und Weise für alle Arten von Objekten zur Verfügung. Zu den Infrastrukturfunkti- onen, die ein Container 32 zur Verfügung stellt, gehören zum Beispiel Trace-Funktionen, das heißt Informationen darüber, wer und wie lange ein Objekt 27 verwendet. Wie bereits erwähnt, enthält der Container 32 auch Metainformationen und Selbstbeschreibungsinformationen für das Objekt 27.
Fig. 4 zeigt ein in der Engineering-Vorrichtung 22 dargestelltes Programm. Fig. 5 zeigt das Programm in Form eines Objekt- bzw. Operatorbaums. So sind die Bausteine und Funktionen des Programms gemäß Fig. 4 in Fig. 5 in Objekte 27 umgesetzt, und zwar in Form eines hierarchischen Baums 33. Die Objekte 27 sind als Doppelkreise dargestellt. Der innere
Kreis stellt schematisch den Aufbau eines Objekts im Sinne der Fig. 3 dar. Der linke Teil eines Objekts 27 betrifft wieder die Daten 29, Methoden 30 und Subobjekte 31. Der rechte Teil repräsentiert den so genannten Container 32, der die Me- tainformationen und die Infrastrukturinformationen für ein Objekt zur Verfügung stellt. Der Container 32 stellt eine Kapselschicht für das Objekt 27 dar. Der Zugriff auf das Objekt erfolgt lediglich über die generische Objektschnittstelle 28. Die Außenkreise um die Objekte visualisieren, dass die Objekte in die optionale Infrastruktur eines Systems eingebettet sind. Die optionale Infrastruktur stellt generische Dienste wie z.B. Speichern und Laden zur Verfügung. Ein Aspekt der Infrastruktur ist die Vernetzung. Der Zugriff auf Infrastrukturdienste bzw. entsprechende Funktionen wird über den Container 32 realisiert und ist für alle Objekte 27 im hierarchischen Baum 33 gleich. Der äußere Kreis eines Objekts 27 stellt also eine Sammlung von Infrastrukturdiensten bzw. Infrastrukturfunktionen dar, die auf die Objekte über deren Container 29 zugreifen. Ein einmal realisierter Infrastrukturdienst kann von allen Objekten 27 in gleicher Weise benutzt werden.
Wie bereits erwähnt, zeigt Fig. 5 exemplarisch eine Struktur eines maschinen-unabhängigen Programms einer zu realisierenden Steuerungsaufgabe als hierarchischen Objektbaum 33, wie er in die Komponenten des Automatisierungssystems geladen und dort abgearbeitet wird. Die einzelnen Objekte 27 des Baums 33 entsprechen Bausteinen und Funktionen des Programms gemäß Fig. 4, wie es in einer Engineering-Vorrichtung editiert wird. Dies folgt unmittelbar aus der textlichen Beschreibung der Programmelemente in Fig. 4 und 5. Die Darstellung gemäß Fig. 4 zeigt einen Kontaktplanen bzw. Funktionsplan. Durch diese Strukturäquivalenz ist die lokale Änderbarkeit des Programms gewährleistet. Durch die den Containern 32 der Objekte 27 zugeordneten Metadaten ist die Rückabbildbarkeit des laufenden Programms auf die Darstellung im Engineering möglich.
Im Sinne der Erfindung wird ein auf der Engineering- Vorrichtung 22 vorzugsweise über Objekte 27 modelliertes bzw. erstelltes maschinen-unabhängiges Programm 33 nicht, wie im Stand der Technik üblich, zuerst in ein maschinen-abhängiges Automatisierungsprogramm in Form eines sequentiellen Maschinencodes gewandelt und dann auf eine Komponente des Automatisierungssystems bzw. ein sonstiges Zielgerät geladen, sondern vielmehr werden die maschinen-unabhängigen Programme in Form hierarchischer Bäume in die entsprechenden Komponenten des Automatisierungssystems geladen. Die Programme werden demnach in Form eines Objekt- bzw. Operatorbaums auf eine SPS oder ein sonstiges Automatisierungsgerät geladen. Ein solcher Objekt- bzw. Operatorbaums ist ein l:l-Abbild einer Darstellung des Programms . Es handelt sich bei einem solchen Operatorbaum um ein ablauffähiges Programm, welches sämtliche Engineering- Daten für das Programm enthält bzw. enthalten kann. Die entsprechenden Komponenten des Automatisierungssystems führen das maschinen-unabhängige Programm aus . Das Laden des oder jeden maschinen-unabhängigen Objekt- bzw. Operatorbaums auf die entsprechenden Komponenten des Automatisierungssys- tems erfolgt unter Verwendung einer maschinen-unabhängigen, symbolischen Repräsentation des Baums zum Beispiel in Form eines Bytecodes oder in Form einer Auszeichnungssprache. Als Auszeichnungssprache kann XML (Extended Mark-up Language) Verwendung finden.
Beim oder nach dem Laden des maschinen-unabhängigen Programms in eine Komponente des Automatisierungssystems erfolgt die Instanziierung der Operatoren. Hierzu dient unter anderem eine Objektmaschine oder auch eine Realtime-Objektmaschine. Die Objektmaschine löst die symbolische Repräsentation des oder jeden hierarchischen Baums 33 des oder jeden maschinenunabhängigen Engineering-Programms auf, wandelt symbolische Adressen in physikalische Adressen um, und bildet bzw. generiert so ein ablauffähiges Programm in Form eines ausführba- ren Objekt- bzw. Operatorbaums. Dieses wird auf der oder jeder Komponente des Automatisierungssystems ausgeführt .
Für das Instanziieren und Ausführen des Programms durch die Komponente des Automatisierungssystems ist, wie bereits er- wähnt, der Komponente des Automatisierungssystems die Realtime-Objektmaschine zugeordnet. Die Realtime-Objektmaschine stellt Objekte, zum Beispiel Operatoren, zur Verfügung. Bei den Operatoren handelt es sich um logische Operatoren, wie zum Beispiel AND-Verknüpfungen, OR-Verknüpfungen, NOR- Verknüpfungen oder XOR-Verknüpfungen. Bei den Operatoren kann es sich auch um mathematische Operatoren, wie zum Beispiel Operatoren für die Grundrechenarten, Interpolationsoperatoren oder um Filteroperatoren, handeln. Bei den Objekten handelt es sich vorzugsweise um Datenobjekte bzw. Basisobjekte und Steuerobjekte. Die Basisobjekte umfassen Daten und Eigenschaften. Bei den Eigenschaften handelt es sich zum Beispiel um die maximale Ausführungszeit, den maximalen Speicherverbrauch oder die Transaktionsfähigkeit des Objekts.
Der ausführbare Operatorbaum besteht aus Operatoren, nämlich logischen und/oder mathematischen Operatoren, und Steuerobjekten. Bei Steuerobjekten kann es sich zum Beispiel um eine Anweisungsliste, Transaktionscontainer, Prozesscontainer usw. handeln. Input-Datenobjekten eines Steuerobjekts sind gleichzeitig Output-Datenobjekte von anderen Operatoren oder Steu- erobjekten. Zur Ausführung des Operatorbaums werden die Objekte getriggert . Das Triggern der Objekte wird entlang der Hierarchie und/oder der Vernetzung der Objekte ausgelöst, wenn alle benötigten Input-Datenobjekte getriggert haben. Datenobjekte triggern dann, wenn sich deren Wert ändert oder deren Trigger ausgelöst wird.
Durch Verschaltung von Input-Datenobjekten mit Eingängen von Sensoren oder Aktuatoren sowie durch Verschaltung von Output- Datenobjekten mit Ausgängen von Sensoren oder Aktuatoren wird der Operatorbaum in das reale Automatisierungsumfeld eingebunden und so das ablauffähige Automatisierungsprogramm bereitgestellt. Durch Verwendung von transaktionsfähigen, real- timefähigen und/oder fehlertoleranten Objekten werden ausführbare Operatorbäume geschaffen, die selbst wieder transak- tionsfähige, realtimefähig und/oder fehlertolerant sind.
Mithilfe des erfindungsgemäßen Verfahrens sowie der erfindungsgemäßen Vorrichtung zur Programmierung und/oder Ausführung von Programmen industrieller Automatisierungssysteme lassen sich eine Vielzahl von Vorteilen erzielen. So ist ein mithilfe der Erfindung generiertes Programm auf allen Komponenten eines Automatisierungssystems ausführbar, auf denen die Objektmaschine bzw. die Realtime-Objektmaschine implementiert ist. Das Programm kann zur Laufzeit geändert werden. Es lassen sich demnach lokale Teilbäume des als ausführbaren O- peratorbaums bereitgestellten Programms hinzufügen, ändern bzw. entfernen. Weiterhin ist ein derartiges Programm selbst- beschreibend, wenn selbstbeschreibende Objekte verwendet werden. Aus dem ausführbaren Operatorbaum ist das maschinenunabhängige Programm visualisierbar . Eine Ablage für Programme kann daher entfallen. Weiterhin wird mithilfe der Erfin- düng die Engineering-Zeit verkürzt. Die Programmierung erfolgt rein über lexikalische und semantische Funktionen. Eine Generierung und Optimierung von Maschinencodes ist nicht mehr erforderlich. Bei der Änderung der Programmierung müssen lediglich geänderte Programm-Teilbäume analysiert und geladen werden. Der Rest des Programms kann unverändert bleiben. Das Laden von Programmen auf eine Komponente eines Automatisierungssystems kann inkrementell erfolgen, das heißt, dass lediglich der geänderte Programmteil geladen werden muss und nicht das gesamte Programm.

Claims

Patentansprüche
1. Verfahren zur Programmierung und/oder Ausführung von
Programmen für industrielle Automatisierungssysteme, ba- sierend auf mindestens einer Rechnereinheit mit Eingabe- hilfsmitteln, Ausgabehilfsmitteln, sowie vorzugsweise mindestens einer Anzeigevorrichtung, wobei Bausteine und Funktionen, die jeweils Teilaufgaben einer Automatisierungslösung repräsentieren, mit den Eingabehilfsmitteln und gegebenenfalls der Anzeigevorrichtung modelliert und/oder erstellt werden, wobei die Bausteine und Funktionen mit den Eingabehilfsmitteln und gegebenenfalls der Anzeigevorrichtung strukturiert und vernetzt werden, so dass dieselben als mindestens ein maschinen- unabhängiges Programm mindestens einen hierarchischen
Baum bilden, dadurch gekennzeichnet, dass das oder jedes maschinen-unabhängige Programm in Form mindestens eines hierarchischen Baums in die entsprechenden Komponenten des Automatisierungssystems geladen wird, und dass die entsprechenden Komponenten des Automatisierungssystems das oder jedes, in Form mindestens eines hierarchischen Baums vorliegende, maschinen-unabhängige Programm ausführen.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das oder jedes maschinen-unabhängige Programm auf den entsprechenden Komponenten des Automatisierungssystems mit Hilfe mindestes einer denselben zugeordneten Objektmaschine ausführt wird.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass das oder jedes maschinen-unabhängige Programm, das in Form mindestens eines hierarchischen Objekt- bzw. Operatorbaums in den entsprechenden Kompo- nenten des Automatisierungssystems vorliegt, interpreta- tiv abgearbeitet wird.
4. Verfahren nach einem oder mehreren der Ansprüche 1 bis
3, dadurch gekennzeichnet, dass das oder jedes maschinen-unabhängige Programm in Form mindestens eines, der Darstellung des Programms in der oder jeder Anzeige- Vorrichtung strukturäquivalenten oder strukturähnlichen Objekt- bzw. Operatorbaums vorliegt.
5. Verfahren nach einem oder mehreren der Ansprüche 1 bis
4, dadurch gekennzeichnet, dass das Laden des oder jeden maschinen-unabhängigen Programms in die entsprechenden Komponenten des Automatisierungssystems unter Verwendung einer maschinen-unabhängigen, symbolischen Repräsentation des oder jeden hierarchischen Baums erfolgt .
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die maschinen-unabhängige, symbolische Repräsentation des oder jeden hierarchischen Baums in Form von Byte Code oder in Form einer Auszeichnungsspra- che (Markup Language) , insbesondere in Form von XML (Ex- tended Markup Language), erfolgt.
7. Verfahren nach einem oder mehreren der Ansprüche 1 bis
6, dadurch gekennzeichnet, dass die oder jede Objektmaschine als Realtime-Objektmaschine mit deterministischen Antwort- und Zykluszeiten ausgebildet ist.
8. Verfahren nach einem oder mehreren der Ansprüche 1 bis
7, dadurch gekennzeichnet, dass die oder jede Objektmaschine Operatoren, insbesondere mathematische und logische Operatoren, und Objekte, insbesondere Datenobjekte und Steuerobjekte, zur Verfügung stellt, aus welchen das oder jedes maschinen-unabhängige Programm in Form des oder jeden hierarchischen Baums gebildet ist.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass beim oder nach dem Laden des maschinen- unabhängigen Programms die Operatoren instantiiert und die symbolische Repräsentation des oder jeden hierarchischen Baums zur Generierung eines ablauffähigen Programms in physikalische Adressen übersetzt werden.
10. Verfahren nach einem oder mehreren der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass die Objektmaschine als eine für sich abgeschlossene Funktionseinheit implementiert wird, die den oder jeden hierarchischen Baum zur Laufzeit abarbeitet.
11. Verfahren nach einem oder mehreren der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass die Objektmaschine verteilt als mindestens ein Objekt implementiert wird, wobei der oder jeder hierarchische Objekt- bzw. O- peratorbaum sich selbst abarbeitet.
12. Verfahren nach einem oder mehreren der Ansprüche 1 bis
11, dadurch gekennzeichnet, dass den Baustei- nen und Funktionen, insbesondere Objekten, Modellinformationen und/oder Metainformationen mit den Eingabehilfsmitteln und gegebenenfalls der Anzeigevorrichtung zugeordnet werden.
13. Verfahren nach einem oder mehreren der Ansprüche 1 bis
12, dadurch gekennzeichnet, dass den Objekten des als hierarchischen Objekt- bzw. Operatorbaums vorliegenden, maschinen-unabhängigen Programms eine Sammlung von Infrastrukturdiensten bzw. Infrastrukturfunkti- onen zugeordnet ist, die auf die Objekte oder die den
Objekten zugeordnete Metadaten generisch zugreifen, so dass ein Infrastrukturdienst bzw. eine Infrastruktur- funktion von allen Objekten benutzt werden kann und für alle Objekte mit Metadaten anwendbar ist.
14. Vorrichtung zur Programmierung und/oder Ausführung von
Programmen für industrielle Automatisierungssysteme, ba- sierend auf mindestens einer Rechnereinheit mit Eingabe- hilfsmitteln, Ausgabehilfsmitteln, sowie vorzugsweise mindestens einer Anzeigevorrichtung, mit Mitteln zum Modellieren und/oder Erstellen von Bausteinen und Funktio- nen, die jeweils Teilaufgaben einer Automatisierungslösung repräsentieren, und mit Mitteln zum Strukturieren der Bausteine und Funktionen und zum Vernetzten derselben, um so als mindestens ein maschinen-unabhängiges Programm mindestens einen hierarchischen Baum zu bilden, gekennzeichnet durch Mittel um das oder jedes ma- schinen-unabhängige Programm in Form mindestens eines hierarchischen Baums in die entsprechenden Komponenten des Automatisierungssystems zu laden, wobei die entsprechenden Komponenten des Automatisierungssystems das oder jedes, in Form mindestens eines hierarchischen Baums vorliegende, maschinen-unabhängige Programm ausführen.
15. Vorrichtung nach Anspruch 14, gekennzeichnet durch mindestens eine den entsprechenden Komponenten des Automatisierungssystems zugeordnete Objektmaschine, um das oder jedes maschinen-unabhängige Programm auszuführen.
16. Vorrichtung nach Anspruch 14 oder 15, dadurch ge- kennzeichnet, dass das oder jedes maschinenunabhängige Programm in Form mindestens eines, der Darstellung des Programms in der oder jeder Anzeigevorrichtung strukturäquivalenten oder strukturähnlichen Objektbzw. Operatorbaums vorliegt.
17. Vorrichtung nach Ansprüche 15 oder 16, dadurch gekennzeichnet, dass die oder jede Objektmaschine als Realtime-Objektmaschine mit deterministischen Antwort- und Zykluszeiten ausgebildet ist.
18. Vorrichtung nach einem oder mehreren der Ansprüche 14 bis 17, dadurch gekennzeichnet , dass die oder jede Objektmaschine Operatoren, insbesondere mathematische und logische Operatoren, und Objekte, insbesondere Datenobjekte und Steuerobjekte, zur Verfügung stellt, aus welchen das oder jedes maschinen-unabhängige Pro- gramm in Form des oder jeden hierarchischen Baums gebildet ist .
19. Vorrichtung nach einem oder mehreren der Ansprüche 14 bis 18, gekennzeichnet durch Mitteln zum Zuordnen von Modellinformationen und/oder Metainformationen zu den Bausteinen und Funktionen.
20. Vorrichtung nach einem oder mehreren der Ansprüche 14 bis 19, dadurch gekennzeichnet, dass die Ob- jektmaschine als eine für sich abgeschlossene Funktionseinheit implementiert ist, die den oder jeden hierarchischen Baum zur Laufzeit abarbeitet.
21. Vorrichtung nach einem oder mehreren der Ansprüche 14 bis 19, dadurch gekennzeichnet, dass die Objektmaschine verteilt als mindestens ein Objekt implementiert ist, wobei der oder jeder hierarchische Objektbzw. Operatorbaum sich selbst abarbeitet.
22. Vorrichtung nach einem oder mehreren der Ansprüche 14 bis 21, dadurch gekennzeichnet, dass den Objekten des als hierarchischen Objekt- bzw. Operatorbaums vorliegenden, maschinen-unabhängigen Programms eine Sammlung von Infrastrukturdiensten bzw. Infrastruktur- funktionen zugeordnet ist, die auf die Objekte über den Objekten zugeordnete Container zugreifen, so dass ein Infrastrukturdienst bzw. eine Infrastrukturfunktion von allen Objekten benutzt werden kann.
23. Computerprogramm, das ein Verfahren nach einem oder mehreren der Ansprüche 1 bis 13 oder eine Vorrichtung nach einem oder mehreren der Ansprüche 14 bis 22 implementiert .
24. Datenverarbeitungseinrichtung, auf der ein Computerpro- gramm nach Anspruch 23 installiert ist.
PCT/EP2004/004740 2003-06-18 2004-05-04 Vorrichtung und verfahren zur programmierung und/oder ausführung von programmen für industrielle automatisierungssysteme WO2004111738A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/560,839 US7831316B2 (en) 2003-06-18 2004-05-04 Device and method for programming and/or executing programs for industrial automation systems
EP04731008.1A EP1634130B1 (de) 2003-06-18 2004-05-04 Vorrichtung und verfahren zur programmierung und/oder ausführung von programmen für industrielle automatisierungssysteme

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10327614.9 2003-06-18
DE10327614A DE10327614A1 (de) 2003-06-18 2003-06-18 Vorrichtung und Verfahren zur Programmierung und/oder Ausführung von Programmen für industrielle Automatisierungssysteme

Publications (1)

Publication Number Publication Date
WO2004111738A1 true WO2004111738A1 (de) 2004-12-23

Family

ID=33520727

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2004/004740 WO2004111738A1 (de) 2003-06-18 2004-05-04 Vorrichtung und verfahren zur programmierung und/oder ausführung von programmen für industrielle automatisierungssysteme

Country Status (5)

Country Link
US (1) US7831316B2 (de)
EP (1) EP1634130B1 (de)
CN (1) CN100549882C (de)
DE (1) DE10327614A1 (de)
WO (1) WO2004111738A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1923760A2 (de) 2006-10-20 2008-05-21 Rockwell Automation Technologies, Inc. Standard-MES-Schnittstelle zur Serienherstellung

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1852776A1 (de) * 2006-05-04 2007-11-07 Siemens Aktiengesellschaft Verfahren zum Betrieb eines Automatisierungsgerätes zusammen mit seiner Beschreibung
US8392008B2 (en) * 2006-10-20 2013-03-05 Rockwell Automation Technologies, Inc. Module arbitration and ownership enhancements
US7894917B2 (en) * 2006-10-20 2011-02-22 Rockwell Automation Technologies, Inc. Automatic fault tuning
US20080095196A1 (en) * 2006-10-20 2008-04-24 Rockwell Automation Technologies, Inc. Unit to unit transfer synchronization
US8601435B2 (en) * 2006-10-20 2013-12-03 Rockwell Automation Technologies, Inc. Module class subsets for industrial control
US20110264243A1 (en) * 2007-08-14 2011-10-27 Ulrich Kunze Method of Control for a Process Control System, and Control System for Controlling an Industrial Process
DE102009033967A1 (de) * 2009-07-21 2011-01-27 Robert Bosch Gmbh Verfahren zum Programmieren einer speicherprogrammierbaren Steuerung mit resistenter Abspeicherung von Daten
EP2495622B1 (de) * 2011-03-03 2017-06-07 Siemens Aktiengesellschaft Verfahren zum Betrieb eines Automatisierungssystems, Computerprogramm zur Implementierung des Verfahrens und Computersystem mit einem solchen Computerprogramm
US9645572B2 (en) 2013-11-07 2017-05-09 Rockwell Automation Technologies, Inc. Device class information support for multi-option devices
EP3067768B1 (de) * 2015-03-11 2018-04-25 Siemens Aktiengesellschaft Automatisierungseinrichtung und Operator-System
EP3088976B1 (de) * 2015-04-28 2017-11-29 Siemens Aktiengesellschaft Verfahren zum betreiben einer automatisierungseinrichtung und automatisierungseinrichtung
EP4124917A1 (de) * 2021-07-30 2023-02-01 Siemens Aktiengesellschaft Steuerbare verbindung zwischen datenquellen und datensenken bei einer automatisierungslösung

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997026587A1 (de) 1996-01-17 1997-07-24 Siemens Aktiengesellschaft Automatisierungsgerät
DE10138533A1 (de) 2000-12-15 2002-07-11 Siemens Ag Bereitstellung von Projekt- und/oder Projektierungsdaten eines Automatisierungsprojekts in einem durch eine standardisierte Meta-Sprache, insbesondere XML, definiertem Format
DE10132036A1 (de) * 2001-07-03 2003-01-23 Siemens Ag Automatisierungssystem und Verfahren mit Funktionen in einer Auszeichnungssprache
EP1296232A2 (de) 2001-09-24 2003-03-26 Siemens Energy & Automation, Inc. Vorrichtung und Verfahren zum Programmieren von programmierbaren Steuerungen und zum Generieren von Konfigurationsdaten aus einem zentralen Server

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6853867B1 (en) * 1998-12-30 2005-02-08 Schneider Automation Inc. Interface to a programmable logic controller
JP3230677B1 (ja) * 2000-06-01 2001-11-19 日本インターシステムズ株式会社 自動集計方法、自動集計装置および記録媒体
EP1215547B1 (de) 2000-12-15 2007-01-03 Siemens Aktiengesellschaft Verschlüsselung von Steuerungsprogrammen
US7246351B2 (en) * 2001-02-20 2007-07-17 Jargon Software System and method for deploying and implementing software applications over a distributed network
DE10138710A1 (de) * 2001-08-07 2003-02-20 Siemens Ag Erweiterung des OPC-Protokolls
US20030061349A1 (en) * 2001-09-24 2003-03-27 George Lo Method and system for collaboratively developing programming code for programmable controllers
DE10161111A1 (de) * 2001-12-12 2003-07-03 Siemens Ag System und Verfahren zur Projektierung von Transformationen von Objektbäumen
US7151966B1 (en) * 2002-06-04 2006-12-19 Rockwell Automation Technologies, Inc. System and methodology providing open interface and distributed processing in an industrial controller environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997026587A1 (de) 1996-01-17 1997-07-24 Siemens Aktiengesellschaft Automatisierungsgerät
DE10138533A1 (de) 2000-12-15 2002-07-11 Siemens Ag Bereitstellung von Projekt- und/oder Projektierungsdaten eines Automatisierungsprojekts in einem durch eine standardisierte Meta-Sprache, insbesondere XML, definiertem Format
DE10132036A1 (de) * 2001-07-03 2003-01-23 Siemens Ag Automatisierungssystem und Verfahren mit Funktionen in einer Auszeichnungssprache
EP1296232A2 (de) 2001-09-24 2003-03-26 Siemens Energy & Automation, Inc. Vorrichtung und Verfahren zum Programmieren von programmierbaren Steuerungen und zum Generieren von Konfigurationsdaten aus einem zentralen Server

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SIEMENS AG, PRESSSEABTEILUNG: "Siemens verleiht erfinderpreis 2002", 17 December 2002, SIEMENS AG, MÜNCHEN, XP002294786 *
SIEMENS VERLEIHT ERFINDERPREIS 2002, 17 December 2002 (2002-12-17)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1923760A2 (de) 2006-10-20 2008-05-21 Rockwell Automation Technologies, Inc. Standard-MES-Schnittstelle zur Serienherstellung
EP1923760A3 (de) * 2006-10-20 2013-01-16 Rockwell Automation Technologies, Inc. Standard-MES-Schnittstelle zur Serienherstellung

Also Published As

Publication number Publication date
EP1634130B1 (de) 2013-11-13
US20060259157A1 (en) 2006-11-16
CN100549882C (zh) 2009-10-14
DE10327614A1 (de) 2005-01-20
EP1634130A1 (de) 2006-03-15
US7831316B2 (en) 2010-11-09
CN1806212A (zh) 2006-07-19

Similar Documents

Publication Publication Date Title
EP0852759B1 (de) Entwurfsverfahren für die anlagentechnik und rechnergestütztes projektierungssystem zur verwendung bei diesem verfahren
DE10206902A1 (de) Engineeringverfahren und Engineeringsystem für industrielle Automatisierungssysteme
DE112005001031B4 (de) Grafisches Bildschirmkonfigurationsgerüst für vereinheitlichte Prozesssteuerungssystemoberfläche
EP1061422B1 (de) Informationstechnisches System zur Definition, Optimierung und Steuerung von Prozessen
DE102015100024A1 (de) Wiederverwendbare Grafikelemente mit schnell bearbeitungsfähigen Merkmalen zur Verwendung in Benutzeranzeigen von Anlagenüberwachungssystemen
DE102004038807A1 (de) Sicherheit für Objekte in einem Konfigurationssystem für Prozessanlagen
DE10206903A1 (de) Softwareapplikation, Softwarearchitektur und Verfahren zur Erstellung von Softwareapplikationen, insbesondere für MES-Systeme
EP1634130B1 (de) Vorrichtung und verfahren zur programmierung und/oder ausführung von programmen für industrielle automatisierungssysteme
EP1699005A1 (de) Integration von MES- und Controls-Engineering
DE10335989A1 (de) Online-Änderungen von CIL-Code-Programmen für die Industrieautomatisierung
EP2407842B1 (de) Verfahren zur Inbetriebnahme von Maschinen oder Maschinen einer Maschinenserie und Projektierungssystem
EP1638028A2 (de) Rechnergestützte Erzeugung und Änderungsmanagement für Bedienoberflächen
EP1137972B1 (de) Automatisierungssystem zur lösung einer prozesstechnischen aufgabenstellung und verfahren hierzu
WO2010028760A1 (de) Automatisierungssystem mit frameworkbasierter steuerung
EP1502164B1 (de) Verfahren ZUR UNTERSTÜTZUNG EINER PLANUNG UND REALISIERUNG EINES AUTOMATISIERTEN TECHNISCHEN PROZESSES
DE102008063684A1 (de) Basisaktivität, Verfahren zur Bestimmung von Basisaktivitäten sowie ein Verfahren und System zur automatisierten Generierung von Workflows
EP2093663A1 (de) Engineering-System für die Entwicklung eines Projektes und Verfahren
DE102013004922A1 (de) Integration eines PDM-Systems und eines ERP-Systems
DE102016121788A1 (de) Konfiguration einer Automatisierungsanlage
DE202021106310U1 (de) Computerimplementiertes Prozessmodul
DE102004023634B4 (de) Verfahren zur Vollständigkeits- und Konsistenzprüfung einer Informationsbibliothek
EP4270124A1 (de) Verfahren zum betreiben einer fertigungsanlage, computerprogramm und elektronisch lesbarer datenträger
WO2014146716A1 (de) Engineering-system einer prozess- und/oder fertigungsanlage
EP2010974B1 (de) Engineeringsystem und verfahren zur projektierung eines automatisierungssystems
EP4123396A1 (de) Technik zur realisierung einer visualisierung für eine automatisierungstechnische anlage mit einer speicherprogrammierbaren steuerung

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004731008

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2004816918X

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2004731008

Country of ref document: EP

DPEN Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2006259157

Country of ref document: US

Ref document number: 10560839

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 10560839

Country of ref document: US