WO2014146717A1 - Configuration of an operational procedure of a process and/or production system - Google Patents

Configuration of an operational procedure of a process and/or production system Download PDF

Info

Publication number
WO2014146717A1
WO2014146717A1 PCT/EP2013/055984 EP2013055984W WO2014146717A1 WO 2014146717 A1 WO2014146717 A1 WO 2014146717A1 EP 2013055984 W EP2013055984 W EP 2013055984W WO 2014146717 A1 WO2014146717 A1 WO 2014146717A1
Authority
WO
WIPO (PCT)
Prior art keywords
control program
unit
program
editing
control
Prior art date
Application number
PCT/EP2013/055984
Other languages
German (de)
French (fr)
Inventor
Sören BURMEISTER
Johannes FÜRST
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/055984 priority Critical patent/WO2014146717A1/en
Publication of WO2014146717A1 publication Critical patent/WO2014146717A1/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/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • G06F8/355Round-trip engineering
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the invention relates to an apparatus and a method for configuring an operating sequence of a process and / or production plant, or briefly plant.
  • a plant may comprise one or more plant components, wherein a plant component may be for example a conveyor belt, a CNC machine or a bottling machine.
  • the configuration is achieved in this case by means of a control program which can be executed by at least one programmable
  • a control program which can be executed by at least one programmable
  • the STEU ⁇ erprogramm is provided as respective binary code for the at least one actuating unit.
  • binary code is not a ⁇ Zige variant of a control program.
  • a control program is a list of control commands and variables, whereby the list can also be divided into several files.
  • templates or templates are used, which define an operating behavior of individual plant components, ie define the part of the operating procedure that relates to this plant component.
  • a template does not have to be assigned one to one to a plant component. It can also be a single algorithm within a plant component or an entire group of several plant communities. components represent, since the mechanical Komponentenbil ⁇ dung is other than the closed-loop control component formation in a plant, and the latter is represented generally by the templates. It is important, above all, that the operating behavior as a whole is defined by a set of templates. No statement is made about the involved hardware.
  • a template can also be an algorithm for a specific subtask (especially in the CNC area).
  • a template generally defines a specific process section.
  • a template may include, for example, hard-coded code fragments for individual functional sections of the control program.
  • the template can also be adapted as required, so that the associated Pro ⁇ zessabêt behave in the desired manner.
  • So wei ⁇ se may be provided, for example for controlling ei ⁇ nes conveyor belt and are determined by adjusting ei ⁇ nes parameter, the conveying speed a template.
  • Such templates are usually presented graphically to a user interface, such as a workstation computer, to a user. The user can then associate the individual templates on the operator panel so that the linked templates represent the structure of those assets whose operation is to be configured.
  • the finished linked templates / templates then form a total flowchart for the operating procedure.
  • a Codegenera ⁇ tor can then generate the control program automatically from such a schedule.
  • a so- ⁇ -called engineering tool is provided.
  • Such a tool is, for example, the product "Comos" of the company Siemens AG
  • the templates are provided by so-called library blocks, which are linked to the above-mentioned control unit to a flowchart, which is part of a so-called project for plant ⁇ engineering From the schedule, a tax gram for one or several different Zielsys ⁇ systems, ie plants with similar structure, are generated.
  • the flowchart is only a partial aspect of the project for plant engineering. It is also possible to express the HMI (operator interface), superordinate control systems (MES), communication parameters , electrical plans, documentation and other elements by means of the templates - the flowchart or the data used for the code generation are only part of it. This is important insofar as that characterized stand interpreting ⁇ Lich complex dependencies within the project ⁇ ent. It is important at this point that the project has a specific structure as a whole, which represents the to automatic ⁇ sierende attachment in multiple facets and is not solely focused to the actual code generation, so the generation of a specific control program.
  • HMI operator interface
  • MES superordinate control systems
  • a complete automated generation of Steuerpro ⁇ program is usually not realistic. Often manual adjustments of the automatically generated control program by the commissioning engineer of a plant are required. Depending on the system, the scope of these changes may range from simple additions in the control program to a complete restructuring of the program blocks, ie the text of the control program, or the call structure of individual program functions if, for example, other device types have been installed in a plant at short notice than this was originally planned.
  • One problem with the manual change of a control program for adapting to the actual structural properties of the system to be automated now is that when a new generation of the control program using a Codege ⁇ nerators the manual changes are no longer included in this newly generated control program. Therefore, this step of manually adjusting the control program usually needs to be repeated each time.
  • CAD-CAM-CNC chain results on the basis of design ⁇ specifications of the CAD (Computer Aided Design) a sequence of manufacturing steps in a CAM system (CAM - Computer Aided Manufacturing). From these manufacturing steps, the control program for the CNC control units is then generated.
  • CAD Computer Aided Design
  • CAM Computer Aided Manufacturing
  • the control program for the CNC control units is then generated.
  • Such a control program is based on a prototype for the individual CNC machines.
  • the control program may have to be adapted by the machine operator to the concrete structural properties of the CNC machine. Again, there is the problem that when re-creating the control program, for example, to incorporate changes, then again the manual adjustments by the machine operator are needed.
  • the automatic ⁇ tarrae processing of a flowchart for generating a control program is attached to fixed rules, which are usually too rigid.
  • a change in the area of Maschinenkinema ⁇ tik and machine geometry is to the automatic ⁇ table generated control program by the manual changes often (for example, cutter angle of attack), as well of the tool geometry, in particular made of the manufacturing strategy.
  • a typical example of a manual Anpas ⁇ solution by a machine operator is the addition of additional cutting planes, if, for example, in a Gußrohteil the blank geometry deviates from the planned geometry in the CAM system.
  • a return of this adaptation in the CAM system is usually complex and must be performed by an expert ma ⁇ nually. This is where the round-trip engineering fails.
  • the invention has for its object to promote automation in the configuration of an operation of a process and / or manufacturing plant.
  • the code generation process for generating the control program from a flowchart is supplemented by an editing script, that is to say a sequence of instructions which can be executed by an editing device, for example a processor.
  • an editing script that is to say a sequence of instructions which can be executed by an editing device, for example a processor.
  • this preliminary control program is adapted by the editing unit to the structural characteristics of the plant such that corresponding manual changes are no longer necessary.
  • the adapted control program can then be written in the known manner, for example in an interpreter language, eg for a CNC machine, or converted into a binary code for the at least one control unit, eg for a PLC (memory programmable controller).
  • the latter requires an additional compilation step of a compiler unit, which is designed to convert an adapted control program into a binary code for the at least one control unit and to output it .
  • the Editierskript comprises at least one instruction for ANPAS ⁇ sen the provisional control program. This is in particular textual changes to the provisional program that can not be accommodated in the schedule itself, because it would require a change in the schedule ER that could be reali ⁇ Siert only with high development costs.
  • the inventive method thus has the advantage that the control programs can be adapted in an automated form to the structural characteristics of a particular target system, ie, for example, the exact structure, the state of wear of system components or the manufacturing ⁇ tolerances of workpieces.
  • the same advantage can also be realized with the device according to the invention, which makes it possible to carry out the erfindungsge ⁇ MAESSEN method.
  • the device is thus provided for configuring an operating sequence of a process and / or production plant. It comprises the described loading ⁇ diene unit, which is adapted to a user before ⁇ lay is defi ⁇ defined through which a part of the operation, and to provide these templates in accordance with the input as possible of the user to link to a schedule.
  • a code generator unit or a short code generator is adapted to generate a preliminary Steuerpro ⁇ program for at least one programmable actuator to the ⁇ base of this flowchart. To generate from this preliminary control program then an adapted control program, the
  • the device comprises a memory unit which is designed to store an edit script, which in the manner described comprises at least one instruction for adapting the preliminary control program to specific, structural properties of the system.
  • an editing unit is coupled, which is designed to generate from the provisional control program by executing the at least one instruction of the Editierskripts the customized control program and pass it on to the system training.
  • one or more editing scripts are already stored in the memory unit.
  • the invention is suitable for the configuration of operations of different plants. Accordingly, the Co is preferred to degeneratortician designed by the prior ⁇ provisional control program at least one of the following
  • a programmable Regge ⁇ ment a programmable logic controller, a controller of a CNC machine.
  • the control program can consist of subroutines, each of which is provided for a corresponding control unit of the system, for example a subprogram for a control of a conveyor belt and a subprogram for the control of a conveyor belt. nes filling machine to which the conveyor belt promotes empty bottles.
  • the adaptation of the control program is not indirectly via a change of the schedule, but di ⁇ rectly by changing the automatically generated preliminary control program, which is in textual form, the changes may be relatively simple instructions.
  • An embodiment of the invention provides that the editing unit is designed to carry out simple, pure text substitutions in order to generate the adapted control program.
  • at least one parameter contained in the preliminary control program is replaced by another value specified by the editing script.
  • the operating behavior of the system can be adapted to, for example, a state of wear of a system component in an advantageous manner.
  • All ⁇ common is provided in this embodiment that the editing unit is adapted to replace for generating the angepass- th control program a text area of the preliminary control program by another text region that is dictated by the Editierskript.
  • an editing script is generally not limited to pure textual substitutions, but can also be made possible for hierarchically structured data structures, such as data trees and other acyclic, directed graphs.
  • the editing means is adapted to convert for generating the adjusted control program, a data structure of the preliminary control program by shifting program preparation ⁇ chen in a target structure, which is predetermined by the Editierskript.
  • a particularly preferred embodiment of the invention shown SEN device provides to generate a Editierskript or more Editierskripte in an automated fashion by the apparatus itself and save it in the storage unit.
  • a script generation unit which is adapted to compare the control program to preliminary ⁇ ge with a previously manually adjusted by an operator control program of the plant.
  • a Editierskript is based on this recognized differences between these two control programs generated in the manner that, for carrying out the Editierskripts textually by the editing, the matched Steuerpro ⁇ program produced thereby with the manually adjusted control program, but at least functionally matches.
  • this scripter ⁇ generating unit can be applied to different known techniques are resorted from the prior art.
  • diff tools can be used. Such tools allow the recognition of syntax substitutions, ie changes of text areas independent of their semantics. For example, it is recognized by such a tool whether, for example, a text area having the value "100" was made by the operator from a text area having a value "50" in the provisional control program.
  • the Editierskripte automatically generated in accordance with one at ⁇ whose aspect of the invention further comprises a good help Stel ⁇ lung to detect the points at which manual changes, for example, to changeovers particularly frequently carried out in the control program and the points at which not.
  • This knowledge can then be used advantageously for subsequent projects with a similar task, ie the planning of an operating sequence of another system to structure the templates for forming the new schedule so that already in the provisional control program generated from the otherwise necessary, frequently occurring Changes are already included in the schedule itself.
  • an embodiment of the invention provides that an analysis unit is provided in the device, which is designed to compare two or more editing scripts of the type mentioned. The comparison then determines how often certain changes have been made to the adjustment.
  • this change is then signaled, ie, for example, displayed or made identifiable in another form by an operator.
  • this change is then signaled, ie, for example, displayed or made identifiable in another form by an operator.
  • chen be compared with that of each control program by an operator manually adjusted control programs of the system that was used by the operator in each case as a template. So takes in the course of the operation of the system in the context of restructuring of the plant, as they may be necessary for production changes, for example, an operator for the adjustment of the control program used repeatedly the same manual changes to the control program, this means that the relatively complex adjustment process for the flowchart itself or its components, ie the templates, seems justified. Since only the most frequent changes are taken as a basis, the flowchart or its templates is changed only in an advantageous manner, if that is worthwhile.
  • the analysis device is designed to ⁇ on the basis of the frequently made changes to change at least one of the templates automatically, so adapt to the example of the described Comos system a library block.
  • the above-mentioned process of the invention comprises optionally further developments just ⁇ include the features as be ⁇ already described in connection with the described developments of the device according to the invention. For this reason, the corresponding developments of the method according to the invention are not again erläu ⁇ tert.
  • the invention can also be combined with a known round-trip engineering method.
  • the invention also includes a computer program product which makes it possible to carry out an embodiment of the method according to the invention on a workstation computer.
  • the computer program product has a corresponding program code which is stored on at least one storage medium and is designed to perform the corresponding method when the program code is executed by a workstation computer.
  • FIG. 10 shows an embodiment of the device according to the invention.
  • the device 10 shown can be provided, for example, as an engineering tool, for example as a further development of the known Comos system.
  • the device 10 may for example be reali ⁇ Siert as a personal computer or a computer system from a plurality of computers.
  • a control unit 12 From the apparatus 10 a control unit 12, a code generator unit 14, an editing unit 16 and a storage unit 18, and a Skripter Wegungs- and Analy ⁇ segnac, or shortly analysis unit 20 be Attacht.
  • the operating unit 12 comprises a database 22 with library components 22 '.
  • the control unit 12 further comprises a gra ⁇ fish man-machine interface or short-interface 24, by means of which (not shown) the operator of the device 10 is a flowchart 26 rocks from the resultsbau- 22 'design.
  • the flowchart 26 recreates the structure of the plant 40.
  • the units 14, 16, 24, 36 may for example be provided as pro ⁇ program module.
  • the storage unit 18 and the database 22 may be provided, for example, by one or several ⁇ re files that are stored for example in a hard disk.
  • control programs 28, 30, 32, 34 can be generated.
  • the control programs 28, 30, 32, 34 can be, for example, programs in the programming language STEP7 AWL or according to the programming standard IEC
  • a compiler unit 36 of the device 10 is designed to translate a respective control program 28, 30, 32 into a binary code 38, which either directly or indirectly, for example by means of a storage medium, to a process and / or manufacturing plant to be automated or short Appendix 40 can be transmitted, where the binary code 38 is divided into several actuators 42 and stored there in program memories.
  • the actuators 42 control in the system 40 system components, of which, for example, a bottle cleaner 44, a bottle filling 46 and a bottle cleaning 44 and the bottle filling 46 connecting conveyor belt 48 are shown.
  • ⁇ units 42 each one of these system components 44, 46, 48 is controlled or regulated in response to the binary units stored in the 42 binary code, so that this results in a total determined by the binary code 38 operation in the system 40.
  • control programs 28, 30, 32, 34 are generated by the code generator unit 14 from the schedule 26.
  • the individual library blocks 22 'of the control plan 26 determine individual program areas of the control program 28, 30, 32, 34. As the program areas defined by the individual library building blocks 22 'are linked to one another, the operator defines them by corresponding links 50 in the flowchart 26. The operator can also set parameters within the individual library blocks 22 '.
  • a control program 28, 30, 32, 34 generated on the basis of the flowchart 26 by the code generator unit 14 must, as a rule, still be changed by the operator, so that the control program 28, 30, 32, 34 adhere to the specific, structural characteristics of the system 40 adjusted in order to For example, to take into account a reduced fraudschwin ⁇ speed of the conveyor belt 48 by wear.
  • the device 10 may have a round-trip engineering functionality RTE. If, for example, the control program 28 is generated on the basis of the flowchart 26 by means of the code generator unit 40, this is a provisional control program with the program content PI.
  • the operator can then change in a simple embodiment, individual Pa ⁇ rameteragonist VAL in the control program 28, and receives at the adjusted so control program 30 with the program content PI '.
  • a comparison can be made between the control programs 28, 30 and thus the change in the parameter values VAL can be recognized.
  • the manual changes can be simply transferred to the source system with the normal methods of the round-trip engineering RTE, ie Schedule 26 or even in the library blocks 22 '.
  • the programmer would have to use the library Modules 22 'to be changed, for example, one of the Bib ⁇ liotheksbausteine 22' split into two blocks or create a new library block. This would mean that the operator must commission a programmer for this purpose. However, this is not necessary with the device 10.
  • the analysis unit 20 of the device 10 compares the STEU ⁇ erprogramm 28 and the control program 32 and generates therefrom instructions for the editing unit 16, they animal script at a EDI summarizes 52nd
  • the edit script 52 is stored in the storage unit 18 by the analysis unit 20.
  • the FIG shows that further editing scripts 54 can also be stored in the memory unit 18. For example, if the operator has the texture program 28 for
  • the operator can have the control program 32 automatically generated by the apparatus 10 as a customized control program 34.
  • the control program 32 For this purpose is generated from the flow chart 26, by the code generator unit 14 as a provisional ⁇ Figes control program 56 of the program content Tl, which is transmitted by the code generator unit 14 to the editing unit sixteenth
  • the editing unit 16 changes the code content PI on the basis of the instructions from the editing script 52.
  • the editing unit 16 executes the editing script 52.
  • the Editierskript 52 includes solutions, by which from the program content PI parameter values ⁇ VAL changed and also the structure STRUCT changing the Anwei-.
  • the editing unit 16 outputs, as the changed program content, the program content P2 as the control program 34, which is now adapted directly to the properties of the system 40 without any intervention on the part of the operator.
  • Control program 34 can now be translated by means of the compiler unit 16 in the binary code 38 and transmitted to the actuators 42 of the system 40.
  • the possible uses of a device designed according to the invention are versatile. For this purpose, further examples are given below.
  • the bottle type is registered once by sensor and the following points are activated by timer on the basis of the known strip speed so that the bottles according to their type in different On ⁇ parts of the parts to be forwarded. Since the bottles are introduced relatively close to each other in the band section, the timers must be precise enough to avoid missing turnouts.
  • the values of the timers are calculated from the lengths of the band sections and the band speeds known in the source system, and a data block is entered for the code generation of the control program for the system.
  • the values of the timers often have to be adapted more precisely. Furthermore, it can - both in the case of As well as in later changeover phases - changes in the geometry of the system can occur, so that, for example, individual conveyor belts are shortened or points are shifted, which in turn has an effect on the timers.
  • the NC programmer works with theoretical values.
  • the manufacturing geometry and the assumed blank geometry are used. Due to tolerances or quality problems of the blanks, there may be significant deviations from the desired geometry.
  • the machine operator must adapt the NC program based on the theoretical geometry. For this he changes e.g. the cutting layout or inserts additional cuts.
  • Target coordinates changed to compensate for the wear of machine guides.
  • Another commonly used method is zero offset to compensate for errors in the fixture system.
  • This allows easy and fast archiving of manual changes, so that the problem of duplicate Data storage, in which both source and destination control programs are included, is avoided.

Abstract

The invention relates to a device (10) for configuring an operational procedure of a process and/or production system (40). An operating unit (12) is designed to link modules or templates (22'), via each of which a part of the operational procedure is defined, to a schedule (26) according to the inputs of a user. A code generator unit (14) is designed to generate a preliminary control program (56) from the schedule (26) for at least one programmable adjusting unit (42) of the system (40). A memory unit (18) is designed to save an editing script (52, 54) which comprises at least one instruction for adapting the preliminary control program (56) to specific, structural properties of the system (40). An editing unit (16) coupled to the memory unit (18) is designed to generate and to provide to the system (40) an adapted control program (34) from the preliminary control program (56) by executing the at least one instruction of the editing script (52, 54).

Description

Beschreibung description
Konfiguration eines Betriebsablaufs einer Prozess- und/oder Fertigungsanläge Configuration of an operating procedure of a process and / or manufacturing plant
Die Erfindung betrifft eine Vorrichtung und ein Verfahren zum Konfigurieren eines Betriebsablaufs einer Prozess- und/oder Fertigungsanlage, oder kurz Anlage. Eine solche Anlage kann eine oder mehrere Anlagenkomponenten umfassen, wobei eine Anlagenkomponente beispielsweise ein Förderband, eine CNC- Maschine oder ein Abfüllautomat sein kann. The invention relates to an apparatus and a method for configuring an operating sequence of a process and / or production plant, or briefly plant. Such a plant may comprise one or more plant components, wherein a plant component may be for example a conveyor belt, a CNC machine or a bottling machine.
Die Konfiguration wird hierbei mittels eines Steuerprogramms erreicht, das durch zumindest eine programmierbare Stellein¬ heit der Anlage, also z.B. einen MikroController einer Anlagenkomponente, ausgeführt werden kann. Hierzu wird das Steu¬ erprogramm als jeweiliger Binärcode für die zumindest eine Stelleinheit bereitgestellt. Bei Ausführen des Binärcodes durch alle Stelleinheiten ergibt sich dann der gewünschte Betriebsablauf in der Anlage. Binärcode ist aber nicht die ein¬ zige Variante eines Steuerprogramms. Es ist auch möglich, ein Steuerprogramm in einer Interpretersprache zu erzeugen, das direkt ausgeführt werden kann. Dies ist z.B. bei Robotern und CNC-Maschinen üblich. Generell stellt ein Steuerprogramm eine Liste aus Steuerbefehlen und Variablen dar, wobei die Liste auch auf mehrere Dateien aufgeteilt sein kann. The configuration is achieved in this case by means of a control program which can be executed by at least one programmable Stellein ¬ standardize the system, eg a microcontroller of a plant component. For this purpose the STEU ¬ erprogramm is provided as respective binary code for the at least one actuating unit. When executing the binary code by all actuators then results in the desired operation in the system. But binary code is not a ¬ Zige variant of a control program. It is also possible to generate a control program in an interpreter language that can be executed directly. This is common, for example, with robots and CNC machines. In general, a control program is a list of control commands and variables, whereby the list can also be divided into several files.
Um den Entwicklungsprozess zum Konfigurieren des Betriebsab- laufs zu beschleunigen, wird ein solches Steuerprogramm häufig nicht mehr von Hand durch Programmierer geschrieben. To speed up the development process for configuring the operating procedure, such a control program is often no longer written by the programmer manually.
Vielmehr werden sogenannte Templates oder Vorlagen verwendet, welche ein Betriebsverhalten einzelner Anlagenkomponenten festlegen, also den diese Anlagenkomponente betreffenden Teil des Betriebsablaufs definieren. Ein Template muss aber nicht eins zu eins einer Anlagenkomponente zugeordnet sein. Es kann auch z.B. einen einzelnen Algorithmus innerhalb einer Anlagenkomponente oder eine ganze Gruppe aus mehreren Anlagenkom- ponenten repräsentieren, da die mechanische Komponentenbil¬ dung in einer Anlage eine andere als die regelungstechnische Komponentenbildung ist und letztere in der Regel durch die Templates repräsentiert ist. Wichtig ist vor allem, dass das Betriebsverhalten als ganzes durch eine Menge an Vorlagen definiert wird. Dabei wird keine Aussage über die Beteiligte Hardware gemacht. Ein Template kann beispielsweise auch ein Algorithmus für eine bestimmte Teilaufgabe sein (vor allem im CNC Bereich) . Ein Template legt also allgemein einen bestimm- ten Prozessabschnitt fest. Rather, so-called templates or templates are used, which define an operating behavior of individual plant components, ie define the part of the operating procedure that relates to this plant component. However, a template does not have to be assigned one to one to a plant component. It can also be a single algorithm within a plant component or an entire group of several plant communities. components represent, since the mechanical Komponentenbil ¬ dung is other than the closed-loop control component formation in a plant, and the latter is represented generally by the templates. It is important, above all, that the operating behavior as a whole is defined by a set of templates. No statement is made about the involved hardware. For example, a template can also be an algorithm for a specific subtask (especially in the CNC area). A template generally defines a specific process section.
Dazu kann ein Template z.B. hartcodierte Codefragmente für einzelne Funktionsabschnitte des Steuerprogramms umfassen. Durch Einstellen einzelner Parameterwerte kann die Vorlage nach Bedarf auch angepasst, so dass sich die zugehörige Pro¬ zessabschnitt in der gewünschten Weise verhält. Beispielswei¬ se kann also eine Vorlage beispielsweise für das Steuern ei¬ nes Förderbandes bereitgestellt sein und durch Einstellen ei¬ nes Parameters die Fördergeschwindigkeit festgelegt werden. Solche Vorlagen werden in der Regel an einer Bedieneinheit, beispielsweise einem Arbeitsplatzcomputer, einem Benutzer grafisch präsentiert. Der Benutzer kann dann die einzelnen Vorlagen an der Bedieneinheit miteinander verknüpfen, so dass die verknüpften Vorlagen die Struktur derjenigen Anlagen repräsentieren, deren Betriebsablauf zu konfigurieren ist. For this purpose, a template may include, for example, hard-coded code fragments for individual functional sections of the control program. By adjusting individual parameter values the template can also be adapted as required, so that the associated Pro ¬ zessabschnitt behave in the desired manner. So Beispielswei ¬ se may be provided, for example for controlling ei ¬ nes conveyor belt and are determined by adjusting ei ¬ nes parameter, the conveying speed a template. Such templates are usually presented graphically to a user interface, such as a workstation computer, to a user. The user can then associate the individual templates on the operator panel so that the linked templates represent the structure of those assets whose operation is to be configured.
Die fertig verknüpften Templates/Vorlagen bilden dann insgesamt einen Ablaufplan für den Betriebsablauf. Ein Codegenera¬ tor kann aus einem solchen Ablaufplan dann das Steuerprogramm automatisiert generieren. Für diese Form des Konfigurierens, die auch als Engineering bezeichnet wird, wird oft ein soge¬ nanntes Engineering-Tool bereitgestellt. Ein solches Tool ist beispielsweise das Produkt „Comos" des Unternehmens Siemens AG. In einem solchen Engineering-Tool sind die Vorlagen durch sogenannte Bibliotheksbausteine bereitgestellt, die an der erwähnten Bedieneinheit zu einem Ablaufplan verknüpft werden, der Bestandteil eines sogenannten Projekts für das Anlagenen¬ gineering ist. Aus dem Ablaufplan kann dann ein Steuerpro- gramm für ein oder auch für mehrere unterschiedliche Zielsys¬ teme, d.h. Anlagen mit ähnlichem Aufbau, generiert werden. The finished linked templates / templates then form a total flowchart for the operating procedure. A Codegenera ¬ tor can then generate the control program automatically from such a schedule. For this form also known as Engineering of configuring, often a so-¬-called engineering tool is provided. Such a tool is, for example, the product "Comos" of the company Siemens AG In such an engineering tool, the templates are provided by so-called library blocks, which are linked to the above-mentioned control unit to a flowchart, which is part of a so-called project for plant ¬ engineering From the schedule, a tax gram for one or several different Zielsys ¬ systems, ie plants with similar structure, are generated.
Der Ablaufplan ist aber nur ein Teilaspekt des Projekts für das Anlagenengineering. Es können auch HMI (Bedienoberfläche) , Übergeordnete Leitsysteme (MES) , Kommunikationsparame¬ ter, Elektropläne, Dokumentation und weitere Elemente durch die Vorlagen ausgedrückt werden - der Ablaufplan bzw. die Daten, die zur Codegenerierung verwendet werden, sind nur ein Teil davon. Das ist insofern wichtig, als dass dadurch deut¬ lich komplexere Abhängigkeiten innerhalb des Projektes ent¬ stehen. Wichtig an dieser Stelle ist, dass das Projekt als Ganzes eine bestimmte Struktur hat, welche die zu automati¬ sierende Anlage in mehreren Facetten repräsentiert und nicht ausschließlich auf die eigentliche Codegenerierung, also die Erzeugung eines bestimmten Steuerprogramms, fokussiert ist. However, the flowchart is only a partial aspect of the project for plant engineering. It is also possible to express the HMI (operator interface), superordinate control systems (MES), communication parameters , electrical plans, documentation and other elements by means of the templates - the flowchart or the data used for the code generation are only part of it. This is important insofar as that characterized stand interpreting ¬ Lich complex dependencies within the project ¬ ent. It is important at this point that the project has a specific structure as a whole, which represents the to automatic ¬ sierende attachment in multiple facets and is not solely focused to the actual code generation, so the generation of a specific control program.
Eine vollständige automatisierte Generierung des Steuerpro¬ gramms ist normalerweise nicht realistisch. Oft sind manuelle Anpassungen des automatisch generierten Steuerprogramms durch den Inbetriebnehmer einer Anlage erforderlich. Je nach Anlage kann der Umfang dieser Veränderungen von einfachen Ergänzungen im Steuerprogramm bis hin zu einer kompletten Umstrukturierung der Programmbausteine, d.h. des Textes des Steuerpro- gramms, oder der Aufrufstruktur einzelner Programmfunktionen reichen, wenn beispielsweise kurzfristig andere Gerätetypen in einer Anlage verbaut worden sind, als dies ursprünglich geplant war. Ein Problem bei der manuellen Änderung eines Steuerprogramms zum Anpassen an die tatsächlichen strukturellen Eigenschaften der zu automatisierenden Anlage besteht nun darin, dass bei erneutem Generieren des Steuerprogramms mittels eines Codege¬ nerators in diesem neu generierten Steuerprogramm die manuel- len Änderungen nicht mehr enthalten sind. Deshalb muss dieser Schritt des manuellen Anpassens des Steuerprogramms in der Regel jedes Mal wiederholt werden. Ähnliche Probleme treten in der Konfiguration eines Betriebs¬ ablaufs einer CNC-Maschine auf. Auch eine solche CNC-Maschine wird oftmals nicht direkt programmiert, sondern aus einer sog. CAD-CAM-CNC-Kette ergibt sich auf Grundlage von Design¬ vorgaben des CAD (Computer Aided Design) eine Abfolge von Fertigungsschritten in einem CAM-System (CAM - Computer Aided Manufacturing) . Aus diesen Fertigungsschritten wird dann das Steuerprogramm für die CNC-Steuereinheiten erzeugt. Ein solches Steuerprogramm geht dabei von einem Prototypen für die einzelnen CNC-Maschinen aus. Je nach Alter und Verschleißzustand der CNC-Maschinen bzw. nach Fertigungsart der mit diesen zu verarbeitenden Werkstücke muss aber unter Umständen vom Maschinenbediener das Steuerprogramm an die konkreten strukturellen Eigenschaften der CNC-Maschine angepasst werden. Auch hier ergibt sich das Problem, dass bei erneuter Erzeugung des Steuerprogramms, um beispielsweise Änderungen einzupflegen, danach wieder die manuellen Anpassungen durch den Maschinenbediener nötig sind. A complete automated generation of Steuerpro ¬ program is usually not realistic. Often manual adjustments of the automatically generated control program by the commissioning engineer of a plant are required. Depending on the system, the scope of these changes may range from simple additions in the control program to a complete restructuring of the program blocks, ie the text of the control program, or the call structure of individual program functions if, for example, other device types have been installed in a plant at short notice than this was originally planned. One problem with the manual change of a control program for adapting to the actual structural properties of the system to be automated now is that when a new generation of the control program using a Codege ¬ nerators the manual changes are no longer included in this newly generated control program. Therefore, this step of manually adjusting the control program usually needs to be repeated each time. Similar problems occur in the configuration of an operation ¬ process on a CNC machine. Even such a CNC machine is often not directly programmed, but from a so-called. CAD-CAM-CNC chain results on the basis of design ¬ specifications of the CAD (Computer Aided Design) a sequence of manufacturing steps in a CAM system (CAM - Computer Aided Manufacturing). From these manufacturing steps, the control program for the CNC control units is then generated. Such a control program is based on a prototype for the individual CNC machines. Depending on the age and wear condition of the CNC machines or on the type of workpieces to be processed with them, the control program may have to be adapted by the machine operator to the concrete structural properties of the CNC machine. Again, there is the problem that when re-creating the control program, for example, to incorporate changes, then again the manual adjustments by the machine operator are needed.
Aus dem Stand der Technik ist als Ansatz zum Lösen dieses Problems das Round-Trip-Engineering bekannt From the prior art, round-trip engineering is known as an approach to solving this problem
(http://en.wikipedia.org/wiki/Round-trip_engineering) . Bei diesem Ansatz werden die manuellen Änderungen wieder in das Quellsystem übertragen, d.h. der Ablaufplan oder die Vorlagen werden noch einmal verändert. Wird dann aus dem Ablaufplan ein neues Steuerprogramm generiert, so enthält dieses die nö¬ tigen Änderungen bereits. Um die Änderungen im Ablaufplan zu ermöglichen, wird ein Codevergleich zwischen dem Steuerprogramm, das von dem Codegenerator automatisch aktuell generiert worden ist, und dem daraus durch die manuellen Verände¬ rungen gebildeten angepassten Steuerprogramm durchgeführt. Die hierbei erkannten Unterschiede werden dann in das Quell¬ system, d.h. den Ablaufplan oder die Vorlagen, übertragen. Dieser Ansatz funktioniert aber nur gut, wenn hierbei nur vorgefertigte hartcodierte Codefragmente verändert werden müssen, wenn sich also die automatisch generierte Codeblöcke und die anschließend manuell hinzugefügten Codeblöcke sauber voneinander trennen lassen. Dies ist aber nur selten der Fall. Vielmehr ist nach dem Erzeugen eines Steuerprogramms aus einem Ablaufplan oftmals ei¬ ne weitreichendere manuelle Veränderung nötig. Hierbei wird an vielen Stellen im Steuerprogramm auf Parameter und die Struktur des Steuerprogramms Einfluss genommen, um so eine optimale Vernetzung zwischen den verschiedenen Anlagenkomponenten sowie eine erhöhte Flexibilität beim Einstellen von Steuerwerten zu erreichen. Manuelle Änderungen, die solche strukturkritischen Teile des Steuerprogramms betreffen bzw. sogar eine Veränderung der Datenstruktur des Steuerprogramms selbst bewirken, können in automatisierter Weise nicht in den Ablaufplan übernommen werden, ohne dass hierbei die Abhängigkeiten innerhalb des Projektes beschädigt werden. Die automa¬ tisierte Verarbeitung eines Ablaufplans zur Erzeugung eines Steuerprogramms ist an feste Regeln gebunden, die meistens zu starr sind. In einer CAD-CAM-CNC-Kette wird an dem automa¬ tisch generierten Steuerprogramm durch die manuellen Änderungen oftmals eine Veränderung im Bereich der Maschinenkinema¬ tik und Maschinengeometrie (z.B. Fräser-Anstellwinkel), sowie der Werkzeuggeometrie, insbesondere der Fertigungsstrategie vorgenommen. Ein typisches Beispiel für eine manuelle Anpas¬ sung durch einen Maschinenbediener ist das Hinzufügen zusätzlicher Schnittebenen, wenn z.B. bei einem Gussrohteil die Rohteilgeometrie von der im CAM-System geplanten Geometrie abweicht. Eine Rückführung dieser Anpassung in das CAM-System ist in der Regel aufwändig und muss durch einen Experten ma¬ nuell durchgeführt werden. Hier scheitert also das Round- Trip-Engineering . (http://en.wikipedia.org/wiki/Round-trip_engineering). In this approach, the manual changes are transferred back to the source system, ie the schedule or templates are changed again. Will happen to the flow chart a new control program generated, this includes the nö ¬ term changes already. In order to allow the changes in the flow chart, a code comparison between the control program which has been generated by the code generator automatically current, and the adjusted control program formed therefrom by the manual Variegated ¬ stanchions is performed. The case identified differences are then in the source ¬ system, ie the schedule or the documents transmitted. However, this approach only works well if only prefabricated hard-coded code fragments have to be changed, ie if the automatically generated code blocks and the subsequently manually added code blocks can be neatly separated. But this is rarely the case. Rather ei ¬ ne wider manual change is often necessary after the creation of a control program of a flowchart. In many cases in the control program, parameters and the structure of the control program are influenced in order to achieve optimal networking between the various plant components and increased flexibility in setting control values. Manual changes that affect such structurally critical parts of the control program or even cause a change in the data structure of the control program itself, can not be automatically incorporated into the flowchart without damaging the dependencies within the project. The automatic ¬ tisierte processing of a flowchart for generating a control program is attached to fixed rules, which are usually too rigid. In a CAD-CAM-CNC chain, a change in the area of Maschinenkinema ¬ tik and machine geometry is to the automatic ¬ table generated control program by the manual changes often (for example, cutter angle of attack), as well of the tool geometry, in particular made of the manufacturing strategy. A typical example of a manual Anpas ¬ solution by a machine operator is the addition of additional cutting planes, if, for example, in a Gußrohteil the blank geometry deviates from the planned geometry in the CAM system. A return of this adaptation in the CAM system is usually complex and must be performed by an expert ma ¬ nually. This is where the round-trip engineering fails.
Der Erfindung liegt die Aufgabe zugrunde, die Automatisierung bei der Konfiguration eines Betriebsablaufs einer Prozess- und/oder Fertigungsanlage voranzutreiben. The invention has for its object to promote automation in the configuration of an operation of a process and / or manufacturing plant.
Die Aufgabe wird durch eine Vorrichtung gemäß Anspruch 1, ein Verfahren gemäß Anspruch 8 und ein Computerprogrammprodukt gemäß Anspruch 13 gelöst. Vorteilhafte Weiterbildungen der Erfindung sind durch die Unteransprüche gegeben. Erfindungsgemäß wird der Codegenerierungsprozess zum Erzeugen des Steuerprogramms aus einem Ablaufplan um ein Editierskript ergänzt, also um eine Aneinanderreihung von Anweisungen, die durch eine Editiereinrichtung, beispielsweise einen Prozessor, ausführbar sind. Nach Erzeugen eines vorläufigen Steuerprogramms aus einem Ablaufplan, welcher in der beschriebenen Weise aus miteinander verknüpften Vorlagen erstellt wurde, wird durch die Editiereinheit dieses vorläufige Steuerpro- gramm dahingehend an die strukturellen Eigenschaften der Anlage angepasst, dass entsprechende manuelle Änderungen nicht mehr nötig sind. Hierdurch wird also durch Ausführen des Editierskripts mittels der Editiereinheit aus dem vorläufigen Steuerprogramm ein angepasstes Steuerprogramm. Das angepasste Steuerprogramm kann dann in der bekannten Weise z.B. in einer Interpretersprache, z.B. für eine CNC-Maschine, abgefasst sein oder in einen Binärcode für die zumindest eine Stelleinheit umgewandelt werden, z.B. für eine SPS (Speicher programmierbare Steuerung) . Letzteres erfordert einen zusätzlichen Compilierschritt einer Compilereinheit, die dazu ausgelegt ist, ein angepasstes Steuerprogramm in einen Binärcode für die zumindest eine Stelleinheit umzuwandeln und diesen aus¬ zugeben . Das Editierskript umfasst zumindest eine Anweisung zum Anpas¬ sen des vorläufigen Steuerprogramms. Es handelt sich hierbei insbesondere um textuelle Änderungen an dem vorläufigen Steuerprogramm, die nicht in dem Ablaufplan selbst untergebracht werden können, weil sie eine Veränderung des Ablaufplans er- fordern würden, die nur mit hohem Entwicklungsaufwand reali¬ siert werden könnte. The object is achieved by a device according to claim 1, a method according to claim 8 and a computer program product according to claim 13. Advantageous developments of the invention are given by the dependent claims. According to the invention, the code generation process for generating the control program from a flowchart is supplemented by an editing script, that is to say a sequence of instructions which can be executed by an editing device, for example a processor. After generating a preliminary control program from a flowchart, which was created in the described manner from interlinked templates, this preliminary control program is adapted by the editing unit to the structural characteristics of the plant such that corresponding manual changes are no longer necessary. As a result, by executing the editing script by means of the editing unit from the provisional control program, an adapted control program. The adapted control program can then be written in the known manner, for example in an interpreter language, eg for a CNC machine, or converted into a binary code for the at least one control unit, eg for a PLC (memory programmable controller). The latter requires an additional compilation step of a compiler unit, which is designed to convert an adapted control program into a binary code for the at least one control unit and to output it . The Editierskript comprises at least one instruction for ANPAS ¬ sen the provisional control program. This is in particular textual changes to the provisional program that can not be accommodated in the schedule itself, because it would require a change in the schedule ER that could be reali ¬ Siert only with high development costs.
Das erfindungsgemäße Verfahren weist somit den Vorteil auf, dass die Steuerprogramme in automatisierter Form an die strukturellen Eigenschaften einer bestimmten Zielanlage angepasst werden können, also z.B. an deren genauen Aufbau, den Verschleißzustand von Anlagenkomponenten oder die Fertigungs¬ toleranzen von Werkstücken. Derselbe Vorteil kann auch mit der erfindungsgemäßen Vorrichtung realisiert werden, die das Durchführen des erfindungsge¬ mäßen Verfahrens ermöglicht. Die Vorrichtung ist also zum Konfigurieren eines Betriebsablaufs einer Prozess- und/oder Fertigungsanlage vorgesehen. Sie weist die beschriebene Be¬ dieneinheit auf, die dazu ausgelegt ist, einem Benutzer Vor¬ lagen, durch die jeweils ein Teil des Betriebsablaufs defi¬ niert ist, bereitzustellen und diese Vorlagen gemäß den Ein- gaben des Benutzers zu einem Ablaufplan zu verknüpfen. Eine Codegeneratoreinheit, oder kurz ein Codegenerator, ist dazu ausgelegt, aus diesem Ablaufplan ein vorläufiges Steuerpro¬ gramm für zumindest eine programmierbare Stelleinheit der An¬ lage zu erzeugen. Um aus diesem vorläufigen Steuerprogramm dann ein angepasstes Steuerprogramm zu erzeugen, weist dieThe inventive method thus has the advantage that the control programs can be adapted in an automated form to the structural characteristics of a particular target system, ie, for example, the exact structure, the state of wear of system components or the manufacturing ¬ tolerances of workpieces. The same advantage can also be realized with the device according to the invention, which makes it possible to carry out the erfindungsge ¬ MAESSEN method. The device is thus provided for configuring an operating sequence of a process and / or production plant. It comprises the described loading ¬ diene unit, which is adapted to a user before ¬ lay is defi ¬ defined through which a part of the operation, and to provide these templates in accordance with the input as possible of the user to link to a schedule. A code generator unit or a short code generator is adapted to generate a preliminary Steuerpro ¬ program for at least one programmable actuator to the ¬ base of this flowchart. To generate from this preliminary control program then an adapted control program, the
Vorrichtung eine Speichereinheit auf, die dazu ausgelegt ist, ein Editierskript zu speichern, welches in der beschriebenen Weise zumindest eine Anweisung zum Anpassen des vorläufigen Steuerprogramm an spezifische, strukturelle Eigenschaften der Anlage umfasst. Mit dieser Speichereinheit und mit der Code¬ generatoreinheit ist eine Editiereinheit gekoppelt, die dazu ausgelegt ist, aus dem vorläufigen Steuerprogramm durch Ausführen der zumindest einen Anweisung des Editierskripts das angepasste Steuerprogramm zu erzeugen und an die Anlage Aus- zugeben. Bevorzugt sind dabei in der Speichereinheit bereits ein oder mehrere Editierskripte gespeichert. The device comprises a memory unit which is designed to store an edit script, which in the manner described comprises at least one instruction for adapting the preliminary control program to specific, structural properties of the system. With this memory unit and the code generator unit ¬ an editing unit is coupled, which is designed to generate from the provisional control program by executing the at least one instruction of the Editierskripts the customized control program and pass it on to the system training. Preferably, one or more editing scripts are already stored in the memory unit.
Die Erfindung ist für die Konfiguration von Betriebsabläufen unterschiedlicher Anlagen geeignet. Entsprechend ist die Co- degeneratoreinheit bevorzugt dazu ausgelegt, durch das vor¬ läufige Steuerprogramm zumindest eine aus den folgenden The invention is suitable for the configuration of operations of different plants. Accordingly, the Co is preferred to degeneratoreinheit designed by the prior ¬ provisional control program at least one of the following
Stelleinheiten zu steuern: Eine speicherprogrammierbare Rege¬ lung, eine speicherprogrammierbare Steuerung, eine Steuerung einer CNC-Maschine . Wie bereits ausgeführt, kann das Steuer- programm hierbei aus Teilprogrammen bestehen, von denen jedes für eine entsprechende Stelleinheit der Anlage vorgesehen ist, also beispielsweise ein Teilprogramm für eine Steuerung eines Förderbands und ein Teilprogramm für die Steuerung ei- nes Abfüllautomaten, zu welchem das Förderband leere Flaschen fördert . To control actuators: A programmable Regge ¬ ment, a programmable logic controller, a controller of a CNC machine. As already stated, the control program can consist of subroutines, each of which is provided for a corresponding control unit of the system, for example a subprogram for a control of a conveyor belt and a subprogram for the control of a conveyor belt. nes filling machine to which the conveyor belt promotes empty bottles.
Da bei der Erfindung das Anpassen des Steuerprogramms nicht indirekt über eine Veränderung des Ablaufplans, sondern di¬ rekt durch Ändern des automatisiert generierten vorläufigen Steuerprogramms, das in textueller Form vorliegt, kann es sich bei den Änderungen um verhältnismäßig einfache Anweisungen handeln. Eine Ausführungsform der Erfindung sieht vor, dass die Editiereinheit dazu ausgelegt ist, zum Erzeugen des angepassten Steuerprogramms einfache, reine Textersetzungen vorzunehmen. Insbesondere wird zumindest bei einem in dem vorläufigen Steuerprogramm enthaltenen Parameter dessen Wert durch einen anderen Wert ersetzt, der durch das Editierskript vorgegeben ist. Hierdurch kann in vorteilhafter Weise das Betriebsverhalten der Anlage an beispielsweise einen Verschleißzustand einer Anlagenkomponente angepasst werden. All¬ gemein ist bei dieser Ausführungsform vorgesehen, dass die Editiereinheit dazu ausgelegt ist, zum Erzeugen des angepass- ten Steuerprogrammseinen Textbereich des vorläufigen Steuerprogramms durch einen anderen Textbereich zu ersetzen, der durch das Editierskript vorgegeben ist. Since in the invention the adaptation of the control program is not indirectly via a change of the schedule, but di ¬ rectly by changing the automatically generated preliminary control program, which is in textual form, the changes may be relatively simple instructions. An embodiment of the invention provides that the editing unit is designed to carry out simple, pure text substitutions in order to generate the adapted control program. In particular, at least one parameter contained in the preliminary control program is replaced by another value specified by the editing script. As a result, the operating behavior of the system can be adapted to, for example, a state of wear of a system component in an advantageous manner. All ¬ common is provided in this embodiment that the editing unit is adapted to replace for generating the angepass- th control program a text area of the preliminary control program by another text region that is dictated by the Editierskript.
Der Einsatz eines Editierskripts ist aber generell nicht auf reine textuelle Ersetzungen beschränkt, sondern kann auch für hierarchisch strukturierte Datenstrukturen, wie z.B. Datenbäumen und andere azyklische, gerichtete Grafen ermöglicht werden. Hierzu sieht eine Ausführungsform der Erfindung vor, dass die Editiereinrichtung dazu ausgelegt ist, zum Erzeugen des angepassten Steuerprogramms eine Datenstruktur des vorläufigen Steuerprogramms durch Verschieben von Programmberei¬ chen in eine Zielstruktur umzuwandeln, die durch das Editierskript vorgegeben ist. Eine besonders bevorzugte Ausführungsform der erfindungsgemä¬ ßen Vorrichtung sieht vor, ein Editierskript oder mehrere Editierskripte in automatisierter Weise durch die Vorrichtung selbst zu erzeugen und in der Speichereinheit abzuspeichern. Hierzu ist dann in der Vorrichtung eine Skripterzeugungseinheit bereitgestellt, welche dazu ausgelegt ist, das vorläufi¬ ge Steuerprogramm mit einem bereits durch eine Bedienperson manuell angepassten Steuerprogramm der Anlage zu vergleichen. Anhand von hierbei erkannten Unterschieden zwischen diesen beiden Steuerprogrammen wird dann ein Editierskript in der Weise erzeugt, dass bei Ausführen des Editierskripts durch die Editiereinheit das hierbei erzeugte angepasste Steuerpro¬ gramm mit dem manuell angepassten Steuerprogramm textuell, zumindest aber funktionell, übereinstimmt. Um diese Skripter¬ zeugungseinheit zu realisieren, kann auf verschiedene, aus dem Stand der Technik bekannte Techniken zurückgegriffen werden. Um Anweisungen für reine Textersetzungen zu erhalten, kann beispielsweise auf sogenannte Diff-Tools zurückgegriffen werden. Solche Tools erlauben das Erkennen von Syntax- Ersetzungen, also Veränderungen von Textbereichen unabhängig von deren Semantik. Beispielsweise wird durch ein solches Werkzeug erkannt, ob aus einem Textbereich mit einem Wert „50" im vorläufigen Steuerprogramm durch die Bedienperson beispielsweise ein Textbereich mit dem Wert „100" gemacht wurde . The use of an editing script is generally not limited to pure textual substitutions, but can also be made possible for hierarchically structured data structures, such as data trees and other acyclic, directed graphs. For this purpose, one embodiment of the invention is that the editing means is adapted to convert for generating the adjusted control program, a data structure of the preliminary control program by shifting program preparation ¬ chen in a target structure, which is predetermined by the Editierskript. A particularly preferred embodiment of the invention shown SEN device provides to generate a Editierskript or more Editierskripte in an automated fashion by the apparatus itself and save it in the storage unit. To this end, then in the device, a script generation unit is provided which is adapted to compare the control program to preliminary ¬ ge with a previously manually adjusted by an operator control program of the plant. A Editierskript is based on this recognized differences between these two control programs generated in the manner that, for carrying out the Editierskripts textually by the editing, the matched Steuerpro ¬ program produced thereby with the manually adjusted control program, but at least functionally matches. To realize this scripter ¬ generating unit, can be applied to different known techniques are resorted from the prior art. To obtain instructions for pure text substitutions, for example, so-called diff tools can be used. Such tools allow the recognition of syntax substitutions, ie changes of text areas independent of their semantics. For example, it is recognized by such a tool whether, for example, a text area having the value "100" was made by the operator from a text area having a value "50" in the provisional control program.
Um eine Veränderung der Datenstruktur an sich zu erkennen, kann auf in der Fachliteratur vorhandene generische Ansätze zur Erstellung eines Editierskripts zurückgegriffen werden. Solche Ansätze zur automatischen Generierung von Editierskripten wurden u.a. von Chawathe et al . in der wissenschaft¬ lichen Veröffentlichung „Change detection in hierarchically structured Information" beschrieben. In order to recognize a change in the data structure per se, it is possible to fall back on generic approaches existing in the specialist literature for the creation of an editing script. Such approaches to automatically generate edit scripts have been described, inter alia, by Chawathe et al. described in the science ¬ official publication "Change detection in hierarchically structured information."
Durch Speichern eines derart automatisiert generiert Editier¬ skripts in der genannten Speichereinheit wird das Editier¬ skript dann zusammen mit dem Ablaufplan gespeichert, so dass von da an nach erneuter Erzeugung eines vorläufigen Steuer- programms durch Ausführen des Editierskripts der vormals durch manuelles Anpassen erzeugte Steuerprogrammcode nun au¬ tomatisch entsteht. Dieser Ansatz bietet also in vorteilhaf¬ ter Weise die Möglichkeit, im Zielsystem durchgeführte manu- eile Änderungen, also in der von einem Betreiber aufgebauten Anlage, zusammen mit dem Ablaufplan so zu archivieren, dass bei erneuter Codegenerierung keine manuellen Änderungen verloren gehen. Anders als beim Stand der Technik, findet hier- bei jedoch keine aufwändige Integration der Änderungen in den Ablaufplan selbst statt, so dass auf Ebene des Ablaufplans weiterhin sehr flexibel Planungsschritte durchgeführt werden können . Die automatisch erzeugten Editierskripte sind gemäß einem an¬ deren Aspekt der Erfindung des Weiteren eine gute Hilfestel¬ lung, um zu erkennen, an welchen Stellen im Steuerprogramm beispielsweise nach Umstellungen der Anlage besonders häufig manuelle Änderungen durchgeführt werden und an welchen Stel- len nicht. Dieses Wissen kann dann in vorteilhafter Weise dazu verwendet werden, bei Folgeprojekten mit ähnlicher Aufgabenstellung, d.h. der Planung eines Betriebsablaufs einer weiteren Anlage, die Vorlagen zum Bilden des neuen Ablaufplans so zu strukturieren, dass bereits im daraus erzeugten vorläufigen Steuerprogramm die sonst nötigen, häufig auftretenden Änderungen bereits im Ablaufplan selbst berücksichtigt sind. Hierzu sieht eine Ausführungsform der Erfindung vor, dass bei der Vorrichtung eine Analyseeinheit bereitgestellt ist, welche dazu ausgelegt ist, zwei oder mehr Editierskripte der genannten Art zu vergleichen. Durch das Vergleichen wird dann ermittelt, wie häufig bestimmte Veränderungen für die Anpassung vorgenommen wurden. Falls die Häufigkeit einer bestimmten Veränderung größer als ein vorbestimmter Schwellenwert ist, wird diese Veränderung dann signalisiert, d.h. z.B. angezeigt oder in einer anderen Form einer Bedienperson kenntlich gemacht. Anstelle des Vergleichs zweier oder mehre¬ rer Editierskripte kann auch vorgesehen sein, zwei oder mehr, durch eine Bedienperson manuell angepasste Steuerprogramme der Anlage jeweils mit demjenigen Steuerprogramm zu verglei- chen, das durch die Bedienperson jeweils als Vorlage verwendet wurde. Nimmt also im Verlauf des Betriebs der Anlage im Rahmen von Umstrukturierungen der Anlage, wie sie z.B. für Produktionsumstellungen nötig sein können, eine Bedienperson für die Anpassung des verwendeten Steuerprogramms immer wieder dieselben manuellen Änderungen an dem Steuerprogramm vor, so bedeutet dies, dass sich der verhältnismäßig aufwändige Anpassungsprozess für den Ablaufplan selbst bzw. dessen Komponenten, d.h. die Vorlagen, gerechtfertigt erscheint. Da hier nur die besonders häufigen Veränderungen zugrunde gelegt werden, wird dabei nur in vorteilhafter Weise dann der Ablaufplan bzw. dessen Vorlagen verändert, wenn sich die auch lohnt . By storing of such automated generated edit ¬ scripts in said storage unit, the editing ¬ then script together with the flow chart stored, so that from then on after re-generation of a preliminary control program by executing the Editierskripts the control program code previously generated by manually adjusting now au ¬ automatically arises. So this approach provides in vorteilhaf ¬ ter, the opportunity to run in the target system manu- All changes, that is to say in the system set up by an operator, must be archived together with the schedule in such a way that no manual changes are lost when the code is regenerated. In contrast to the prior art, however, there is no time-consuming integration of the changes in the flowchart itself, so that planning steps can still be carried out very flexibly at the level of the flowchart. The Editierskripte automatically generated in accordance with one at ¬ whose aspect of the invention further comprises a good help Stel ¬ lung to detect the points at which manual changes, for example, to changeovers particularly frequently carried out in the control program and the points at which not. This knowledge can then be used advantageously for subsequent projects with a similar task, ie the planning of an operating sequence of another system to structure the templates for forming the new schedule so that already in the provisional control program generated from the otherwise necessary, frequently occurring Changes are already included in the schedule itself. For this purpose, an embodiment of the invention provides that an analysis unit is provided in the device, which is designed to compare two or more editing scripts of the type mentioned. The comparison then determines how often certain changes have been made to the adjustment. If the frequency of a certain change is greater than a predetermined threshold value, this change is then signaled, ie, for example, displayed or made identifiable in another form by an operator. Instead of comparing two or more ¬ rer Editierskripte two or more can also be provided, chen be compared with that of each control program by an operator manually adjusted control programs of the system that was used by the operator in each case as a template. So takes in the course of the operation of the system in the context of restructuring of the plant, as they may be necessary for production changes, for example, an operator for the adjustment of the control program used repeatedly the same manual changes to the control program, this means that the relatively complex adjustment process for the flowchart itself or its components, ie the templates, seems justified. Since only the most frequent changes are taken as a basis, the flowchart or its templates is changed only in an advantageous manner, if that is worthwhile.
Eine vorteilhafte Weiterbildung der Vorrichtung sieht hierbei vor, dass die Analyseeinrichtung dazu ausgelegt wird, auf¬ grund der häufig vorgenommenen Veränderungen zumindest eine der Vorlagen automatisch zu verändern, also am Beispiel des beschriebenen Comos-System einen Bibliotheksbaustein anzupassen . An advantageous development of the device provides in this case that the analysis device is designed to ¬ on the basis of the frequently made changes to change at least one of the templates automatically, so adapt to the example of the described Comos system a library block.
Bei einer anderen Weiterbildung der Erfindung werden für den Ablaufplan mehrere unterschiedliche Editierskripte bereitge¬ stellt, von denen jedes dazu ausgelegt ist, das vorläufige Steuerprogramm an spezifische, strukturelle Eigenschaften einer anderen Anlage anzupassen. Aus dem vorläufigen Steuerprogramm wird dann in Abhängigkeit von einer Benutzerauswahl eines der Editierskripte durch die Editiereinrichtung ausge¬ wählt und zum Erzeugen eines angepassten Steuerprogramms für die zugehörige Anlage zugrundegelegt. So kann ein einziger Ablaufplan für das Anlagenengineering mehrere Anlagen genutzt werden . In another development of the invention several different Editierskripte be bereitge ¬ represents, each of which is adapted to adjust the preliminary control program of specific structural characteristics of another plant for the schedule. ¬ be selected and in response to a user selection of one of the Editierskripte by the editing means for generating a customized control program for the associated plant is then used as a basis of the preliminary control program. Thus, a single schedule for plant engineering several plants can be used.
Das bereits erwähnte erfindungsgemäße Verfahren weist eben¬ falls Weiterbildungen auf, die Merkmale umfassen, wie sie be¬ reits im Zusammenhang mit den beschriebenen Weiterbildungen der erfindungsgemäßen Vorrichtung beschrieben wurden. Aus diesem Grund werden die entsprechenden Weiterbildungen des erfindungsgemäßen Verfahrens hier nicht noch einmal erläu¬ tert . Natürlich kann die Erfindung hierbei auch mit einem bekannten Round-Trip-Engineering-Verfahren kombiniert werden. The above-mentioned process of the invention comprises optionally further developments just ¬ include the features as be ¬ already described in connection with the described developments of the device according to the invention. For this reason, the corresponding developments of the method according to the invention are not again erläu ¬ tert. Of course, the invention can also be combined with a known round-trip engineering method.
Schließlich gehört zu der Erfindung auch ein Computerpro- grammprodukt , welches es ermöglicht, eine Ausführungsform des erfindungsgemäßen Verfahrens auf einem Arbeitsplatzcomputer durchzuführen. Hierzu weist das Computerprogrammprodukt einen entsprechenden Programmcode auf, welcher auf zumindest einem Speichermedium gespeichert ist und dazu ausgelegt ist, bei Ausführen des Programmcodes durch einen Arbeitsplatzcomputer das entsprechende Verfahren durchzuführen. Finally, the invention also includes a computer program product which makes it possible to carry out an embodiment of the method according to the invention on a workstation computer. For this purpose, the computer program product has a corresponding program code which is stored on at least one storage medium and is designed to perform the corresponding method when the program code is executed by a workstation computer.
Im Folgenden ist die Erfindung noch einmal anhand von konkreten Ausführungsbeispielen erläutert. Hierzu zeigt die einzige Figur (FIG) eine Ausführungsform der erfindungsgemäßen Vorrichtung. Die gezeigte Vorrichtung 10 kann beispielsweise als ein Engineering-Tool bereitgestellt sein, beispielsweise als eine Weiterentwicklung des bekannten Comos-Systems. Die Vorrichtung 10 kann beispielsweise als ein Arbeitsplatzcomputer oder auch eine Computeranlage aus mehreren Computern reali¬ siert sein. Von der Vorrichtung 10 sind eine Bedieneinheit 12, eine Codegeneratoreinheit 14, eine Editiereinheit 16 und eine Speichereinheit 18 und eine Skripterzeugungs- und Analy¬ seeinheit, oder kurz Analyseeinheit, 20 bezeigt. Die Bedien- einheit 12 umfasst eine Datenbank 22 mit Bibliotheksbaustei¬ nen 22'. Die Bedieneinheit 12 umfasst des Weiteren eine gra¬ fische Mensch-Maschine-Schnittstelle oder kurz Schnittstelle 24, mittels welcher eine (nicht gezeigte) Bedienperson der Vorrichtung 10 einen Ablaufplan 26 aus den Bibliotheksbau- steinen 22' entwerfen kann. Der Ablaufplan 26 bildet die Struktur der Anlage 40 nach. In the following, the invention is explained once again with reference to concrete exemplary embodiments. For this purpose, the single FIGURE (FIG) shows an embodiment of the device according to the invention. The device 10 shown can be provided, for example, as an engineering tool, for example as a further development of the known Comos system. The device 10 may for example be reali ¬ Siert as a personal computer or a computer system from a plurality of computers. From the apparatus 10 a control unit 12, a code generator unit 14, an editing unit 16 and a storage unit 18, and a Skripterzeugungs- and Analy ¬ seeinheit, or shortly analysis unit 20 bezeigt. The operating unit 12 comprises a database 22 with library components 22 '. The control unit 12 further comprises a gra ¬ fish man-machine interface or short-interface 24, by means of which (not shown) the operator of the device 10 is a flowchart 26 rocks from the Bibliotheksbau- 22 'design. The flowchart 26 recreates the structure of the plant 40.
Die Einheiten 14, 16, 24, 36 können beispielsweise als Pro¬ grammmodule bereitgestellt sein. Die Speichereinheit 18 und die Datenbank 22 können beispielsweise durch eine oder mehre¬ re Dateien bereitgestellt sein, die beispielsweise in einer Festplatte gespeichert sind. Mittels der Vorrichtung 10 können Steuerprogramme 28, 30, 32, 34 erzeugt werden. Bei den Steuerprogrammen 28, 30, 32, 34 kann es sich beispielsweise um Programme in der Programmiersprache STEP7 AWL oder nach dem Programmierstandard IEC The units 14, 16, 24, 36 may for example be provided as pro ¬ program module. The storage unit 18 and the database 22 may be provided, for example, by one or several ¬ re files that are stored for example in a hard disk. By means of the device 10, control programs 28, 30, 32, 34 can be generated. The control programs 28, 30, 32, 34 can be, for example, programs in the programming language STEP7 AWL or according to the programming standard IEC
61131-3 handeln. Eine Compilereinheit 36 der Vorrichtung 10 ist dazu ausgelegt, ein jeweiliges Steuerprogramm 28, 30, 32 in einen Binärcode 38 zu übersetzen, welcher entweder direkt oder indirekt, beispielsweise mittels eines Speichermediums, an eine zu automatisierende Prozess- und/oder Fertigungsanla- ge oder kurz Anlage 40 übertragen werden kann, wo der Binärcode 38 auf mehrere Stelleinheiten 42 aufgeteilt und dort in Programmspeichern gespeichert wird. Die Stelleinheiten 42 steuern in der Anlage 40 Anlagenkomponenten, von denen hier beispielhaft ein Flaschenreiniger 44, eine Flaschenbefüllung 46 und ein die Flaschenreinigung 44 und die Flaschenbefüllung 46 verbindendes Förderband 48 gezeigt sind. Durch die Stell¬ einheiten 42 wird jeweils eine dieser Anlagenkomponenten 44, 46, 48 in Abhängigkeit von dem in den Stelleinheiten 42 gespeicherten Binärcode gesteuert oder geregelt, so dass sich hierdurch insgesamt ein durch den Binärcode 38 festgelegter Betriebsablauf in der Anlage 40 ergibt. Act 61131-3. A compiler unit 36 of the device 10 is designed to translate a respective control program 28, 30, 32 into a binary code 38, which either directly or indirectly, for example by means of a storage medium, to a process and / or manufacturing plant to be automated or short Appendix 40 can be transmitted, where the binary code 38 is divided into several actuators 42 and stored there in program memories. The actuators 42 control in the system 40 system components, of which, for example, a bottle cleaner 44, a bottle filling 46 and a bottle cleaning 44 and the bottle filling 46 connecting conveyor belt 48 are shown. By adjusting ¬ units 42 each one of these system components 44, 46, 48 is controlled or regulated in response to the binary units stored in the 42 binary code, so that this results in a total determined by the binary code 38 operation in the system 40.
Mittels der Vorrichtung 10 muss die Bedienperson die Steuerprogramme 28, 30, 32, 34 nicht selbst programmieren. Die Steuerprogramme werden durch die Codegeneratoreinheit 14 aus dem Ablaufplan 26 erzeugt. Die einzelnen Bibliotheksbausteine 22' des Steuerplans 26 legen einzelne Programmbereiche des Steuerprogramms 28, 30, 32, 34 fest. Wie dabei die durch die einzelnen Bibliotheksbausteine 22' festgelegten Programmbe- reiche miteinander verknüpft sind, wird durch entsprechende Verknüpfungen 50 im Ablaufplan 26 durch die Bedienperson festgelegt. Die Bedienperson kann auch Parameter innerhalb der einzelnen Bibliotheksbausteine 22' einstellen. Ein auf Grundlage des Ablaufplans 26 durch die Codegeneratoreinheit 14 erzeugtes Steuerprogramm 28, 30, 32, 34 muss aber in der Regel noch durch die Bedienperson verändert werden, damit das Steuerprogramm 28, 30, 32, 34 an die spezifischen, strukturellen Eigenschaften der Anlage 40 angepasst ist, um bei- spielsweise eine durch Verschleiß verringere Fördergeschwin¬ digkeit des Förderbands 48 berücksichtigen zu können. Hierzu kann die Vorrichtung 10 eine Round-Trip-Engineering- Funktionalität RTE aufweisen. Wird beispielsweise auf Grund- läge des Ablaufplans 26 mittels der Codegeneratoreinheit 40 das Steuerprogramm 28 erzeugt, so ist dies ein vorläufiges Steuerprogramm mit dem Programminhalt PI . Die Bedienperson kann dann in einem einfachen Ausführungsbeispiel einzelne Pa¬ rameterwerte VAL in dem Steuerprogramm 28 verändern und er- hält so das angepasste Steuerprogramm 30 mit dem Programminhalt PI'. Mittels des Round-Trip-Engineering RTE kann ein Vergleich zwischen den Steuerprogrammen 28, 30 vorgenommen werden und so die Veränderung in den Parameterwerten VAL erkannt werden. In diesem Idealfall, wenn die strukturelle Identität der beiden Steuerprogramme 28, 30 nicht verändert wird, weil nur einzelne Parameterwerte VAL verändert wurden, können die manuellen Änderungen mit den Normalmethoden des Round-Trip-Engineering RTE einfach in das Quellsystem übernommen werden, also in den Ablaufplan 26 oder sogar in die Bibliotheksbausteine 22'. Wird dann erneut ein Steuerprogramm aus dem Ablaufplan 26 mittels der Generatoreinheit 14 er¬ zeugt, so erhält man direkt das Steuerprogramm 30, das iden¬ tisch mit dem manuell veränderten Steuerprogramm 28 ist. In dem Fall aber, dass die manuellen Änderungen strukturkritisch sind, lassen sich die Änderungen nicht einfach in das Quellsystem integrieren. Das klassische Round-Trip- Engineering RTE wird hier fehlschlagen, bzw. erfordert es einen großen manuellen Mehraufwand, um das Quellsystem entspre- chend anzupassen. Als Beispiel ist in der FIG gezeigt, wie die Bedienperson nach dem Verändern der Parameterwerte VAL noch weitergeht und auch die Struktur STRUCT des Steuerpro¬ gramms 30 verändert, also beispielsweise Programmbereiche, also einzelne Textpassagen in dem Steuerprogramm, verschiebt oder Textstellen mit Funktionsaufrufen verändert. Hierdurch erhält die Bedienperson das Steuerprogramm 32. Um diese neue Struktur des Steuerprogramms 32 in dem Ablaufplan 26 abbilden zu können, müssten durch einen Programmierer die Bibliotheks- bausteine 22' verändert werden, beispielsweise einen der Bib¬ liotheksbausteine 22' in zwei Bausteine aufteilen oder einen neuen Bibliotheksbaustein erstellen. Dies würde bedeuten, dass die Bedienperson hierzu einen Programmierer beauftragen muss. Bei der Vorrichtung 10 ist dies allerdings nicht nötig. By means of the device 10, the operator does not have to program the control programs 28, 30, 32, 34 himself. The control programs are generated by the code generator unit 14 from the schedule 26. The individual library blocks 22 'of the control plan 26 determine individual program areas of the control program 28, 30, 32, 34. As the program areas defined by the individual library building blocks 22 'are linked to one another, the operator defines them by corresponding links 50 in the flowchart 26. The operator can also set parameters within the individual library blocks 22 '. However, a control program 28, 30, 32, 34 generated on the basis of the flowchart 26 by the code generator unit 14 must, as a rule, still be changed by the operator, so that the control program 28, 30, 32, 34 adhere to the specific, structural characteristics of the system 40 adjusted in order to For example, to take into account a reduced Fördergeschwin ¬ speed of the conveyor belt 48 by wear. For this purpose, the device 10 may have a round-trip engineering functionality RTE. If, for example, the control program 28 is generated on the basis of the flowchart 26 by means of the code generator unit 40, this is a provisional control program with the program content PI. The operator can then change in a simple embodiment, individual Pa ¬ rameterwerte VAL in the control program 28, and receives at the adjusted so control program 30 with the program content PI '. By means of the round-trip engineering RTE, a comparison can be made between the control programs 28, 30 and thus the change in the parameter values VAL can be recognized. In this ideal case, if the structural identity of the two control programs 28, 30 is not changed because only individual parameter values VAL have been changed, the manual changes can be simply transferred to the source system with the normal methods of the round-trip engineering RTE, ie Schedule 26 or even in the library blocks 22 '. Is then again a control program of the flowchart 26 by means of the generator unit 14, he attests ¬, one obtains directly the control program 30, which is identical with the manually modified ¬ table control program 28th However, in case the manual changes are structurally critical, the changes can not be easily integrated into the source system. The classic round-trip engineering RTE will fail here, or it will require a lot of manual overhead to adjust the source system accordingly. As an example, as the operator is still going on after changing the parameter values VAL and the structure STRUCT of Steuerpro ¬ program 30 shown in FIG changed, so for example, program areas, so individual passages in the control program shifts or changes of text with function calls. As a result, the operator receives the control program 32. In order to be able to map this new structure of the control program 32 in the flowchart 26, the programmer would have to use the library Modules 22 'to be changed, for example, one of the Bib ¬ liotheksbausteine 22' split into two blocks or create a new library block. This would mean that the operator must commission a programmer for this purpose. However, this is not necessary with the device 10.
Die Analyseeinheit 20 der Vorrichtung 10 vergleicht das Steu¬ erprogramm 28 und das Steuerprogramm 32 und erzeugt hieraus Anweisungen für die Editiereinheit 16, die sie zu einem Edi- tierskript 52 zusammenfasst . Das Editierskript 52 wird durch die Analyseeinheit 20 in der Speichereinheit 18 gespeichert. In der FIG ist gezeigt, dass in der Speichereinheit 18 auch weitere Editierskripte 54 gespeichert sein können. Hat die Bedienperson beispielsweise das Strukturprogramm 28 zum The analysis unit 20 of the device 10 compares the STEU ¬ erprogramm 28 and the control program 32 and generates therefrom instructions for the editing unit 16, they animal script at a EDI summarizes 52nd The edit script 52 is stored in the storage unit 18 by the analysis unit 20. The FIG shows that further editing scripts 54 can also be stored in the memory unit 18. For example, if the operator has the texture program 28 for
Betreiben einer anderen (hier nicht dargestellten) Anlage ebenfalls angepasst, so kann durch die Analyseeinheit 20 hieraus das andere Editierskript 54 gebildet worden sein. Operation of another (not shown here) system also adapted, then the other editing script 54 may have been formed by the analysis unit 20 therefrom.
Auf Grundlage des Editierskripts 52 kann die Bedienperson ausgehend von dem Ablaufplan 26 mittels der Vorrichtung 10 das Steuerprogramm 32 in automatisierter Form als angepasstes Steuerprogramm 34 erzeugen lassen. Hierzu wird aus dem Ablaufplan 26 durch die Codegeneratoreinheit 14 als ein vorläu¬ figes Steuerprogramm 56 der Programminhalt Tl erzeugt, der von der Codegeneratoreinheit 14 an die Editiereinheit 16 übertragen wird. Die Editiereinheit 16 verändert den Codein¬ halt PI auf der Grundlage der Anweisungen aus dem Editierskript 52. Mit anderen Worten führt die Editiereinheit 16 das Editierskript 52 aus. Das Editierskript 52 enthält die Anwei- sungen, durch welche aus dem Programminhalt PI die Parameter¬ werte VAL verändert werden und auch die Struktur STRUCT verändert wird. Die Editiereinheit 16 gibt als den veränderten Programminhalt den Programminhalt P2 als das Steuerprogramm 34 aus, das nun ohne ein Zutun der Bedienperson direkt an die Eigenschaften der Anlage 40 angepasst ist. Das angepassteBased on the editing script 52, the operator, based on the schedule 26, can have the control program 32 automatically generated by the apparatus 10 as a customized control program 34. For this purpose is generated from the flow chart 26, by the code generator unit 14 as a provisional ¬ Figes control program 56 of the program content Tl, which is transmitted by the code generator unit 14 to the editing unit sixteenth The editing unit 16 changes the code content PI on the basis of the instructions from the editing script 52. In other words, the editing unit 16 executes the editing script 52. The Editierskript 52 includes solutions, by which from the program content PI parameter values ¬ VAL changed and also the structure STRUCT changing the Anwei-. The editing unit 16 outputs, as the changed program content, the program content P2 as the control program 34, which is now adapted directly to the properties of the system 40 without any intervention on the part of the operator. The adapted
Steuerprogramm 34 kann nun mittels der Compilereinheit 16 in den Binärcode 38 übersetzt werden und an die Stelleinheiten 42 der Anlage 40 übertragen werden. Die Einsatzmöglichkeiten einer gemäß der Erfindung ausgestalteten Vorrichtung sind vielseitig. Hierzu sind im Folgenden noch weitere Beispiele angegeben. Control program 34 can now be translated by means of the compiler unit 16 in the binary code 38 and transmitted to the actuators 42 of the system 40. The possible uses of a device designed according to the invention are versatile. For this purpose, further examples are given below.
Vergleiche dazu wieder die Figur: PI, PI λ und P2 können auch für drei verschiedene Anlagenprojekte vorgesehen sein, die alle nach der Inbetriebnahme noch genutzt und gewartet wer¬ den, wobei sich PI und PI λ nur durch Parameter-Werte unter- scheiden, d.h. die zugehörigen Anlagen haben auch nach der Inbetriebnahme keine strukturellen Unterschiede. P2 dagegen wurde bei der Inbetriebnahme so verändert, dass strukturelle Unterschiede vorhanden sind. Damit ist klar, dass die Ände¬ rungen zur späteren Generierung von P2 nur durch den Editier- skript-Ansatz gespeichert werden können, da bei einer Integration in das Comos-Proj ekt sonst die Generierbarkeit von PI und PI λ zerstören würde. Comparisons to back the figure: PI, PI λ and P2 can also be provided for three different investment projects, all still in use after commissioning and maintenance ¬ to, with PI and PI λ divorce must comply only with parameter values, ie the associated systems have no structural differences even after commissioning. P2, on the other hand, was changed during commissioning in such a way that structural differences exist. It is thus clear that the amendments ¬ implications for future generation of P2 can be saved only by the script editing approach, since when integrated into the Comos Project would destroy the generational chemistry PI and PI λ ect otherwise.
In einem ersten zusätzlichen Beispiel verwendet ein Anlagen- hersteiler für den Transport von Flaschen zur Ansteuerung von Weichen aus Kostengründen an vielen Stellen beispielsweise Timer, um auf diese Weise Sensorik einzusparen. So wird beispielsweise am Eingang eines Bandabschnitts, an dem Flaschen vom Typ A oder Typ B ankommen können, der Flaschentyp einma- lig per Sensor registriert und die folgenden Weichen per Timer auf Basis der bekannten Bandgeschwindigkeit so aktiviert, dass die Flaschen entsprechend ihres Typs in verschiedene An¬ lagenteile weitergeleitet werden. Da die Flaschen relativ dicht aufeinander in den Bandabschnitt eingeleitet werden, müssen die Timer präzise genug sein, um fehlende Weichenumstellungen zu vermeiden. In a first additional example, a plant manufacturer for the transport of bottles for controlling switches for cost reasons in many places, for example, timers, to save sensor technology in this way. Thus, for example, at the entrance of a strip section where bottles of type A or type B can arrive, the bottle type is registered once by sensor and the following points are activated by timer on the basis of the known strip speed so that the bottles according to their type in different On ¬ parts of the parts to be forwarded. Since the bottles are introduced relatively close to each other in the band section, the timers must be precise enough to avoid missing turnouts.
Die Werte der Timer werden dabei aus den im Quellsystem bekannten Längen der Bandabschnitte und der Bandgeschwindigkei- ten berechnet und bei der Codegenerierung des Steuerprogramms für die Anlag ein einen Datenbaustein eingetragen. Bei der Inbetriebnahme müssen die Werte der Timer jedoch oft genauer angepasst werden. Weiterhin kann es - sowohl bei der Inbe- triebnahme als auch in späteren Umrüstphasen - zu Änderungen in der Geometrie der Anlage kommen, so dass beispielsweise einzelne Förderbänder gekürzt werden oder Weichen verschoben werden, was sich wieder auf die Timer auswirkt. The values of the timers are calculated from the lengths of the band sections and the band speeds known in the source system, and a data block is entered for the code generation of the control program for the system. During commissioning, however, the values of the timers often have to be adapted more precisely. Furthermore, it can - both in the case of As well as in later changeover phases - changes in the geometry of the system can occur, so that, for example, individual conveyor belts are shortened or points are shifted, which in turn has an effect on the timers.
Beim klassischen Round-Trip-Engineering wird beim Zurückspielen der Daten aus dem modifizierten Datenbaustein festgestellt, dass eine Abweichung vorliegt. Da die Timerwerte im Quellsystem jedoch nicht fest einprogrammiert sind, sondern sich aus den Längen und Geschwindigkeiten der einzelnen Bandabschnitte berechnet, fehlen die Mittel, diese geänderten Ti¬ merdaten im Quellsystem direkt unterzubringen. Ein Überschreiben der berechneten Timerwerte im Quellsystem mit den realen, bei der Inbetriebnahme im Zielsystem der Anlage ein- getragenen Werten würde die Abhängigkeit bei der Berechnung zerstören, was z.B. für die Durchführung von Simulationen von Umrüstungen größere Probleme mit sich bringen würde. In classic round-trip engineering, when the data is read back from the modified data block, it is determined that there is a deviation. Since the timer values are not hard-coded in the source system, but is calculated from the lengths and speeds of the individual strip sections, lack the means to accommodate these modified Ti ¬ merdaten in the source system directly. Overwriting the calculated timer values in the source system with the real values entered during commissioning in the target system of the system would destroy the dependency on the calculation, which would, for example, lead to major problems when carrying out simulations of conversions.
Durch die Verwendung eines Editierskriptes 52, 54 kann man die neuen Timerdaten aus dem Zielsystem einfach speichern, so dass bei der Codegenerierung der entsprechende Datenbaustein in dem vorläufigen Steuerprogramm 56 mit den korrekten Daten beschrieben wird, ohne dass die Abhängigkeiten in der Objektstruktur des Quellprojekts, also des Ablaufplans 26, zerstört werden. By using an edit script 52, 54, one can simply store the new timer data from the target system so that the corresponding data block in the preliminary control program 56 is written with the correct data during code generation without the dependencies in the object structure of the source project, ie of the schedule 26, to be destroyed.
Wenn der Anlagenbauer zu einem späteren Zeitpunkt, um beispielsweise die Effizienz der Anlagenentwicklung zu steigern, neue Templates oder Bibliotheksbausteine 22' erstellen möch- te, kann er von bisher in Betrieb genommenen Anlagen die Historie der Editierskripte 52, 54 analysieren. Hierbei fällt ihm auf, dass die Timerwerte für fast alle Anlagen während des Anlagenlebenszyklus mehrfach geändert wurden, diese Ände¬ rungen aber nur sehr aufwändig in die Objektstruktur des Quellsystems eingepflegt werden konnten, falls dies überhaupt gemacht wurde. Anhand dieser Datenlage ist es für den Anla¬ genbauer leicht zu erkennen, dass hier Handlungsbedarf besteht und die Bibliotheksbausteine 22' entsprechend angepasst werden sollten. Hierzu können z.B. für die Timerwerte bereits im Quellsystem entsprechende Offsetparameter eingeführt werden, in die dann hartcodierte Abweichungen vom berechneten Wert eingetragen werden können. If, at a later point in time, in order to increase the efficiency of the system development, for example, the system designer wishes to create new templates or library modules 22 ', he can analyze the history of the editing scripts 52, 54 from previously commissioned systems. Here, he notices that the timer values have been changed several times for almost all investments during the plant life cycle, these amendments ¬ conclusions could only be very costly entered into the object structure of the source system but if this was done at all. Based on these data it is easy to recognize for the Anla ¬ genbauer that this action is needed and the library blocks 22 'adjusted accordingly should be. For this purpose, for example, corresponding offset parameters can already be introduced for the timer values in the source system, into which hard-coded deviations from the calculated value can then be entered.
In einem weiteren Beispiel arbeitet bei der Erstellung eines NC-Programms der NC-Programmierer mit theoretischen Werten. Für die Planung einer Schnittaufteilung eines Rohteils werden die Fertigungsgeometrie und die anzunehmende Rohteilgeometrie verwendet. Aufgrund von Toleranzen oder Qualitätsproblemen der Rohteile kann es zu erheblichen Abweichungen von der Sollgeometrie kommen. Dies führt dazu, dass der Maschinenbe- diener das NC-Programm, das auf der theoretischen Geometrie basiert, anpassen muss. Dazu ändert er z.B. die Schnittauf- teilung oder fügt zusätzliche Schnitte ein. In another example, when creating an NC program, the NC programmer works with theoretical values. When planning a cutting layout of a blank, the manufacturing geometry and the assumed blank geometry are used. Due to tolerances or quality problems of the blanks, there may be significant deviations from the desired geometry. As a result, the machine operator must adapt the NC program based on the theoretical geometry. For this he changes e.g. the cutting layout or inserts additional cuts.
Spätestens das Einfügen von zusätzlichen Bearbeitungen durch den Maschinenbediener führt zu einer strukturellen Änderung des Steuerprogramms für die CNC-Maschine . Diese Änderung kann dann nicht mehr in den Ablaufplan zurückgeführt werden. Als Ablaufplan ist im Zusammenhang mit CNC-Maschinen auch ein CAM-Programm zu verstehen. Durch die Verwendung von Editierskripten 52, 54 können aber zusätzliche Bearbeitungen neben dem eigentlichen Quellsystem in der Speichereinheit 18 ge- speichert werden. At the latest, the insertion of additional machining operations by the machine operator leads to a structural change of the control program for the CNC machine. This change can then no longer be traced back to the flowchart. As a flowchart, a CAM program is to be understood in connection with CNC machines. By using edit scripts 52, 54, however, additional processing besides the actual source system can be stored in the memory unit 18.
Durch die Auswertung aller Editierskripte 52, 54, die im Verlauf des Betriebs der CNC-Maschine auf der Grundlage unter¬ schiedlicher Ablaufpläne entstehen, können später sogar Rück- Schlüsse auf den Fertigungsprozess gezogen werden. Mit ent¬ sprechenden Auswertungen können z.B. Schwachpunkte oder Probleme erkannt werden, die sich aufgrund der Toleranzen oder Qualitätsproblemen ergeben haben. Wenn bei einer bestimmten Spannvorrichtung beispielsweise immer die Vorschübe reduziert werden, kann das auf z.B. mangelnde Steifigkeit hindeuten. Im oben genannten Beispiel kann eine Auswertung von Editierskripten für alle Bauteile einer Serie z.B. die Probleme mit der Rohteilqualität aufzeigen. In einem dritten Beispiel wird bei einer NC-Programmierung wieder von idealen Bedingungen ausgegangen. Diese liegen in der Fertigung aber oft nicht vor, wie bereits beschrieben wurde. In vielen Fällen wird mit Änderungen in dem NC-By evaluating all Editierskripte 52, 54, incurred in the course of operation of the CNC machine based under ¬ schiedlicher schedules, later even back conclusions about the production process can be drawn. With ent ¬ speaking evaluations eg weaknesses or problems can be detected, which have arisen due to tolerances or quality problems. If, for example, the feed rates are always reduced for a particular fixture, this may indicate, for example, a lack of rigidity. In the above example, an evaluation of editing scripts for all components of a series can for example show the problems with the quality of the stock. In a third example, an NC programming again assumes ideal conditions. However, these are often not available in production, as already described. In many cases, with changes in the NC
Programm auf den Verschleiß der Arbeitsmittel reagiert. So werden z.B. Soll-Koordinaten geändert, um den Verschleiß von Maschinenführungen auszugleichen. Eine andere, häufig angewandte Methode ist die Nullpunktverschiebung, um Fehler im Aufspannsystem zu kompensieren. Program reacts to the wear of the working equipment. Thus, e.g. Target coordinates changed to compensate for the wear of machine guides. Another commonly used method is zero offset to compensate for errors in the fixture system.
Durch eine Auswertung mehrerer Editierskripte 52, 54, die sich bei einem Vergleich der vorläufigen, automatisiert generierten CNC-Steuerprogramme mit den jeweils durch den Maschi- nenbediener daraus gebildeten angepassten CNC-By an evaluation of several edit scripts 52, 54, which result from a comparison of the provisional, automatically generated CNC control programs with the adapted CNC machining systems formed therefrom by the machine operator.
Steuerprogrammen ergeben, können solche Tendenzen schon frühzeitig erkannt werden, bevor die Bauteile völlig verschlei¬ ßen. Entsprechend werden dann weitere Schäden vermieden und eine Beeinträchtigung der Produktivität verhindert. Control programs, such tendencies can be detected early on, before the components completely wear ¬ Shen. Accordingly, then further damage is avoided and prevents deterioration of productivity.
Insgesamt ist durch die Beispiele gezeigt, wie ein normaler Generierprozess von Steuerprogrammen um eine zweite Stufe er¬ weitert wird, um textuelle Änderungen am vorläufigen, in der ersten Stufe generierten Steuerprogramm vorzunehmen. Diese textuellen Änderungen basieren auf Editierskripten 52, 54, die eine Editiereinheit auf Grundlage des vorläufigen Steuer¬ programms ausführt, wodurch dann die manuellen Änderungen berücksichtigt werden, die ohne Weiteres in der Projektstruktur des Quellsystems übernommen werden konnten. Overall, is shown by the examples, as a normal generating process control programs to a second stage weitert will he ¬ to make changes to the preliminary textual, generated in the first stage control program. These changes are based on textual editing scripts 52, 54, which performs an editing unit on the basis of provisional tax ¬ program, which then causes the manual changes are taken into account, which could be incorporated into the project structure of the source system easily.
Ein Editierskript für diese zweite Generierungsstufe wird da¬ bei automatisch mittels der Analyseeinheit 20 aktualisiert, so dass ohne manuelle Eingriffe auf Seiten des Quellsystems eine vollständige Übernahme der manuellen Änderungen, die im Zielsystem der Anlage 40 durchgeführt werden, erfolgen kann. Dies ermöglicht eine einfache und schnelle Archivierung von manuellen Änderungen, so dass die Problematik der doppelten Datenhaltung, bei der sowohl Quell- als auch Zielsystem- Steuerprogramme enthalten sind, vermieden wird. A Editierskript for this second generation stage since ¬ with updated automatically by means of the analysis unit 20 so that, a complete acquisition of manual changes which are performed in the target system of the plant 40 be made without manual intervention on the part of the source system. This allows easy and fast archiving of manual changes, so that the problem of duplicate Data storage, in which both source and destination control programs are included, is avoided.
Eine wichtige Weiterbildung dieses Ansatzes ist, die Editier- skripte, die während des Lebenszyklus eines Engineering- Projekts anfallen, zu analysieren, um daraus konkrete Informationen abzuleiten, an welchen Stellen im Steuerprogramm besonders häufig manuelle Änderungen durchgeführt werden. Diese Informationen können dazu genutzt werden, um bei der Erstel- lung ähnlicher Projekte die Templates, Vorlagen oder Biblio¬ theksbausteine 22' und die Objektstruktur in Form des Ablauf¬ planes 26 so zu optimieren, dass die manuelle Integration der im Zielsystem der Anlage 40 durchgeführten Änderungen in das Zielsystem möglichst einfach ist. Dadurch wird die zur Pflege eines Engineering-Projekts benötigte Zeit deutlich reduziert. An important further development of this approach is to analyze the editing scripts that occur during the life cycle of an engineering project, in order to derive concrete information about where in the control program particular manual changes are made. This information can be used in order during generation of similar projects development templates, templates or Biblio ¬ theksbausteine 22 'and optimize the object structure in the form of the flow ¬ planes 26 so that manual integration implemented in the target system the plant 40 Changes in the target system is as easy as possible. This significantly reduces the time required to maintain an engineering project.
Aus der Analyse der Editierskripte kann man darüber hinaus auch systematische Fehler im Design ableiten. Dies ist insbesondere bei CAD-CAM-CNC-Ketten nützlich, da dort beispiels- weise häufige Änderungen an den Steuerprogrammen auf einen überdurchschnittlichen Verschleiß oder eine fehlerhafte Konfiguration hindeuten können. In addition, systematic errors in the design can be derived from the analysis of the editing scripts. This is particularly useful for CAD-CAM CNC chains, as there, for example, frequent changes to the control programs can indicate an above-average wear or a faulty configuration.
Bezugs zeichenliste Reference sign list
10 Vorrichtung 10 device
12 Bedieneinheit  12 control unit
14 Codegeneratoreinheit  14 code generator unit
16 Editiereinheit  16 editing unit
18 Speichereinheit  18 storage unit
20 Analyseeinheit  20 analysis unit
22 Datenbank  22 database
22' Bibliotheksbaustein  22 'library block
24 Schnittstelle  24 interface
26 Ablaufplan  26 Schedule
28, 30, 32, Steuerprogramm  28, 30, 32, control program
36 Compilereinheit  36 compiler unit
38 Binärcode  38 binary code
40 Anlage  40 attachment
42 Stelleinheit  42 actuator
44 Flaschenreinigung  44 bottle cleaning
46 Flaschenabfüllung  46 bottling
48 Förderband  48 conveyor belt
50 Verknüpfung  50 link
52, 54 Editierskript  52, 54 Editing script
56 Vorläufiges Steuerprogramm 56 Provisional tax program
PI, PI', P2 Programminhalt PI, PI ', P2 program content
RTE Round-Trip-Engineering RTE round trip engineering
STRUCT Strukturelle Änderung VAL Variablenänderung STRUCT Structural change VAL Variable change

Claims

Patentansprüche claims
1. Vorrichtung (10) zum Konfigurieren eines Betriebsablaufs einer Prozess- und/oder Fertigungsanlage (40), aufweisend: - eine Bedieneinheit (12), die dazu ausgelegt ist, einem Be¬ nutzer Vorlagen (22')/ durch die jeweils ein Teil des Be¬ triebsablaufs definiert ist, bereitzustellen und diese Vorla¬ gen (22') gemäß den Eingaben des Benutzers zu einem Ablauf¬ plan (26) zu verknüpfen, 1. Device (10) for configuring an operating sequence of a process and / or production plant (40), comprising: - an operating unit (12) which is designed to be a user ¬ templates (22 ') / by each one part of be ¬ operating procedure is defined to provide these and Vorla ¬ gen (22 ') in accordance with the input from the user to link to a drain ¬ plan (26),
- eine Codegeneratoreinheit (14), die dazu ausgelegt ist, aus dem Ablaufplan (26) ein vorläufiges Steuerprogramm (56) für zumindest eine programmierbare Stelleinheit (42) der Anlage (40) zu erzeugen, a code generator unit (14) adapted to generate from the flow chart (26) a preliminary control program (56) for at least one programmable control unit (42) of the system (40),
gekennzeichnet durch marked by
- eine Speichereinheit (18), die dazu ausgelegt ist, ein Edi¬ tierskript (52, 54) zu speichern, welches zumindest eine An¬ weisung zum Anpassen des vorläufigen Steuerprogramms (56) an spezifische, strukturelle Eigenschaften der Anlage (40) um- fasst, und - a memory unit (18) which is adapted to receive a Edi ¬ animal script (52, 54) to store comprising at least an on ¬ instructions for adjusting the provisional control program (56) to specific structural features of the plant (40) environmentally grasp, and
- eine mit der Speichereinheit (18) gekoppelte Editiereinheit (16), die dazu ausgelegt ist, aus dem vorläufigen Steuerpro¬ gramm (56) durch Ausführen der zumindest einen Anweisung des Editierskripts (52, 54) ein an die Anlage angepasstes Steuer¬ programm (34) zu erzeugen und an die Anlage (40) auszugeben. - coupled to said memory unit (18) editing unit (16), which is adapted from the provisional Steuerpro ¬ program (56) by executing at least one instruction of the Editierskripts (52, 54) a (to the plant matched control ¬ program 34) and output to the system (40).
2. Vorrichtung (10) nach Anspruch 1, wobei die Codegeneratoreinheit (14) dazu ausgelegt ist, durch das vorläufige Steuer¬ programm (56) zumindest eine aus den folgenden Stelleinheiten (42) zu steuern: eine speicherprogrammierbare Regelung, eine speicherprogrammierbare Steuerung, eine Steuerung einer CNC- Maschine . 2. Device (10) according to claim 1, wherein the code generator unit (14) is adapted to control by the provisional control ¬ program (56) at least one of the following actuation units (42): a programmable logic controller, a programmable logic controller, a Control of a CNC machine.
3. Vorrichtung (10) nach einem der vorhergehenden Ansprüche, wobei die Editiereinheit (16) dazu ausgelegt ist, zum Erzeu- gen des angepassten Steuerprogramms (34) einen Textbereich des vorläufigen Steuerprogramms (56) durch einen anderen Textbereich (VAL) zu ersetzen, der durch das Editierskript (52, 54) vorgegeben ist. 3. Apparatus (10) according to any one of the preceding claims, wherein the editing unit (16) is adapted to substitute a text area of the preliminary control program (56) with another text area (VAL) to create the customized control program (34); specified by the edit script (52, 54).
4. Vorrichtung (10) nach einem der vorhergehenden Ansprüche, wobei die Editiereinheit (16) dazu ausgelegt ist, zum Erzeu¬ gen des angepassten Steuerprogramms (34) eine Datenstruktur des vorläufigen Steuerprogramms (56) durch Verschieben von Programmbereichen in eine Zielstruktur (STRUCT) umzuwandeln, die durch das Editierskript (52, 54) vorgegeben ist. 4. Device (10) according to any preceding claim, wherein the editing unit (16) is adapted to Erzeu ¬ gene of the adapted control program (34) a data structure of the preliminary control program (56) by shifting program areas in a target structure (STRUCT) specified by the edit script (52, 54).
5. Vorrichtung (10) nach einem der vorhergehenden Ansprüche, wobei eine Skripterzeugungseinheit (20) bereitgestellt ist, welche dazu ausgelegt ist, das vorläufige Steuerprogramm (28) mit einem bereits durch eine Bedienperson manuell angepassten Steuerprogramm (30, 32) der Anlage (40) zu vergleichen und anhand eines erkannten Unterschiedes zwischen diesen beiden Steuerprogrammen (28, 30, 32) das Editierskript (52, 54) in der Weise zu erzeugen, dass bei Ausführen des Editierskriptes (52, 54) durch die Editiereinheit (16) das hierdurch erzeugte angepasste Steuerprogramm (34) der Editiereinheit (16) mit dem manuell angepassten Steuerprogramm (30, 32) überein- stimmt. 5. Device (10) according to one of the preceding claims, wherein a script generating unit (20) is provided, which is adapted to the provisional control program (28) with an already manually adjusted by an operator control program (30, 32) of the system (40 ) and, on the basis of a recognized difference between these two control programs (28, 30, 32), to generate the edit script (52, 54) in such a way that when the edit script (52, 54) is executed by the editing unit (16) generated control program (34) of the editing unit (16) with the manually adjusted control program (30, 32) matches.
6. Vorrichtung (10) nach einem der vorhergehenden Ansprüche, wobei eine Analyseeinheit (20) bereitgestellt ist, welche da¬ zu ausgelegt ist, 6. Device (10) according to one of the preceding claims, wherein an analysis unit (20) is provided, which is designed to ¬
a) zumindest zwei Editierskripte (52, 54) der genannten Art zu vergleichen und/oder zumindest zwei durch eine Bedienperson manuell angepasste Steuerprogramme (30, 32) der Anlage (40) jeweils mit demjenigen Steuerprogramm (28, 30) zu verglichen, das durch die Bedienperson jeweils verändert wurde, und a) to compare at least two editing scripts (52, 54) of said type and / or to compare at least two control programs (30, 32) of the system (40) manually adapted by an operator to the respective control program (28, 30) the operator was changed in each case, and
b) durch das Vergleichen zu ermitteln, wie häufig bestimmte, Veränderungen insgesamt vorgenommen wurden, und, falls die Häufigkeit einer bestimmten Veränderung größer als ein vorbestimmter Schwellenwert ist, diese Veränderung zu signalisie- ren. b) by comparing how often certain changes have been made in total and, if the frequency of a particular change is greater than a predetermined threshold, signaling that change.
7. Vorrichtung (10) nach Anspruch 6, wobei die Analyseeinheit (20) dazu ausgelegt ist, auf Grundlage einer signalisierten Veränderung zumindest eine der Vorlagen (22') zu verändern. 7. Apparatus (10) according to claim 6, wherein the analysis unit (20) is adapted to change based on a signalized change at least one of the templates (22 ').
8. Verfahren zum Konfigurieren eines Betriebsablaufs einer Prozess- und/oder Fertigungsanlage (40), mit den Schritten:8. A method for configuring an operating sequence of a process and / or production plant (40), comprising the steps:
- Erzeugen eines vorläufigen Steuerprogramms (56) aus einem Ablaufplan (26), welcher aus miteinander verknüpften Vorlagen (22') für Teile des Betriebsablaufs von einem Benutzer mit- tels einer Bedieneinheit (12) erstellt wurde, durch eine Co¬ degeneratoreinheit (14), - generating a provisional control program (56) from a schedule (26) which was of linked template (22 ') for parts of the operation by a user means of with- an operating unit (12) created by co ¬ degeneratoreinheit (14) .
- Erzeugen eines angepassten Steuerprogramms (34) aus dem vorläufigen Steuerprogramm (56) durch Ausführen eines Editierskripts (52, 54) mittels einer Editiereinheit (16), wobei das angepasste Steuerprogramm (34) hierdurch an spezifische, strukturelle Eigenschaften der Anlage (40) angepasst wird.  - Generating a customized control program (34) from the preliminary control program (56) by executing an editing script (52, 54) by means of an editing unit (16), the adapted control program (34) thereby adapted to specific, structural characteristics of the system (40) becomes.
9. Verfahren nach Anspruch 8, wobei durch eine Analyseeinheit (20) eine alte Version des vorläufigen Steuerprogramms (28) mit einem daraus von einer Bedienperson durch manuelles Anpassen erzeugtes Steuerprogramm (32) verglichen wird und anhand eines dabei erkannten Unterschieds Anweisungen erzeugt werden, durch die angegeben ist, wie aus der alten Version (28) des vorläufigen Steuerprogramms das manuell angepasste Steuerprogramm (32) erzeugt worden ist, und diese Anweisungen zu dem Editierskript (52, 54) zusammengefasst werden. The method of claim 8, wherein an analysis unit (20) compares an old version of the preliminary control program (28) with a control program (32) generated therefrom by an operator by manual adjustment and generates instructions based on a detected difference indicating how the manual control program (32) has been created from the old version (28) of the preliminary control program and these instructions are combined into the editing script (52, 54).
10. Verfahren nach Anspruch 8 oder 9, wobei durch eine Analyseeinheit (20) mehrere von einer Bedienperson durch manuelles Anpassen erzeugte Steuerprogramme (32) mit der unveränderten Ausgangsversion (28) des jeweiligen Steuerprogramms verglichen werden und eine Häufigkeit gleicher, von der Bedienperson durchgeführter Veränderungen ermittelt wird und, falls die Häufigkeit einer bestimmten Veränderung größer als ein vorbestimmter Schwellenwert ist, diese Veränderung als eine besonders häufige Veränderung signalisiert wird. 10. The method of claim 8 or 9, wherein by an analysis unit (20) a plurality of generated by an operator by manually adjusting control programs (32) with the unchanged output version (28) of the respective control program and a frequency equal, carried out by the operator changes is determined and, if the frequency of a certain change is greater than a predetermined threshold value, this change is signaled as a particularly frequent change.
11. Verfahren nach Anspruch 10, wobei zumindest eine der Vorlagen (22') auf der Grundlage zumindest einer als besonders häufige Veränderung erkannten Veränderung derart angepasst wird, dass sich daraus ein angepasster Ablaufplan und daraus wiederum ein vorläufiges Steuerprogramm ergibt, bei dem die manuelle Anpassung nicht mehr nötig ist. 11. The method of claim 10, wherein at least one of the templates (22 ') is adapted on the basis of at least one change recognized as being particularly frequent change, resulting in an adapted schedule and, in turn, a preliminary control program in which the manual adjustment is no longer necessary.
12. Verfahren nach einem der Ansprüche 8 bis 11, wobei für den Ablaufplan mehrere Editierskripte bereitgestellt werden, von denen jedes dazu ausgelegt ist, das aus dem Ablaufplan erzeugte vorläufige Steuerprogramm an spezifische, struktu¬ relle Eigenschaften einer anderen Anlage anzupassen, und aus dem vorläufigen Steuerprogramm in Abhängigkeit von einer Benutzerauswahl eines der Editierskripte durch die Editiereinrichtung ausgewählt und zum Erzeugen eines angepassten Steuerprogramms für die zugehörige Anlage zugrundegelegt wird. 12. The method according to any one of claims 8 to 11, wherein a plurality of Editierskripte are provided for the schedule, each of which is adapted to adjust the preliminary control program generated from the flow chart of specific struc ¬ tural properties of another plant, and from the provisional Control program in response to a user selection of one of the editing scripts selected by the editing device and used to generate a customized control program for the associated system.
13. Computerprogrammprodukt mit einem auf zumindest einem Speichermedium gespeicherten Programmcode, welcher dazu ausgelegt ist, bei Ausführen des Programmcodes durch einen Ar- beitsplatzcomputer ein Verfahren nach einem der Ansprüche 8 bis 12 durchzuführen. 13. Computer program product with a program code stored on at least one storage medium, which is designed to perform a method according to one of claims 8 to 12 when the program code is executed by a workstation computer.
PCT/EP2013/055984 2013-03-21 2013-03-21 Configuration of an operational procedure of a process and/or production system WO2014146717A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2013/055984 WO2014146717A1 (en) 2013-03-21 2013-03-21 Configuration of an operational procedure of a process and/or production system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2013/055984 WO2014146717A1 (en) 2013-03-21 2013-03-21 Configuration of an operational procedure of a process and/or production system

Publications (1)

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

Family

ID=48045460

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2013/055984 WO2014146717A1 (en) 2013-03-21 2013-03-21 Configuration of an operational procedure of a process and/or production system

Country Status (1)

Country Link
WO (1) WO2014146717A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832520A (en) * 1996-07-03 1998-11-03 Miller, Call, Plauck And Miller Automatic file differencing and updating system
EP1184759A2 (en) * 2000-08-07 2002-03-06 Siemens Aktiengesellschaft Flow chart programmation for industial controllers, especially motion controllers
US7949422B1 (en) * 2007-06-22 2011-05-24 Vermont Machine Tool Corporation Machine tool control system
EP2592515A2 (en) * 2011-11-11 2013-05-15 Rockwell Automation Technologies, Inc. Scalable automation system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832520A (en) * 1996-07-03 1998-11-03 Miller, Call, Plauck And Miller Automatic file differencing and updating system
EP1184759A2 (en) * 2000-08-07 2002-03-06 Siemens Aktiengesellschaft Flow chart programmation for industial controllers, especially motion controllers
US7949422B1 (en) * 2007-06-22 2011-05-24 Vermont Machine Tool Corporation Machine tool control system
EP2592515A2 (en) * 2011-11-11 2013-05-15 Rockwell Automation Technologies, Inc. Scalable automation system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHRISTOPHER W. FRASER AND EUGENE W. MYERS: "An Editor for Revision Control", ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1987, XP040097442 *
NIELS REIJERS; KOEN LANGENDOEN: "Efficient Code Distribution in Wireless Sensor Networks", WSNA 2003, SAN DIEGO CALIFORNIA, 2003, XP040167967 *

Similar Documents

Publication Publication Date Title
EP3335086B1 (en) Method and control device for optimized controlling of a machine tool
DE102005047543A1 (en) Controller and/or machine behavior simulating method for tool or production machine, involves automatically transferring data over tool or production machine from machine to simulation device using intranet and/or internet
EP0753168A1 (en) Process for automatic fault diagnosis
EP2524267B1 (en) System comprising development environments and machine controls
WO2017005783A1 (en) Computer-implemented method for processing data object variants
EP3809218A1 (en) Production control system
AT412131B (en) AUTOMATION SYSTEM FOR SOLVING A PROCESS TECHNICAL TASK AND METHOD FOR THIS
DE102017007909A1 (en) Production control equipped with a function for identifying the cause after an operation stop of a production facility comprising manufacturing facilities
DE112005002185B4 (en) Method for operating an automation device or device for carrying out the method
WO2021185909A1 (en) Computer-implemented method for creating control data sets, cad-cam system and production system
EP0801340A1 (en) Method and device for controlling a machine tool, in particular an electro-erosion machine
WO2014146717A1 (en) Configuration of an operational procedure of a process and/or production system
EP2126643B1 (en) Method for exchanging structural components for an automation system
EP1383061A2 (en) Procedure and configurator for the construction of a plant concept from a number of plant components
EP3658996A1 (en) Method for operating a numerically controlled production system, and production system for same
EP3812860B1 (en) Production control system
EP3540539A1 (en) Method for carrying out the computer-aided simulation of the operation of an automatic machine
EP2866105A1 (en) Method for generating automation programs
EP3204831A1 (en) Method for programming and configuring a device in a traceable manner
DE102007031693A1 (en) Method for characterization of natural radiation, involves determining starting condition or initial condition, process or processing step and result or resulting state for each natural radiation
DE102008063684A1 (en) Method for describing basic activities for automated, dynamic generation of process-specific workflows in industry, involves producing resulting state of activities during execution of process or treatment steps based on starting condition
EP2574996A1 (en) Method for determining a partial load state of a system
DE102005008136A1 (en) Development system for process control systems and associated method and computer program product
DE102018111603A1 (en) Method and apparatus for configuring a robotic machining system
EP3712720B1 (en) Method and device for controlling a technical system using an adaptive simplex architecture

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: 13713807

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: 13713807

Country of ref document: EP

Kind code of ref document: A1