WO2020015837A1 - Method and arrangement for providing, checking and optimizing an automation program - Google Patents

Method and arrangement for providing, checking and optimizing an automation program Download PDF

Info

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
Application number
PCT/EP2018/069805
Other languages
German (de)
French (fr)
Inventor
Thomas Trenner
Jan Götz
Andrés Botero Halblaub
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/EP2018/069805 priority Critical patent/WO2020015837A1/en
Publication of WO2020015837A1 publication Critical patent/WO2020015837A1/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/418Total 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], computer integrated manufacturing [CIM]
    • G05B19/41885Total 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], computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • 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
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24034Model checker, to verify and debug control software
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35051Data exchange between cad systems, cad and cam
    • 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 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.

Abstract

The invention relates to a method and an automation arrangement for creating and checking and optimizing an automation program of an industrial production facility, with at least one description component (A, B, C) for describing requirements, and with at least one engineering component (D, E) for planning the hardware of at least one automation component (F) and for creating at least one automation program of the automation component (F). In this case, a generator component (G) is set up to generate a first specification for a hardware configuration and for the automation program and to create a second specification for tests of the programmed automation component (F) from the requirements, and a solver component (H) is also provided, wherein the latter is set up to check the automation program and/or the automation component (F) which is operating on the basis of the second specifications. Such an arrangement and such a method ensure consistency between the requirements and the planned or programmed automation component. Existing parts of the specification need not be manually input and checked again, but rather can be reused by a system configured according to the invention from artefacts of previous development phases. In this case, it is advantageous that the specification, in particular for the test, is created already in preceding phases with the specific possibilities of the planning tools used in each case, rather than at the time at which the hardware and the software are planned or programmed.

Description

Beschreibung description
Verfahren und Anordnung zur Bereitstellung, Überprüfung und Optimierung eines Automatisierungsprogramms Method and arrangement for providing, checking and optimizing an automation program
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. 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.
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". To create an automation program for an industrial manufacturing plant (this can also be a process engineering plant), activities from the area of requirements engineering (requirements for the product to be manufactured), system engineering (requirements for the manufacturing process) and the engineering requirements (automation requirements) of the manufacturing system. 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.
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. The work results created by the abovementioned aids, hereinafter also referred to as “artifacts”, are used, on the one hand, to configure the hardware of an automation device and, on the other hand, to create the software, that is to say the automation programs. For the hardware configuration For example, the "Siemens TIA Portal" product and / or the "Siemens Automation Designer" program mentioned above is used, and for the creation of the Software also the "Siemens TIA Portal", the software "Simulink" from The Mathworks or other tools. The flow of information from the first three tools mentioned, which deal with the requirements for the product, the manufacturing process and the production system, to the following tools, which deal with the creation of the hardware and software for controlling the automation , nowadays only rudimentary and incompletely automated. This means that by means of consistent data management it is only rudimentary possible to transfer the defined requirements directly to the subsequent processing stage. For this data import, the data of the individual preliminary stages, i.e. the description of the product, the manufacturing process and the manufacturing system, must be loaded separately into the configuration aids of the hardware or software and separately during the process of hardware configuration or software Project planning. Nowadays, this process does not happen optimally and is often prone to errors, especially due to a heterogeneous "tool landscape" with the cooperation of different programs from different manufacturers as well as hurdles of the respective application domains (hardware - software - product - manufacturing system - manufacturing process). This often leads to considerable loss of information, for example when it comes to mapping the requirements for the products to be manufactured on the manufacturing process, on the means of production and ultimately on the automation system (consisting of automation hardware and automation software).
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. For example, it is often not possible today to automatically check the consistency of the automation software with the requirements for production, with the aim of then automatically detecting inconsistencies or errors and their causes and finally eliminating them.
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 . Figure 1 shows schematically a constellation of the various aids from the prior art, wherein in 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. 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. During the flow of information from the configuration of the hardware and software towards the finished automation product using the arrows in FIG. 1 and even nowadays it works smoothly, that is, is not prone to errors, largely automatically and with few manual user actions, there are none between blocks A, B and C and the subsequent units D, E. Arrows are drawn to visualize that the information flow there is not working properly with today's means.
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 . In other words, there is now an information technology gap between A / B / C and D or E, the filling of which is up to an automation technician ("Engineer"), which leads to higher costs, furthermore delays in a development process and, last but not least, error-prone is.
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 . It is therefore an object of the present invention to simplify and improve the creation, checking and optimization, in particular of a program and hardware configuration.
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. It is a core idea of the solution to this task according to the invention, which is provided to the user with tools which automatically improve the information flow “in the background”. and ensure that the configuration (hardware, software) is error-free and consistent and that any troubleshooting is easier.
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 . For this purpose, on the one hand, 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.
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 . Furthermore, 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.
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. 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.
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. 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. In a first step, 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. Existing parts of the specification do not have to be entered and checked again dog-wise, but can be reused by a system designed according to the invention from artifacts from previous development phases. It is advantageous in part that the specification, in particular for subsequent model checking by means of a "solver" and / or test, is not created only when the hardware and software are projected or programmed, but rather in the previous phases with the specific ones The planning tools used in each case are available.
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. 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. Here, 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. With this arrangement, the advantages already discussed using the method can be achieved.
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. Advantageous embodiments of the invention are specified in the dependent claims. The features described with regard to the method and their advantages apply mutatis mutandis to the arrangement according to the invention, and vice versa. Advantageous configurations can be combined with one another in a practical way.
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. There are various variants, each advantageous in itself, for checking the configured automation solution, in particular the automation program, as to whether the result of the configuration is consistent with the requirements. One of the advantageous refinements provides that the projected automation component is put into operation with the automation program that has been created, and that the runtime behavior is checked using test criteria defined in the second specifications. In a In the first variant, 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. In another variant, 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). Of course, 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.
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. 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. This minimizes the manual effort involved in creating and programming the automation solution, which on the one hand results in time and cost-economic advantages, and on the other hand also reduces the susceptibility to errors, since the automatic evaluation of the contracts improves the correspondence of the automation solution created below with the different requirement profiles from the product, from the production plant and finally the automation solution.
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 an advantageous variant, 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.
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. In an advantageous variant of the invention, 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. As a component that is independent of the automation component and the creation of the specification, 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. Advantageously, 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. those values which either do not correspond to the specification or are causal to the specification violation have been made available to a user for troubleshooting or, if necessary, for automatic evaluation. In particular, a transfer of these variables and values to the solver, to the hardware configuration and to the software programming in the sense of a "re-mapping of the variable assignment" (RAV) facilitates troubleshooting and, if necessary, even enables automatic correction of the configuration or Programming.
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. An embodiment of the method according to the invention is explained below with reference to the drawings. It serves at the same time to explain an exemplary embodiment of an arrangement according to the invention.
Dabei zeigen: Show:
Figur 1 in schematischer Darstellung den Haupt-FIG. 1 shows the main
Informationsfluss zwischen einem Requirement- Engineering, einem Engineering einer Fertigungsan lage und einem Target gemäß dem Stand der Technik, und Flow of information between requirement engineering, engineering of a production plant and a target according to the prior art, and
Figur 2 den Haupt-Informationsfluss in einer erfindungsge mäßen Anordnung. Figure 2 shows the main flow of information in an arrangement according to the invention.
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. As already briefly explained above, FIG. 1 explains the largely automated main information flow when creating an automation solution according to the prior art. To create an automation program for a manufacturing plant, 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. Of course, other tools from other manufacturers can also be used.
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 . The requirements and "Requirements" formulated in 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"). The fact that the "tool landscape" used is heterogeneous on the one hand, which means the number, the manufacturer, the "language" or notation of the work results and the respective The task of the individual components A, B and C relates to, as well as through the hurdles that result from the fact that the required data interfaces cross the boundaries of the different application domains (product planning, production planning, automation planning, plant construction, commissioning, operation), There is a considerable loss of information when it comes to the requirements (components A, B, C define them) on the products to be manufactured, on the manufacturing process, on the means of production and ultimately on the automation system (consisting of automation hardware and software) The automatic main information flow, which is represented by P is symbolized, essentially only between components D, E (hardware project planning, software creation) and the target hardware F (target, PLC). In particular, the flow of information from components A, B and C to components D, E is not complete and in many parts is not automatically possible at all, but has to be carried out manually, which requires the manual work and the expertise of a systems engineer.
In der Figur 2 ist schematisch eine erfindungsgemäße Anord nung dargestellt, wobei die entsprechenden Bezugszeichen A,FIG. 2 schematically shows an arrangement according to the invention, the corresponding reference symbols 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 . ..., F in FIG. 2 have the same meaning as already explained with reference to FIG. 1. The system according to the invention consists essentially of eight elements. First of all, 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 same applies to the programmable logic controller F, that is to say the “target”. Of course, 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. Likewise, in reality, instead of a single programmable controller F, a larger number of programmable automation components will also be provided. Of course, not only 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.
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. In contrast to an arrangement from the prior art according to FIG. 1, 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 same applies to 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.
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. The information gap already described in the automated data flow between components A, B, C on the one hand and components D and E on the other hand is closed in the solution according to the invention by 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. The same applies to the action of Solver H, the functionality of which will be described later and whose task can, but does not have to, run in the background.
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. 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.). Furthermore, 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. In one example, 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. Mixed forms are of course possible.
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.) . To achieve this, specific interfaces (“tool-specific interfaces”) to components A, B and C on the one hand and components D, E otherwise used. If, for example, the program "Simulink" is used as component E for the generation and specification of the automation program, component G (generator for the automated generation of specifications) 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. These minimum and maximum values or other requirements ("constraints") can, for example, be converted into a predicate logic formula that can be automatically evaluated by the solver H. This enables the component (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.).
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. Of course, other variants of the automatic check using the solver H are also possible. For example, if a requirement is to specify temporal sequences, it is also possible to use LTL formulas (linear temporal logic) via variables, which in turn are used by the solver H. The control code, ie the automation program created, would then be verified “offline” to determine whether it complies with the LTL formulas.
Ein häufiges Problem besteht darin, dass eine Prüfung durch den Solver H ein sogenanntes NP-vollständiges Problem ist.A common problem is that solver H testing is a so-called NP-complete problem.
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. This means that a complete review covering all possible parameter constellations in a time available is not or hardly possible. Therefore, one variant provides that the 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.
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. Due to the inherent property of the incompleteness of the tests, 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.
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 . In each of the variants described, if the specifications are violated, a variable assignment is shown in the user program, ideally only or primarily the variables leading to the violation and their assignment (values) are displayed. On the basis of this information, a user can identify the cause of the error, for example for a so-called "debugging". In FIG. 2, the arrows with the reference symbol RAV show this reversal of the variable assignment in the event of a violation of the specification.
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. In general, 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. In addition to the possibility of data technology interfaces with a software tool for describing the manufacturing process B, for example "Process Simulate", 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.
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.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.
Dies erhöht die Code-Qualität, detektiert frühzeitig Fehler, verkürzt dadurch Entwicklungszeiten und verringert die Zeit für die Inbetriebnahme. This increases the code quality, detects errors at an early stage, thereby shortening development times and reducing the time for commissioning.
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. 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.
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. 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.

Claims

Patentansprüche claims
1. Verfahren zur Erstellung, Überprüfung und Optimierung eines Automatisierungsprogramms einer industriellen Ferti gungseinrichtung, 1. Procedure for creating, checking and optimizing an automation program of an industrial manufacturing facility,
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. whereby during a project planning phase from requirements of a product to be manufactured, requirements of a manufacturing process and requirements of a manufacturing plant in a first step a first specification for a hardware configuration of at least one automation component (F) and for an automation program for the at least at least one automation component (F) and a second specification for tests of the at least one automation component (F) programmed with the automation program are created, in a second step the automation component (F) is configured in terms of its hardware aspects based on the first specification and the automation program is created in a third step, the functionality of the automation component (F) programmed with the automation program or at least the automation program is checked on the basis of the second specification, and in a fourth step Step is carried out on the basis of the ascertained deviations from the first specification, an adaptation of the at least one automation program and / or the configuration of the automation component (F).
2. Verfahren nach Patentanspruch 1, 2. The method according to claim 1,
dadurch gekennzeichnet, characterized,
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. that the configured automation component (F) with the created automation program is put into operation for the third step and the runtime behavior is checked on the basis of test criteria specified in the second specification.
3. Verfahren nach Patentanspruch 2, 3. The method according to claim 2,
dadurch gekennzeichnet, characterized,
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. that the programmed automation component (F) for its verification is operated in a simulation environment, with the simulation environment simulating some or all of the other components of the industrial manufacturing facility.
4. Verfahren nach einem der Patentansprüche 1 oder 2, dadurch gekennzeichnet, 4. The method according to any one of claims 1 or 2, characterized in
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. that in the third step for checking the functionality of the programmed automation component (F) it is operated in a real industrial manufacturing facility.
5. Verfahren nach einem der vorhergehenden Patentansprüche, dadurch gekennzeichnet, 5. The method according to any one of the preceding claims, characterized in
dass in dem ersten Schritt die erste Spezifikation zumindest in Bezug auf die Anforderungen an das Automatisierungspro gramm in Form von Kontrakten formuliert wird. that in the first step, the first specification is formulated in the form of contracts, at least with regard to the requirements for the automation program.
6. Verfahren nach einem der vorhergehenden Patentansprüche, dadurch gekennzeichnet, 6. The method according to any one of the preceding claims, characterized in
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, that in the second and in the third step additional program code for checking the runtime behavior is generated and inserted into the automation program,
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, wherein this additional program code is used to at least partially check the runtime behavior in relation to the first specification and / or the additional program code is used to generate further data,
wobei diese weiteren Daten zur Überprüfung mittels der zwei ten Spezifikation verwendet werden. these further data being used for checking by means of the second specification.
7. Verfahren nach einem der vorhergehenden Patentansprüche, dadurch gekennzeichnet, 7. The method according to any one of the preceding claims, characterized in
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 that in the third step for the comparison between the requirements according to the second specification and the results in the operation of the automation component (F) or in the analysis of the automation program
Solverkomponente (H) verwendet wird. Solver component (H) is used.
8. Verfahren nach einem der vorhergehenden Patentansprüche, dadurch gekennzeichnet, 8. The method according to any one of the preceding claims, characterized in
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 . that in the fourth step the variables of the automation program contributing to the violation of the second specification and their values at the time of the violation are stored and made available to a user for troubleshooting.
9. Anordnung zur Erstellung, Überprüfung und Optimierung eines Automatisierungsprogramms einer industriellen Ferti gungseinrichtung, 9. arrangement for creating, checking and optimizing an automation program of an industrial manufacturing facility,
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) , with at least one description component for describing the requirements for a product to be manufactured (A), for describing a manufacturing process (B) and / or for describing the manufacturing system (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 with at least one engineering component (D, E) for projecting at least one automation component (F) with regard to its hardware and for creating at least one automation program for programming the automation component (F), and
mit der zu projektierenden und zu programmierenden Automati sierungskomponente (F) , with the automation component (F) to be configured and programmed,
dadurch gekennzeichnet, characterized,
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 that a generator component (G) for generating a first specification for a hardware configuration of the at least one automation component (F) and for the automation program and for creating a second specification for tests of the automation component (F) programmed with the automation program from the requirements of the product to be manufactured, the description of the manufacturing process (B) and / or the description of the manufacturing plant (C) is set up, and
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. with a solver component (H), the solver component (H) for checking the automation program and / or the automation component (F) programmed and in operation with the automation program based on the second specifications and for reporting at least one of a violation of specifications Variables involved and their value is set.
PCT/EP2018/069805 2018-07-20 2018-07-20 Method and arrangement for providing, checking and optimizing an automation program WO2020015837A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2018/069805 WO2020015837A1 (en) 2018-07-20 2018-07-20 Method and arrangement for providing, checking and optimizing an automation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2018/069805 WO2020015837A1 (en) 2018-07-20 2018-07-20 Method and arrangement for providing, checking and optimizing an automation program

Publications (1)

Publication Number Publication Date
WO2020015837A1 true WO2020015837A1 (en) 2020-01-23

Family

ID=63042009

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2018/069805 WO2020015837A1 (en) 2018-07-20 2018-07-20 Method and arrangement for providing, checking and optimizing an automation program

Country Status (1)

Country Link
WO (1) WO2020015837A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
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 (en) * 2006-11-20 2008-05-21 Siemens Aktiengesellschaft Method for joint representation of flow diagrams
US20170147482A1 (en) * 2015-11-20 2017-05-25 General Electric Company System and method for safety-critical software automated requirements-based test case generation

Patent Citations (3)

* Cited by examiner, † Cited by third party
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 (en) * 2006-11-20 2008-05-21 Siemens Aktiengesellschaft Method for joint representation of flow diagrams
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)

* Cited by examiner, † Cited by third party
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 (en) Drafting method for industrial and building systems and computer-controlled planning system for use in said method
DE19781804B4 (en) Device for simulating a real-time process control
DE10048360B4 (en) Integrated, advanced control blocks in process control systems
EP2801872B1 (en) Test device for testing a virtual control device
DE102018124411A1 (en) I / O VIRTUALIZATION FOR COMMISSIONING
DE102010037159A1 (en) Methods and apparatus for managing process control system tests
DE10021698A1 (en) Integrating functionality for a distributed process control system implemented on a single computer
EP1933214A2 (en) Automated generation and adaptation of a machine or plant model
WO2006128401A1 (en) Method for operating an industrial machine
EP2911024B1 (en) Method for commissioning an industrial automation network
EP2671122B1 (en) Automated planning of control equipment of a technical system
EP3650970B1 (en) Method and device for the computer-assisted simulation of a modular technical system
DE112016007339T5 (en) simulation device
EP2795414A1 (en) Automated project design of a control technology for a technical system
WO2021037498A9 (en) Efficient fault analysis through simulated faults in a digital twin
WO2016070899A1 (en) Method for starting up an industrial automation network, and field device
EP2483775A1 (en) Method and arrangement for installing and configuring a computer system
EP1866715B1 (en) Design system to design a control system and a method for testing the technological task of the control system during the designing of said control system
DE102009009293A1 (en) Method and system for engineering an automation of at least part of a technical installation
WO2020015837A1 (en) Method and arrangement for providing, checking and optimizing an automation program
DE102013010783A1 (en) Method and control device for testing an automation solution based on a PLC control
DE102021119116A1 (en) Technology for realizing a visualization for an automation system with a programmable logic controller
WO1999038024A1 (en) Method for computer assisted optimization of inspection specifications and minimization of test software
EP3931644A1 (en) Method for virtually testing a system control process, and simulation device
DE102021123596A1 (en) Technique for providing diagnostic functionality for a programmable logic controller based application

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