WO2014146716A1 - Engineering system of a process plant and/or production plant - Google Patents

Engineering system of a process plant and/or production plant Download PDF

Info

Publication number
WO2014146716A1
WO2014146716A1 PCT/EP2013/055981 EP2013055981W WO2014146716A1 WO 2014146716 A1 WO2014146716 A1 WO 2014146716A1 EP 2013055981 W EP2013055981 W EP 2013055981W WO 2014146716 A1 WO2014146716 A1 WO 2014146716A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
text
library
library elements
plant
Prior art date
Application number
PCT/EP2013/055981
Other languages
German (de)
French (fr)
Inventor
Sören BURMEISTER
Bernhard Schenk
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 PCT/EP2013/055981 priority Critical patent/WO2014146716A1/en
Publication of WO2014146716A1 publication Critical patent/WO2014146716A1/en

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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Definitions

  • the invention relates to an engineering system of a process and / or production plant.
  • the dung ⁇ OF INVENTION relates to a method and system for generating library elements for the engineering system.
  • An engineering system of the type mentioned is known, for example, under the product name "Comos" of the company Siemens AG.
  • Such an engineering system offers the possibility of generating a control program for configuring the operation of this plant for a process and / or production plant, or plant for short.
  • the operator of the En ⁇ gineering system does not even write the program text of the control program but. Instead, library elements are provided.
  • the engineering system makes it possible to interconnect the library elements to a project, from which the actual program text can later be generated.
  • a graphical user interface may be for example be found ⁇ riding on which graphical representations of functional units of the plant, ie, system components can be arranged in relation to one another.
  • Each of these graphical representations belongs to a library element of a function library of the engineering system.
  • the operator can link the library elements to one another at the user interface and thereby determine how the individual system components exchange signals with one another. For example, the operator can arrange a library element for a bottle washing machine, one for a conveyor belt and one for a bottle filling machine on the operating interface in a row and then the library element of the bottle washing machine with that of the conveyor belt and in the same way the library element of the conveyor belt with that of bottles connecting automatic filling machines.
  • the individual library elements are then adapted to one another by changing parameter values of the library elements such that a meaningful control of these three system components results.
  • the parameterization is often done manually.
  • the advantage of this library approach is that the writing of the program text can be replaced by parameterization of library ⁇ elements.
  • the user interface of an engineering system is not necessarily graphical.
  • the engineering system as a sol ⁇ ches generally allows the interconnection of library elements to a project, the actual program code can be generated from the later.
  • Functional units are linked together in an object model, whereby the functional units correspond to library elements.
  • the library elements are simply related to each other / connected.
  • Alternatives to the graphic variant are eg a hierarchical structure, eg a tree structure or even a text.
  • Each library element also defines a program section for the control program of the system to be automated.
  • the program section forms those functional onsab mustard of the product to the control program, which controls the ent ⁇ speaking conditioning component, that is, for example, the Fla ⁇ rule cleaning machine or the conveyor belt.
  • the variables of this program section are matched to one another in such a way that the system components later exchange their sensor and actuator signals and thus coordinate their operation with one another.
  • the parameters of individual library elements are associated with the Programmab ⁇ cut so that the program sections can be configured by configuration of the library parameter to zifizieren such as actuator and sensor signals to spe ⁇ .
  • the engineering system is then able to gen to erzeu- from all completed linked library elements based on defined by these respective program segments a complete text for the control program of the system according to the links.
  • This control program is then, for example, about ei ⁇ nen professional Net -Bus to individual actuators of the system components, eg programmable logic controllers and controls, transmitted and stored there. If you then put the system into operation, the result is an operating procedure as defined by the linked library elements.
  • Another designation for the described library elements is the module.
  • the creation of such modules is often very time-consuming, so that the time saved by the increased reuse of such modules when creating new control programs is offset by a high initial effort for the proposal ⁇ position, which reduces the attractiveness of Modulari ⁇ tion. This is especially the case if a library item is to do more than a simple text template for the respective program portion of the control program ⁇ .
  • automated Programmcodegene- turing as for example in the already mentioned "Comos” provided, it is important that a single library member can be easily integrated into an overall project and dependencies between the individual functional elements of the project are considered.
  • library elements can then be generated. Be generated for a new system must then another tax erprogramm, so can be used from then on one of the described engineering systems, one of which simply the library elements are linked together and, optionally, individual parame ⁇ ter the library elements are adjusted. If you then create a control program from this, this also has the described basic structure and is however immediately adapted to the new plant.
  • Difficult in a comparison of several control programs for recognizing suitable library elements is that often po ⁇ tentiell usable for the library creation blocks are not recognized as such. For example, if two text areas of a program text are very similar, then this may be on the one hand mean that the programmer used the same text template and therefore a library element would be suitable here. But it can also be a random Similarly ⁇ ness, which then leads in developing sectionsele- elements to false conclusions.
  • the object of the invention is to provide suitable library elements for an engineering system for configuring an operating sequence of a process and / or manufacturing system.
  • the invention addresses the problem that a simple comparison of finished control programs, which a plant manufacturer has created for different plants or for different configurations of the same plant, makes it difficult to discern the library building blocks that can potentially be used for library creation.
  • the problem is solved according OF INVENTION ⁇ dung that additionally the Entste ⁇ hung history, so the timing of the changes in the program code of the control programs, will be considered in the development of library elements.
  • This approach is based on the insight that the person who has manually created the program text for the control programs, uses knowledge about the structure of the system to the
  • Program text systematically. For example, whenever a typical remodeling of the product line is made in the plant, a programmer will first change certain variables in the program text, then adjust calculation and control routines, and eventually add or delete function calls depending on whether plant components are on the production line added or taken out of it. Such changes in the Program text does not find this often in the same file instead, but the programmer will change various Since ⁇ parties leaps to make his changes. He will always remember what goal he is pursuing. The programmer will then gradually discuss this for the various technical aspects that result from the conversion of the system. If one then compares the finished program text with the initial version of the control program, it can only be recognized that in several files small changes have been made in many places. Correlations between these changes are not he ⁇ recognizable.
  • the method according to the invention provides to provide an observation device by which a programmer is observed as he manually and without an engineering system ei ⁇ NEN program text of a pattern control program of a system changed.
  • the observation device is designed to further, zulot a change of text areas of the program text and a time order of the changes in ⁇ .
  • it may be the observation device, for example, a camera, wel ⁇ che films the screen on which the programmer of the program text is displayed. But it can also, for example, the screen content not by a camera, but directly on the workstation computer, which controls the screen, are stored in a file.
  • Evaluation device displays the recorded changes in the text areas in the recorded order of an operator who is involved in the development of the library elements ⁇ .
  • the operator can then recognize, based on the time sequence of the changes, which text modules in the program text of the programmer has changed in what order. From this, the operator can then be derived in the manner described, which together include text areas function onal ⁇ .
  • a library element can then be compiled from these related text areas and entered into the engineering system. If the programmer then wishes to write another similar control program, he can now use the engineering system to select this library element at the described user interface and insert it into a flowchart.
  • Another possibility for observing the programmer is realized according to an embodiment of the method in which an observation device is provided by which directly a signal of an editing device for editing the program text is stored, e.g. one
  • the emergence of the program text can then be adjusted based on the stored signals of the editing ⁇ device, eg as an animation.
  • an operator can then draw conclusions about logical relationships between the individual changes in the text areas.
  • the operator can, for example, also be based on approaches from the field of "software evolution analysis.” It assumes that when changes or the programming of new functionalities the programmer pursues a "thread" (English: Thread), ie all , changes and additions in the program text in question a particular Häpa ⁇ ket be done promptly and not eg uncoordinated to any desired points in time.
  • the technical possibilities already provided by the editing system used must be taken into account, for example its API (Application Programming Interface).
  • the "TIA-Portal" engineering system from Siemens AG can be used to query a signal from an editing device via the MSAA interface (MSAA - Microsoft Active Accessibility), as well as to directly document the actions of the programmer and to forward this data use is alterna ⁇ tive and the ability to analyze different versions of the Pro ⁇ gram textes and to produce a Entstehungshisto ⁇ rie.
  • one embodiment of the inventive method provides that the observation device, a version management system or version management system includes the program text and by the evaluation at least two, at different times in the Versioning system transmitted program text versions are compared to identify the changed text areas. In contrast to the previously described "continuous" observation of user activities, the differences in the program text are therefore considered to be "discrete times". In this case, however, implicitly been assumed ⁇ that the program text is passed according to "fine-grained" and contextual to the version management system that is ideally located two program different text versions never by multiple, non-contiguous amendments approximately threads in the sense described above Software Evolution Analysis Although this approach may be less precise, it does have the advantage of being less invasive to the programmer, and the data so recorded is often already there.
  • each library item be ⁇ vorzugt at least one parameter to adjust the program section on.
  • the engineering system is then designed accordingly, when linking a respective library ⁇ elements whose parameters in response to another library element, with which it is to be linked, hymn ⁇ ask.
  • the evaluation device provides for the evaluation device to also recognize a possible parameter for one of the library elements on the basis of the recorded changes when displaying the changes in the text areas and to identify them to the operator.
  • altered Einträ ⁇ ge can be color coded in a symbol table by the programmer. They can also be immediately implemented as a parameter in the new library element.
  • the invention also includes a development system for generating the library elements for the engineering system.
  • the development system includes the monitoring device described and also described Ausenseeinrich ⁇ tung.
  • the development system is designed to carry out an embodiment of the method according to the invention.
  • the invention is explained in more detail with reference to concrete embodiments.
  • FIG. A workstation computer 10 with a screen 12 is shown.
  • a programmer 14 operates to adapt or re-create a program text T of a control program P for a process and / or manufacturing facility 16.
  • the control program P comprises a plurality of subprograms for individual plant components 18, 20, 22, 24, 26 of the plant 16.
  • the plant may genkomponenten 18, 20, 22, 24 act on machines and the system component 26 to a conveyor belt, which Maschinenstü ⁇ bridge between the machines 18, 20, 22, 24 transports.
  • the programmer 14 Whenever the production in the system 16 is changed over, the programmer 14 must adapt the program text T. Eg do this, it creates a copy of a previously used Steuerpro ⁇ program and changed individual text areas to reflect the new technical conditions in the plant 16 in the program text T. It should be possible for the programmer 14 to generate the same adapted control program P by means of an engineering system 28 without this programming activity .
  • the engineering system 28 makes it possible to arrange individual library elements 32, 34 on a graphical user interface 30 and to link them to one another.
  • library element 32, 34 represents one of the system components 18, 20, 22, 24, 26.
  • the links at the graphical user interface 30 simulate the functional relationships of the system components 18, 20, 22, 24, 26.
  • the engineering system 28 may on the basis of program sections, that are stored in the library elements 32, 34, then the control program P are generated automatically by being assembled Pro ⁇ program portions in accordance with the links to the control program P.
  • the control program P can then also be transferred from the engineering system 28 to the system components 18, 20, 22, 24, 26 of the system 16 and stored there in program memories of the actuator units of these system components 18, 20, 22, 24, 26.
  • the operating procedure of the system 16 can also be adapted to the new process.
  • the programmer in order for the programmer to have the appropriate library elements 32, 34 available, these must first be developed so that they can be stored in a library 36 and thus be available to the engineering system 28. For this the programmer 14 is observed in its activity of reprogramming the program text T by an observation device 38.
  • the observation device 38 may be, for example, a program module of the workstation computer 10 or else a separate device.
  • the actions that are performed to change the program text T are tracked and stored with respective time information as to when the individual actions were performed, so that the emergence of the new program text T can be taken into account and not just the finished new Structure of the control program P.
  • the stored information about the changes of individual text areas of the program text T and the time sequence in which the changes were carried out are transmitted from the observation device 38 to an evaluation device 40.
  • the information can be stored on a data carrier and then read in again by a drive of the evaluation device 40.
  • the evaluation device 40 may be, for example, a separate workstation computer, which may be constructed, for example, by the system manufacturer of the system 16.
  • the evaluation unit 40 produces a display 42 Example ⁇ , on a screen.
  • the display 42 show the single ⁇ NEN changes that the programmer be gradual, in the program text T 14, to for example, as Sym ⁇ bole 44th
  • FIG some symbols of the index ⁇ friendliness half are provided with a reference number. Since each symbol 44 represents a step change, the change steps themselves are signs with the reference in Fol ⁇ constricting referenced 44th
  • Each of the modification steps 44 may have been classified into one of three categories 46 (C1, C2, C3).
  • the category Cl can stand for changes in a symbol table as (in a typical Steuerpro ⁇ program for a facility such as a control program in the programming language STEP 7 STL, eg a control ⁇ designing for a SIMATIC S7 controller, or after this Programming standard IEC 61131-3) is provided to Sig ⁇ signals between the system components 18, 20, 22, 24, 26 to be able to exchange.
  • category C2 may represent changes in function block logic or function call logic. This category includes those C2 then change steps that the mathematical combination or lo ⁇ cal link signals from the symbol table Subject Author ⁇ fen.
  • the third category C3 may relate, for example, to changes in the area of function block calls or function call calls in the organization block of a control program.
  • Organization blocks are also typical elements of control programs for plants.
  • the change steps 44 are further assigned chronologically after time t via a time axis 48, so that along the time axis 48 they have the same sequence in which the programmer 14 has performed the change steps 44 on the program text T.
  • a processing step 44 may comprise a copy-paste operation, which indicates that the programmer 14 has used a particular text area in the program text T several times and has changed the symbol table after the copy-paste operation, and then corresponding processing steps 44 result in the category C1, then the function logic has changed in the copied text area, so that changes in the category C2 result, in the example shown then an entry in the symbol table could be done again and then again a change in the program logic.
  • the programmer 14 has then activated in a final steps this newly formed function in the organization block by a function call.
  • This process can be choose ⁇ borders as a possible program portion 52 to form a new, appropriate library element, and are marked, for example, by a frame of Be ⁇ serving person.
  • this text area which has been detected by the alteration steps 44 and is defined as a possible library building block 52 by the evaluation device 40, as a program section for a new library element, he can confirm this, so that the analysis device 40 may even code it automatically Formed a new library element 54 and stored in the library 36. Then is the programmer for future adjustments to the operation of the check would be 16 and the library item 54 as a convenient Mög ⁇ friendliness available, a previously be performed manually in the program text T matching step now easily, for example by changing the library item 34 by the Bib ⁇ liothekselement 54 perform ,
  • the system formed by the observation device 38 and the evaluation device 40 can be used in many applications. For clarity, two examples are given below.
  • a plant manufacturer manufactures bottle filling plants.
  • One component of these systems is a conveyor belt from which the already filled bottles are further distributed according to their filling color. Fla- see, in which, for example, green liquid was filled, are redirected to a side line 1, while Fla ⁇ rule are redirected with red liquid to a side line 2.
  • the colors used vary, so that the amount and type of secondary lines is different.
  • Each subline is "fixed" and is controlled by a code of a control program which is specific to the handling of the particular filling color and results from the process know-how of the process engineers.
  • program code is done from an S7 library copied (a Biblio ⁇ theque of manufacture control configurations for SIMATIC S7 controllers) so that JE from this program text by adjusting address data for sensors and actuators wells the control program is generated for the new project. If one compares the program texts of two different projects, it can be seen that there are always several secondary lines going from one main line whose automation codes are largely identical. Therefore, one could try to create a library element for an engineering system, such as Comos, which represents a plant ⁇ structure in which all secondary lines are nachge ⁇ forms.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Security & Cryptography (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)

Abstract

The invention relates to a method for producing library elements (32, 34, 54) for an engineering system (28) of a process plant and/or production plant (16). Each library element (32, 34, 54) establishes a program section of a control program (P), by which a plant component (18, 20, 22, 24, 26) is controlled. The library elements (32, 34, 54) are linked with one another according to an input of a user. A control program (P) of the plant (16) is generated from the linked library elements (32, 34, 54). The invention addresses the problem of providing suitable library elements. For that purpose, an observation device (38) is provided, which observes how a programmer (14) manually, i.e. as yet without the engineering system (28), changes a program text (T) of a model control program of the plant (16). During said observation, a change of text areas of the program text (T) and a time sequence of the changes are recorded. The recorded changes (44) of the text areas are then displayed to an operator in the recorded sequence by an evaluating device (40).

Description

Beschreibung description
Engineering-System einer Prozess- und/oder Fertigungsanlage Die Erfindung betrifft ein Engineering-System einer Prozess- und/oder Fertigungsanlage. Insbesondere betrifft die Erfin¬ dung ein Verfahren und ein System zum Erzeugen von Bibliothekselementen für das Engineering-System. Ein Engineering- System der genannten Art ist beispielsweise unter dem Pro- duktnamen „Comos" des Unternehmens Siemens AG bekannt. Engineering system of a process and / or production plant The invention relates to an engineering system of a process and / or production plant. In particular, the dung ¬ OF INVENTION relates to a method and system for generating library elements for the engineering system. An engineering system of the type mentioned is known, for example, under the product name "Comos" of the company Siemens AG.
Ein solches Engineering-System bietet die Möglichkeit, für eine Prozess- und/oder Fertigungsanlage, oder kurz Anlage, ein Steuerprogramm zum Konfigurieren des Betriebsablaufs die- ser Anlage zu erzeugen. Hierbei muss die Bedienperson des En¬ gineering-Systems aber nicht selbst den Programmtext des Steuerprogramms schreiben. Stattdessen sind Bibliotheksele¬ mente bereitgestellt. Das Engineering-System ermöglicht das Verschalten der Bibliothekselemente zu einem Projekt, aus dem dann später der eigentliche Programmtext generiert werden kann . Such an engineering system offers the possibility of generating a control program for configuring the operation of this plant for a process and / or production plant, or plant for short. Here, the operator of the En ¬ gineering system does not even write the program text of the control program but. Instead, library elements are provided. The engineering system makes it possible to interconnect the library elements to a project, from which the actual program text can later be generated.
Hierzu kann z.B. eine graphische Benutzerschnittstelle be¬ reitgestellt sein, an welcher grafische Repräsentationen funktionaler Einheiten der Anlage, d.h. Anlagenkomponenten, in Relation zueinander angeordnet werden können. Diese grafischen Repräsentationen gehören jeweils zu einem Bibliothekselement einer Funktionsbibliothek des Engineering-Systems. Die Bedienperson kann an der Benutzerschnittstelle die Bib- liothekselemente miteinander verknüpfen und hierdurch festlegen, wie die einzelnen Anlagenkomponenten Signale miteinander austauschen. So kann beispielsweise die Bedienperson ein Bibliothekselement für einen Flaschenreinigungsautomaten, eines für ein Förderband und eines für einen Flaschenabfüllautoma- ten an der Bedienschnittstelle in einer Reihe anordnen und dann das Bibliothekselement des Flaschenreinigungsautomaten mit demjenigen des Förderbands und in derselben Weise das Bibliothekselement des Förderbands mit demjenigen des Fla- schenabfüllautomaten verbinden. Die einzelnen Bibliothekselemente werden dann in der Weise durch Verändern von Parameterwerten der Bibliothekselemente aneinander angepasst, dass sich eine sinnvolle Steuerung dieser drei Anlagenkomponenten ergibt. Die Parametrierung erfolgt oft manuell. Der Vorteil dieses Bibliotheksansatzes besteht darin, dass das Schreiben des Programmtextes durch das Parametrieren der Bibliotheks¬ elemente ersetzt werden kann. Die Benutzerschnittstelle eines Engineering-Systems ist aber nicht zwangsläufig grafisch. Das Engineeringsystem als sol¬ ches ermöglicht im Allgemeinen das Verschalten von Bibliothekselementen zu einem Projekt, aus dem dann später der eigentliche Programmtext generiert werden kann. Es werden funk- tionale Einheiten in einem Objektmodell miteinander verknüpft, wobei die funktionalen Einheiten Bibliothekselementen entsprechen. Die Bibliothekselemente werden hierzu einfach miteinander in Bezug gesetzt/verbunden . Alternativen zur grafischen Variante sind dabei z.B. eine hierarchische Struktur, z.B. eine Baumstruktur oder sogar ein Text. To this end, a graphical user interface may be for example be found ¬ riding on which graphical representations of functional units of the plant, ie, system components can be arranged in relation to one another. Each of these graphical representations belongs to a library element of a function library of the engineering system. The operator can link the library elements to one another at the user interface and thereby determine how the individual system components exchange signals with one another. For example, the operator can arrange a library element for a bottle washing machine, one for a conveyor belt and one for a bottle filling machine on the operating interface in a row and then the library element of the bottle washing machine with that of the conveyor belt and in the same way the library element of the conveyor belt with that of bottles connecting automatic filling machines. The individual library elements are then adapted to one another by changing parameter values of the library elements such that a meaningful control of these three system components results. The parameterization is often done manually. The advantage of this library approach is that the writing of the program text can be replaced by parameterization of library ¬ elements. However, the user interface of an engineering system is not necessarily graphical. The engineering system as a sol ¬ ches generally allows the interconnection of library elements to a project, the actual program code can be generated from the later. Functional units are linked together in an object model, whereby the functional units correspond to library elements. The library elements are simply related to each other / connected. Alternatives to the graphic variant are eg a hierarchical structure, eg a tree structure or even a text.
Durch jedes Bibliothekselement ist auch ein Programmabschnitt für das Steuerprogramm der zu automatisierenden Anlage festgelegt. Der Programmabschnitt bildet dabei denjenigen Funkti- onsabschnitt des zu erzeugenden Steuerprogramms, der die ent¬ sprechende Anlagenkomponente, also beispielsweise den Fla¬ schenreinigungsautomaten bzw. das Förderband, steuert. Die Variablen dieses Programmabschnitts sind durch Verändern der Parameterwerte bei den verknüpften Bibliothekselementen dabei aufeinander so abgestimmt, dass die Anlagenkomponenten später ihre Sensor- und Aktorsignale miteinander austauschen und so ihren Betrieb aufeinander abstimmen. Die Parameter der einzelnen Bibliothekselemente sind dabei mit den Programmab¬ schnitten so verknüpft, dass sich die Programmabschnitte durch Konfiguration der Bibliotheksparameter konfigurieren lassen, um so beispielsweise Aktor- und Sensorsignale zu spe¬ zifizieren . Das Engineering-System ist dann in der Lage, aus allen fertig verknüpften Bibliothekselementen anhand der durch diese jeweils definierten Programmabschnitte einen Gesamttext für das Steuerprogramm der Anlage gemäß den Verknüpfungen zu erzeu- gen. Dieses Steuerprogramm wird dann, beispielsweise über ei¬ nen Profi-Net-Bus zu einzelnen Stelleinheiten der Anlagenkomponenten, z.B. speicherprogrammierbaren Regelungen und Steuerungen, übertragen und dort gespeichert. Nimmt man dann die Anlage in Betrieb, so ergibt sich ein Betriebsablauf, wie er durch die verknüpften Bibliothekselemente definiert wurde. Each library element also defines a program section for the control program of the system to be automated. The program section forms those functional onsabschnitt of the product to the control program, which controls the ent ¬ speaking conditioning component, that is, for example, the Fla ¬ rule cleaning machine or the conveyor belt. By changing the parameter values in the linked library elements, the variables of this program section are matched to one another in such a way that the system components later exchange their sensor and actuator signals and thus coordinate their operation with one another. The parameters of individual library elements are associated with the Programmab ¬ cut so that the program sections can be configured by configuration of the library parameter to zifizieren such as actuator and sensor signals to spe ¬. The engineering system is then able to gen to erzeu- from all completed linked library elements based on defined by these respective program segments a complete text for the control program of the system according to the links. This control program is then, for example, about ei ¬ nen professional Net -Bus to individual actuators of the system components, eg programmable logic controllers and controls, transmitted and stored there. If you then put the system into operation, the result is an operating procedure as defined by the linked library elements.
Eine andere Bezeichnung für die beschriebenen Bibliotheksele¬ mente ist Modul. Die Erstellung solcher Module ist oft sehr zeitaufwändig, so dass der Zeitersparnis durch die gesteiger- te Wiederverwendung solcher Module beim Erstellen neuer Steuerprogramme ein hoher Initialaufwand für die Bibliothekser¬ stellung gegenübersteht, der die Attraktivität der Modulari¬ sierung verringert. Dies ist insbesondere dann der Fall, wenn ein Bibliothekselement mehr leisten soll als eine einfache Textvorlage für den jeweiligen Programmabschnitt des Steuer¬ programms. Speziell bei der automatisierten Programmcodegene- rierung, wie sie beispielsweise bei dem bereits erwähnten „Comos" vorgesehen ist, ist es wichtig, dass ein einzelnes Bibliothekselement gut in ein Gesamtprojekt integriert werden kann und Abhängigkeiten zwischen den einzelnen Funktionselementen des Projekts berücksichtigt werden. Soll beispielswei¬ se ein Steuerprogramm für eine Anlage erstellt werden können, in welcher teilbare Förderbänder aufgebaut sind, so kann ein Bibliothekselement nicht genutzt werden, das eine solche Tei- lung nicht berücksichtigt. Anders herum wird ein Projekt un¬ übersichtlich, wenn Bibliothekselemente für teilbare Förderbänder genutzt werden müssen, obwohl in einer zu automatisierenden Anlage solche Förderbänder gar nicht vorhanden sind. Die Bibliotheken mit den Bibliothekselementen werden häufig per Hand von einem Experten aufgebaut und gepflegt. Dies ist kostenintensiv und lohnt sich nur, wenn zu erwarten ist, dass die Bibliothek für mehrere Anlagen oder zum häufigeren Umkonfigurieren einer Anlage genutzt werden wird. Another designation for the described library elements is the module. The creation of such modules is often very time-consuming, so that the time saved by the increased reuse of such modules when creating new control programs is offset by a high initial effort for the Bibliothekser ¬ position, which reduces the attractiveness of Modulari ¬ tion. This is especially the case if a library item is to do more than a simple text template for the respective program portion of the control program ¬. Especially in automated Programmcodegene- turing, as for example in the already mentioned "Comos" provided, it is important that a single library member can be easily integrated into an overall project and dependencies between the individual functional elements of the project are considered. If beispielswei ¬ a library item Anders se a control program for a system can be created, are constructed in which split conveyor belts, so can not be used, which does not take into account such a TEI development. around a project is un ¬ clear when library items are used for split conveyor belts Although such conveyor belts do not even exist in a plant to be automated, libraries with the library elements are often constructed and maintained by an expert by hand, which is costly and worthwhile only if it is expected that the library will be used for multiple installations or for more frequent reconfiguration of an installation.
Alternativ zu diesem bibliotheksbasierten Ansatz könnte man ein einzelnes Steuerprogramm von Hand durch einen Programmierer schreiben lassen und dieses manuell geschriebene Steuer¬ programm einmalig in den Stelleinheiten der Anlage, also beispielsweise den speicherprogrammierten Regelungen und Steuerungen, abspeichern. Werden von einem Anlagenhersteller z.B. sehr viele ähnliche Projekte manuell realisiert, so wird hierbei aber häufig ein existierendes Muster-Steuerprogramm als Vorlage verwendet, das je nach Anforderung für die jewei¬ lige konkrete Anlage anders konfiguriert und nur an einigen Stellen verändert wird. So entstehen aus dem Muster- Steuerprogramm Programmtexte für Steuerprogramme, die eine gleiche Grundstruktur aufweisen, die je nach Anforderung für die jeweilige Anlage anders konfiguriert und nur an einigen Stellen verändert worden ist. Durch Vergleichen mehrerer solcher ähnlicher Programmtexte können dann die den einzelnen Steuerprogrammen zugrundeliegenden Bausteine mitsamt ihrer Konfigurationsmöglichkeiten erkannt werden. Aus diesen Informationen lassen sich dann Bibliothekselemente generieren. Muss dann ein weiteres Steu- erprogramm für eine neue Anlage erzeugt werden, so kann von da an eines der beschriebenen Engineering-Systeme genutzt werden, von welchen dann einfach die Bibliothekselemente miteinander verknüpft werden und gegebenenfalls einzelne Parame¬ ter der Bibliothekselemente eingestellt werden. Erzeugt man daraus dann ein Steuerprogramm, so weist dies ebenfalls die beschriebene Grundstruktur auf und ist aber gleich an die neue Anlage angepasst. As an alternative to this library-based approach could be allowed to write a single control program manually by a programmer and this manually typed control ¬ program in the actuators of the system, so for example, the stored program regulations and controls, save once. Be realized by a system manufacturer, for example, a large number of similar projects manually, an existing pattern control program is here but is often used as a template, which is configured differently depending on the requirement information for the required ¬ celled specific investment and changes only in some places. The pattern control program thus produces program texts for control programs which have the same basic structure which, depending on the requirements, has been configured differently for the respective installation and has only been changed in some places. By comparing a plurality of such similar program texts, the components underlying the individual control programs, together with their configuration options, can then be identified. From this information, library elements can then be generated. Be generated for a new system must then another tax erprogramm, so can be used from then on one of the described engineering systems, one of which simply the library elements are linked together and, optionally, individual parame ¬ ter the library elements are adjusted. If you then create a control program from this, this also has the described basic structure and is however immediately adapted to the new plant.
Schwierig bei einem Vergleich mehrerer Steuerprogramme zum Erkennen geeigneter Bibliothekselemente ist, dass oftmals po¬ tentiell für die Bibliothekserstellung verwendbare Bausteine nicht als solche erkannt werden. Sind beispielsweise zwei Textbereiche eines Programmtextes sehr ähnlich, so kann dies zum einen bedeuten, dass hier der Programmierer dieselbe Textvorlage genutzt hat und deshalb hier ein Bibliotheksele¬ ment geeignet wäre. Es kann aber auch eine zufällige Ähnlich¬ keit vorliegen, die dann beim Entwickeln von Bibliotheksele- menten zu Fehlschlüssen führt. Difficult in a comparison of several control programs for recognizing suitable library elements is that often po ¬ tentiell usable for the library creation blocks are not recognized as such. For example, if two text areas of a program text are very similar, then this may be on the one hand mean that the programmer used the same text template and therefore a library element would be suitable here. But it can also be a random Similarly ¬ ness, which then leads in developing Bibliotheksele- elements to false conclusions.
Der Erfindung liegt die Aufgabe zugrunde, zum Konfigurieren eines Betriebsablaufs einer Prozess- und/oder Fertigungsanla¬ ge geeignete Bibliothekselemente für ein Engineering-System bereitzustellen. The object of the invention is to provide suitable library elements for an engineering system for configuring an operating sequence of a process and / or manufacturing system.
Die Aufgabe wird durch ein Verfahren gemäß Patentanspruch 1 sowie ein Entwicklungssystem gemäß Patentanspruch 8 gelöst. Vorteilhafte Weiterbildungen der Erfindung sind durch die Un- teransprüche gegeben. The object is achieved by a method according to claim 1 and a development system according to claim 8. Advantageous developments of the invention are given by the dependent claims.
Die Erfindung setzt an dem Problem an, dass ein einfacher Vergleich von fertigen Steuerprogrammen, die ein Anlagenhersteller für unterschiedliche Anlagen oder für unterschiedli- che Konfigurationen derselben Anlage erstellt hat, nur schwer die potentiell für die Bibliothekserstellung verwendbaren Bibliothekbausteine erkennen lässt. Das Problem wird erfin¬ dungsgemäß dadurch gelöst, dass zusätzlich auch die Entste¬ hungshistorie, also die zeitliche Abfolge der Änderungen in dem Programmtext der Steuerprogramme, bei der Entwicklung von Bibliothekselementen berücksichtigt wird. The invention addresses the problem that a simple comparison of finished control programs, which a plant manufacturer has created for different plants or for different configurations of the same plant, makes it difficult to discern the library building blocks that can potentially be used for library creation. The problem is solved according OF INVENTION ¬ dung that additionally the Entste ¬ hung history, so the timing of the changes in the program code of the control programs, will be considered in the development of library elements.
Diesem Ansatz liegt die Erkenntnis zugrunde, dass derjenige, der den Programmtext für die Steuerprogramme manuell erstellt hat, Wissen über die Struktur der Anlage einsetzt, um denThis approach is based on the insight that the person who has manually created the program text for the control programs, uses knowledge about the structure of the system to the
Programmtext systematisch zu erstellen. Beispielsweise wird ein Programmierer immer dann, wenn in der Anlage eine typische Umbaumaßnahme zum Umstellen der Produktlinie vorgenommen wird, im Programmtext zunächst bestimmte Variablen ändern, dann Berechnungs- und Steuerroutinen anpassen und schließlich eventuell noch Funktionsaufrufe hinzufügen oder löschen, je nachdem, ob Anlagenkomponenten zur Fertigungsstraße hinzugefügt oder aus ihr herausgenommen wurden. Solche Änderungen im Programmtext finden dabei oftmals nicht in ein und derselben Datei statt, sondern der Programmierer wird verschiedene Da¬ teien sprungweise verändern, um seine Änderungen vorzunehmen. Dabei wird er immer im Kopf behalten, welches Ziel er gerade verfolgt. Dies wird der Programmierer dann nach und nach für die verschiedenen technischen Aspekte behandeln, die sich durch die Umstellung der Anlage ergeben. Vergleicht man dann den fertigen Programmtext mit der Ausgangsversion des Steuerprogramms, so ist nur zu erkennen, dass in mehreren Dateien an vielen Stellen kleine Veränderungen vorgenommen worden sind. Zusammenhänge zwischen diesen Änderungen sind nicht er¬ kennbar . Program text systematically. For example, whenever a typical remodeling of the product line is made in the plant, a programmer will first change certain variables in the program text, then adjust calculation and control routines, and eventually add or delete function calls depending on whether plant components are on the production line added or taken out of it. Such changes in the Program text does not find this often in the same file instead, but the programmer will change various Since ¬ parties leaps to make his changes. He will always remember what goal he is pursuing. The programmer will then gradually discuss this for the various technical aspects that result from the conversion of the system. If one then compares the finished program text with the initial version of the control program, it can only be recognized that in several files small changes have been made in many places. Correlations between these changes are not he ¬ recognizable.
Verfolgt man dagegen die zeitliche Abfolge der Veränderungen im Programmtext, so kann anhand zeitlich unmittelbar aufeinanderfolgender Veränderungen z.B. sehr einfach erkannt werden, welche Veränderung einer Programmvariablen mit welcher Veränderung einer Berechnungsfunktion und eines Funktionsaufrufes aufeinander folgten. On the other hand, if one follows the temporal sequence of the changes in the program text, it is possible, on the basis of temporally consecutive changes, for example It is very easy to recognize which change of a program variable followed by which change of a calculation function and a function call.
Um diese Erkenntnis technisch umzusetzen, sieht das erfindungsgemäße Verfahren vor, eine Beobachtungseinrichtung bereitzustellen, durch welche ein Programmierer dabei beobachtet wird, wie er manuell und ohne ein Engineering-System ei¬ nen Programmtext eines Muster-Steuerprogramms einer Anlage verändert. Die Beobachtungseinrichtung ist des Weiteren dazu ausgelegt, eine Veränderung von Textbereichen des Programmtextes und eine zeitliche Reihenfolge der Veränderungen auf¬ zuzeichnen. Im einfachsten Fall kann es sich bei der Beobachtungseinrichtung beispielsweise um eine Kamera handeln, wel¬ che den Bildschirm filmt, auf welchem dem Programmierer der Programmtext angezeigt wird. Es kann aber beispielsweise auch der Bildschirminhalt nicht durch eine Kamera, sondern direkt über den Arbeitsplatzcomputer, der den Bildschirm ansteuert, in eine Datei gespeichert werden. In order to implement this knowledge technically, the method according to the invention provides to provide an observation device by which a programmer is observed as he manually and without an engineering system ei ¬ NEN program text of a pattern control program of a system changed. The observation device is designed to further, zuzeichnen a change of text areas of the program text and a time order of the changes in ¬. In the simplest case, it may be the observation device, for example, a camera, wel ¬ che films the screen on which the programmer of the program text is displayed. But it can also, for example, the screen content not by a camera, but directly on the workstation computer, which controls the screen, are stored in a file.
Bei dem erfindungsgemäßen Verfahren werden anschließend im Rahmen der Entwicklung neuer Bibliothekselemente durch eine Auswerteeinrichtung die aufgezeichneten Veränderungen der Textbereiche in der aufgezeichneten Reihenfolge einer Bedienperson angezeigt, die mit der Entwicklung der Bibliotheksele¬ mente befasst ist. Die Bedienperson kann dann anhand der zeitlichen Abfolge der Veränderungen erkennen, welche Textbausteine im Programmtext der Programmierer in welcher Reihenfolge verändert hat. Daraus kann die Bedienperson dann in der beschriebenen Weise ableiten, welche Textbereiche funkti¬ onal zusammengehören. Aus diesen zusammengehörigen Textberei- chen kann dann ein Bibliothekselement zusammengestellt werden und in das Engineering-System eingepflegt werden. Möchte dann der Programmierer noch einmal ein ähnliches Steuerprogramm schreiben, so kann er nun mittels des Engineering-Systems dieses Bibliothekselement an der beschriebenen Bedienschnitt- stelle auswählen und in einen Ablaufplan einfügen. Hierdurch bewirkt er dann, dass all diejenigen Textbereiche, die er zu¬ vor manuell nacheinander manipuliert hat, um einen bestimmten Programmabschnitt für das Steuerprogramm der Anlage manuell zu erzeugen, nun mit einem einzigen Bedienschritt in Form des ausgewählten Bibliothekselements bereitgestellt werden. An¬ schließend wird der Programmabschnitt aus dem Bibliotheksele¬ ment dann bei der automatisierten Erzeugung des Steuerprogramms auf Grundlage der verknüpften Bibliothekselemente im Steuerprogramm der Anlage eingefügt. In the method according to the invention are then in the context of the development of new library elements by a Evaluation device displays the recorded changes in the text areas in the recorded order of an operator who is involved in the development of the library elements ¬ . The operator can then recognize, based on the time sequence of the changes, which text modules in the program text of the programmer has changed in what order. From this, the operator can then be derived in the manner described, which together include text areas functi onal ¬. A library element can then be compiled from these related text areas and entered into the engineering system. If the programmer then wishes to write another similar control program, he can now use the engineering system to select this library element at the described user interface and insert it into a flowchart. Then thereby it causes all those areas of text, which he manipulated to ¬ before manually sequentially in order to produce a certain program section for the control program of the system manually, are now provided with a single operating step in the form of the selected library member. Subsequently , the program section from the library element is then inserted in the automated program of the control program on the basis of the linked library elements in the control program of the installation.
Eine andere Möglichkeit zum Beobachten des Programmierers ist gemäß einer Ausführungsform des Verfahrens realisiert, bei welcher eine Beobachtungseinrichtung bereitgestellt wird, durch die direkt ein Signal einer Editiereinrichtung zum Edi- tieren des Programmtextes gespeichert wird, also z.B. einAnother possibility for observing the programmer is realized according to an embodiment of the method in which an observation device is provided by which directly a signal of an editing device for editing the program text is stored, e.g. one
Signal eines Texteditors. Dann stehen als die gespeicherten Informationen über die Veränderung von Textbereichen bestimmte Schlüsselaktionen für die spätere Analyse zur Verfügung, wie sie sich beispielsweise durch Copy-Paste-Vorgänge, Text- ergänzungen oder durch Verändern eines Aufrufs eines Funktionsblocks ergeben können. Mit welchen zeitlichen Abständen hierbei Veränderungen protokolliert werden, also in welcher zeitlichen Granularität , kann bei der Beobachtungseinrichtung in Abhängigkeit davon geschehen, wie oft bei einem „Undo- Befehl" im Texteditor Rücksprungmarken eingefügt werden, d.h. es werden z.B. auch längere, getippte Texte zu einer Aktion zusammengefasst . Signal of a text editor. Then, as the stored information about the change of text areas, certain key actions are available for later analysis, such as may result from copy-paste operations, text additions, or by modifying a call to a function block. With which temporal intervals changes can be logged, ie in which temporal granularity, can at the observation device Depending on this, how often in an "Undo command" in the text editor return marks are inserted, ie, for example, longer, typed texts are combined into one action.
Durch die Auswerteeinrichtung kann dann das Entstehen des Programmtextes anhand der gespeicherten Signale der Editier¬ einrichtung nachgestellt werden, z.B. als eine Animation. Durch die Reproduktion der zeitlichen Anordnung der vorgenom- menen Änderungen kann dann eine Bedienperson Rückschlüsse auf logische Zusammenhänge der einzelnen Veränderungen der Textbereiche ziehen. Hierbei kann sich die Bedienperson beispielsweise auch auf Ansätze aus dem Gebiet der „Software Evolution Analysis" stützen. Darin wird davon ausgegangen, dass bei Änderungen bzw. der Programmierung neuer Funktionalitäten der Programmierer einen „gedanklichen Faden" (englisch: Thread) verfolgt, d.h. alle, ein bestimmtes Arbeitspa¬ ket betreffende Änderungen und Ergänzungen im Programmtext werden zeitnah erledigt und nicht z.B. unkoordiniert zu be- liebigen Zeitpunkten. Zum Erkennen der Benutzeraktionen in eine Editiereinrichtung, d.h. zum Realisieren der Beobachtungseinrichtung, müssen die vom verwendeten Editiersystem bereits bereitgestellten technischen Möglichkeiten beachtet werden, also beispielsweise dessen API (Application Program- ming Interface) . Bei dem Engineering-System „TIA-Portal" des Unternehmens Siemens AG kann beispielsweise über die MSAA- Schnittstelle (MSAA - Microsoft Active Accessibility) ein Signal einer Editiereinrichtung abgefragt werden. Neben der Möglichkeit, die Aktionen des Programmierers direkt zu dokumentieren und diese Daten zu nutzen, besteht alterna¬ tiv auch die Möglichkeit, verschiedene Versionen des Pro¬ grammtextes zu analysieren und daraus eine Entstehungshisto¬ rie zu erzeugen. Hierzu sieht eine Ausführungsform des erfin- dungsgemäßen Verfahrens vor, dass die Beobachtungseinrichtung ein Versions-Verwaltungssystem oder Versions-Managementsystem für den Programmtext umfasst und durch die Auswerteeinrichtung zumindest zwei, zu unterschiedlichen Zeitpunkten in das Versions-Verwaltungssystem übertragene Programmtextversionen miteinander verglichen werden, um die veränderten Textbereiche zu identifizieren. Im Gegensatz zu der bisher beschriebenen „kontinuierlichen" Beobachtung der Benutzeraktivitäten werden also die Unterschiede im Programmtext zu „diskreten Zeitpunkten" betrachtet. Dabei wird aber implizit davon aus¬ gegangen, dass der Programmtext entsprechend „feingranular" und kontextbezogen an das Versions-Verwaltungssystem übergeben wird, d.h. idealerweise unterscheiden sich zwei Programm- textversionen nie durch mehrere, nicht zusammenhängende Ände- rungs-Threads im Sinne der oben beschriebenen Software- Evolution-Analyse. Auch wenn dieser Ansatz weniger präzise sein könnte, so hat er doch den Vorteil, dass er weniger invasiv für den Programmierer ist und die so aufgezeichneten Daten oftmals auch bereits vorhanden sind. By the evaluation, the emergence of the program text can then be adjusted based on the stored signals of the editing ¬ device, eg as an animation. By reproducing the temporal arrangement of the changes made, an operator can then draw conclusions about logical relationships between the individual changes in the text areas. In this case, the operator can, for example, also be based on approaches from the field of "software evolution analysis." It assumes that when changes or the programming of new functionalities the programmer pursues a "thread" (English: Thread), ie all , changes and additions in the program text in question a particular Arbeitspa ¬ ket be done promptly and not eg uncoordinated to any desired points in time. In order to recognize the user actions in an editing device, ie to implement the observation device, the technical possibilities already provided by the editing system used must be taken into account, for example its API (Application Programming Interface). For example, the "TIA-Portal" engineering system from Siemens AG can be used to query a signal from an editing device via the MSAA interface (MSAA - Microsoft Active Accessibility), as well as to directly document the actions of the programmer and to forward this data use is alterna ¬ tive and the ability to analyze different versions of the Pro ¬ gram textes and to produce a Entstehungshisto ¬ rie. to this end, one embodiment of the inventive method provides that the observation device, a version management system or version management system includes the program text and by the evaluation at least two, at different times in the Versioning system transmitted program text versions are compared to identify the changed text areas. In contrast to the previously described "continuous" observation of user activities, the differences in the program text are therefore considered to be "discrete times". In this case, however, implicitly been assumed ¬ that the program text is passed according to "fine-grained" and contextual to the version management system that is ideally located two program different text versions never by multiple, non-contiguous amendments approximately threads in the sense described above Software Evolution Analysis Although this approach may be less precise, it does have the advantage of being less invasive to the programmer, and the data so recorded is often already there.
Um es einer Bedienperson der Auswerteeinrichtung zu erleichtern, mögliche Programmabschnitte, also funktional die Steue¬ rung einer bestimmten Stelleinheit oder unmittelbar zusammen- wirkender Stelleinheiten zu erkennen, sieht eine Weiterbildung des Verfahrens vor, dass durch die Auswerteeinrichtung beim Anzeigen der Entstehungshistorie Textbereiche, deren Veränderung zeitlich aufeinander folgte, als einen möglichen Programmabschnitt für eines der Bibliothekselemente zusammen- gefasst und für die Bedienperson kenntlich gemacht werden, also beispielsweise farblich hinterlegt werden. Wird also beispielsweise jeder Textbereich oder jede Veränderungsaktion durch ein Symbol auf einem Zeitstrahl repräsentiert, so können diejenigen Symbole als zusammengehörig kenntlich gemacht werden, die mit hoher Wahrscheinlichkeit denselben technischen Steuervorgang in der Anlage betreffen. In order to facilitate an operator of the evaluation device, possible program sections, that is functionally the Steue ¬ tion of a particular actuating unit, or directly to recognize together acting actuators, a further development of the method is that by the evaluation while viewing the development history the text areas, which change temporally followed each other, as a possible program section for one of the library elements summarized and made identifiable for the operator, so for example, color deposited. If, for example, each text area or every change action is represented by a symbol on a timeline, those symbols which are highly likely to relate to the same technical control process in the installation can be identified as belonging together.
Um eine solche Erkennung zu automatisieren, sieht eine Weiterbildung des Verfahrens vor, dass durch die Auswerteein- richtung die aufgezeichneten Veränderungen in bestimmte, vorgegebene Kategorien eingeteilt werden und zum Bilden eines Programmabschnitts eines der Bibliothekselemente solche Text¬ bereiche zusammengefasst werden, die zeitlich unmittelbar nacheinander verändert wurden und bei denen zumindest eine Veränderung aus einer vorbestimmten Kategorie stammt. To automate such a recognition, a further development of the method provides that the recorded changes are located in specific, predetermined categories by the Auswerteein- direction and such text ¬ areas are combined to form a program portion of the library elements in immediate chronological have been changed one after the other and where at least one change comes from a predetermined category.
Als besonders geeignet haben sich hierbei die folgenden Kate- gorien im Zusammenhang mit der Programmierung von Stelleinheiten einer Anlage erwiesen: Ein Eintrag in eine Symbolta¬ belle, eine Funktionsblockimplementierung, ein Funktionsaufruf. So hat man erkannt, dass ein typisches Vorgehen eines Programmierers beim Realisieren eines „gedanklichen Fadens", also der Erstellung von Programmtexten für einen einzelnen, abgeschlossenen Steuervorgang in der Anlage, darin besteht, zunächst die Symboltabelle zu verändern, um die für die Steu¬ erung nötigen Signale zu erhalten, dann einen Funktionsblock zu verändern, um die funktionalen Verknüpfungen der Signale festzulegen, und abschließend ein Funktionsaufruf hinzufügen, um den Funktionsblock in dem Steuerprogramm wirksam zu machen . Be particularly suitable in this context the following cate- have Categories list in connection with the programming of control units of a plant proved: An entry in a Symbolta ¬ belle, a function block implementation of a function call. Thus, it has been recognized that a typical procedure of a programmer when realizing a "mental thread", ie the creation of program texts for a single, completed control process in the system, is first to change the symbol table to those for the STEU ¬ tion receive necessary signals, then alter a function block to set the functional links of the signals, and finally add a function call to make the function block in the control program effective.
Erkennt man nun Textbereiche, deren Veränderungen Symbolta- bellen und Funktionsblockimplementierungen umfassen und anschließend einen Textbereich, dessen Veränderung als Funktionsaufruf kategorisiert wurde, so kann man annehmen, dass der Programmierer hier einen „gedanklichen Faden" zu Ende gesponnen hat und also die vorangegangenen Textbereiche zusammen einen geeigneten Programmabschnitt des Steuerprogramms bil¬ den, der zu einem Bibliothekselement zusammengefasst werden kann. Hier kann vorgesehen sein, dass die Auswerteeinrichtung solche Textbereiche auch selbständig gesondert abspeichert, damit sie der Bedienperson anschließend zur Verfügung stehen. If one now recognizes text areas whose changes include symbol tables and functional block implementations and then a text area whose change was categorized as a function call, one can assume that the programmer has spun out a "thread of thought" here and thus the preceding text areas together appropriate program section of the control program bil ¬ which can be combined to a library item. here it can be provided that the evaluation also stores separately independently those text areas so that they are the operator then available.
Wie bereits ausgeführt, umfasst ein Bibliothekselement bevor¬ zugt nicht nur Programmabschnitte, die dann durch das Engi¬ neering-System gemäß den Verknüpfungen der Bibliothekselemente konfiguriert werden. Die Programmabschnitte sollten auch angepasst werden können, damit ein Bibliothekselement flexib¬ ler in den Kontext, d.h. zwischen die anderen Bibliothekselemente eingefügt werden kann. Enthält beispielsweise ein Bib¬ liothekselement eine Vorlage für eine Symboltabelle als Be- standteil des Programmabschnitts, so sollte diese Symbolta¬ belle angepasst werden können, um so Adressen von Signalquel¬ len eines anderen Bibliothekselements eintragen zu können, wenn diese Bibliothekselemente miteinander verknüpft werden. Allgemein ausgedrückt weist also jedes Bibliothekselement be¬ vorzugt zumindest einen Parameter zum Anpassen des Programmabschnitts auf. Das Engineering-System ist dann entsprechend dazu ausgelegt, beim Verknüpfen eines jeweiligen Bibliotheks¬ elements dessen Parameter in Abhängigkeit von einem anderen Bibliothekselement, mit dem es verknüpft werden soll, einzu¬ stellen. In diesem Zusammenhang sieht nun eine Weiterbildung des erfindungsgemäßen Verfahrens vor, durch die Auswerteeinrichtung beim Anzeigen der Veränderungen der Textbereiche auch einen möglichen Parameter für eines der Bibliotheksele- mente auf Grundlage der aufgezeichneten Veränderungen zu erkennen und für die Bedienperson kenntlich zu machen. Beispielsweise können durch den Programmierer veränderte Einträ¬ ge in einer Symboltabelle farbig markiert werden. Sie können auch gleich als ein Parameter in dem neuen Bibliothekselement implementiert werden. As already stated, comprises a library item before Trains t ¬ not only program sections, which are then configured by the Engi ¬ neering system in accordance with the links of the library members. The program sections should be able to be adapted to allow a library item flexib ¬ ler in the context, that can be inserted between the other library items. For example, contains a Bib ¬ liothekselement a template to a symbol table as loading was part of the program portion, these Symbolta ¬ beauty should be adaptable to enter addresses of so Signalquel ¬ len of another library member when this library elements are linked together. So Generally speaking, each library item be ¬ vorzugt at least one parameter to adjust the program section on. The engineering system is then designed accordingly, when linking a respective library ¬ elements whose parameters in response to another library element, with which it is to be linked, einzu ¬ ask. In this context, a further development of the method according to the invention provides for the evaluation device to also recognize a possible parameter for one of the library elements on the basis of the recorded changes when displaying the changes in the text areas and to identify them to the operator. For example, altered Einträ ¬ ge can be color coded in a symbol table by the programmer. They can also be immediately implemented as a parameter in the new library element.
Zu der Erfindung gehört auch ein Entwicklungssystem zum Erzeugen der Bibliothekselemente für das Engineering-System. Das Entwicklungssystem umfasst die beschriebene Beobachtungs- einrichtung und die ebenfalls beschriebene Auswerteeinrich¬ tung. Dabei ist das Entwicklungssystem dazu ausgelegt, eine Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen . Im Folgenden ist die Erfindung anhand von konkreten Ausführungsbeispielen noch einmal näher erläutert. In der Figur (FIG) ist ein Arbeitsplatzcomputer 10 mit einem Bildschirm 12 gezeigt. An dem Arbeitsplatzcomputer 10 arbeitet ein Programmierer 14, um einen Programmtext T eines Steuerprogramms P für eine Prozess- und/oder Fertigungsanlage 16 anzupassen oder neu zu erstellen. Das Steuerprogramm P umfasst mehrere Teilprogramme für einzelne Anlagenkomponenten 18, 20, 22, 24, 26 der Anlage 16. Beispielsweise kann es sich bei den Anla- genkomponenten 18, 20, 22, 24 um Automaten handeln und bei der Anlagenkomponente 26 um ein Förderband, welches Werkstü¬ cke zwischen den Automaten 18, 20, 22, 24 transportiert. Wann immer die Produktion in der Anlage 16 umgestellt wird, muss der Programmierer 14 den Programmtext T anpassen. Hierzu erstellt er z.B. eine Kopie eines bisher genutzten Steuerpro¬ gramms und verändert einzelne Textbereiche, um die neuen technischen Gegebenheiten in der Anlage 16 in dem Programm- text T abzubilden. Dem Programmierer 14 soll es ermöglicht sein, ohne diese Programmiertätigkeit dasselbe angepasste Steuerprogramm P mittels eines Engineering-Systems 28 zu er¬ zeugen. Das Engineering-System 28 erlaubt es, auf einer grafischen Benutzeroberfläche 30 einzelne Bibliothekselemente 32, 34 anzuordnen und sie miteinander zu verknüpfen. JedesThe invention also includes a development system for generating the library elements for the engineering system. The development system includes the monitoring device described and also described Auswerteeinrich ¬ tung. In this case, the development system is designed to carry out an embodiment of the method according to the invention. In the following, the invention is explained in more detail with reference to concrete embodiments. In the figure (FIG.), A workstation computer 10 with a screen 12 is shown. At the workstation computer 10, a programmer 14 operates to adapt or re-create a program text T of a control program P for a process and / or manufacturing facility 16. The control program P comprises a plurality of subprograms for individual plant components 18, 20, 22, 24, 26 of the plant 16. For example, the plant may genkomponenten 18, 20, 22, 24 act on machines and the system component 26 to a conveyor belt, which Werkstü ¬ bridge between the machines 18, 20, 22, 24 transports. Whenever the production in the system 16 is changed over, the programmer 14 must adapt the program text T. Eg do this, it creates a copy of a previously used Steuerpro ¬ program and changed individual text areas to reflect the new technical conditions in the plant 16 in the program text T. It should be possible for the programmer 14 to generate the same adapted control program P by means of an engineering system 28 without this programming activity . The engineering system 28 makes it possible to arrange individual library elements 32, 34 on a graphical user interface 30 and to link them to one another. each
Bibliothekselement 32, 34 repräsentiert dabei beispielsweise eine der Anlagenkomponenten 18, 20, 22, 24, 26. Durch die Verknüpfungen an der grafischen Benutzeroberfläche 30 werden die funktionalen Zusammenhänge der Anlagenkomponenten 18, 20, 22, 24, 26 nachgebildet. Mittels des Engineering-Systems 28 kann auf Grundlage von Programmabschnitten, die in den Bibliothekselementen 32, 34 gespeichert sind, dann das Steuerprogramm P automatisiert erzeugt werden, indem diese Pro¬ grammabschnitte gemäß den Verknüpfungen zu dem Steuerprogramm P zusammengefügt werden. In this case, for example, library element 32, 34 represents one of the system components 18, 20, 22, 24, 26. The links at the graphical user interface 30 simulate the functional relationships of the system components 18, 20, 22, 24, 26. By means of the engineering system 28 may on the basis of program sections, that are stored in the library elements 32, 34, then the control program P are generated automatically by being assembled Pro ¬ program portions in accordance with the links to the control program P.
Das Steuerprogramm P kann dann von dem Engineering-System 28 ebenfalls zu den Anlagenkomponenten 18, 20, 22, 24, 26 der Anlage 16 übertragen werden und dort in Programmspeichern der Stelleinheiten dieser Anlagenkomponenten 18, 20, 22, 24, 26 gespeichert werden. Hierdurch kann dann ebenfalls der Betriebsablauf der Anlage 16 an den neuen Prozess angepasst werden . Damit aber dem Programmierer die passenden Bibliothekselemente 32, 34 bereitstehen, müssen diese zunächst entwickelt werden, damit sie in einer Bibliothek 36 gespeichert werden können und so dem Engineering-System 28 bereitstehen. Hierzu wird der Programmierer 14 bei seiner Tätigkeit des Umprogrammierens des Programmtextes T durch eine Beobachtungseinrich¬ tung 38 beobachtet. Die Beobachtungseinrichtung 38 kann beispielsweise eine Programmmodul des Arbeitsplatzcomputers 10 oder aber auch ein separates Gerät sein. Mit der Beobachtungseinrichtung 38 werden die Aktionen, die zum Verändern des Programmtextes T durchgeführt werden, verfolgt und mit jeweiligen Zeitinformationen, wann die einzelnen Aktionen durchgeführt wurden, gespeichert, so dass auch die Entstehung des neuen Programmtextes T berücksichtigt werden kann und nicht nur die fertige neue Struktur des Steuerprogramms P. Die gespeicherten Informationen über die Veränderungen einzelner Textbereiche des Programmtextes T und die zeitliche Reihenfolge, in welcher die Veränderungen durchgeführt wur- den, werden von der Beobachtungseinrichtung 38 an eine Auswerteeinrichtung 40 übertragen. Beispielsweise können die Informationen auf einem Datenträger gespeichert werden und dann von einem Laufwerk der Auswerteeinrichtung 40 wieder eingelesen werden. Die Auswerteeinrichtung 40 kann beispielsweise ein separater Arbeitsplatzcomputer sein, der beispielsweise bei dem Anlagenhersteller der Anlage 16 aufgebaut sein kann. Die Auswerteeinrichtung 40 erzeugt eine Anzeige 42 beispiels¬ weise auf einem Bildschirm. Die Anzeige 42 zeige die einzel¬ nen Veränderungen, die der Programmierer 14 in dem Programm- text T schrittweise vorgenommen hat, beispielsweise als Sym¬ bole 44 an. In der FIG sind nur einige Symbole der Übersicht¬ lichkeit halber mit einem Bezugszeichen versehen. Da jedes Symbol 44 für einen Veränderungsschritt steht, werden im Fol¬ genden auch die Veränderungsschritte selbst mit dem Bezugs- zeichen 44 referenziert . The control program P can then also be transferred from the engineering system 28 to the system components 18, 20, 22, 24, 26 of the system 16 and stored there in program memories of the actuator units of these system components 18, 20, 22, 24, 26. As a result, the operating procedure of the system 16 can also be adapted to the new process. However, in order for the programmer to have the appropriate library elements 32, 34 available, these must first be developed so that they can be stored in a library 36 and thus be available to the engineering system 28. For this the programmer 14 is observed in its activity of reprogramming the program text T by an observation device 38. The observation device 38 may be, for example, a program module of the workstation computer 10 or else a separate device. With the observation device 38, the actions that are performed to change the program text T are tracked and stored with respective time information as to when the individual actions were performed, so that the emergence of the new program text T can be taken into account and not just the finished new Structure of the control program P. The stored information about the changes of individual text areas of the program text T and the time sequence in which the changes were carried out are transmitted from the observation device 38 to an evaluation device 40. For example, the information can be stored on a data carrier and then read in again by a drive of the evaluation device 40. The evaluation device 40 may be, for example, a separate workstation computer, which may be constructed, for example, by the system manufacturer of the system 16. The evaluation unit 40 produces a display 42 Example ¬, on a screen. The display 42 show the single ¬ NEN changes that the programmer be gradual, in the program text T 14, to for example, as Sym ¬ bole 44th In FIG some symbols of the index ¬ friendliness half are provided with a reference number. Since each symbol 44 represents a step change, the change steps themselves are signs with the reference in Fol ¬ constricting referenced 44th
Jeder der Veränderungsschritte 44 kann in eine von hier drei Kategorien 46 (Cl, C2, C3) eingeordnet worden sein. Bei¬ spielsweise kann die Kategorie Cl für Änderungen in einer Symboltabelle stehen, wie sie in einem typischen Steuerpro¬ gramm für eine Anlage (beispielsweise ein Steuerprogramm in der Programmiersprache STEP7 AWL, also z.B. eine Steuerungs¬ projektierung für eine SIMATIC-S7-Steuerung, oder nach dem Programmierstandard IEC 61131-3) bereitgestellt ist, um Sig¬ nale zwischen den Anlagenkomponenten 18, 20, 22, 24, 26 austauschen zu können. Die Kategorie C2 kann beispielsweise für Veränderungen in der Funktionsblock-Logik oder Funktionscall- Logik stehen. Diese Kategorie C2 umfasst dann diejenigen Veränderungsschritte, die die mathematische Verknüpfung oder lo¬ gische Verknüpfung von Signalen aus der Symboltabelle betref¬ fen. Die dritte Kategorie C3 kann beispielsweise Änderungen im Bereich der Funktionsblock-Aufrufe bzw. Funktionscall- Aufrufe im Organisationsbaustein eines Steuerprogramms betreffen. Auch Organisationsbausteine sind typische Elemente von Steuerprogrammen für Anlagen. Die Veränderungsschritte 44 sind des Weiteren über eine Zeitachse 48 chronologisch nach der Zeit t zugeordnet, so dass sie entlang der Zeitachse 48 dieselbe Reihenfolge aufweisen, in welcher der Programmierer 14 die Veränderungsschritte 44 am Programmtext T durchgeführt hat . Each of the modification steps 44 may have been classified into one of three categories 46 (C1, C2, C3). In ¬ play, the category Cl can stand for changes in a symbol table as (in a typical Steuerpro ¬ program for a facility such as a control program in the programming language STEP 7 STL, eg a control ¬ designing for a SIMATIC S7 controller, or after this Programming standard IEC 61131-3) is provided to Sig ¬ signals between the system components 18, 20, 22, 24, 26 to be able to exchange. For example, category C2 may represent changes in function block logic or function call logic. This category includes those C2 then change steps that the mathematical combination or lo ¬ cal link signals from the symbol table Subject Author ¬ fen. The third category C3 may relate, for example, to changes in the area of function block calls or function call calls in the organization block of a control program. Organization blocks are also typical elements of control programs for plants. The change steps 44 are further assigned chronologically after time t via a time axis 48, so that along the time axis 48 they have the same sequence in which the programmer 14 has performed the change steps 44 on the program text T.
Dadurch ist die Entstehungshistorie des geänderten Programm- textes T zum Anpassen des Betriebsablaufs der Anlage 10 auf der Anzeige 42 für eine Bedienperson der Auswerteeinheit 40 nachvollziehbar. So kann beispielsweise durch die zeitliche Nähe von Bearbeitungsschritten 44 auf einen kausalen Zusammenhang 50 geschlossen werden. Ein Verarbeitungsschritt 44 kann beispielsweise einen Copy-Paste-Vorgang umfassen, wodurch dann angezeigt wird, dass der Programmierer 14 einen bestimmten Textbereich in dem Programmtext T mehrfach genutzt hat und hierbei nach dem Copy-Paste-Vorgang zunächst die Symboltabelle verändert hat, wobei sich dann entsprechende Ver- arbeitungsschritte 44 der Kategorie Cl ergeben, anschließend die Funktionslogik in dem kopierten Textbereich verändert hat, so dass sich Veränderungen im Bereich der Kategorie C2 ergeben, in dem gezeigten Beispiel könnte dann noch einmal ein Eintrag in der Symboltabelle erfolgt sein und dann noch einmal eine Veränderung in der Programmlogik. Der Programmierer 14 hat dann in einem abschließenden Schritte diese so neu gebildete Funktion in dem Organisationsbaustein durch einen Funktionsaufruf aktiviert. Durch die Analyseeinrichtung 40 kann dieser Vorgang als ein möglicher Programmabschnitt 52 zum Bilden eines neuen, geeigneten Bibliothekelements abge¬ grenzt werden und beispielsweise durch einen Rahmen der Be¬ dienperson kenntlich gemacht werden. As a result, the genesis history of the modified program text T for adapting the operating sequence of the system 10 to the display 42 can be traced for an operator of the evaluation unit 40. Thus, for example, the temporal proximity of processing steps 44 leads to a causal relationship 50. For example, a processing step 44 may comprise a copy-paste operation, which indicates that the programmer 14 has used a particular text area in the program text T several times and has changed the symbol table after the copy-paste operation, and then corresponding processing steps 44 result in the category C1, then the function logic has changed in the copied text area, so that changes in the category C2 result, in the example shown then an entry in the symbol table could be done again and then again a change in the program logic. The programmer 14 has then activated in a final steps this newly formed function in the organization block by a function call. By the analysis device 40 This process can be abge ¬ borders as a possible program portion 52 to form a new, appropriate library element, and are marked, for example, by a frame of Be ¬ serving person.
Entscheidet sich die Bedienperson dafür, diese von den Veränderungsschritten 44 erfassten und als möglicher Bibliotheksbaustein 52 durch die Auswerteeinrichtung 40 abgegrenzten Textbereich als Programmabschnitt für ein neues Bibliotheks- element zu verwenden, kann er dies bestätigen, so dass durch die Analyseeinrichtung 40 gegebenenfalls sogar in automati¬ sierter Form ein neues Bibliothekselement 54 erzeugt und in der Bibliothek 36 gespeichert wird. Dann steht dem Programmierer für zukünftige Anpassungen des Betriebsablaufs der An- läge 16 auch das Bibliothekselement 54 als eine bequeme Mög¬ lichkeit zur Verfügung, einen bisher manuell im Programmtext T vorzunehmenden Anpassungsschritt nun einfach beispielsweise durch Auswechseln des Bibliothekselements 34 durch das Bib¬ liothekselement 54 durchzuführen. If the operator decides to use this text area, which has been detected by the alteration steps 44 and is defined as a possible library building block 52 by the evaluation device 40, as a program section for a new library element, he can confirm this, so that the analysis device 40 may even code it automatically Formed a new library element 54 and stored in the library 36. Then is the programmer for future adjustments to the operation of the check would be 16 and the library item 54 as a convenient Mög ¬ friendliness available, a previously be performed manually in the program text T matching step now easily, for example by changing the library item 34 by the Bib ¬ liothekselement 54 perform ,
Das aus der Beobachtungseinrichtung 38 und der Auswerteeinrichtung 40 gebildete System ist in vielen Anwendungsfällen einsetzbar. Zur Verdeutlichung sind im Folgenden zwei Beispiele gegeben. The system formed by the observation device 38 and the evaluation device 40 can be used in many applications. For clarity, two examples are given below.
In einem ersten Beispiel stellt ein Anlagenhersteller Fla- schenabfüllanlagen her. Ein Bestandteil dieser Anlagen ist ein Förderband, von dem aus die bereits befüllten Flaschen entsprechend ihrer Füllfarbe weiter verteilt werden. Fla- sehen, bei denen beispielsweise grüne Flüssigkeit abgefüllt wurde, werden auf eine Nebenlinie 1 umgeleitet, während Fla¬ schen mit roter Flüssigkeit auf eine Nebenlinie 2 umgeleitet werden. In jedem Projekt variieren dabei die verwendeten Farben, so dass die Menge und Art der Nebenlinien jeweils anders ist. Jede Nebenlinie ist dabei „fix" und wird durch einen Co¬ de eines Steuerprogramms gesteuert, der für die Handhabung der bestimmten Füllfarbe spezifisch ist und sich aus dem Pro- zess-Know-how der Verfahrenstechniker ergibt. Dieser Pro- grammcode wird fertig aus einer S7-Bibliothek (eine Biblio¬ thek von fertigen Steuerungsprojektierungen für SIMATIC-S7- Steuerungen) herauskopiert, so dass aus diesem Programmtext durch Anpassen von Adressdaten für Sensoren und Aktoren je- weils das Steuerprogramm für das neue Projekt erzeugt wird. Vergleicht man nun die Programmtexte zweier verschiedener Projekte, so kann man zwar erkennen, dass hier von einer Hauptlinie stets mehrere Nebenlinien abgehen, deren Automati- sierungsocodes weitgehend übereinstimmen. Daher könnte man versuchen, ein Bibliothekselement für ein Engineering-System, wie beispielsweise Comos, zu erzeugen, welches eine Anlagen¬ struktur repräsentiert, bei welcher alle Nebenlinien nachge¬ bildet sind. Wenn bei der Analyse jedoch auch die Entste¬ hungshistorie der Projekte mit einbezogen werden kann, wie es nun mit der Beobachtungseinrichtung 38 und der Auswerteeinrichtung 40 in der beschriebenen Weise möglich ist, so kann erkannt werden, dass es sich nicht um eine einzige Nebenli¬ nienvorlage gehandelt hat, von der alle Nebenlinien abgelei¬ tet wurden, sondern um mehrere feste Nebenlinien, die jeweils spezifisch für eine Füllfarbe sind und bei denen nur die Ein¬ gabe- und Ausgabeadressen für Sensoren und Aktoren projektspezifisch konfiguriert wurden. Mit anderen Worten würde durch die bisherige Methode ein „einzelnes" Bibliotheksele¬ ment entstehen, dieses aber eine (unnötig) höhere Variabili- tat aufweisen. Dies kann durch das neue Bibliothekselement 54 auch so nachgebildet werden, so dass vermieden wird, dass auf der grafischen Benutzeroberfläche 30 unnötig komplizierte und für den Kunden nicht nachvollziehbare Bibliothekselement¬ strukturen aufgebaut werden müssen. In a first example, a plant manufacturer manufactures bottle filling plants. One component of these systems is a conveyor belt from which the already filled bottles are further distributed according to their filling color. Fla- see, in which, for example, green liquid was filled, are redirected to a side line 1, while Fla ¬ rule are redirected with red liquid to a side line 2. In each project, the colors used vary, so that the amount and type of secondary lines is different. Each subline is "fixed" and is controlled by a code of a control program which is specific to the handling of the particular filling color and results from the process know-how of the process engineers. program code is done from an S7 library copied (a Biblio ¬ theque of manufacture control configurations for SIMATIC S7 controllers) so that JE from this program text by adjusting address data for sensors and actuators weils the control program is generated for the new project. If one compares the program texts of two different projects, it can be seen that there are always several secondary lines going from one main line whose automation codes are largely identical. Therefore, one could try to create a library element for an engineering system, such as Comos, which represents a plant ¬ structure in which all secondary lines are nachge ¬ forms. However, if the Entste ¬ hung history of the projects can be included in the analysis, as it is possible in the manner described now with the observation device 38 and the evaluation unit 40, it can be recognized that it is not a single Nebenli ¬ nienvorlage has acted from all utilities lines were ¬ tet abgelei, but a plurality of fixed secondary lines, which are each specific for a fill color, and in which only the a ¬ gabe- and output addresses for sensors and actuators are configured project-specific. In other words, the previous method would result in a "single" library element , but this would have an (unnecessarily) higher variability .This can also be simulated by the new library element 54, so that it is avoided that on the graphic User interface 30 unnecessarily complicated and for the customer incomprehensible library ¬ structures must be constructed.
In einem zweiten Beispiel kommen bei einem Anlagenbetreiber abhängig von den projektspezifischen Anforderungen für eine bestimmte Aufgabe, die mit der Anlage zu lösen ist, zwei ver¬ schiedene Motorentypen zum Einsatz. Die Motorenwahl hat an mehreren Stellen Auswirkungen auf den Automatisierungscode zur Automatisierung der Anlage. In einem Funktionsbaustein wird beispielsweise abhängig von der Motorenwahl ein Netzwerk auskommentiert (d.h. der entsprechende Programmtext von der Programmübersetzung ausgeschlossen) , in einem anderen Funktionsbaustein ändern sich die Unterbausteine, die aufgerufen werden . Mit einem reinen Vergleich von Programmtexten, die zu den unterschiedlichen Aufgaben zum Bereitstellen des entsprechenden Steuerprogrammcodes für die Stelleinheiten an dem Arbeits- platzcomputer 10 geschrieben wurden, kann man zwar solche Unterschiede erkennen. Um die Änderungen jedoch in einen kausa- len Zusammenhang mit dem Motor selbst stellen zu können, ist eine „Trainingsmenge" von Projekten erforderlich, d.h. verhältnismäßig viele Programmtexte, die in diesem Umfang norma¬ lerweise nicht zur Verfügung stehen, weshalb die logische Verbindung zwischen der Motorenwahl und den erforderlichen Konfigurationsschritten nicht erkannt werden kann und zum Bilden eines Bibliothekselements deshalb manuell festgelegt werden muss. Bei einer Analyse der Projektentstehung mittels der Beobachtungseinrichtung 38 und der Auswerteeinrichtung 40 jedoch kann erkannt werden, welche Änderungen nach der Fest- legung des Motors vorgenommen wurden. Durch diese zeitlicheIn a second example, two different types of engine are used by a plant operator depending on the project-specific requirements for a specific task to be solved by the plant. The choice of motor has effects on the automation code for automation of the system in several places. In a function block, for example, a network is commented out depending on the motor selection (ie the corresponding program text of the Program translation excluded), in another function module the sub-blocks that are called change. With a mere comparison of program texts written to the different tasks for providing the corresponding control program code for the actuators on the workstation computer 10, such differences can be recognized. To apply the changes, however, to place them in a causal len related to the engine itself, a "training set" of projects is required, that relatively many program texts mally are not on this scale norma ¬ available, which is why the logical connection between the Therefore, when analyzing the project formation by means of the observation device 38 and the evaluation device 40, it can be recognized which changes were made after the engine was set. Through this temporal
Nachbarschaft der Änderungen ist es viel leichter, die Abhängigkeiten zu erkennen, da andere Abhängigkeiten bereits aufgrund ihrer zeitlichen Distanz, wie sie beispielsweise in der Anzeige 42 erkannt werden kann, aussortiert werden können. In the vicinity of the changes, it is much easier to detect the dependencies, since other dependencies can already be sorted out due to their temporal distance, as can be recognized in the display 42, for example.
Somit ist es durch die Erfindung ermöglicht, die bisher ver¬ wendeten Analyseverfahren um eine zeitliche Dimension zu erweitern, indem auch die Entstehungshistorie eines Programm¬ textes für ein Steuerprogramm einer Anlage berücksichtigt wird. Anhand dieser Entstehungshistorie können Rückschlüsse zur Bibliotheksgenerierung gezogen werden. Dies erlaubt eine präzisere Analyse des Programmtextes, was in einer entspre¬ chend präziseren Abgrenzung von Programmabschnitten für einzelne Bibliothekselemente resultiert, wodurch wiederum der Aufwand für die manuelle Nachbearbeitung neuer Bibliotheks¬ elemente deutlich reduziert wird. Bezugs zeichenliste Thus, it is possible by the invention to extend the date ver ¬ applied analytical methods to a temporal dimension by the formation history of a program ¬ textes is considered for a control program of a plant. On the basis of this genesis history conclusions can be drawn to the library generation. This allows a more precise analysis of the program text, resulting in a entspre ¬ accordingly precise delineation of program sections for individual library elements, which in turn the need for manual editing of new ¬ library elements is significantly reduced. Reference sign list
10 Arbeitsplatzcomputer 10 workstation computers
12 Bildschirm  12 screen
14 Programmierer  14 programmers
16 Anlage  16 attachment
18, 20, 22,  18, 20, 22,
24, 26 Anlagenkomponente  24, 26 system component
28 Engineering-System  28 engineering system
30 Grafische Benutzeroberfläche 30 Graphical user interface
32, 23 Bibliothekselement 32, 23 Library element
36 Bibliothek  36 library
38 Beobachtungseinrichtung 38 observation device
40 Analyseeinrichtung 40 analysis device
42 Anzeige  42 display
44 Verarbeitungsschritt  44 processing step
46 Kategorie  46 category
48 Zeitachse  48 timeline
50 Logische Verknüpfung  50 Logical link
52 Mögliches Bibliothekselement 52 Possible library element
54 Neues Bibliothekselement54 New library element
Cl, C2, C3 Kategoriename Cl, C2, C3 category name
P Steuerprogramm  P control program
T Programmtext  T program text

Claims

Patentansprüche claims
1. Verfahren zum Erzeugen von Bibliothekselementen (32, 34, 54) für ein Engineering-System (28) einer Prozess- und/oder Fertigungsanlage (16), wobei durch jedes Bibliothekselement (32, 34, 54) ein Programmabschnitt eines Steuerprogramms (P) festgelegt ist, durch welchen eine Anlagenkomponente (18, 20, 22, 24, 26) der Anlage (16) gesteuert wird, und wobei das En¬ gineering-System (28) dazu ausgelegt ist, die Bibliotheksele- mente (32, 34, 54) gemäß einer Eingabe eines Benutzers mit¬ einander zu verknüpfen und aus den verknüpften Bibliothekselementen (32, 34, 54) einen Gesamttext für ein Steuerprogramm (P) der Anlage (16) zu erzeugen, A method of generating library elements (32, 34, 54) for an engineering system (28) of a process and / or manufacturing facility (16), each library element (32, 34, 54) having a program portion of a control program (P ) is defined by which a system component (18, 20, 22, 24, 26) of the plant (16) is controlled, and wherein said En ¬ neering system (28) is adapted to the library elements (32, 34 , 54) according to an input of a user with ¬ each other and from the linked library elements (32, 34, 54) to generate a total text for a control program (P) of the system (16),
dadurch gekennzeichnet, dass bei dem Verfahren characterized in that in the method
- eine Beobachtungseinrichtung (38) bereitgestellt wird, durch welche ein Programmierer (14) dabei beobachtet wird, wie er manuell und ohne das Engineering-System (28) einen Programmtext (T) eines Muster-Steuerprogramms der Anlage (16) verändert, wobei durch die Beobachtungseinrichtung (38) eine Veränderung (44) von Textbereichen des Programmtextes (T) und eine zeitliche Reihenfolge der Veränderungen (44) aufgezeichnet werden, und dass bei dem Verfahren - An observing device (38) is provided, by which a programmer (14) is observed here, as he manually and without the engineering system (28) a program text (T) of a pattern control program of the system (16) changed by the observer (38) records a change (44) of text areas of the program text (T) and a temporal order of the changes (44), and that in the method
- durch eine Auswerteeinrichtung (40) die aufgezeichneten Veränderungen (44) der Textbereiche in der aufgezeichneten Reihenfolge einer Bedienperson angezeigt werden.  - By an evaluation device (40) the recorded changes (44) of the text areas are displayed in the recorded order of an operator.
2. Verfahren nach Anspruch 1, wobei eine Beobachtungseinrichtung (38) bereitgestellt wird, durch die ein Signal einer Editiereinrichtung (10) zum Editieren des Programmtextes (T) gespeichert wird. 2. The method according to claim 1, wherein an observation device (38) is provided, by which a signal of an editing device (10) for editing the program text (T) is stored.
3. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Beobachtungseinrichtung (38) ein Versions- Verwaltungssystem für den Programmtext (T) umfasst und durch die Auswerteeinrichtung (40) zumindest zwei, zu unterschied¬ lichen Zeitpunkten in das Versions-Verwaltungssystem übertragene Programmtextversionen miteinander verglichen werden, um die veränderten Textbereiche zu identifizieren. 3. The method according to any one of the preceding claims, wherein the observation means (38) includes a version management system for the program text (T) and by the evaluation device (40) at least two, transferred to different ¬ points in time in the version management system program text versions compared with each other to identify the changed text areas.
4. Verfahren nach einem der vorhergehenden Ansprüche, wobei durch die Auswerteeinrichtung (40) beim Anzeigen mehrere Textbereiche, deren Veränderung (44) zeitlich unmittelbar aufeinander folgte, als ein möglicher Programmabschnitt (52) für jeweils eines der Bibliothekselemente (54) zusammenge- fasst und für die Bedienperson kenntlich gemacht werden. 4. The method according to any one of the preceding claims, wherein by the evaluation device (40) when displaying a plurality of text areas, the change (44) followed immediately in time, as a possible program section (52) for each one of the library elements (54) summarized and be identified to the operator.
5. Verfahren nach einem der vorhergehenden Ansprüche, wobei durch die Auswerteeinrichtung (40) die aufgezeichneten Veränderungen (44) in vorgegebene Kategorien (46) eingeteilt werden und zum Bilden eines Programmabschnitts (52) eines der Bibliothekselemente (54) solche Textbereiche zusammengefasst werden, die zeitlich unmittelbar nacheinander verändert wur- den und bei denen zumindest eine Veränderung (44) aus einer vorbestimmten Kategorie (46) stammt. 5. The method according to any one of the preceding claims, wherein by the evaluation device (40) the recorded changes (44) in predetermined categories (46) are divided and to form a program section (52) of one of the library elements (54) such text areas are summarized have been changed in chronological succession and in which at least one change (44) originates from a predetermined category (46).
6. Verfahren nach Anspruch 5, wobei zumindest eine aus den folgenden Kategorien (46) definiert ist: Eintrag in eine Sym- boltabelle (Cl), Funktionsblock-Implementierung (C2), Funktions-Aufruf (C3) . 6. The method of claim 5, wherein at least one of the following categories (46) is defined: entry into a symbol table (Cl), function block implementation (C2), function call (C3).
7. Verfahren nach einem der vorhergehenden Ansprüche, wobei jedes Bibliothekselement (32, 34, 54) zumindest einen Parame- ter zum Anpassen des Programmabschnitts aufweist und wobei das Engineering-System (28) dazu ausgelegt ist, beim Verknüp¬ fen eines jeweiligen Bibliothekselements (32, 34, 54) dessen Parameter in Abhängigkeit von einem anderen Bibliotheksele¬ ment (32, 34, 54), mit dem es verknüpft werden soll, einzu- stellen, und durch die Auswerteeinrichtung (40) 7. The method according to any one of the preceding claims, wherein each library member (32, 34, 54) has at least one parameter ter for adapting the program portion, and wherein the engineering system (28) is adapted (at Verknüp ¬ fen of each library member 32, 34, 54) whose parameters are set in dependence on another library element (32, 34, 54) with which it is to be linked, and by the evaluation device (40).
a) beim Anzeigen ein möglicher Parameter für eines der Bibliothekselemente (54) auf der Grundlage der aufgezeichneten Veränderung erkannt und für die Bedienperson kenntlich gemacht wird oder b) als Parameter in dem Bibliothekselement angelegt wird. a) when displaying a possible parameter for one of the library elements (54) is detected on the basis of the recorded change and identified to the operator or b) is created as a parameter in the library element.
8. Entwicklungssystem (38, 40) zum Erzeugen von Bibliothekselementen (32, 34, 54) für ein Engineering-System (28) einer Prozess- und/oder Fertigungsanlage (16), umfassend eine Beo¬ bachtungseinrichtung (38) und eine Auswerteeinrichtung (40), wobei das Entwicklungssystem (38, 40) dazu ausgelegt ist, ein Verfahren nach einem der vorhergehenden Ansprüche durchzufüh- ren . 8. A development system (38, 40) for generating library elements (32, 34, 54) for an engineering system (28) of a Process and / or production system (16) comprising a Obs ¬ stream processing device (38) and an evaluation device (40), wherein said developing system (38, 40) is adapted to perform a method according to any one of the preceding claims durchzufüh- ren.
PCT/EP2013/055981 2013-03-21 2013-03-21 Engineering system of a process plant and/or production plant WO2014146716A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2013/055981 WO2014146716A1 (en) 2013-03-21 2013-03-21 Engineering system of a process plant and/or production plant

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2013/055981 WO2014146716A1 (en) 2013-03-21 2013-03-21 Engineering system of a process plant and/or production plant

Publications (1)

Publication Number Publication Date
WO2014146716A1 true WO2014146716A1 (en) 2014-09-25

Family

ID=48049959

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2013/055981 WO2014146716A1 (en) 2013-03-21 2013-03-21 Engineering system of a process plant and/or production plant

Country Status (1)

Country Link
WO (1) WO2014146716A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4345702A1 (en) 2022-09-28 2024-04-03 Siemens Industry Software NV Method for generating a model, computer product, system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10051645A1 (en) * 1999-10-18 2001-08-09 Fisher Rosemount Systems Inc Method and device for controlling versions and producing logs and lists in a process control system incorporates a computer-readable medium and a processor for communicating with that medium.
US20070061033A1 (en) * 2003-02-18 2007-03-15 Fisher-Rosemount Systems, Inc. Version control for objects in a process plant configuration system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10051645A1 (en) * 1999-10-18 2001-08-09 Fisher Rosemount Systems Inc Method and device for controlling versions and producing logs and lists in a process control system incorporates a computer-readable medium and a processor for communicating with that medium.
US20070061033A1 (en) * 2003-02-18 2007-03-15 Fisher-Rosemount Systems, Inc. Version control for objects in a process plant configuration system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4345702A1 (en) 2022-09-28 2024-04-03 Siemens Industry Software NV Method for generating a model, computer product, system
WO2024068193A1 (en) 2022-09-28 2024-04-04 Siemens Industry Software Nv Method for generating a model, computer product, system

Similar Documents

Publication Publication Date Title
EP1330685B1 (en) Testing method and testing device for starting up systems which are controlled by means of a program logic
EP0852759B1 (en) Drafting method for industrial and building systems and computer-controlled planning system for use in said method
EP0753168B1 (en) Process for automatic fault diagnosis
DE102009011679A1 (en) Method and device for creating a user program for a safety control
DE19832974A1 (en) Arrangement for generating virtual industrial system model compares system component information with real system image data to identify components in image data
DE102008060003A1 (en) Method and device for creating a user program for a safety control
DE102008008500B3 (en) Method for computer-assisted configuration of e.g. motor vehicle, involves determining template provided for generic specification of characteristics of technical system, and values of template based on modeling of configuration information
EP2469364A1 (en) Method for detecting a program sequence
EP3320431A1 (en) Computer-implemented method for processing data object variants
EP2407842A2 (en) Method for operating machines or machines in a machine series and design system
EP1634130B1 (en) Device and method for programming and/or executing programs for industrial automation systems
EP0838054B1 (en) Graphic control process and device for controlling operations in a network management system
WO2007082597A1 (en) System and method for creating a structure model of a real system
WO2014154281A1 (en) Object-based configuration of a process and/or production installation
EP1950635B1 (en) Method for operating an automation system
WO2014146716A1 (en) Engineering system of a process plant and/or production plant
EP2191338B1 (en) System for writing a simulation program
DE10017708B4 (en) Method for controlling mechanisms and technical systems, equipment and control software
EP2299341A1 (en) Editing device and method for configuring parameters of an industrial automation arrangement
EP1226475B1 (en) Method of drafting control and instrumentation technology
EP1095321B1 (en) Method and device for designing the control of an overall process
DE102016121788A1 (en) Configuration of an automation system
AT522186B1 (en) Computer-implemented method for the computer-aided generation of an executable control program for controlling and / or regulating a technical process
DE102004023634B4 (en) Method for checking the completeness and consistency of an information library
EP3273344A1 (en) Method and programming unit for optimizing source code for a computer program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13714575

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13714575

Country of ref document: EP

Kind code of ref document: A1