WO2020015837A1 - Verfahren und anordnung zur bereitstellung, überprüfung und optimierung eines automatisierungsprogramms - Google Patents
Verfahren und anordnung zur bereitstellung, überprüfung und optimierung eines automatisierungsprogramms Download PDFInfo
- Publication number
- WO2020015837A1 WO2020015837A1 PCT/EP2018/069805 EP2018069805W WO2020015837A1 WO 2020015837 A1 WO2020015837 A1 WO 2020015837A1 EP 2018069805 W EP2018069805 W EP 2018069805W WO 2020015837 A1 WO2020015837 A1 WO 2020015837A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- automation
- component
- program
- requirements
- programmed
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000012360 testing method Methods 0.000 claims abstract description 21
- 238000013439 planning Methods 0.000 claims abstract description 14
- 238000004519 manufacturing process Methods 0.000 claims description 55
- 238000004088 simulation Methods 0.000 claims description 7
- 238000013024 troubleshooting Methods 0.000 claims description 4
- 230000006978 adaptation Effects 0.000 claims description 2
- 238000004458 analytical method Methods 0.000 claims description 2
- 238000012795 verification Methods 0.000 claims 1
- 238000011161 development Methods 0.000 abstract description 6
- 238000009776 industrial production Methods 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000001364 causal effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000010327 methods by industry Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41885—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24034—Model checker, to verify and debug control software
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35051—Data exchange between cad systems, cad and cam
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Definitions
- the invention relates to a method for creating, checking and optimizing an automation program of an industrial manufacturing device according to the preamble of claim 1, and an arrangement for creating, checking and optimizing an automation program of an industrial manufacturing device according to the preamble of claim 9.
- an automation specialist usually uses computer-aided tools to describe the product requirements, the manufacturing process and the manufacturing and automation system, for example, the "IBM Rational Doors” program for "requirements engineering”, the product “Tecnomatix Process Simulate / Plant Simulation” for the description of the manufacturing process and the tool “Siemens Automation Designer” for the description of the manufacturing plant.
- Figure 1 shows schematically a constellation of the various aids from the prior art, wherein in the first stage (above in the figure), the tools for requirement engineering A (requirements for the product and the production system), systems engineering B (requirements for the production process) and a tool for engineering the production system C are arranged.
- the tools for engineering the automation hardware D On the next level (as shown in the picture below) are the tools for engineering the automation hardware D and for engineering or programming the automation software E.
- the "target”, ie the fully programmed automation component F (for example a programmable logic controller PLC) is built and programmed from the configuration data created in relation to the hardware and the software.
- a “generator unit” G is to be used for the automatic creation of specifications both for the requirements (defined in tools A, B and C) for automatic processing in the project planning means D, E for the hardware and software , and on the other hand, this “generator component” is intended to provide specifications for checking the created hardware configuration and in particular a created automation program.
- the solution of the task according to the invention comprises a so-called “solver component”, which ensures compliance with the generated specifications that were defined by means of the generator component, after completion of the hardware configuration and software programming, either by using model checking or at the latest when commissioning (productive commissioning or commissioning in a test or simulation scenario) is monitored and, in the event of any deviations, provides suitable, corrective feedback to the hardware project planning and / or software project planning.
- solver component ensures compliance with the generated specifications that were defined by means of the generator component, after completion of the hardware configuration and software programming, either by using model checking or at the latest when commissioning (productive commissioning or commissioning in a test or simulation scenario) is monitored and, in the event of any deviations, provides suitable, corrective feedback to the hardware project planning and / or software project planning.
- the object is achieved in particular by a method according to claim 1 and by an arrangement according to claim 9.
- the arrangement is advantageously designed such that it can carry out essential process steps in a partially or fully automated manner.
- the solution to the problem is provided by a method for creating, checking and optimizing a hardware configuration and / or an automation program of an industrial manufacturing facility, whereby during a project planning phase from requirements of a product to be manufactured, from requirements of a manufacturing process and from requirements.
- a first specification for a hardware configuration of at least one automation component and for an automation program for the at least one automation component and a second specification for tests of the at least one automation component programmed with the automation program are created in one step second step based on the first specification, the automation components are configured with regard to their hardware aspects and the automation program is created, in a third step, the functionality of the automation component programmed with the automation program or at least the automation program is checked based on the second specification, and in a fourth Step based on the determined deviations from the first specification, an adaptation of the at least one automation program and / or the configuration of the Automation component takes place. This procedure ensures consistency between the requirements and the configured or programmed automation component.
- the object is also achieved by an arrangement for creating, checking and optimizing a hardware configuration and / or an automation program of an industrial manufacturing facility, with at least one description component for describing the requirements for a product to be manufactured, for describing a manufacturing process and / or to describe the manufacturing System with at least one engineering component for projecting at least one automation component with regard to its hardware and for creating at least one automation program for programming the automation component, and with the automation component to be configured and programmed.
- a generator component for generating a first specification for a hardware configuration of the at least one automation component and for the automation program and for creating a second specification for tests of the automation component programmed with the automation program from the requirements of the product to be manufactured, the Description of the manufacturing process and / or the description of the manufacturing facility is set up, and a solver component is provided, the solver component being set up to check the automation program and / or the automation component programmed with the automation program and in operation based on the second specifications.
- the configured and programmed automation component or the complete configured automation solution can be put into operation in a real production environment, so that the checks are checked during a productive or at least real operation.
- the real production environment or manufacturing plant can be simulated at least partially, but also completely, by means of a simulation scenario, i.e. in the sense of a hardware-in-the-loop test (HIL).
- HIL hardware-in-the-loop test
- the program code can also be checked analytically, for example by "parsing” it. Execution on a simulator, that is, without using the actual "target hardware", is also possible for test purposes.
- the first specification is advantageously formulated at least in relation to the requirements for the automation program in the form of contracts.
- the notation in the form of contracts enables the requirements to be defined in machine-readable form, so that the following tools in the processing chain, in particular the tools for configuring the hardware and creating the software, make these contracts partially or even fully automatic evaluated and implemented in a hardware configuration and in a software configuration partially or fully automatically.
- additional program code is generated in particular from the second specification, which is part of the automation program and which is used for later checking and advantageously also for later productive operation, the correct functionality of the automation solution with regard to the requirement profiles is checked, documented and ensured.
- This program code is preferably generated fully automatically or at least automatically adapted or parameterized to the specifications, in particular to the second specification.
- a solver component is used for the comparison between the requirements according to the second specification and the results during the operation of the automation component or during an offline analysis of the automation program.
- the solver component can take over and evaluate specifications on the one hand and take over runtime information or program specifications (the former from the automation component in operation, the latter from the programming tool), then both the specifications and the runtime or program information are evaluated against one another by the solver component.
- the solver component in the fourth step, in particular through the solver component, the variables of the automation program which contribute to the violation of the specifications and their current values at the time of the violation, i.e.
- FIG. 1 shows the main
- Figure 2 shows the main flow of information in an arrangement according to the invention.
- FIG. 1 explains the largely automated main information flow when creating an automation solution according to the prior art.
- activities from the area of requirement engineering A (requirements, e.g. from the product and production conditions), systems engineering B, C (engineering of the manufacturing process B, engineering of the manufacturing plant C), and automation engineering D, E (hardware, software of the automation components).
- the reference symbols A, B and C symbolize the software tools used by various manufacturers for the formulation and creation of the requirements, for example for the component A the program IBM Rational Doors, for component B the program package Tecnomatix Process Simulate / Plant Simulation, for component C the tool Siemens Automation Designer.
- other tools from other manufacturers can also be used.
- components A, B and C are used in the components of the automation engineering D, E to configure the hardware of the automation solution and the software of the automation tization solution, in particular to create a programmable logic controller F ("target").
- FIG. 2 schematically shows an arrangement according to the invention, the corresponding reference symbols A,
- the system according to the invention consists essentially of eight elements.
- the software tools for requirements engineering A, for the description of the manufacturing process B, for the description of the manufacturing plant C, for the description and configuration of the automation hardware D and for the description or programming of the automation software E are the same as with reference to FIG. 1 described.
- the configuration can also deviate in a specific application, in particular components A, B and C can also be summarized differently or divided into different individual tools and program packages.
- a larger number of programmable automation components will also be provided.
- a single automation program can then be created, but it will be a whole family of different automation programs for the different processing stages of a production plant.
- the arrangement according to the invention according to FIG. 2 additionally shows a generator for the automated generation of specifications G and a solver H.
- the generator for the automated generation of specifications G is shown in FIG. 2 shown twice because this component is integrated at two different points in the flow of information. In fact, it is usually only a single device or a single software instance on a computing unit (PC, server, cloud or similar), but can also be distributed across different instances without deviating from the core idea of the solution outlined here be offered or even in a "cloud" as a service.
- the Solver H the functionality of which can also be divided into different instances, or the functionality of which can also be distributed as a service in a "cloud” or in another Infrastructure can be offered.
- component G namely the generator for the automated generation of specifications.
- This facet of component G can do its job for an end user of the "invisible" in the background means that user input and manual control of the component are generally not required.
- Solver H the functionality of which will be described later and whose task can, but does not have to, run in the background.
- the system shown uses the generator for the automated generation of specifications G to generate a formal specification.
- Component G is designed in such a way that information from a previous development tool or, ideally, from several previous engineering tools (in particular components A, B and C) is used in such a way that the first specifications are generated that are used to configure the Hardware and for generating the software are required and can therefore be processed directly by components D, E. They can also be prepared visually for the user so that he can create the program or the hardware configuration appropriately. It is also possible that suitable settings and parameters are automatically selected in components D, E (e.g. value range, types, etc.).
- second specifications are generated which, in one exemplary embodiment, can be fed directly to the solver H and which essentially serve to check the configuration of hardware and software.
- the specifications that are generated by component G are specifications that are supplied to solver H as an information basis or as test criteria (test specification), and in another example, so-called test vectors that within a test framework (simulation environment) or at runtime (productive operation) directly on the controller F (target), or also generated runtime tests that can be checked on the controller F.
- test specification a specification that is supplied to solver H as an information basis or as test criteria
- test vectors that within a test framework (simulation environment) or at runtime (productive operation) directly on the controller F (target), or also generated runtime tests that can be checked on the controller F.
- tool-specific interfaces to components A, B and C on the one hand and components D, E otherwise used.
- component G generator for the automated generation of specifications
- component G has, for example, an interface to the minimum stored in the program "Simulink” - and to accept maximum values of inputs of a controller in the hardware configuration D and the software creation E (for example TIA portal) in such a way that they can be evaluated by the solver H.
- constraints can, for example, be converted into a predicate logic formula that can be automatically evaluated by the solver H.
- component H tool for generating the automation Software
- program code created manually, semi-automatically or fully automatically, in particular, for example, a control code for calling up and connecting a controller can be checked automatically for compliance with the minimum and maximum values using component H.
- the check can also be carried out in component E without Solvers H are successful (e.g. based on types, etc.).
- solver H testing is a so-called NP-complete problem.
- generator G parameterizes the system according to the invention in such a way that test Vectors are generated that check the program code to be examined.
- Component G thus generates additional program code that can be executed by “target” F, for example instead of the predicate logic formulas described above.
- the generator component G can also be set in a third variant in such a way that program code is generated separately or additionally, which checks the compliance with the minimum and maximum values at runtime on the “Target -Component "F.
- This additionally generated program code can be visible to a user in a first variant and thus also be changed, or" invisible "in another variant, that is to say in its view or at least in the editing possibility for a user be locked.
- variable assignment is shown in the user program, ideally only or primarily the variables leading to the violation and their assignment (values) are displayed.
- a user can identify the cause of the error, for example for a so-called "debugging".
- the arrows with the reference symbol RAV show this reversal of the variable assignment in the event of a violation of the specification.
- component G it can be said for component G that it is intended to create so-called “contracts” of software modules, the software modules preferably being able to build on an IEC61131-3-compatible programming language, which has the advantage that the here, typical users usually have a good command of these languages and therefore the contracts formulated in such a programming language can be easily understood and checked by this user.
- Components D and E are used for project planning or programming of the hardware and software of the "target" F.
- the contracts can be formulated, for example, as predicate logic formulas, that is to say via variables
- the processing chain uses such predicate logic formulas, for example in some tools and software tools for describing the production system C, for example the "Automation Designer" program from Siemens AG, it is possible to define software modules with specific interfaces.
- the system according to the invention also has the possibility of defining semantic interfaces of the software modules, for example in variants, but also in time dependencies, These are mapped to LTL formulas, which are already stored in components D and E using generator component G and, as already described, are used for programming target F and as an information basis for the work of solver H.
- the solution creates the consistency between the systems A / B / C and D / E / F and enables automatic checking of compliance with the specification.
- Existing parts of the specification do not have to be entered and checked again manually, but can be reused with the system from artifacts from previous development phases.
- a prerequisite for the solution is the use of components G and H, which enable a connection between A / B / C to D / E and in turn to F / H.
- the advantage of G is that the specification does not start with the programming of the automation code with E or the compilation of the automation hardware is created with D, but takes place in previous phases with the respective tool-specific options.
- the component G then ensures the smooth transfer of the information into an automatically usable form in D and E (with regard to E by mapping, for example, on additional IEC61131-3 code for the target F or for runtime tests) or also on predicate logic "Assertions" that can be evaluated by H.
Landscapes
- Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
Die Erfindung betrifft ein Verfahren und eine Automatisierungsanordnung zur Erstellung und Überprüfung und Optimierung eines Automatisierungsprogramms einer industriellen Fertigungseinrichtung, mit zumindest einer Beschreibungskomponente (A, B, C) zur Beschreibung von Anforderungen, mit zumindest einer Engineering-Komponente (D, E) zur Projektierung zumindest einer Automatisierungskomponente (F) hinsichtlich ihrer Hardware und zur Erstellung zumindest eines Automatisierungsprogramms der Automatisierungskomponente (F). Dabei ist eine Generatorkomponente (G) zur Erzeugung einer ersten Spezifikation für eine Hardware-Konfiguration und für das Automatisierungsprogramm, und zur Erstellung einer zweiten Spezifikation für Tests der programmierten Automatisierungskomponente (F) aus den Anforderungen eingerichtet, und weiter ist eine Solverkomponente (H) vorgesehen, wobei diese zur Überprüfung des Automatisierungsprogramms und/oder der sich im Betrieb befindlichen Automatisierungskomponente (F) anhand der zweiten Spezifikationen eingerichtet ist. Durch eine solche Anordnung und ein solches Verfahren wird eine Konsistenz zwisehen den Anforderungen und der projektierten bzw. programmierten Automatisierungskomponente sichergestellt. Vorhandene Teile der Spezifikation müssen nicht erneut händisch eingegeben und überprüft werden, sondern können von einem erfindungsgemäß ausgestalteten System aus Artefakten vorheriger Entwicklungsphasen wiederverwendet werden. Dabei ist von Vorteil, dass die Spezifikation insbesondere für den Test nicht erst zum Zeitpunkt des Projektierens bzw. Programmierens der Hardware und der Software erstellt wird, sondern bereits in vorhergehenden Phasen mit den spezifischen Möglichkeiten der jeweils verwendeten Planungs-Tools erfolgt.
Description
Beschreibung
Verfahren und Anordnung zur Bereitstellung, Überprüfung und Optimierung eines Automatisierungsprogramms
Die Erfindung betrifft ein Verfahren zur Erstellung, Überprü fung und Optimierung eines Automatisierungsprogramms einer industriellen Fertigungseinrichtung gemäß dem Oberbegriff des Patentanspruchs 1, und eine Anordnung zur Erstellung, Über prüfung und Optimierung eines Automatisierungsprogramms einer industriellen Fertigungseinrichtung gemäß dem Oberbegriff des Patentanspruchs 9.
Zur Erstellung eines Automatisierungsprogramms einer indust riellen Fertigungsanlage (das kann auch eine prozesstechni- sche Anlage sein) sind zunächst Tätigkeiten aus dem Bereich des Requirements-Engineerings (Anforderungen an das zu ferti gende Produkt) , des System-Engineerings (Anforderungen an den Fertigungsprozess) und der Anforderungen an das Engineering (Anforderungen an die Automatisierung) der Fertigungsanlage zu berücksichtigen. Ein Automatisierungsfachmann („Automation Engineer") verwendet dabei zur Beschreibung der Produktanfor derungen, des Fertigungsprozesses und der Fertigungs- und Automatisierungsanlage üblicherweise computergestützte Hilfs mittel („Tools"), beispielsweise für das „Requirements- Engineering" das Programm „IBM Rational Doors", für die Be schreibung des Fertigungsprozesses das Produkt „Tecnomatix Process Simulate /Plant Simulation", und für die Beschreibung der Fertigungsanlage das Tool „Siemens Automation Designer".
Die durch die vorgenannten Hilfsmittel erstellten Arbeitser gebnisse, nachfolgend auch „Artefakte" genannt, werden ver wendet, um zum einen die Hardware einer Automatisierungsein richtung zu projektieren, und zum anderen die Software, also die Automatisierungsprogramme, zu erstellen. Für die Hard ware-Projektierung wird beispielsweise das Produkt „Siemens TIA-Portal" und/oder das bereits erwähnte Programm „Siemens Automation Designer" eingesetzt, und für die Erstellung der
Software ebenfalls das „Siemens TIA-Portal", die Software „Simulink" von The Mathworks oder andere Tools. Dabei ist der Informationsfluss von den drei erstgenannten Hilfsmitteln, die sich mit den Anforderungen an das Produkt, den Ferti gungsprozess und die Fertigungsanlage befassen, zu den nach folgenden Hilfsmitteln, die sich mit der Erstellung der Hard ware und der Software zur Steuerung der Automatisierung be fassen, heutzutage nur rudimentär und unvollständig automati siert. Das bedeutet, dass mittels einer durchgängigen Daten haltung es nur rudimentär möglich ist, die definierten Anfor derungen direkt in die nachfolgende Verarbeitungsstufe zu übernehmen. So müssen für diesen Datenimport die Daten der einzelnen Vorläuferstufen, also der Beschreibung des Produk tes, des Fertigungsprozesses und der Fertigungsanlage, ge trennt in die Projektierungs-Hilfsmittel der Hardware bzw. der Software geladen werden und getrennt beim Prozess der Hardware-Projektierung bzw. Software-Projektierung berück sichtigt werden. Dieser Prozess geschieht heutzutage nicht in optimaler Weise und ist oft fehlerbehaftet, insbesondere auf grund einer heterogenen „Tool-Landschaft" mit einer Zusammen arbeit verschiedener Programme von verschiedenen Herstellern sowie durch Hürden der jeweiligen Anwendungsdomänen (Hardware - Software - Produkt - Fertigungsanlage - Fertigungsprozess) . Dies führt oft zu erheblichem Informationsverlust, beispiels weise wenn es dazu kommt, die Anforderungen an die zu ferti genden Produkte auf den Fertigungsprozess, auf die Ferti gungsmittel und letztlich auf das Automatisierungssystem (be stehend aus Automatisierungs-Hardware und Automatisierungs- Software) abzubilden.
So ist es heute oft nicht möglich, die Konsistenz der Automa tisierungssoftware mit den Anforderungen an die Fertigung au tomatisiert zu prüfen, wobei es das Ziel ist, dann automati siert Inkonsistenzen oder Fehler und deren Ursachen zu detek- tieren und schließlich abzustellen.
Die Figur 1 zeigt schematisch eine Konstellation der ver schiedenen Hilfsmittel aus dem Stand der Technik, wobei in
der ersten Stufe (oben in der Abbildung) die Tools für das Requirement-Engineering A (Anforderung an das Produkt und die Produktionsanlage) , das Systems-Engineering B (Anforderungen an den Fertigungsprozess) und ein Tool für das Engineering der Fertigungsanlage C angeordnet sind. In der nächsten (da runter in dem Bild angeordneten) Ebene sind die Tools für das Engineering der Automatisierungshardware D und zum Enginee ring bzw. Programmieren der Automatisierungssoftware E ange ordnet. Aus den in Bezug auf die Hardware und auf die Soft ware erstellten Projektierungsdaten wird das „Target", also die fertig programmierte Automatisierungskomponente F (bei spielsweise eine speicherprogrammierbare Steuerung SPS) auf gebaut und programmiert. Während der Informationsfluss aus der Projektierung der Hardware und der Software hin zum fer tigen Automatisierungsprodukt anhand der Pfeile in der Figur 1 dargestellt ist und auch heutzutage schon reibungslos, d.h. wenig fehleranfällig, weitgehend automatisch und mit wenigen manuellen Benutzeraktionen funktioniert, sind zwischen den Blöcken A, B und C und den nachfolgenden Einheiten D, E keine Pfeile eingezeichnet, um zu visualisieren, dass dort der In formationsfluss mit den heutigen Mitteln nur unzureichend funktioniert .
Mit anderen Worten: zwischen A/B/C und D bzw. E existiert heute eine informationstechnische Lücke, deren Füllung einem Automatisierungstechniker („Engineer") obliegt, was zu höhe ren Kosten führt, weiterhin zeitliche Verzögerungen in einem Entwicklungsprozess bedingt und nicht zuletzt fehleranfällig ist .
Es ist also eine Aufgabe der vorliegenden Erfindung, die Er stellung, Überprüfung und Optimierung insbesondere einer Pro gramm- und Hardware-Konfiguration zu vereinfachen und zu ver bessern .
Es ist eine Kernidee der erfindungsgemäßen Lösung dieser Auf gabe, das dem Anwender Hilfsmittel bereitgestellt werden, die automatisiert „im Hintergrund" den Informationsfluss verbes-
sern und eine Fehlerfreiheit und Konsistenz der Konfiguration (Hardware, Software) sicherstellen und eine etwaige Fehlersu che erleichtern.
Dazu soll zum einen eine „Generator-Einheit" G zur automati schen Erstellung von Spezifikationen sowohl für die in den Tools A, B und C definierten Anforderungen (Requirements ) zur automatischen Verarbeitung in den Projektierungsmitteln D, E für die Hardware und die Software eingesetzt werden, und zum anderen soll diese „Generator-Komponente" Spezifikationen für die Überprüfung der erstellten Hardware-Konfiguration und insbesondere eines erstellten Automatisierungsprogramms be- reitstellen .
Weiter umfasst die erfindungsgemäße Lösung der Aufgabe eine sogenannte „Solver-Komponente" , die die Einhaltung der er zeugten Spezifikationen, die mittels der Generator-Komponente definiert wurden, nach Fertigstellung der Hardware- Projektierung und der Software-Programmierung entweder durch Einsatz von Model-Checking oder spätestens bei einer Inbe triebnahme (produktive Inbetriebnahme oder Inbetriebnahme in einem Test- oder Simulationsszenario) überwacht und bei etwa igen Abweichungen ein geeignetes, korrigierendes Feedback an die Hardware-Projektierung und/oder Software-Projektierung gibt .
Die Aufgabe wird insbesondere durch ein Verfahren gemäß dem Patentanspruch 1 und durch eine Anordnung gemäß dem Patentan spruch 9 gelöst. Dabei ist die Anordnung vorteilhaft so ein gerichtet, dass diese wesentliche Verfahrensschritte teil- oder vollautomatisiert ausführen kann.
Die Lösung der Aufgabe sieht ein Verfahren zur Erstellung, Überprüfung und Optimierung einer Hardware-Konfiguration und/oder eines Automatisierungsprogramms einer industriellen Fertigungseinrichtung vor, wobei während einer Projektie rungsphase aus Anforderungen eines zu fertigenden Produkts, aus Anforderungen an einen Fertigungsprozess und aus Anforde-
rungen an eine Fertigungsanlage in einem ersten Schritt eine erste Spezifikation für eine Hardware-Konfiguration zumindest einer Automatisierungskomponente und für ein Automatisie rungsprogramm für die zumindest eine Automatisierungskompo nente und eine zweite Spezifikation für Tests der mit dem Automatisierungsprogramm programmierten zumindest einen Auto matisierungskomponente erstellt werden, in einem zweiten Schritt anhand der ersten Spezifikation die Automatisierungs komponente hinsichtlich ihrer Hardware-Aspekte projektiert und das Automatisierungsprogramm erstellt werden, in einem dritten Schritt anhand der zweiten Spezifikation die Funktio nalität der mit dem Automatisierungsprogramm programmierten Automatisierungskomponente oder zumindest des Automatisie rungsprogramms geprüft wird, und in einem vierten Schritt an hand der festgestellten Abweichungen von der ersten Spezifi kation eine Anpassung des zumindest einen Automatisierungs programms und/oder der Projektierung der Automatisierungskom ponente erfolgt. Durch dieses Verfahren wird eine Konsistenz zwischen den Anforderungen und der projektierten bzw. pro grammierten Automatisierungskomponente sichergestellt. Vor handene Teile der Spezifikation müssen nicht erneut hündisch eingegeben und überprüft werden, sondern können von einem er findungsgemäß ausgestalteten System aus Artefakten vorheriger Entwicklungsphasen wiederverwendet werden. Dabei ist von Vor teil, dass die Spezifikation insbesondere für nachfolgendes Model-Checking mittels eines „Solvers" und/oder Tests nicht erst zum Zeitpunkt des Proj ektierens bzw. Programmierens der Hardware und der Software erstellt wird, sondern bereits in vorhergehenden Phasen mit den spezifischen Möglichkeiten der jeweils verwendeten Planungs-Tools erfolgt.
Die Aufgabe wird außerdem durch eine Anordnung zur Erstel lung, Überprüfung und Optimierung einer Hardware- Konfigurierung und/oder eines Automatisierungsprogramms einer industriellen Fertigungseinrichtung gelöst, mit zumindest ei ner Beschreibungskomponente zur Beschreibung der Anforderun gen an ein zu fertigendes Produkt, zur Beschreibung eines Fertigungsprozesses und/oder zur Beschreibung der Fertigungs-
anlage, mit zumindest einer Engineering-Komponente zur Pro jektierung zumindest einer Automatisierungskomponente hin sichtlich ihrer Hardware und zur Erstellung zumindest eines Automatisierungsprogramms zu Programmierung der Automatisie rungskomponente, und mit der zu projektierenden und zu pro grammierenden Automatisierungskomponente. Dabei ist eine Ge neratorkomponente zur Erzeugung einer ersten Spezifikation für eine Hardware-Konfiguration der zumindest einen Automati sierungskomponente und für das Automatisierungsprogramm und zur Erstellung einer zweiten Spezifikation für Tests der mit dem Automatisierungsprogramm programmierten Automatisierungs komponente aus den Anforderungen an das zu fertigende Pro dukt, der Beschreibung des Fertigungsprozesses und/oder der Beschreibung der Fertigungsanlage eingerichtet, und dabei ist eine Solverkomponente vorgesehen, wobei die Solverkomponente zur Überprüfung des Automatisierungsprogramms und/oder der mit dem Automatisierungsprogramm programmierten und sich im Betrieb befindlichen Automatisierungskomponente anhand der zweiten Spezifikationen eingerichtet ist. Mit dieser Anord nung können die bereits anhand des Verfahrens diskutierten Vorteile erzielt werden.
Vorteilhafte Ausgestaltungen der Erfindung sind in den abhän gigen Patentansprüchen angegeben. Die dabei hinsichtlich des Verfahrens beschriebenen Merkmale und deren Vorteile gelten sinngemäß auch für die erfindungsgemäße Anordnung, und umge kehrt. Vorteilhafte Ausgestaltungen können in sinnfälliger Weise miteinander kombiniert werden.
Es gibt verschiedene jeweils in sich vorteilhafte Varianten zur Überprüfung der projektierten Automatisierungslösung, insbesondere des Automatisierungsprogramms, ob das Ergebnis der Projektierung konsistent ist mit den Anforderungen. Eine der vorteilhaften Ausgestaltungen sieht vor, dass die projek tierte Automatisierungskomponente mit dem erstellten Automa tisierungsprogramm in Betrieb genommen wird und anhand von in den zweiten Spezifikationen festgelegten Testkriterien hin sichtlich des Laufzeitverhaltens überprüft wird. In einer
ersten Variante kann die projektierte und programmierte Auto matisierungskomponente oder die komplette projektierte Auto matisierungslösung in einem realen Produktionsumfeld in Be trieb genommen werden, wobei also die Überprüfungen während eines produktiven oder zumindest realen Betriebs überprüft werden. In einer anderen Variante kann die reale Produktions umgebung oder Fertigungsanlage zumindest teilweise, aber auch vollständig durch ein Simulations-Szenario nachgebildet wer den, also im Sinne eines Hardware-in-the-loop-Tests (HIL) . Natürlich kann der Programmcode auch analytisch geprüft wer den, indem er beispielsweise „geparst" wird. Auch eine Aus führung auf einem Simulator, also ohne Einsatz der eigentli chen „Ziel-Hardware", ist zu Testzwecken möglich.
Vorteilhaft wird die erste Spezifikation zumindest in Bezug auf die Anforderungen an das Automatisierungsprogramm in Form von Kontrakten formuliert. Durch die Notation in Form von Kontrakten können dabei die Anforderungen in maschinenlesba rer Form definiert werden, so dass durch die nachfolgenden Tools in der Verarbeitungskette, insbesondere von den Tools zur Projektierung der Hardware und zur Erstellung der Soft ware, diese Kontrakte teil- oder sogar vollautomatisch ausge wertet und in eine Hardware-Konfiguration und in eine Soft ware-Konfiguration teil- oder vollautomatisch umgesetzt wer den können. Damit minimiert sich der manuelle Aufwand bei der Erstellung und Programmierung der Automatisierungslösung, wo durch sich zum einen zeit- und kostenökonomische Vorteile er geben, zum anderen aber auch die Fehleranfälligkeit sinkt, da mit der automatischen Auswertung der Kontrakte eine bessere Übereinstimmung der nachfolgend erstellten Automatisierungs lösung mit den verschiedenen Anforderungsprofilen aus dem Produkt, aus der Fertigungsanlage und schließlich der Automa tisierungslösung gewährleistet ist.
In einer vorteilhaften Variante wird insbesondere aus der zweiten Spezifikation zusätzlicher Programmcode erzeugt, der Bestandteil des Automatisierungsprogramms ist und der für die spätere Überprüfung und vorteilhaft auch für den späteren
produktiven Betrieb die korrekte Funktionalität der Automati sierungslösung in Bezug auf die Anforderungsprofile über prüft, dokumentiert und sicherstellt. Vorzugsweise wird die ser Programmcode vollautomatisch erzeugt oder zumindest auto matisch an die Spezifikationen, insbesondere an die zweite Spezifikation, angepasst bzw. parametriert .
In einer vorteilhaften Variante der Erfindung wird für den Vergleich zwischen den Anforderungen gemäß der zweiten Spezi fikation und den Resultaten beim Betrieb der Automatisie rungskomponente oder bei einer Offline-Analyse des Automati sierungsprogramms eine Solver-Komponente verwendet. Als eine von der Automatisierungskomponente und von der Erstellung der Spezifikation unabhängige Komponente kann die Solver- Komponente zum einen Spezifikationen übernehmen und auswer ten, und zum anderen Laufzeitinformationen oder Programmspe zifikationen (erstere von der im Betrieb befindlichen Automa tisierungskomponente, letztere aus dem Programmierwerkzeug) übernehmen, wobei dann sowohl die Spezifikationen als auch die Laufzeit- bzw. Programminformationen durch die Solver- Komponente gegeneinander ausgewertet werden. Dabei können vorteilhaft in dem vierten Schritt, insbesondere durch die Solver-Komponente, die zur Verletzung der Spezifikationen beitragenden Variablen des Automatisierungsprogramms und de ren aktuelle Werte zum Zeitpunkt der Verletzung, also derje nigen Werte, die entweder nicht der Spezifikation entsprechen oder aber kausal zur Spezifikationsverletzung geführt haben, einem Benutzer für eine Fehlersuche oder ggf. für eine auto matische Auswertung bereitgestellt werden. Insbesondere eine Übertragung dieser Variablen und Werte an den Solver, an die Hardware-Projektierung und an die Software-Programmierung im Sinne einer „Rückabbildung der Variablenbelegung" (RAV) er leichtert die Fehlersuche und ermöglich ggf. sogar eine auto matische Korrektur der Projektierung bzw. Programmierung.
Ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens wird nachfolgend anhand der Zeichnungen erläutert. Es dient
gleichzeitig zur Erläuterung eines Ausführungsbeispiels für eine erfindungsgemäße Anordnung.
Dabei zeigen:
Figur 1 in schematischer Darstellung den Haupt-
Informationsfluss zwischen einem Requirement- Engineering, einem Engineering einer Fertigungsan lage und einem Target gemäß dem Stand der Technik, und
Figur 2 den Haupt-Informationsfluss in einer erfindungsge mäßen Anordnung.
In der Figur 1 ist, wie bereits zuvor kurz erläutert, der weitgehend automatisiert realisierbare Haupt- Informationsfluss bei der Erstellung einer Automatisierungs lösung gemäß dem Stand der Technik erläutert. Zur Erstellung eines Automatisierungsprogramms einer Fertigungsanlage sind dabei Tätigkeiten aus dem Bereich des Requirement- Engineerings A (Anforderungen, z.B. aus dem Produkt und Pro duktionsbedingungen) , des Systems-Engineerings B, C (Enginee ring des Fertigungsprozesses B, Engineering der Fertigungsan lage C) , und des Automatisierungs-Engineerings D, E (Hard ware, Software der Automatisierungskomponenten) durchzufüh ren. Dabei symbolisieren die Bezugszeichen A, B und C die für die Formulierung und Erstellung der Anforderungen gebräuchli chen Software-Werkzeuge von verschiedenen Herstellern, bei spielsweise für die Komponente A das Programm IBM Rational Doors, für die Komponente B das Programmpaket Tecnomatix Pro- cess Simulate /Plant Simulation, für die Komponente C das Tool Siemens Automation Designer. Natürlich können auch ande re Werkzeuge von anderen Herstellern eingesetzt werden.
Die in den Komponenten A, B und C formulierten Anforderungen und „Requirements" werden in den Komponenten des Automatisie rungsengineerings D, E verwendet, um die Hardware der Automa tisierungslösung zu projektieren und die Software der Automa-
tisierungslösung, insbesondere einer speicherprogrammierbaren Steuerung F („Target") zu erstellen. Dadurch, dass die ver wendete „Tool-Landschaft" zum einen heterogen ist, was die Anzahl, die Hersteller, die „Sprache" oder Notation der Ar beitsergebnisse und die jeweilige Aufgabe der einzelnen Kom ponenten A, B und C betrifft, ist, sowie durch die Hürden, die dadurch entstehen, dass die erforderlichen Datenschnitt stellen die Grenzen der verschiedenen Anwendungsdomänen (Pro duktplanung, Produktionsplanung, Automatisierungsplanung, An lagenaufbau, Inbetriebnahme, Betrieb) passieren, ergibt sich ein erheblicher Informationsverlust, wenn es dazu kommt, die Anforderungen (die Komponenten A, B, C definieren diese) an die zu fertigenden Produkte auf den Fertigungsprozess, auf die Fertigungsmittel und letztlich auf das Automatisierungs system (bestehend aus Automatisierungshardware und -Software) abzubilden. So ist in der Figur 1 der automatische Haupt- Informationsfluss, der durch Pfeile symbolisiert ist, im We sentlichen nur zwischen den Komponenten D, E (Hardware- Projektierung, Software-Erstellung) und der Ziel-Hardware F (Target, SPS) gegeben. Insbesondere der Informationsfluss von den Komponenten A, B und C zu den Komponenten D, E ist nicht vollständig und in vielen Teilen überhaupt nicht automatisch möglich, sondern muss manuell durchgeführt werden, was die manuelle Arbeit und die Expertise eines Systems-Engineers er fordert .
In der Figur 2 ist schematisch eine erfindungsgemäße Anord nung dargestellt, wobei die entsprechenden Bezugszeichen A,
..., F in der Figur 2 dieselbe Bedeutung haben, wie bereits an hand der Figur 1 erläutert. Das erfindungsgemäße System be steht dabei im Wesentlichen aus acht Elementen. Zunächst sind die Software-Werkzeuge für das Requirements-Engineering A, zur Beschreibung des Fertigungsprozesses B, zur Beschreibung der Fertigungsanlage C, zur Beschreibung und Projektierung der Automatisierungshardware D und zur Beschreibung bzw. Pro grammierung der Automatisierungssoftware E dieselben, wie an hand der Figur 1 beschrieben. Selbiges gilt für die speicher programmierbare Steuerung F, also das „Target". Selbstver-
ständlich kann in einem konkreten Anwendungsfall die Konfigu ration auch abweichen, insbesondere können die Komponenten A, B und C auch anders zusammengefasst oder aufgeteilt sein auf verschiedene einzelne Hilfsmittel und Programmpakete. Ebenso wird in der Realität anstelle einer einzelnen speicherpro grammierbaren Steuerung F auch eine größere Anzahl program mierbarer Automatisierungskomponenten vorgesehen sein. Natür lich kann dann auch nicht nur ein einzelnes Automatisierungs programm erstellt werden, sondern es wird sich um eine ganze Familie von unterschiedlichen Automatisierungsprogrammen für die verschiedenen Verarbeitungsstufen einer Fertigungsanlage handeln .
Im Unterschied zu einer Anordnung aus dem Stand der Technik gemäß der Figur 1 zeigt die erfindungsgemäße Anordnung gemäß der Figur 2 zusätzlich einen Generator zur automatisierten Erzeugung von Spezifikationen G und einen Solver H. Der Gene rator zur automatisierten Erzeugung von Spezifikationen G ist in der Figur 2 dabei doppelt dargestellt, weil diese Kompo nente an zwei verschiedenen Stellen des Informationsflusses eingebunden ist. Faktisch handelt es sich in der Regel nur um ein einzelnes Gerät oder eine einzelne Software-Instanz auf einer Recheneinheit (PC, Server, Cloud o.ä.), kann jedoch oh ne Abweichung von der Kernidee der hier skizzierten Lösung auch auf unterschiedliche Instanzen verteilt sein oder sogar in einer „Cloud" als ein Dienst angeboten werden. Selbiges gilt für den Solver H, dessen Funktionalität auch auf ver schiedene Instanzen aufgeteilt sein kann, oder dessen Funkti onalität auch als ein Dienst in einer "Cloud" oder in einer anderen verteilten Infrastruktur angeboten werden kann.
Die bereits beschriebene Informationslücke im automatisierten Datenfluss zwischen den Komponenten A, B, C einerseits und den Komponenten D und E andererseits wird in der erfindungs gemäßen Lösung durch die Komponente G, nämlich den Generator zur automatisierten Erzeugung von Spezifikationen geschlos sen. Diese Facette der Komponente G kann für einen Endanwen der „unsichtbar" im Hintergrund ihre Aufgabe erledigen, was
bedeutet, dass Benutzereingaben und eine manuelle Kontrolle der Komponente im Regelfall nicht erforderlich sind. Selbiges gilt für das Wirken des Solvers H, dessen Funktionalität spä ter beschrieben wird und dessen Aufgabe auch im Hintergrund ablaufen kann, aber nicht muss.
Das dargestellte System nutzt den Generator zur automatisier ten Erzeugung von Spezifikationen G zur Erzeugung einer for malen Spezifikation. Dabei ist die Komponente G derart ge staltet, dass Informationen aus einem vorhergehenden Entwick lungswerkzeug oder im Idealfall von mehreren vorhergehenden Engineering-Werkzeugen (insbesondere Komponenten A, B und C) derart genutzt werden, dass dabei erste Spezifikationen er zeugt werden, die zur Projektierung der Hardware und zur Er zeugung der Software benötigt werden und daher direkt von den Komponenten D, E verarbeitet werden können. Sie können auch dem Nutzer visuell aufbereitet werden, damit er das Programm oder die Hardware-Konfiguration passend erstellen kann. Es ist auch möglich, dass in den Komponenten D,E automatisch passende Einstellungen und Parameter gewählt werden (z.B. Wertebereich, Typen, etc.). Weiter werden zweite Spezifikati onen erzeugt, die in einem Ausführungsbeispiel direkt dem Solver H zugeführt werden können und die im Wesentlichen der Überprüfung der Projektierung von Hardware und Software die nen. Die Spezifikationen, die von der Komponente G erzeugt werden, sind in einem Beispiel also Spezifikationen, die dem Solver H als Informationsbasis bzw. als Test-Kriterien (Test- Spezifikation) zugeführt werden, als auch in einem anderen Beispiel sogenannte Test-Vektoren, die innerhalb eines Test- Frameworks (Simulationsumgebung) oder zur Laufzeit (Produk tivbetrieb) direkt auf der Steuerung F (Target) ausgewertet werden, oder aber auch generierte Laufzeit-Tests, die auf der Steuerung F überprüft werden können. Mischformen sind selbst verständlich möglich.
Um dies zu erreichen, werden von der Komponente G spezifische Schnittstellen („Tool-spezifische Schnittstellen") zu den Komponenten A, B und C einerseits und den Komponenten D, E
andererseits verwendet. Wird beispielsweise für die Erzeugung und Spezifikation des Automatisierungsprogramms als Komponen te E das Programm „Simulink" verwendet, so weist die Kompo nente G (Generator zur automatisierten Erzeugung von Spezifi kationen) beispielsweise eine Schnittstelle auf, um die in dem Programm „Simulink" hinterlegten Minimal- und Maximal werte von Eingängen eines Reglers in der Hardware- Projektierung D und der Software-Erstellung E (beispielswiese TIA-Portal) derart zu übernehmen, dass sie von dem Solver H auswertbar sind. Dabei können diese Minimal- und Maximal werte oder andere Anforderungen („constraints") beispielswei se in eine prädikatenlogische Formel überführt werden, die von dem Solver H automatisch ausgewertet werden kann. Dadurch kann der in der Komponente E (Tool zur Erzeugung der Automa tisierungs-Software) manuell, halbautomatisch oder vollauto matisch erstellte Programmcode, speziell beispielsweise ein Steuerungscode zum Aufruf und zur Verschaltung eines Reglers, automatisch auf Einhaltung der Minimal- und Maximal-Werte mittels der Komponente H überprüft werden. Die Überprüfung kann teilweise auch in der Komponente E ohne Solver H erfol gen (z.B. an Hand von Typen, etc.) .
Natürlich sind auch andere Varianten der automatischen Über prüfung mittels des Solvers H möglich. Soll beispielsweise ein Requirement zeitliche Abfolgen spezifizieren, sind auch Darstellungen als LTL-Formeln (Linear Temporal Logic) über Variablen möglich, die wiederum von dem Solver H genutzt wer den. Der Steuerungscode, also das erstellte Automatisierungs programm, würde sodann daraufhin „offline" dahingehend veri fiziert werden, ob dieser die LTL-Formeln erfüllt.
Ein häufiges Problem besteht darin, dass eine Prüfung durch den Solver H ein sogenanntes NP-vollständiges Problem ist.
Das bedeutet, dass eine vollständige Überprüfung unter Abde ckung aller möglichen Parameter-Konstellationen in einer zur Verfügung stehenden Zeit nicht oder kaum möglich ist. Daher ist in einer Variante vorgesehen, dass der Generator G das erfindungsgemäße System derart parametriert, dass Test-
Vektoren generiert werden, die den zu untersuchenden Pro grammcode überprüfen. Dabei erzeugt die Komponente G also zu sätzlichen Programmcode, der von dem „Target" F ausführbar ist, beispielsweise anstelle der zuvor beschriebenen prädika- tenlogischen Formeln.
Aufgrund der immanenten Eigenschaft der Unvollständigkeit der Tests kann in einer dritten Variante die Generator-Komponente G auch so eingestellt werden, dass separat oder zusätzlich Programmcode erzeugt wird, der eine Überprüfung der Einhal tung der Minimal- und Maximal-Werte zur Laufzeit auf der „Target-Komponente" F ermöglicht. Dieser zusätzlich erzeugte Programmcode kann in einer ersten Variante für einen Anwender sichtbar sein und somit auch verändert werden, oder in einer anderen Variante „unsichtbar" sein, also in seiner Ansicht oder zumindest in der Editier-Möglichkeit für einen Benutzer gesperrt sein.
In jeder der beschriebenen Varianten wird im Falle der Ver letzung der Spezifikationen eine Variablenbelegung im Anwen derprogramm gezeigt, wobei im Idealfall nur oder vorrangig die zur Verletzung führenden Variablen und deren Belegung (Werte) angezeigt werden. Anhand dieser Informationen kann ein Nutzer die Fehlerursache identifizieren, beispielsweise für ein sogenanntes „debugging" . In der Figur 2 ist mit den Pfeilen mit dem Bezugszeichen RAV diese Rückabbildung der Va riablenbelegung im Falle einer Verletzung der Spezifikation gezeigt .
Allgemein kann für die Komponente G gesagt werden, dass vor gesehen ist, sogenannte „Kontrakte" von Software-Bausteinen zu erstellen, wobei die Software-Bausteine vorzugsweise auf einer IEC61131-3-kompatiblen Programmiersprache aufbauen kön nen, was den Vorteil hat, dass der hier typische Anwender diese Sprachen meist gut beherrscht und daher die in einer solchen Programmiersprache formulierten Kontrakte von diesem Anwender leicht nachvollzogen und überprüft werden können. Einerseits werden die erzeugten Kontrakte direkt in den Korn-
ponenten D und E zur Projektierung bzw. Programmierung der Hardware und der Software des „Target" F verwendet. Die For mulierung der Kontrakte kann beispielsweise als prädikatenlo- gische Formeln, also über Variablen, erfolgen. In einer vor teilhaften Ausgestaltung werden bereits in vorhergehenden Tools der Verarbeitungskette solche prädikatenlogischen For meln verwendet. So ist es in einigen Tools und Software- Werkzeugen zur Beschreibung der Fertigungsanlage C, bei spielsweise dem Programm „Automation Designer" der Siemens AG, bereits möglich, Software-Module mit bestimmten Schnitt stellen zu definieren. Neben der Möglichkeit datentechnischer Schnittstellen mit einem Software-Werkzeug zur Beschreibung des Fertigungsprozesses B, beispielsweise „Process Simulate", hat das erfindungsgemäße System auch die Möglichkeit, seman tische Schnittstellen der Software-Module zu definieren, bei spielsweise in Varianten, aber auch zeitliche Abhängigkeiten, die auf LTL-Formeln abgebildet werden. Diese werden mittels der Generator-Komponente G bereits in den Komponenten D und E hinterlegt und, wie bereits beschrieben, für die Programmie rung des Targets F und als Informationsgrundlage für die Ar beit des Solvers H verwendet.
Durch die Lösung wird die Konsistenz zwischen den Systemen A/B/C und D/E/F hergestellt und eine automatische Überprüfung der Einhaltung der Spezifikation ermöglicht. Vorhandene Teile der Spezifikation müssen nicht erneut hündisch eingegeben und überprüft werden, sondern können mit dem System aus Artefak ten vorheriger Entwicklungsphasen wiederverwendet werden.
Dies erhöht die Code-Qualität, detektiert frühzeitig Fehler, verkürzt dadurch Entwicklungszeiten und verringert die Zeit für die Inbetriebnahme.
Als Voraussetzung zur Lösung ist der Einsatz der Komponenten G und H zu sehen, die eine Verbindung zwischen A/B/C zu D/E und wiederum zu F/H ermöglichen.
Der Vorteil von G ist, dass die Spezifikation nicht erst zum Zeitpunkt des Programmierens des Automatisierungscodes mit E
bzw. der Zusammenstellung der Automatisierungshardware mit D erstellt wird, sondern bereits in vorhergehenden Phasen mit den jeweiligen Tool-spezifischen Möglichkeiten erfolgt. Die Komponente G sorgt sodann für die reibungslose Übernahme der Informationen in eine automatisiert nutzbare Form in D und E (bzgl. E durch Abbildung bspw. auf zusätzlichen IEC61131-3- Code für das Target F oder für Runtime-Tests ) oder aber auch auf prädikatenlogische „Assertions " , die durch H ausgewertet werden können.
Claims
1. Verfahren zur Erstellung, Überprüfung und Optimierung eines Automatisierungsprogramms einer industriellen Ferti gungseinrichtung,
wobei während einer Projektierungsphase aus Anforderungen ei nes zu fertigenden Produkts, aus Anforderungen an einen Fer tigungsprozess und aus Anforderungen an eine Fertigungsanlage in einem ersten Schritt eine erste Spezifikation für eine Hardware-Konfiguration zumindest einer Automatisierungskompo nente (F) und für ein Automatisierungsprogramm für die zumin dest eine Automatisierungskomponente (F) und eine zweite Spe zifikation für Tests der mit dem Automatisierungsprogramm programmierten zumindest einen Automatisierungskomponente (F) erstellt werden, in einem zweiten Schritt anhand der ersten Spezifikation die Automatisierungskomponente (F) hinsichtlich ihrer Hardware- Aspekte projektiert und das Automatisierungsprogramm erstellt werden, in einem dritten Schritt anhand der zweiten Spezifikation die Funktionalität der mit dem Automatisierungsprogramm program mierten Automatisierungskomponente (F) oder zumindest des Automatisierungsprogramms geprüft wird, und in einem vierten Schritt anhand der festgestellten Abweichun gen von der ersten Spezifikation eine Anpassung des zumindest einen Automatisierungsprogramms und/oder der Projektierung der Automatisierungskomponente (F) erfolgt.
2. Verfahren nach Patentanspruch 1,
dadurch gekennzeichnet,
dass für den dritten Schritt die projektierte Automatisie rungskomponente (F) mit dem erstellten Automatisierungspro gramm in Betrieb genommen wird und anhand von in der zweiten Spezifikation festgelegten Testkriterien das Laufzeitverhal ten überprüft wird.
3. Verfahren nach Patentanspruch 2,
dadurch gekennzeichnet,
dass die programmierte Automatisierungskomponente (F) für de ren Überprüfung in einer Simulationsumgebung betrieben wird, wobei mit der Simulationsumgebung einige oder alle anderen Bestandteile der industriellen Fertigungseinrichtung simu liert werden.
4. Verfahren nach einem der Patentansprüche 1 oder 2, dadurch gekennzeichnet,
dass in dem dritten Schritt für die Überprüfung der Funktio nalität der programmierten Automatisierungskomponente (F) diese in einer realen industriellen Fertigungseinrichtung be trieben wird.
5. Verfahren nach einem der vorhergehenden Patentansprüche, dadurch gekennzeichnet,
dass in dem ersten Schritt die erste Spezifikation zumindest in Bezug auf die Anforderungen an das Automatisierungspro gramm in Form von Kontrakten formuliert wird.
6. Verfahren nach einem der vorhergehenden Patentansprüche, dadurch gekennzeichnet,
dass in dem zweiten und im dritten Schritt zusätzlicher Pro grammcode zur Überprüfung des Laufzeitverhaltens generiert und in das Automatisierungsprogramm eingefügt wird,
wobei dieser zusätzliche Programmcode zur zumindest teilwei sen Überprüfung des Laufzeitverhaltens in Bezug auf die erste Spezifikation dient und/oder der zusätzliche Programmcode zur Generierung weiterer Daten eingesetzt wird,
wobei diese weiteren Daten zur Überprüfung mittels der zwei ten Spezifikation verwendet werden.
7. Verfahren nach einem der vorhergehenden Patentansprüche, dadurch gekennzeichnet,
dass in dem dritten Schritt für den Vergleich zwischen den Anforderungen gemäß der zweiten Spezifikation und den Resul taten beim Betrieb der Automatisierungskomponente (F) oder bei der Analyse des Automatisierungsprogramms eine
Solverkomponente (H) verwendet wird.
8. Verfahren nach einem der vorhergehenden Patentansprüche, dadurch gekennzeichnet,
dass in dem vierten Schritt die zur Verletzung der zweiten Spezifikation beitragenden Variablen des Automatisierungspro gramms und deren Werte zum Zeitpunkt der Verletzung gespei chert und für eine Fehlersuche einem Benutzer bereitgestellt werden .
9. Anordnung zur Erstellung, Überprüfung und Optimierung eines Automatisierungsprogramms einer industriellen Ferti gungseinrichtung,
mit zumindest einer Beschreibungskomponente zur Beschreibung der Anforderungen an ein zu fertigendes Produkt (A) , zur Be schreibung eines Fertigungsprozesses (B) und/oder zur Be schreibung der Fertigungsanlage (C) ,
mit zumindest einer Engineering-Komponente (D, E) zur Projek tierung zumindest einer Automatisierungskomponente (F) hin sichtlich ihrer Hardware und zur Erstellung zumindest eines Automatisierungsprogramms zu Programmierung der Automatisie rungskomponente (F) , und
mit der zu projektierenden und zu programmierenden Automati sierungskomponente (F) ,
dadurch gekennzeichnet,
dass eine Generatorkomponente (G) zur Erzeugung einer ersten Spezifikation für eine Hardware-Konfiguration der zumindest einen Automatisierungskomponente (F) und für das Automatisie rungsprogramm und zur Erstellung einer zweiten Spezifikation für Tests der mit dem Automatisierungsprogramm programmierten Automatisierungskomponente (F) aus den Anforderungen an das zu fertigende Produkt, der Beschreibung des Fertigungsprozes ses (B) und/oder der Beschreibung der Fertigungsanlage (C) eingerichtet ist, und
mit einer Solverkomponente (H) , wobei die Solverkomponente (H) zur Überprüfung des Automatisierungsprogramms und/oder der mit dem Automatisierungsprogramm programmierten und sich im Betrieb befindlichen Automatisierungskomponente (F) anhand der zweiten Spezifikationen und zur Meldung von zumindest ei ner an einer Verletzung von Spezifikationen beteiligten Vari ablen und deren Wert eingerichtet ist.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2018/069805 WO2020015837A1 (de) | 2018-07-20 | 2018-07-20 | Verfahren und anordnung zur bereitstellung, überprüfung und optimierung eines automatisierungsprogramms |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2018/069805 WO2020015837A1 (de) | 2018-07-20 | 2018-07-20 | Verfahren und anordnung zur bereitstellung, überprüfung und optimierung eines automatisierungsprogramms |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020015837A1 true WO2020015837A1 (de) | 2020-01-23 |
Family
ID=63042009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2018/069805 WO2020015837A1 (de) | 2018-07-20 | 2018-07-20 | Verfahren und anordnung zur bereitstellung, überprüfung und optimierung eines automatisierungsprogramms |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2020015837A1 (de) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060064289A1 (en) * | 2004-09-21 | 2006-03-23 | Joe Walacavage | Method of embedding tooling control data within mechanical fixture design to enable programmable logic control verification simulation |
EP1923755A1 (de) * | 2006-11-20 | 2008-05-21 | Siemens Aktiengesellschaft | Verfahren für die gemeinsame Darstellung von Ablaufdiagrammen |
US20170147482A1 (en) * | 2015-11-20 | 2017-05-25 | General Electric Company | System and method for safety-critical software automated requirements-based test case generation |
-
2018
- 2018-07-20 WO PCT/EP2018/069805 patent/WO2020015837A1/de active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060064289A1 (en) * | 2004-09-21 | 2006-03-23 | Joe Walacavage | Method of embedding tooling control data within mechanical fixture design to enable programmable logic control verification simulation |
EP1923755A1 (de) * | 2006-11-20 | 2008-05-21 | Siemens Aktiengesellschaft | Verfahren für die gemeinsame Darstellung von Ablaufdiagrammen |
US20170147482A1 (en) * | 2015-11-20 | 2017-05-25 | General Electric Company | System and method for safety-critical software automated requirements-based test case generation |
Non-Patent Citations (1)
Title |
---|
W BRACE ET AL: "FROM REQUIREMENTS TO DESIGN SPECIFICATIONS-A FORMAL APPROACH", DS 60: PROCEEDINGS OF DESIGN 2010, THE 11TH INTERNATIONAL DESIGN CONFERENCE, DUBROVNIK, CROATIA, 1 January 2010 (2010-01-01), pages 639 - 649, XP055565864, Retrieved from the Internet <URL:https://www.designsociety.org/publication/29409/FROM+REQUIREMENTS+TO+DESIGN+SPECIFICATIONS+-+A+FORMAL+APPROACH> [retrieved on 20190307] * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0852759B1 (de) | Entwurfsverfahren für die anlagentechnik und rechnergestütztes projektierungssystem zur verwendung bei diesem verfahren | |
DE19781804B4 (de) | Vorrichtung zur Simulation einer Echtzeit-Prozesssteuerung | |
DE10048360B4 (de) | Integrierte, fortschrittliche Steuerblöcke in Prozeßsteuersystemen | |
EP2801872B1 (de) | Testeinrichtung zum Test eines virtuellen Steuergeräts | |
DE102018124411A1 (de) | I/o-virtualisierung für die inbetriebnahme | |
DE102010037159A1 (de) | Verfahren und Vorrichtungen zur Verwaltung von Prozesssteuersystemtests | |
DE10021698A1 (de) | Auf einem einzelnen Computer realisierte integrierende Funktionalität für ein verteiltes Prozessregelsystem | |
EP1933214A2 (de) | Automatisierte Erstellung und Adaption eines Maschinen- oder Anlagenmodells | |
EP2911024B1 (de) | Verfahren zur Inbetriebnahme eines industriellen Automatisierungsnetzwerks | |
WO2006128401A1 (de) | Verfahren zum betrieb einer industriellen maschine | |
EP3650970B1 (de) | Verfahren und vorrichtung zum computergestützten simulieren eines modularen technischen systems | |
EP2671122B1 (de) | Automatisierte projektierung einer leittechnik einer technischen anlage | |
WO2021037498A9 (de) | Effiziente fehleranalyse durch simulierten fehler in einem digitalen zwilling | |
DE112016007339T5 (de) | Simulationsvorrichtung | |
EP1866715B1 (de) | Entwurfsvorrichtung zum entwerfen einer leittechnischen anlage und verfahren zum überprüfen der technologischen aufgabenstellung beim entwurf einer leittechnischen anlage | |
WO2011038863A1 (de) | Verfahren und anordnung zum installieren und konfigurieren eines computersystems | |
WO2016070899A1 (de) | Verfahren zur inbetriebnahme eines industriellen automatisierungsnetzwerks sowie feldgerät | |
DE102009009293A1 (de) | Verfahren und System zum Engineering einer Automatisierung zumindest eines Teils einer technischen Anlage | |
WO2020015837A1 (de) | Verfahren und anordnung zur bereitstellung, überprüfung und optimierung eines automatisierungsprogramms | |
EP4123396A1 (de) | Technik zur realisierung einer visualisierung für eine automatisierungstechnische anlage mit einer speicherprogrammierbaren steuerung | |
DE102013010783A1 (de) | Verfahren und Steuergerät zum Testen einer Automatisierungslösung basierend auf einer PLC-Steuerung | |
EP3623966A1 (de) | Verfahren zum auslegen und/oder umsetzen und/oder zur virtuellen inbetriebnahme eines antriebssystems und entwurfs-system | |
WO1999038024A1 (de) | Verfahren zur computergestützten optimierung von prüfspezifikationen und minimierung von prüfsoftware | |
DE102021123596A1 (de) | Technik zur Bereitstellung einer Diagnosefunktionalität für eine auf einer speicherprogrammierbaren Steuerung basierenden Anwendung | |
WO2020193243A1 (de) | Verfahren zum virtuellen testen einer anlagensteuerung sowie simulationsvorrichtung |
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: 18746658 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: 18746658 Country of ref document: EP Kind code of ref document: A1 |