WO2021233552A1 - Redundant control logic for safety-criticial automation systems based on artificial neural networks - Google Patents

Redundant control logic for safety-criticial automation systems based on artificial neural networks Download PDF

Info

Publication number
WO2021233552A1
WO2021233552A1 PCT/EP2020/064295 EP2020064295W WO2021233552A1 WO 2021233552 A1 WO2021233552 A1 WO 2021233552A1 EP 2020064295 W EP2020064295 W EP 2020064295W WO 2021233552 A1 WO2021233552 A1 WO 2021233552A1
Authority
WO
WIPO (PCT)
Prior art keywords
values
control logic
variables
ann
input variables
Prior art date
Application number
PCT/EP2020/064295
Other languages
German (de)
French (fr)
Inventor
Alfred GERLACH
Günther APEL
Original Assignee
Tsu Gmbh Gesellschaft Für Technik, Sicherheit Und Umweltschutz Mbh
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 Tsu Gmbh Gesellschaft Für Technik, Sicherheit Und Umweltschutz Mbh filed Critical Tsu Gmbh Gesellschaft Für Technik, Sicherheit Und Umweltschutz Mbh
Priority to PCT/EP2020/064295 priority Critical patent/WO2021233552A1/en
Publication of WO2021233552A1 publication Critical patent/WO2021233552A1/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
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • G05B9/03Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
    • 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/0423Input/output
    • G05B19/0425Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, monitoring
    • 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/24176Central controller may override redundant controller
    • 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/24182Redundancy
    • 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/24188Redundant processors run different programs

Definitions

  • Redundant control logic for safety-critical automation systems based on artificial neural networks.
  • the invention relates to automation systems whose control logic is designed redundantly so that malfunctions in the control logic can be recognized and countermeasures can be initiated.
  • Automation systems control machines or processes on the basis of higher-level specifications that are obtained from a control system and / or from a sensor system.
  • a control logic converts these specifications into concrete manipulated variables.
  • Actuators that have a physical effect on the machine or the process are controlled with these manipulated variables.
  • Automation systems are also increasingly used in safety-critical areas in which property damage or personal injury can be caused if the control logic outputs a manipulated variable that is not appropriate for the current operating situation and this manipulated variable is translated by the actuator into an action that is disadvantageous in the current situation.
  • a control logic like any other technical device, can in principle malfunction or fail, two or more redundant control logics are used for safety-critical applications, the outputs of which are checked against each other for plausibility before they are fed to the respective actuator. This is based on the consideration that the probability of a simultaneous and similar malfunction of both control logics, which affects the outputs of both control logics in the same way, is very low. Task and solution
  • the object of the present invention is to implement redundant generation of manipulated variables in an automation system with a particularly favorable ratio of cost to operational reliability.
  • this object is achieved by a method according to the main claim and by an automation system according to the secondary claim. Further advantageous refinements emerge from the subclaims that refer back to them.
  • one or more input variables are obtained from the automation system. These input variables can originate, for example, from a control system, an associated periphery, and / or from a sensor system or any other signal transmitters.
  • the input variables can, for example, be setpoint values to which one or more variables relevant to the operation of the machine or the process are to be regulated. Examples of such quantities are temperatures, pressures, voltages, currents, chemical concentrations, positions and speeds.
  • the input variables are processed by a first control logic to form a first proposal for the one or more manipulated variables.
  • This first control logic can, for example, be a regulator (“low-level controller”) which is designed to regulate one or more of the aforementioned variables relevant to the operation of the machine or the process to setpoint values.
  • the first control logic can, for example, control movements of machine parts or vehicles in such a way that collisions with other machine parts or vehicles are avoided.
  • the input variables are also processed by a second control logic, which is independent of the first control logic, to form a second proposal for the one or more manipulated variables.
  • This independence can in particular also include, for example, that the input variables of the first control logic, on the one hand, and the second control logic, on the other hand, are fed in as far as possible different ways.
  • the input variables can therefore, for example, be taken from the automation system in two ways that are independent of one another.
  • the two suggestions for the manipulated variables are checked against each other for plausibility.
  • an end result of the one or more manipulated variables is determined from the two proposals. For example, it can be checked whether both control logics suggest the same or at least similar action of the actuator at the same time.
  • a second control logic with an artificial neural network, ANN is chosen.
  • This ANN is trained to predict a proposal for the manipulated variables for given values of the input variables, which proposal agrees with the proposal of the first control logic with regard to these values of the input variables.
  • the second control logic is a duplicate of the first control logic, the plausibility is particularly easy to check because it is to be expected that the outputs of both control logics are always the same.
  • the duplicate also has sources of error in common with the original, which increases the probability of simultaneous and similar failures of both control logics.
  • Hardware of the same type and in particular a CPU of the same type is used, possibly even from the same production batch. For example, if both CPUs are affected by the same material or manufacturing defect and after a certain number
  • the two proposals are checked for plausibility against one another by comparing them with one another.
  • the two proposals are rated as plausible to one another if a deviation determined in this comparison is within a specified tolerance.
  • it can also be stipulated that the two proposals must also be delivered at times that differ from one another by a maximum of a specified tolerance in order to be assessed as plausible to one another.
  • This time dimension can also be included in the training of the ANN.
  • it can be assessed not only whether the ANN maps certain values of the input variables to the same manipulated variables as the first control logic does, but also whether the ANN delivers these values at the same time as the first control logic.
  • any countermeasures can be taken.
  • the output of manipulated variables can be suppressed and / or some other measure can be initiated to put a machine or system controlled by the automation system or a process controlled by the automation system into a safe state or to leave it there .
  • the two suggestions can be fed into a comparator which only outputs a manipulated variable to the actuator if the two suggestions are plausible to one another, that is to say, for example, are sufficiently similar.
  • the two Proposals can also be routed, for example, into a failsafe device which, in response to the fact that the two proposals are not plausible to one another, interrupts the energy supply to the machine or the process or forces the machine or the process into a safe state in some other way .
  • the advantage of the ANN lies in its power to generalize.
  • the ANN can be trained, for example, on the basis of a finite number of situations that have sufficient variability. It is then able to predict a proposal for the manipulated variables that corresponds to the proposal of the first control logic with regard to these values of the input variables, even in a wide range of situations embodied by values of the input variables that were not the subject of the training.
  • This power to generalize can not only be used to secure the ongoing operation of the control logic. Before a control logic can even be used in safety-relevant applications, it must generally be checked and approved. During this test, the control logic must prove in a large number of situations that it is outputting the correcting variable values that are appropriate for the respective situation. For this purpose, a large number of values of the input variables are applied to the control logic, each representing a situation, and the values of the manipulated variables received from the control logic are checked to determine whether they represent an appropriate response in the context of the intended use of the control logic in a specific automation system.
  • the invention provides a method for checking a control logic which processes one or more input variables obtained from an automation system into one or more manipulated variables.
  • an artificial neural network ANN
  • the ANN is supplied with test values for the input variables that relate to specified test scenarios.
  • the ANN maps the test values of the input variables to test values of the manipulated variables.
  • the test values of the input variables can in particular include values that do not belong to the learning values of the input variables used during training.
  • the set of Lem values for the input variables is disjoint to the set of test values for the input variables.
  • the ANN behaves like the control logic to be tested, i.e. it supplies test values for the manipulated variables that are the same or at least very similar to the values of the manipulated variables that the control logic would have provided in its place.
  • the ANN can be operated on much faster hardware than the control logic. Therefore, the test values of the manipulated variables can be received by the ANN much faster than the control logic could supply them. In normal operation of the control logic, the values of the manipulated variables are not required so quickly. at However, the test requires such values in much larger numbers than in normal operation, so that the processing speed of the control logic would be a bottleneck during the test. This bottleneck can be eliminated by temporarily running the ANN on faster hardware such as graphics processors (GPUs). For example, GPUs can be rented by the hour or even by the minute from cloud providers if the control logic is to be checked. The GPUs can also be used to train the ANN on the behavior of the control logic to be tested.
  • GPUs graphics processors
  • the test of whether the response behavior of the ANN is appropriate can be carried out according to any criteria.
  • these criteria can include, for example, boundary conditions for the values of the manipulated variables that are specified by the specific automation system. If the test values of the manipulated variables do not comply with these boundary conditions, the response behavior of the ANN cannot be implemented as it is in the specific automation system.
  • An approach that can be used as an alternative to or in combination with the aforementioned test measures the extent to which the behavior of the control logic can be learned from an ANN. If the behavior is easy to learn, this indicates that it is internally consistent. If, on the other hand, the behavior is difficult to learn, this indicates that it contains parts that are in the context of the automation system are not plausible. If, for example, an integer overflow occurs in certain situations in the control logic, so that an integer value that has risen too high is suddenly capped to zero and counts up again from there, this behavior is completely surprising and does not follow any recognizable pattern that an ANN could capture during training.
  • the invention therefore provides a further method for checking a control logic which processes one or more input variables obtained from an automation system into one or more manipulated variables.
  • the learning values of the manipulated variables can, for example, be values of the manipulated variables that the control logic to be tested suggests for the Lem values of the input variables.
  • the learning values of the manipulated variables can, however, alternatively or also in combination with this, also be generated, for example, from prior knowledge of the specific automation system.
  • An artificial neural network ANN is trained in such a way that it applies the learning values of the input variables to the respective associated learning values of the
  • test values of the input variables which relate to specified test scenarios, are fed to both the control logic and the ANN.
  • the test values of the input variables can in particular include values that do not belong to the Lem values of the input variables used during training.
  • the set of Lem values for the input variables is disjoint to the set of test values for the input variables.
  • Proposals for values of the manipulated variables, to which the control logic on the one hand and the ANN on the other hand map the test values of the input variables, are checked against each other for plausibility. In response to this being for a given proportion of the test scenarios, the two proposals prove to be plausible to each other, it is determined that the test of the control logic has been passed. In particular, the aforementioned integer overflow or other sporadically occurring problems are either not learned at all by the ANN with high probability or are also generalized to other situations. When comparing the proposals for the values of the manipulated variables that the ANN on the one hand and the control logic output on the other, both lead to greater deviations.
  • the method for generating manipulated variables during operation of the automation system and the first-mentioned method for checking a control logic each require an ANN that has already been trained.
  • the invention also provides a method for training an ANN for use in one of these methods.
  • a control logic the behavior of which the ANN is supposed to predict in a specific automation system, is supplied with a large number of Lem values of the input variables that are realistic in the context of this automation system.
  • These learning values of the input variables are mapped by the control logic to Lem values of manipulated variables of the automation system.
  • the learning values of the input variables are "labeled" as to which values of the manipulated variables the ANN should generate from these Lem values.
  • the learning values of the input variables are fed to the ANN.
  • the ANN maps the Lem values of the input variables to values of the manipulated variables.
  • Parameters that characterize the behavior of the ANN are optimized with the aim that the values of the manipulated variables, to which the ANN maps the Lem values of the input variables, are plausible with the learning values of the output variables.
  • These parameters can in particular be, for example, weights with which inputs, the neurons of the ANN are supplied to be added to activations of the respective neurons.
  • This training of the ANN is a monitored training, whereby the behavior of the control logic serves as the "ground truth” on the basis of which the ANN learns.
  • the optimization can in particular, for example, be aimed at ensuring that the values of the manipulated variables, to which the ANN maps specific learning values of the input variables, match the associated learning values of the manipulated variables as closely as possible in accordance with a cost function.
  • the optimization can be aimed at clustering defined data points through the learning values of the input variables in combination with the associated learning values of the output variables and / or expressing them using a compressed representation.
  • the invention therefore also relates to a computer program with machine-readable instructions which, when they are executed on one or more computers, cause the computer or computers to carry out one of the described methods.
  • control devices for vehicles and embedded systems for technical devices which are also able to execute machine-readable instructions, are to be regarded as computers.
  • the invention also relates to a machine-readable data carrier and / or to a download product with the computer program.
  • a download product is a digital product that can be transmitted via a data network, ie can be downloaded by a user of the data network and that can be offered for sale for immediate download in an online shop, for example.
  • a computer can be equipped with the computer program, with the machine-readable data carrier or with the download product.
  • the invention also relates to an automation system for controlling a machine and / or a process.
  • This automation system comprises at least one control system, at least one periphery, and / or at least one signal generator, which are designed to provide state variables and / or setpoints of the machine or the process as input variables.
  • a first control logic is provided which is designed to process the input variables into a first proposal for one or more manipulated variables.
  • a second control logic with an artificial neural network, ANN is provided.
  • the ANN is trained to predict a proposal for the manipulated variables for given values of the input variables, which proposal corresponds to the proposal of the first control logic with regard to these values of the input variables.
  • Means are also provided for checking the plausibility of the suggestion of the first control logic against the suggestion of the second control logic and an evaluation unit for determining an end result of the manipulated variables from suggestions that are assessed as mutually plausible by the said means.
  • Said means and the evaluation unit can in particular also be combined, for example, in one device or in an assembly.
  • Areas of application in which safety-relevant automation systems are operated and which can benefit from the described methods and the automation system are, for example: • Conveyor systems in mining; ⁇ Elevator systems; • Process industry, for example control and monitoring of exothermic processes;
  • Machine tools in which, for example, setting up, troubleshooting, special operation or automatic operation must be automated at increased speeds;
  • Packaging machines in which a safe operational stop is to be guaranteed in the event of a process disruption
  • FIG. 1 exemplary embodiment of the method 100 for generating manipulated variables 12
  • FIG. 2 exemplary embodiment of the method 200 for checking a control logic 4a
  • FIG. 3 exemplary embodiment of the method 300 for checking a control logic 4a
  • FIG. 4 exemplary embodiment of training method 400;
  • FIG. 5 exemplary embodiment of the automation system 1
  • FIG. 6 Path-speed diagram in an exemplary application of the automation system 1 in mining.
  • FIG. 1 is a schematic flow diagram of an exemplary embodiment of the method 100 for generating manipulated variables 12.
  • step 110 one or more input variables 11 are obtained from the automation system 1.
  • step 120 These input variables 11 are processed in step 120 by a first control logic 4a to form a first suggestion 12a for the one or more manipulated variables 12.
  • the input variables 11 are also processed in step 130 by a second control logic 4b, which contains an ANN 4b *, to form a second suggestion 12b for the one or more manipulated variables 12.
  • the ANN 4b * is trained to predict a suggestion 12b for the manipulated variables 12 for given values of the input variables 11, which proposal corresponds to the suggestion 12a of the first control logic 4a with regard to these values of the input variables 11.
  • step 140 the two proposals 12a, 12b for the one or more manipulated variables 12 are checked for plausibility against one another.
  • a final result of the one or more manipulated variables (12) is determined in step 160 from the two proposals 12a, 12b. If, on the other hand, the two suggestions 12a, 12b turn out to be implausible to one another (truth value 0 for Diamant 150), the output of manipulated variables is suppressed in step 170 and / or another measure is initiated in step 180 to shut down a machine controlled by the automation system 1 or plant, or one of the automation system 1 controlled process to put in a safe state or to leave there.
  • Proposals 12a, 12b are compared with one another. If the deviation determined in this comparison 141 is within a specified tolerance (truth value 1 for diamond 142), and optionally the two suggestions 12a, 12b are also delivered at times that differ from each other by a maximum of a specified tolerance (truth value 1 for diamond 143) , the two proposals 12a, 12b can be rated as plausible to one another.
  • FIG. 2 is a schematic flow diagram of an exemplary embodiment of the method 200 for checking a control logic 4a.
  • the trained KNN 4b * is provided.
  • the KNN 4b * test values 11 * of the input variables 11, which relate to predetermined test scenarios.
  • the test values 11 * are mapped to test values 12 * of the manipulated variables 12 by the ANN 4b * in step 230. That characterized by the test values 12 * of the manipulated variables 12 in each case
  • Response behavior of the ANN 4b * is checked in step 240 on the basis of predetermined criteria to determine whether it would be appropriate in the context of the intended use of the control logic 4a in a specific automation system 1. If this is the case (truth value 1 in the case of diamond 250), it is determined in step 260 that the test of the control logic 4a has been passed.
  • FIG. 3 is a schematic flow diagram of an exemplary embodiment of the method 300 for checking a control logic 4a.
  • step 310 a large number of Lem values 11 # of the input variables 11 as well as associated learning values 12 # of the manipulated variables 12 are provided.
  • step 320 an artificial neural Network, KNN 4b *, trained to the effect that it maps the learning values 11 # of the input variables 11 to the respective associated learning values 12 # of the manipulated variables 12.
  • test values 11 * of the input variables 11, which relate to predetermined test scenarios are fed to both the control logic 4a and the ANN 4b *.
  • the control logic 4a and the ANN 4b * then supply suggestions 12a and 12b for the manipulated variables 12.
  • FIG. 4 is a schematic flow diagram of the method 400 for training the ANN 4b * in one of the previously described methods 100, 200
  • realistic Lem values 11 # of the input variables 11 are supplied.
  • These learning values 11 # of the input variables 11 are each mapped in step 420 by the control logic 4a to learning values 12 # of manipulated variables 12 of the automation system 1. That is, the control logic 4a is the source for the learning values 12 # of the manipulated variables 12.
  • the learning values 11 # of the input variables 11 are fed to the KNN 4b * in step 430, so that the KNN 4b * in step 440 the learning values 11 # of the
  • Input variables 11 are mapped to values of the manipulated variables 12.
  • parameters 4b # which characterize the behavior of the ANN 4b *, are optimized with the aim that the values of the manipulated variables 12 to which the ANN 4b * maps the learning values 11 # of the input variables 11 to the learning Values 12 # of the output variables 12 are plausible.
  • the termination criterion for this optimization 450 is arbitrary. According to block 451, the optimization 450 can for example be aimed at ensuring that the values of the manipulated variables 12, to which the ANN 4b * maps concrete learning values 11 # of the input variables 11, are as good as possible with the associated Lem values 12 # in accordance with a cost function. of the manipulated variables 12 match.
  • the optimization 450 can be aimed at clustering defined data points using the learning values 11 # of the input variables 11 in combination with the associated Lem values 12 # of the output variables 12 and / or expressing them using a compressed representation.
  • FIG. 5 shows an exemplary embodiment of the automation system 1 for controlling a machine and / or a process 2.
  • the control takes place via at least one actuator 3, which acts on the machine and / or the process 2 when controlled with manipulated variables 12.
  • the automation system 1 comprises at least one control system 5a, at least one periphery 5b, and / or at least one signal generator 5c, which are designed to provide state variables and / or setpoints of the machine or of the process 2 as input variables 11.
  • the input variables 11 can in particular have been obtained beforehand as feedback 2a from the machine or the process 2 or as feedback 3a from the actuator 3.
  • the first control logic 4a is designed to process the input variables 11 into a first suggestion 12a for one or more manipulated variables 12.
  • the second control logic 4b contains an artificial neural network, KNN 4b *. This KNN 4b * is trained to have one for given values of the input variables 11
  • Means 6 are provided for checking the plausibility of suggestion 12a of first control logic 4a against suggestion 12b of second control logic 4b. Off as plausible Proposals 12a and 12b expanded to one another, an end result of the manipulated variables 12 is determined by the evaluation unit 7.
  • FIG. 6 shows an exemplary diagram of the maximum permissible speed v of a conveyor cage in a mine over position s along a travel path that ranges from 0% to 100%.
  • the drive machine (conveyor) of the conveyor cage is controlled by the automation system 1, which here serves as a speed controller.
  • Cruise control, braking device and signaling system are the essential components of the hoisting machine control of a shaft hoisting system.
  • the speed controller controls the drive of the hoisting machine and monitors the conveying equipment, mostly rope-guided, which are used to transport people and materials, on the entire route to ensure that the maximum permissible travel speeds are adhered to. If the limit is exceeded, the speed controller stops the conveying equipment ⁇ by electrically switching off the drive motor or
  • One of several control functions of the speed controller implements what is known as "point-by-point speed monitoring". Depending on the position of the conveyor in the shaft and the direction of travel, the travel speed must not exceed certain limit values. According to FIG. 6, for example, the maximum driving speed when driving in the direction of 100% in the range 0 to 20% must not exceed the specified value of vl.
  • Common control logics 4a that are used in this application and can be secured and / or checked according to the invention with the KNN 4b * are programmable electronic components in the form of programmable logic controllers, PLCs.
  • the mode of operation of the point-by-point speed monitoring can be described according to Figure 6 for journeys from position 0% to position 100% as follows: (1) Between 0% ⁇ position ⁇ 20% and 80% ⁇ position ⁇ 100%, the current speed may be Do not exceed value vl.
  • This functionality is implemented equally by the control logic 4a on the one hand and by the control logic 4b with the ANN 4b * on the other hand, so that the manipulated variable 12 is generated in a redundant way (suggestions 12a or 12b). Due to the different nature of ANN and PLC in terms of engineering and technology, the principle of "diversity" is implemented. The ANN-based redundancy thus represents a suitable measure for avoiding and controlling systematic errors.
  • An ANN 4b * trained in the planning and design stage for the requirements of a process to be controlled can use the already known criteria as input information before and during commissioning Will be provided.
  • Plant-related and / or process-related can be used to check the plausibility of the known Requirements as well as modifications made in the meantime, the response behavior of the ANN 4b * can be used simultaneously as a prediction for the real behavior of the process to be put into operation in order to avoid unintentional or even dangerous incorrect behavior.
  • the commissioning engineer is given additional information with the help of the KNN 4b *, which supports him in setting his system parameters in a time-saving manner and thus offers the potential for economic benefits.
  • actuator 3a feedback from actuator 3 4a first control logic generates proposal 12a 4b second control logic, generates proposal 12b 4b * ANN in second control logic 4b 4b # parameters, characterize behavior of ANN 4b * 5a control system in automation system 1 5b peripherals in automation system 1 5c signal transmitter in automation system 1 6 means for checking the plausibility of proposals 12a, 12b 7 evaluation unit, forms final result for manipulated variables 12 100 methods for generating manipulated variables 12

Abstract

A method (100) for generating one or more manipulated variables (12) for at least one actuator (3) of an automation system (1), comprising the following steps:. one or more input variables (11) are obtained (110) from the automation system (1);. the input variables (11) are processed (120) by a first control logic (4a) to give a first suggestion (12a) for the one or more manipulated variables (12);. the input variables (11) are processed (130) by a second control logic (4b), which is independent of the first control logic (4a), to give a second suggestion (12b) for the one or more manipulated variables (12);. the two suggestions (12a, 12b) for the one or more manipulated variables (12) are checked against one another for plausibility (140); and. in response to the two suggestions (12a, 12b) being found to be plausible with respect to one another (150) in this check, an end result of the one or more manipulated variables (12) is determined (160) from the two suggestions (12a, 12b), wherein a second control logic (4b) is selected with an artificial neural network, ANN (4b*), which is trained to predict a suggestion (12b) for the manipulated variables (12) for given values of the input variables (11), which suggestion matches the suggestion (12a) of the first control logic (4a) with regard to these values of the input variables (11).

Description

Redundante Steuerlogik für sicherheitskritische Automatisierungssysteme auf der Basis künstlicher neuronaler Netze Die Erfindung betrifft Automatisierungssysteme, deren Steuerlogik redundant ausgeführt ist, damit Fehlfunktionen der Steuerlogik erkannt und Gegenmaßnahmen eingeleitet werden können. Redundant control logic for safety-critical automation systems based on artificial neural networks. The invention relates to automation systems whose control logic is designed redundantly so that malfunctions in the control logic can be recognized and countermeasures can be initiated.
Stand der Technik State of the art
Automatisierungssysteme steuern Maschinen oder Prozesse anhand übergeordneter Vorgaben, die von einem Leitsystem und/oder von einer Sensorik bezogen werden. Eine Steuerlogik setzt diese Vorgaben in konkrete Stellgrößen um. Mit diesen Stellgrößen werden Aktoren angesteuert, die physikalisch auf die Maschine, bzw. den Prozess, einwirken. Automation systems control machines or processes on the basis of higher-level specifications that are obtained from a control system and / or from a sensor system. A control logic converts these specifications into concrete manipulated variables. Actuators that have a physical effect on the machine or the process are controlled with these manipulated variables.
Automatisierungssysteme kommen zunehmend auch in sicherheitskritischen Bereichen zum Einsatz, in denen Sach- oder Personenschäden verursacht werden können, wenn die Steuerlogik eine der aktuellen Betriebs Situation nicht angemessene Stellgröße ausgibt und diese Stellgröße durch den Aktor in eine in der aktuellen Situation nachteilige Aktion übersetzt wird. Da eine Steuerlogik wie jedes andere technische Gerät prinzipiell fehlfunktionieren oder ausfallen kann, werden für sicherheitskritische Anwendungen zwei oder mehr redundante Steuerlogiken eingesetzt, deren Ausgaben gegeneinander plausibilisiert werden, bevor sie dem jeweiligen Aktor zugeführt werden. Hierhinter steckt die Überlegung, dass die Wahrscheinlichkeit für eine gleichzeitige und gleichartige Fehlfunktion beider Steuerlogiken, die sich in gleicher Weise auf die Ausgaben beider Steuerlogiken auswirkt, sehr gering ist. Aufgabe und Lösung Automation systems are also increasingly used in safety-critical areas in which property damage or personal injury can be caused if the control logic outputs a manipulated variable that is not appropriate for the current operating situation and this manipulated variable is translated by the actuator into an action that is disadvantageous in the current situation. Since a control logic, like any other technical device, can in principle malfunction or fail, two or more redundant control logics are used for safety-critical applications, the outputs of which are checked against each other for plausibility before they are fed to the respective actuator. This is based on the consideration that the probability of a simultaneous and similar malfunction of both control logics, which affects the outputs of both control logics in the same way, is very low. Task and solution
Es ist die Aufgabe der vorliegenden Erfindung, eine redundante Erzeugung von Stellgrößen in einem Automatisierungssystem mit einem besonders günstigen Verhältnis von Kostenaufwand zu Betriebssicherheit zu realisieren. The object of the present invention is to implement redundant generation of manipulated variables in an automation system with a particularly favorable ratio of cost to operational reliability.
Diese Aufgabe wird erfindungsgemäß gelöst durch ein Verfahren gemäß Hauptanspruch sowie durch ein Automatisierungssystem gemäß Nebenanspruch. Weitere vorteilhafte Ausgestaltungen ergeben sich aus den darauf rückbezogenen Unteransprüchen. According to the invention, this object is achieved by a method according to the main claim and by an automation system according to the secondary claim. Further advantageous refinements emerge from the subclaims that refer back to them.
Offenbarung der Erfindung Disclosure of the invention
Im Rahmen der Erfindung wurde ein Verfahren zur Erzeugung einer oder mehrerer Stellgrößen für mindestens einen Aktor eines Automatisierungssystems entwickelt. In the context of the invention, a method for generating one or more manipulated variables for at least one actuator of an automation system was developed.
Im Rahmen dieses Verfahrens werden aus dem Automatisierungssystem eine oder mehrere Eingangsgrößen bezogen. Diese Eingangsgrößen können beispielsweise von einem Leitsystem, einer zugehörigen Peripherie, und/oder von einer Sensorik oder beliebigen anderen Signalgebern, stammen. Bei den Eingangsgrößen kann es sich beispielsweise um Sollwerte handeln, auf die eine oder mehrere für den Betrieb der Maschine, bzw. des Prozesses, relevante Größen zu regeln sind. Beispiele für derartige Größen sind Temperaturen, Drücke, Spannungen, Ströme, chemische Konzentrationen, Positionen und Geschwindigkeiten. As part of this process, one or more input variables are obtained from the automation system. These input variables can originate, for example, from a control system, an associated periphery, and / or from a sensor system or any other signal transmitters. The input variables can, for example, be setpoint values to which one or more variables relevant to the operation of the machine or the process are to be regulated. Examples of such quantities are temperatures, pressures, voltages, currents, chemical concentrations, positions and speeds.
Die Eingangsgrößen werden durch eine erste Steuerlogik zu einem ersten Vorschlag für die eine oder mehreren Stellgrößen verarbeitet. Diese erste Steuerlogik kann beispielsweise ein Regler („Low-Level-Controller“) sein, der dazu ausgebildet ist, eine oder mehrere der genannten für den Betrieb der Maschine, bzw. des Prozesses, relevanten Größen auf Sollwerte zu regeln. Alternativ oder auch in Kombination hierzu kann die erste Steuerlogik beispielsweise Bewegungen von Maschinenteilen oder Fahrzeugen dahingehend steuern, dass Kollisionen mit anderen Maschinenteilen bzw. Fahrzeugen vermieden werden. Die Eingangsgrößen werden zusätzlich durch eine zweite Steuerlogik, die von der ersten Steuerlogik unabhängig ist, zu einem zweiten Vorschlag für die eine oder mehreren Stellgrößen verarbeitet. Diese Unabhängigkeit kann insbesondere beispielsweise auch beinhalten, dass die Eingangsgrößen der ersten Steuerlogik einerseits und der zweiten Steuerlogik andererseits auf so weit wie möglich verschiedenen Wegen zugeführt werden. Die Eingangsgrößen können also insbesondere beispielsweise dem Automatisierungssystem auf zwei voneinander unabhängigen Wegen entnommen werden. The input variables are processed by a first control logic to form a first proposal for the one or more manipulated variables. This first control logic can, for example, be a regulator (“low-level controller”) which is designed to regulate one or more of the aforementioned variables relevant to the operation of the machine or the process to setpoint values. Alternatively or in combination for this purpose, the first control logic can, for example, control movements of machine parts or vehicles in such a way that collisions with other machine parts or vehicles are avoided. The input variables are also processed by a second control logic, which is independent of the first control logic, to form a second proposal for the one or more manipulated variables. This independence can in particular also include, for example, that the input variables of the first control logic, on the one hand, and the second control logic, on the other hand, are fed in as far as possible different ways. The input variables can therefore, for example, be taken from the automation system in two ways that are independent of one another.
Die beiden Vorschläge für die Stellgrößen werden gegeneinander plausibilisiert. In Antwort darauf, dass sich hierbei die beiden Vorschläge als zueinander plausibel erweisen, wird aus den beiden Vorschlägen ein Endergebnis der einen oder mehreren Stellgrößen ermittelt. Beispielsweise kann geprüft werden, ob beide Steuerlogiken zur gleichen Zeit eine gleiche oder zumindest ähnliche Aktion des Aktors vorschlagen. The two suggestions for the manipulated variables are checked against each other for plausibility. In response to the fact that the two proposals here prove to be plausible to one another, an end result of the one or more manipulated variables is determined from the two proposals. For example, it can be checked whether both control logics suggest the same or at least similar action of the actuator at the same time.
Es wird eine zweite Steuerlogik mit einem künstlichen neuronalen Netzwerk, KNN, gewählt. Dieses KNN ist darauf trainiert, zu gegebenen Werten der Eingangsgrößen einen Vorschlag für die Stellgrößen vorherzusagen, der mit dem Vorschlag der ersten Steuerlogik bezüglich dieser Werte der Eingangsgrößen übereinstimmt. A second control logic with an artificial neural network, ANN, is chosen. This ANN is trained to predict a proposal for the manipulated variables for given values of the input variables, which proposal agrees with the proposal of the first control logic with regard to these values of the input variables.
Es wurde erkannt, dass auf diese Weise die Redundanz bei der Erzeugung der Stellgrößen mit einem geringeren Kostenaufwand realisiert werden kann. Es ist nicht notwendig, die Hardware der ersten Steuerlogik komplett zu duplizieren. Stattdessen ist lediglich Standard-Hardware nötig, die die Inferenzberechnung des KNN durchführen, also Eingangsgrößen auf einen Vorschlag für Stellgrößen übersetzen, kann. Diese Hardware muss nicht einmal an dem Ort vorgehalten werden, wo die erste Steuerlogik physisch realisiert ist. Vielmehr kann die zweite Steuerlogik auch beispielsweise in einer Cloud realisiert sein. Indem für die Inferenzberechnung zwangsläufig ganz andere Hardware und Software zum Einsatz kommt als in der ersten Steuerlogik, wird automatisch eine Diversität zwischen der ersten Steuerlogik und der zweiten Steuerlogik geschaffen. Ist die zweite Steuerlogik ein Duplikat der ersten Steuerlogik, ist die Plausibilität besonders einfach zu prüfen, weil zu erwarten ist, dass die Ausgaben beider Steuerlogiken immer gleich sind. Dafür hat das Duplikat auch Fehlerquellen mit dem Original gemeinsam, was die Wahrscheinlichkeit für gleichzeitige und gleichartige Ausfälle beider Steuerlogiken erhöht. So kommt genau typgleiche Hardware und insbesondere eine typgleiche CPU zum Einsatz, möglicherweise sogar aus der gleichen Produktionscharge. Wenn beispielsweise beide CPUs von ein und demselben Material- oder Fabrikationsfehler betroffen sind und nach einer bestimmten AnzahlIt was recognized that in this way the redundancy in the generation of the manipulated variables can be implemented with lower costs. It is not necessary to completely duplicate the hardware of the first control logic. Instead, all that is required is standard hardware that performs the inference calculation of the ANN, i.e. translates input variables based on a suggestion for manipulated variables, can. This hardware does not even have to be kept at the location where the first control logic is physically implemented. Rather, the second control logic can also be implemented in a cloud, for example. Since completely different hardware and software are inevitably used for the inference calculation than in the first control logic, a diversity is automatically created between the first control logic and the second control logic. If the second control logic is a duplicate of the first control logic, the plausibility is particularly easy to check because it is to be expected that the outputs of both control logics are always the same. The duplicate also has sources of error in common with the original, which increases the probability of simultaneous and similar failures of both control logics. Hardware of the same type and in particular a CPU of the same type is used, possibly even from the same production batch. For example, if both CPUs are affected by the same material or manufacturing defect and after a certain number
Betriebsstunden eine CPU versagt, sieht es in der anderen CPU, die genau das gleiche Last-Zeit-Profil erfahren hat, möglicherweise physikalisch genauso aus, so dass die zweite CPU zur gleichen Zeit oder wenig später versagen könnte. Entsprechende leidvolle Erfahrungen haben in der Computertechnik bereits viele Nutzer von RAID-Systemen gesammelt, die die Daten zum Schutz vor Verlust in einem redundanten Array aus mehreren Festplatten ablegen: Fast gleichzeitig fielen mehr baugleiche Festplatten aus als von der Redundanz verkraftet werden konnte. Operating hours one CPU fails, the other CPU, which has experienced exactly the same load-time profile, may physically look the same, so that the second CPU could fail at the same time or a little later. Many users of RAID systems have already had corresponding painful experiences in computer technology, which store the data to protect against loss in a redundant array of several hard drives: Almost at the same time, more hard drives of the same construction failed than could be handled by the redundancy.
Eine diversitäre Lösung, bei der zwei herkömmliche Steuerlogiken von unterschiedlichen Herstellern bezogen werden, kann die Wahrscheinlichkeit für solche gleichzeitigen Ausfälle deutlich verringern. Gegenüber einer solchen Lösung ist der Einsatz einer zweiten Steuerlogik mit einem trainierten KNN nicht nur im Hinblick auf die Hardware deutlich preiswerter. Es fällt auch der Zusatzaufwand weg, der erforderlich wäre, um das Know-How für den Umgang mit einer weiteren Steuerlogik zu erwerben und diese weitere Steuerlogik laufend zu warten und zu pflegen. Weiterhin ist bei hinreichendem Trainingsstand des KNN damit zu rechnen, dass im fehlerfreien Zustand die Ausgaben des KNN näher an den Ausgaben der ersten Steuerlogik liegen als die Ausgaben der zweiten Steuerlogik. Wird also die Ausgabe des KNN mit der Ausgabe ersten Steuerlogik verglichen, ist dies aussagekräftiger als wenn die Ausgabe der zweiten Steuerlogik mit der Ausgabe der ersten Steuerlogik verglichen wird. A diverse solution in which two conventional control logics are obtained from different manufacturers can significantly reduce the likelihood of such simultaneous failures. Compared to such a solution, the use of a second control logic with a trained ANN is significantly cheaper, not only with regard to the hardware. It also eliminates the additional effort that would be required to acquire the know-how for dealing with a further control logic and to continuously maintain and control this further control logic maintain. Furthermore, if the ANN is sufficiently trained, it can be expected that in the error-free state the outputs of the ANN are closer to the outputs of the first control logic than the outputs of the second control logic. If the output of the ANN is compared with the output of the first control logic, this is more meaningful than if the output of the second control logic is compared with the output of the first control logic.
Somit werden in einer besonders vorteilhaften Ausgestaltung die beiden Vorschläge gegeneinander plausibilisiert, indem sie miteinander verglichen werden. Die beiden Vorschläge werden als zueinander plausibel gewertet, wenn eine bei diesem Vergleich ermittelte Abweichung innerhalb einer vorgegebenen Toleranz liegt. Weiterhin kann zusätzlich gefordert werden, dass die beiden Vorschläge zusätzlich zu Zeiten geliefert werden müssen, die um höchstens eine vorgegebene Toleranz voneinander abweichen, um als zueinander plausibel gewertet zu werden. Auch diese zeitliche Dimension lässt sich in das Training des KNN einbeziehen. Beim Training des KNN kann also beispielsweise nicht nur bewertet werden, ob das KNN bestimmte Werte der Eingangsgrößen auf die gleichen Stellgrößen abbildet wie es die erste Steuerlogik tut, sondern auch, ob das KNN diese Werte zur gleichen Zeit liefert wie die erste Steuerlogik. Thus, in a particularly advantageous embodiment, the two proposals are checked for plausibility against one another by comparing them with one another. The two proposals are rated as plausible to one another if a deviation determined in this comparison is within a specified tolerance. Furthermore, it can also be stipulated that the two proposals must also be delivered at times that differ from one another by a maximum of a specified tolerance in order to be assessed as plausible to one another. This time dimension can also be included in the training of the ANN. When training the ANN, for example, it can be assessed not only whether the ANN maps certain values of the input variables to the same manipulated variables as the first control logic does, but also whether the ANN delivers these values at the same time as the first control logic.
Sofern sich die beiden Vorschläge als nicht zueinander plausibel erweisen, können beliebige Gegenmaßnahmen ergriffen werden. Insbesondere kann beispielsweise die Ausgabe von Stellgrößen unterdrückt werden, und/oder es kann eine sonstige Maßnahme eingeleitet werden, um eine von dem Automatisierungssystem gesteuerte Maschine oder Anlage, bzw. einen von dem Automatisierungssystem gesteuerten Prozess, in einen sicheren Zustand zu versetzen oder dort zu belassen. If the two proposals prove to be implausible with one another, any countermeasures can be taken. In particular, for example, the output of manipulated variables can be suppressed and / or some other measure can be initiated to put a machine or system controlled by the automation system or a process controlled by the automation system into a safe state or to leave it there .
Beispielsweise können die beiden Vorschläge in einen Vergleicher geführt sein, der nur dann eine Stellgröße an den Aktor ausgibt, wenn die beiden Vorschläge zueinander plausibel sind, also beispielsweise hinreichend ähnlich sind. Die beiden Vorschläge können auch beispielsweise in eine Failsafe-Vorrichtung geführt sein, die in Antwort darauf, dass die beiden Vorschläge nicht zueinander plausibel sind, die Energieversorgung der Maschine bzw. des Prozesses unterbricht oder die Maschine bzw. den Prozess auf andere Weise in einen sicheren Zustand zwingt. For example, the two suggestions can be fed into a comparator which only outputs a manipulated variable to the actuator if the two suggestions are plausible to one another, that is to say, for example, are sufficiently similar. The two Proposals can also be routed, for example, into a failsafe device which, in response to the fact that the two proposals are not plausible to one another, interrupts the energy supply to the machine or the process or forces the machine or the process into a safe state in some other way .
Der Vorzug des KNN liegt insbesondere in dessen Kraft zur Verallgemeinerung. Das KNN lässt sich beispielsweise anhand einer endlichen Zahl von Situationen trainieren, die eine hinreichende Variabilität aufweisen. Es ist dann in der Lage, auch in einer großen Bandbreite von durch Werte der Eingangsgrößen verkörperten Situationen, die nicht Gegenstand des Trainings gewesen sind, einen Vorschlag für die Stellgrößen vorherzusagen, der mit dem Vorschlag der ersten Steuerlogik bezüglich dieser Werte der Eingangsgrößen übereinstimmt. The advantage of the ANN lies in its power to generalize. The ANN can be trained, for example, on the basis of a finite number of situations that have sufficient variability. It is then able to predict a proposal for the manipulated variables that corresponds to the proposal of the first control logic with regard to these values of the input variables, even in a wide range of situations embodied by values of the input variables that were not the subject of the training.
Diese Kraft zur Verallgemeinerung kann nicht nur genutzt werden, um den laufenden Betrieb der Steuerlogik abzusi ehern. Bevor eine Steuerlogik in sicherheitsrelevanten Anwendungen überhaupt eingesetzt werden kann, ist sie in der Regel zu prüfen und abzunehmen. Bei dieser Prüfung muss die Steuerlogik in einer Vielzahl von Situationen beweisen, dass sie der jeweiligen Situation angemessene Werte der Stellgrößen ausgibt. Hierzu wird die Steuerlogik mit einer Vielzahl von Werten der Eingangsgrößen beaufschlagt, die jeweils eine Situation repräsentieren, und die von der Steuerlogik erhaltenen Werte der Stellgrößen werden dahingehend geprüft, ob sie eine im Kontext der beabsichtigten Verwendung der Steuerlogik in einem konkreten Automatisierungssystem angemessene Reaktion repräsentieren. This power to generalize can not only be used to secure the ongoing operation of the control logic. Before a control logic can even be used in safety-relevant applications, it must generally be checked and approved. During this test, the control logic must prove in a large number of situations that it is outputting the correcting variable values that are appropriate for the respective situation. For this purpose, a large number of values of the input variables are applied to the control logic, each representing a situation, and the values of the manipulated variables received from the control logic are checked to determine whether they represent an appropriate response in the context of the intended use of the control logic in a specific automation system.
Es wurde erkannt, dass mit einem trainierten KNN, das das Verhalten der Steuerlogik gelernt hat und insofern ein „digitaler Zwilling“ dieser Steuerlogik ist, der für eine solche Prüfung erforderliche Zeitaufwand deutlich reduziert werden kann. Zu diesem Zweck stellt die Erfindung ein Verfahren zur Prüfung einer Steuerlogik, die eine oder mehrere aus einem Automatisierungssystem bezogene Eingangsgrößen zu einer oder mehreren Stellgrößen verarbeitet, bereit. Im Rahmen dieses Verfahrens wird ein künstliches neuronales Netzwerk, KNN, bereitgestellt, das darauf trainiert ist, zu gegebenen Werten der Eingangsgrößen einen Vorschlag für die Stellgrößen vorherzusagen, der mit dem Vorschlag der Steuerlogik bezüglich dieser Werte der Eingangsgrößen übereinstimmt. Dem KNN werden Test-Werte der Eingangsgrößen zugeführt, die sich auf vorgegebene Prüfungsszenarien beziehen. Die Test-Werte der Eingangsgrößen werden von dem KNN auf Test-Werte der Stellgrößen abgebildet. Dabei können die Test-Werte der Eingangsgrößen insbesondere Werte umfassen, die nicht zu den beim Training verwendeten Lern-Werten der Eingangsgrößen gehören. Idealerweise ist die Menge der Lem-Werte der Eingangsgrößen disjunkt zur Menge der Test-Werte der Eingangsgrößen. It was recognized that with a trained ANN that has learned the behavior of the control logic and is therefore a “digital twin” of this control logic, the time required for such a test can be significantly reduced. For this purpose, the invention provides a method for checking a control logic which processes one or more input variables obtained from an automation system into one or more manipulated variables. As part of this method, an artificial neural network, ANN, is provided which is trained to predict a proposal for the manipulated variables for given values of the input variables, which proposal corresponds to the proposal of the control logic with regard to these values of the input variables. The ANN is supplied with test values for the input variables that relate to specified test scenarios. The ANN maps the test values of the input variables to test values of the manipulated variables. The test values of the input variables can in particular include values that do not belong to the learning values of the input variables used during training. Ideally, the set of Lem values for the input variables is disjoint to the set of test values for the input variables.
Das durch die Test-Werte der Stellgrößen jeweils charakterisierte Antwortverhalten des KNN wird nun anhand vorgegebener Kriterien dahingehend geprüft, ob es im Kontext der beabsichtigten Verwendung der Steuerlogik in einem konkreten Automatisierungssystem angemessen wäre. In Antwort darauf, dass dasThe response behavior of the ANN, characterized in each case by the test values of the manipulated variables, is now checked on the basis of specified criteria to determine whether it would be appropriate in the context of the intended use of the control logic in a specific automation system. In response to that
Antwortverhalten des KNN insgesamt als angemessen erkannt wird, wird festgestellt, dass die Prüfung der Steuerlogik bestanden ist. Response behavior of the ANN is recognized as appropriate overall, it is determined that the test of the control logic has been passed.
Das KNN verhält sich auf Grund seines Trainings wie die zu prüfende Steuerlogik, liefert also Test-Werte der Stellgrößen, die gleich oder zumindest sehr ähnlich zu den Werten der Stellgrößen sind, die die Steuerlogik an seiner Stelle geliefert hätte. Das KNN kann jedoch auf viel schnellerer Hardware betrieben werden als die Steuerlogik. Daher können die Test-Werte der Stellgrößen vom KNN wesentlich schneller erhalten werden als die Steuerlogik sie liefern könnte. Im normalen Betrieb der Steuerlogik werden die Werte der Stellgrößen nicht derart schnell benötigt. Bei der Prüfung werden jedoch solche Werte in viel größerer Zahl benötigt als im normalen Betrieb, so dass die Verarbeitungsgeschwindigkeit der Steuerlogik bei der Prüfung ein Engpass wäre. Dieser Engpass lässt sich beheben, indem das KNN temporär auf schnellerer Hardware, wie etwa Grafikprozessoren (GPUs), ausgeführt wird. Beispielsweise können GPUs stunden- oder gar minutenweise bei Cloud-Anbietern angemietet werden, wenn eine Prüfung der Steuerlogik ansteht. Die GPUs können auch verwendet werden, um das KNN auf das Verhalten der zu prüfenden Steuerlogik zu trainieren. Due to its training, the ANN behaves like the control logic to be tested, i.e. it supplies test values for the manipulated variables that are the same or at least very similar to the values of the manipulated variables that the control logic would have provided in its place. However, the ANN can be operated on much faster hardware than the control logic. Therefore, the test values of the manipulated variables can be received by the ANN much faster than the control logic could supply them. In normal operation of the control logic, the values of the manipulated variables are not required so quickly. at However, the test requires such values in much larger numbers than in normal operation, so that the processing speed of the control logic would be a bottleneck during the test. This bottleneck can be eliminated by temporarily running the ANN on faster hardware such as graphics processors (GPUs). For example, GPUs can be rented by the hour or even by the minute from cloud providers if the control logic is to be checked. The GPUs can also be used to train the ANN on the behavior of the control logic to be tested.
Insbesondere können beispielsweise komplette Sollwertkurven der Eingangsgrößen und/oder Stellgrößen, an denen die Maschine und/oder der Prozess entlangfahren soll, mit Hilfe des KNN als „digitalem Zwilling“ mit sehr kleiner Schrittweite durchgefahren werden. Dadurch wird die Prüfung deutlich vollständiger gegenüber dem bisherigen Stand der Technik, bei dem aus Zeitgründen eine relativ große Schrittweite gewählt werden musste. In particular, for example, complete setpoint curves of the input variables and / or manipulated variables, along which the machine and / or the process is to travel, can be run through with the aid of the ANN as a “digital twin” with very small increments. This makes the test significantly more complete compared to the previous state of the art, in which a relatively large step size had to be selected for reasons of time.
Die Prüfung, ob das Antwortverhalten des KNN angemessen ist, kann nach beliebigen Kriterien erfolgen. Diese Kriterien können insbesondere beispielsweise Randbedingungen für die Werte der Stellgrößen beinhalten, die durch das konkrete Automatisierungssystem vorgegeben sind. Wenn die Test-Werte der Stellgrößen diese Randbedingungen nicht einhalten, kann das Antwortverhalten des KNN so, wie es ist, nicht in dem konkreten Automatisierungssystem umgesetzt werden. The test of whether the response behavior of the ANN is appropriate can be carried out according to any criteria. In particular, these criteria can include, for example, boundary conditions for the values of the manipulated variables that are specified by the specific automation system. If the test values of the manipulated variables do not comply with these boundary conditions, the response behavior of the ANN cannot be implemented as it is in the specific automation system.
Ein alternativ oder auch in Kombination zu der vorgenannten Prüfung nutzbarer Ansatz misst, inwieweit sich das Verhalten der Steuerlogik von einem KNN erlernen lässt. Wenn sich das Verhalten gut erlernen lässt, deutet dies daraufhin, dass es in sich konsistent ist. Wenn sich das Verhalten hingegen schlecht erlernen lässt, deutet dies daraufhin, dass es Anteile enthält, die im Kontext des Automatisierungssystems nicht plausibel sind. Wenn beispielsweise in der Steuerlogik in bestimmten Situationen ein Integer-Üb erlauf auftritt, so dass ein zu hoch angestiegener Integer- Wert plötzlich auf Null gekappt wird und von dort wieder hochzählt, so ist dieses Verhalten völlig überraschend und folgt keinem erkennbaren Muster, das ein KNN beim Training erfassen könnte. An approach that can be used as an alternative to or in combination with the aforementioned test measures the extent to which the behavior of the control logic can be learned from an ANN. If the behavior is easy to learn, this indicates that it is internally consistent. If, on the other hand, the behavior is difficult to learn, this indicates that it contains parts that are in the context of the automation system are not plausible. If, for example, an integer overflow occurs in certain situations in the control logic, so that an integer value that has risen too high is suddenly capped to zero and counts up again from there, this behavior is completely surprising and does not follow any recognizable pattern that an ANN could capture during training.
Daher stellt die Erfindung ein weiteres Verfahren zur Prüfung einer Steuerlogik, die eine oder mehrere aus einem Automatisierungssystem bezogene Eingangsgrößen zu einer oder mehreren Stellgrößen verarbeitet, bereit. The invention therefore provides a further method for checking a control logic which processes one or more input variables obtained from an automation system into one or more manipulated variables.
Im Rahmen dieses Verfahrens werden eine Vielzahl von Lern-Werten der Eingangsgrößen sowie jeweils zugehörige Lem-Werte der Stellgrößen bereitgestellt. Die Lern-Werte der Stellgrößen können beispielsweise Werte der Stellgrößen sein, die die zu prüfende Steuerlogik für die Lem-Werte der Eingangsgrößen vorschlägt. Die Lern-Werte der Stellgrößen können aber alternativ oder auch in Kombination hierzu beispielsweise auch aus Vorwissen über das konkrete Automatisierungssystem erzeugt werden. As part of this process, a large number of learning values for the input variables as well as associated learning values for the manipulated variables are provided. The learning values of the manipulated variables can, for example, be values of the manipulated variables that the control logic to be tested suggests for the Lem values of the input variables. The learning values of the manipulated variables can, however, alternatively or also in combination with this, also be generated, for example, from prior knowledge of the specific automation system.
Ein künstliches neuronales Netzwerk, KNN, wird dahingehend trainiert, dass es die Lern-Werte der Eingangsgrößen auf die jeweils zugehörigen Lern-Werte derAn artificial neural network, ANN, is trained in such a way that it applies the learning values of the input variables to the respective associated learning values of the
Stellgrößen abbildet. Nach diesem Training werden Test-Werte der Eingangsgrößen, die sich auf vorgegebene Prüfungsszenarien beziehen, sowohl der Steuerlogik als auch dem KNN zugeführt. Dabei können die Test-Werte der Eingangsgrößen insbesondere Werte umfassen, die nicht zu den beim Training verwendeten Lem- Werten der Eingangsgrößen gehören. Idealerweise ist die Menge der Lem-Werte der Eingangsgrößen disjunkt zur Menge der Test-Werte der Eingangsgrößen. Maps manipulated variables. After this training, test values of the input variables, which relate to specified test scenarios, are fed to both the control logic and the ANN. The test values of the input variables can in particular include values that do not belong to the Lem values of the input variables used during training. Ideally, the set of Lem values for the input variables is disjoint to the set of test values for the input variables.
Vorschläge für Werte der Stellgrößen, auf die die Steuerlogik einerseits und das KNN andererseits die Test-Werte der Eingangsgrößen jeweils abbilden, werden gegeneinander plausibilisiert. In Antwort darauf, dass sich hierbei für einen vorgegebenen Anteil der Prüfungsszenarien jeweils die beiden Vorschläge als zueinander plausibel erweisen, wird festgestellt, dass die Prüfung der Steuerlogik bestanden ist. Insbesondere der zuvor erwähnte Integer-Üb erlauf oder andere sporadisch auftretende Probleme werden von dem KNN mit hoher Wahrscheinlichkeit entweder gar nicht mitgelernt oder auch auf andere Situationen verallgemeinert. Beides führt beim Vergleich der Vorschläge für Werte der Stellgrößen, die das KNN einerseits und die Steuerlogik andererseits ausgeben, zu größeren Abweichungen. Proposals for values of the manipulated variables, to which the control logic on the one hand and the ANN on the other hand map the test values of the input variables, are checked against each other for plausibility. In response to this being for a given proportion of the test scenarios, the two proposals prove to be plausible to each other, it is determined that the test of the control logic has been passed. In particular, the aforementioned integer overflow or other sporadically occurring problems are either not learned at all by the ANN with high probability or are also generalized to other situations. When comparing the proposals for the values of the manipulated variables that the ANN on the one hand and the control logic output on the other, both lead to greater deviations.
Das Verfahren zur Erzeugung von Stellgrößen im laufenden Betrieb des Automatisierungssystems sowie das zuerst erwähnte Verfahren zur Prüfung einer Steuerlogik setzen jeweils ein KNN voraus, das bereits trainiert ist. Die Erfindung stellt auch ein Verfahren für das Training eines KNN zum Einsatz in einem dieser Verfahren bereit. The method for generating manipulated variables during operation of the automation system and the first-mentioned method for checking a control logic each require an ANN that has already been trained. The invention also provides a method for training an ANN for use in one of these methods.
Bei diesem Verfahren wird einer Steuerlogik, deren Verhalten in einem konkreten Automatisierungssystem das KNN Vorhersagen soll, eine Vielzahl von im Kontext dieses Automatisierungssystems realistischen Lem-Werten der Eingangsgrößen zugeführt. Diese Lern-Werte der Eingangsgrößen werden von der Steuerlogik jeweils auf Lem-Werte von Stellgrößen des Automatisierungssystems abgebildet. Auf diese Weise werden also die Lern-Werte der Eingangsgrößen dahingehend „gelabelf ‘, welche Werte der Stellgrößen das KNN aus diesen Lem-Werten erzeugen sollte. Die Lern-Werte der Eingangsgrößen werden dem KNN zugeführt. Das KNN bildet die Lem-Werte der Eingangsgrößen auf Werte der Stellgrößen ab. Parameter, die das Verhalten des KNN charakterisieren, werden optimiert mit dem Ziel, dass die Werte der Stellgrößen, auf die das KNN die Lem-Werte der Eingangsgrößen abbildet, zu den Lern-Werten der Ausgangsgrößen plausibel sind. Diese Parameter können insbesondere beispielsweise Gewichte sein, mit denen Eingaben, die Neuronen des KNN zugeführt werden, zu Aktivierungen der jeweiligen Neuronen summiert werden. In this method, a control logic, the behavior of which the ANN is supposed to predict in a specific automation system, is supplied with a large number of Lem values of the input variables that are realistic in the context of this automation system. These learning values of the input variables are mapped by the control logic to Lem values of manipulated variables of the automation system. In this way, the learning values of the input variables are "labeled" as to which values of the manipulated variables the ANN should generate from these Lem values. The learning values of the input variables are fed to the ANN. The ANN maps the Lem values of the input variables to values of the manipulated variables. Parameters that characterize the behavior of the ANN are optimized with the aim that the values of the manipulated variables, to which the ANN maps the Lem values of the input variables, are plausible with the learning values of the output variables. These parameters can in particular be, for example, weights with which inputs, the neurons of the ANN are supplied to be added to activations of the respective neurons.
Dieses Training des KNN ist ein überwachtes Training, wobei das Verhalten der Steuerlogik als „ground truth“ dient, anhand derer das KNN lernt. This training of the ANN is a monitored training, whereby the behavior of the control logic serves as the "ground truth" on the basis of which the ANN learns.
Das Optimieren kann insbesondere beispielsweise darauf gerichtet sein, dass die Werte der Stellgrößen, auf die das KNN konkrete Lern-Werte der Eingangsgrößen abbildet, nach Maßgabe einer Kostenfunktion möglichst gut mit den zugehörigen Lern-Werten der Stellgrößen übereinstimmen. The optimization can in particular, for example, be aimed at ensuring that the values of the manipulated variables, to which the ANN maps specific learning values of the input variables, match the associated learning values of the manipulated variables as closely as possible in accordance with a cost function.
Alternativ oder auch in Kombination hierzu kann das Optimieren darauf gerichtet sein, durch die Lern-Werte der Eingangsgrößen in Kombination mit den zugehörigen Lern-Werten der Ausgangsgrößen definierte Datenpunkte zu clustern und/oder durch eine komprimierte Repräsentation auszudrücken. Alternatively or also in combination with this, the optimization can be aimed at clustering defined data points through the learning values of the input variables in combination with the associated learning values of the output variables and / or expressing them using a compressed representation.
Die Verfahren können insbesondere ganz oder teilweise computerimplementiert sein. Daher bezieht sich die Erfindung auch auf ein Computerprogramm mit maschinenlesbaren Anweisungen, die, wenn sie auf einem oder mehreren Computern ausgeführt werden, den oder die Computer dazu veranlassen, eines der beschriebenen Verfahren auszuführen. In diesem Sinne sind auch Steuergeräte für Fahrzeuge und Embedded-Systeme für technische Geräte, die ebenfalls in der Lage sind, maschinenlesbare Anweisungen auszuführen, als Computer anzusehen. Ebenso bezieht sich die Erfindung auch auf einen maschinenlesbaren Datenträger und/oder auf ein Downloadprodukt mit dem Computerprogramm. Ein Downloadprodukt ist ein über ein Datennetzwerk übertragbares, d.h. von einem Benutzer des Datennetzwerks downloadbares, digitales Produkt, das beispielsweise in einem Online-Shop zum sofortigen Download feilgeboten werden kann. Weiterhin kann ein Computer mit dem Computerprogramm, mit dem maschinenlesbaren Datenträger bzw. mit dem Downloadprodukt ausgerüstet sein. In particular, the methods can be implemented entirely or partially by computer. The invention therefore also relates to a computer program with machine-readable instructions which, when they are executed on one or more computers, cause the computer or computers to carry out one of the described methods. In this sense, control devices for vehicles and embedded systems for technical devices, which are also able to execute machine-readable instructions, are to be regarded as computers. The invention also relates to a machine-readable data carrier and / or to a download product with the computer program. A download product is a digital product that can be transmitted via a data network, ie can be downloaded by a user of the data network and that can be offered for sale for immediate download in an online shop, for example. Furthermore, a computer can be equipped with the computer program, with the machine-readable data carrier or with the download product.
Die Erfindung bezieht sich auch auf ein Automatisierungssystem für die Steuerung einer Maschine und/oder eines Prozesses. Dieses Automatisierungssystem umfasst mindestens ein Leitsystem, mindestens eine Peripherie, und/oder mindestens einen Signalgeber, die dazu ausgebildet sind, Zustandsgrößen und/oder Sollwerte der Maschine bzw. des Prozesses als Eingangsgrößen zur Verfügung zu stellen. Es ist eine erste Steuerlogik vorgesehen, die dazu ausgebildet ist, die Eingangsgrößen zu einem ersten Vorschlag für eine oder mehrere Stellgrößen zu verarbeiten. The invention also relates to an automation system for controlling a machine and / or a process. This automation system comprises at least one control system, at least one periphery, and / or at least one signal generator, which are designed to provide state variables and / or setpoints of the machine or the process as input variables. A first control logic is provided which is designed to process the input variables into a first proposal for one or more manipulated variables.
Es ist eine zweite Steuerlogik mit einem künstlichen neuronalen Netzwerk, KNN, vorgesehen. Das KNN ist darauf trainiert ist, zu gegebenen Werten der Eingangsgrößen einen Vorschlag für die Stellgrößen vorherzusagen, der mit dem Vorschlag der ersten Steuerlogik bezüglich dieser Werte der Eingangsgrößen übereinstimmt. A second control logic with an artificial neural network, ANN, is provided. The ANN is trained to predict a proposal for the manipulated variables for given values of the input variables, which proposal corresponds to the proposal of the first control logic with regard to these values of the input variables.
Weiterhin sind Mittel zur Plausibilisierung des Vorschlags der ersten Steuerlogik gegen den Vorschlag der zweiten Steuerlogik und eine Auswerteeinheit zum Ermitteln eines Endergebnisses der Stellgrößen aus Vorschlägen, die von den besagten Mitteln als zueinander plausibel gewertet werden, vorgesehen. Die besagten Mittel und die Auswerteeinheit können insbesondere beispielsweise auch in einem Gerät oder in einer Baugruppe zusammengefasst sein. Means are also provided for checking the plausibility of the suggestion of the first control logic against the suggestion of the second control logic and an evaluation unit for determining an end result of the manipulated variables from suggestions that are assessed as mutually plausible by the said means. Said means and the evaluation unit can in particular also be combined, for example, in one device or in an assembly.
Anwendungsbereiche, in denen sicherheitsrelevante Automatisierungssysteme betrieben werden und die von den beschriebenen Verfahren und dem Automatisierungssystem profitieren können, sind beispielsweise • Förderanlagen im Bergbau; · Aufzugsysteme; • Prozessindustrie, beispielsweise Steuerung und Überwachung exothermer Prozesse; Areas of application in which safety-relevant automation systems are operated and which can benefit from the described methods and the automation system are, for example: • Conveyor systems in mining; · Elevator systems; • Process industry, for example control and monitoring of exothermic processes;
• Automatisierungsaufgaben in der Bahnindustrie, wie beispielsweise die Fernsteuerung von Zugsystemen im Güterumschlag; • Automation tasks in the rail industry, such as the remote control of train systems in goods handling;
• Automatisierungsaufgaben in Fahrzeugen, wie beispielsweise autonomes Fahren oder die Erkennung von Situationen, in denen der Airbag auszulösen ist; • Automation tasks in vehicles, such as autonomous driving or the detection of situations in which the airbag is to be deployed;
• Automatisierungsaufgaben in Flugzeugen, wie beispielsweise Autopiloten oder automatische Landesysteme; • Automation tasks in aircraft, such as autopilots or automatic landing systems;
• Werkzeugmaschinen, bei denen etwa das Einrichten, die Störungsbeseitigung, der Sonderbetrieb oder der Automatikbetrieb mit erhöhten Geschwindigkeiten zu automatisieren ist; • Machine tools in which, for example, setting up, troubleshooting, special operation or automatic operation must be automated at increased speeds;
• Umformmaschinen, bei denen etwa der Werkzeugwechsel, die Überwachung von Bewegungsbereichen oder die Vermeidung unzulässige Achspositionen zu automatisieren ist; • Forming machines in which, for example, the tool change, the monitoring of movement areas or the avoidance of impermissible axis positions must be automated;
• Verpackungsmaschinen, bei denen ein sicherer Betriebshalt bei einer Prozessstörung zu gewährleisten ist; sowie • Packaging machines, in which a safe operational stop is to be guaranteed in the event of a process disruption; as
• Druck- und Verarbeitungsmaschinen, bei denen Überwachen von Schutzbereichen sowie das Einhalten reduzierter Geschwindigkeiten und sicherer Drehrichtungen zu automatisieren ist. • Printing and converting machines in which the monitoring of protection areas and the maintenance of reduced speeds and safe directions of rotation must be automated.
Spezieller Beschreibungsteil Special descriptive part
Nachfolgend wird der Gegenstand der Erfindung anhand von Figuren erläutert, ohne dass der Gegenstand der Erfindung hierdurch beschränkt wird. Es ist gezeigt: The subject matter of the invention is explained below with reference to figures, without the subject matter of the invention being limited thereby. It is shown:
Figur 1: Ausführungsbeispiel des Verfahrens 100 zur Erzeugung von Stellgrößen 12; Figur 2: Ausführungsbeispiel des Verfahrens 200 zur Prüfung einer Steuerlogik 4a; Figur 3: Ausführungsbeispiel des Verfahrens 300 zur Prüfung einer Steuerlogik 4a; Figur 4: Ausführungsbeispiel des Trainingsverfahrens 400; FIG. 1: exemplary embodiment of the method 100 for generating manipulated variables 12; FIG. 2: exemplary embodiment of the method 200 for checking a control logic 4a; FIG. 3: exemplary embodiment of the method 300 for checking a control logic 4a; FIG. 4: exemplary embodiment of training method 400;
Figur 5: Ausführungsbeispiel des Automatisierungssystems 1; FIG. 5: exemplary embodiment of the automation system 1;
Figur 6: Weg-Geschwindigkeits-Diagramm in einer beispielhaften Anwendung des Automatisierungssystems 1 im Bergbau. FIG. 6: Path-speed diagram in an exemplary application of the automation system 1 in mining.
Figur 1 ist ein schematisches Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens 100 zur Erzeugung von Stellgrößen 12. In Schritt 110 werden aus dem Automatisierungssystem 1 eine oder mehrere Eingangsgrößen 11 bezogen. FIG. 1 is a schematic flow diagram of an exemplary embodiment of the method 100 for generating manipulated variables 12. In step 110, one or more input variables 11 are obtained from the automation system 1.
Diese Eingangsgrößen 11 werden in Schritt 120 durch eine erste Steuerlogik 4a zu einem ersten Vorschlag 12a für die eine oder mehreren Stellgrößen 12 verarbeitet. These input variables 11 are processed in step 120 by a first control logic 4a to form a first suggestion 12a for the one or more manipulated variables 12.
Parallel hierzu werden die Eingangsgrößen 11 auch in Schritt 130 durch eine zweite Steuerlogik 4b, die ein KNN 4b* enthält, zu einem zweiten Vorschlag 12b für die eine oder mehreren Stellgrößen 12 verarbeitet. Das KNN 4b* ist darauf trainiert, zu gegebenen Werten der Eingangsgrößen 11 einen Vorschlag 12b für die Stellgrößen 12 vorherzusagen, der mit dem Vorschlag 12a der ersten Steuerlogik 4a bezüglich dieser Werte der Eingangsgrößen 11 übereinstimmt. In parallel with this, the input variables 11 are also processed in step 130 by a second control logic 4b, which contains an ANN 4b *, to form a second suggestion 12b for the one or more manipulated variables 12. The ANN 4b * is trained to predict a suggestion 12b for the manipulated variables 12 for given values of the input variables 11, which proposal corresponds to the suggestion 12a of the first control logic 4a with regard to these values of the input variables 11.
In Schritt 140 werden die beiden Vorschläge 12a, 12b für die eine oder mehreren Stellgrößen 12 gegeneinander plausibilisiert. In Antwort darauf, dass sich hierbei die beiden Vorschläge 12a, 12b als zueinander plausibel erweisen (Wahrheitswert 1 bei Diamant 150), wird in Schritt 160 aus den beiden Vorschlägen 12a, 12b ein Endergebnis der einen oder mehreren Stellgrößen (12) ermittelt. Wenn die beiden Vorschläge 12a, 12b sich hingegen als nicht zueinander plausibel erweisen (Wahrheitswert 0 bei Diamant 150), wird in Schritt 170 die Ausgabe von Stellgrößen unterdrückt und/oder in Schritt 180 eine sonstige Maßnahme eingeleitet, um eine von dem Automatisierungssystem 1 gesteuerte Maschine oder Anlage, bzw. einen von dem Automatisierungssystem 1 gesteuerten Prozess, in einen sicheren Zustand zu versetzen oder dort zu belassen. In step 140, the two proposals 12a, 12b for the one or more manipulated variables 12 are checked for plausibility against one another. In response to the fact that the two proposals 12a, 12b prove to be plausible to one another (truth value 1 for diamond 150), a final result of the one or more manipulated variables (12) is determined in step 160 from the two proposals 12a, 12b. If, on the other hand, the two suggestions 12a, 12b turn out to be implausible to one another (truth value 0 for Diamant 150), the output of manipulated variables is suppressed in step 170 and / or another measure is initiated in step 180 to shut down a machine controlled by the automation system 1 or plant, or one of the automation system 1 controlled process to put in a safe state or to leave there.
Innerhalb des Kastens 140 ist beispielhaft eingezeichnet, wie die Vorschläge 12a, 12b gegeneinander plausibilisiert werden können. Gemäß Block 141 können dieWithin the box 140 it is shown by way of example how the proposals 12a, 12b can be checked for plausibility with respect to one another. According to block 141, the
Vorschläge 12a, 12b miteinander verglichen werden. Wenn die bei diesem Vergleich 141 ermittelte Abweichung innerhalb einer vorgegebenen Toleranz liegt (Wahrheitswert 1 bei Diamant 142), und optional auch die beiden Vorschläge 12a, 12b zu Zeiten geliefert werden, die um höchstens eine vorgegebene Toleranz voneinander abweichen (Wahrheitswert 1 bei Diamant 143), können die beiden Vorschläge 12a, 12b als plausibel zueinander gewertet werden. Proposals 12a, 12b are compared with one another. If the deviation determined in this comparison 141 is within a specified tolerance (truth value 1 for diamond 142), and optionally the two suggestions 12a, 12b are also delivered at times that differ from each other by a maximum of a specified tolerance (truth value 1 for diamond 143) , the two proposals 12a, 12b can be rated as plausible to one another.
Figur 2 ist ein schematisches Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens 200 zur Prüfung einer Steuerlogik 4a. In Schritt 210 wird das trainierte KNN 4b* bereitgestellt. In Schritt 220 werden dem KNN 4b* Test-Werte 11* der Eingangsgrößen 11 zugeführt, die sich auf vorgegebenen Prüfungsszenarien beziehen. Die Test-Werte 11* werden in Schritt 230 von dem KNN 4b* auf Test- Werte 12* der Stellgrößen 12 abgebildet. Das durch die Test-Werte 12* der Stellgrößen 12 jeweils charakterisierteFIG. 2 is a schematic flow diagram of an exemplary embodiment of the method 200 for checking a control logic 4a. In step 210 the trained KNN 4b * is provided. In step 220, the KNN 4b * test values 11 * of the input variables 11, which relate to predetermined test scenarios. The test values 11 * are mapped to test values 12 * of the manipulated variables 12 by the ANN 4b * in step 230. That characterized by the test values 12 * of the manipulated variables 12 in each case
Antwortverhalten des KNN 4b* wird in Schritt 240 anhand vorgegebener Kriterien dahingehend geprüft, ob es im Kontext der beabsichtigten Verwendung der Steuerlogik 4a in einem konkreten Automatisierungssystem 1 angemessen wäre. Ist dies der Fall (Wahrheitswert 1 bei Diamant 250), wird in Schritt 260 festgestellt, dass die Prüfung der Steuerlogik 4a bestanden ist. Response behavior of the ANN 4b * is checked in step 240 on the basis of predetermined criteria to determine whether it would be appropriate in the context of the intended use of the control logic 4a in a specific automation system 1. If this is the case (truth value 1 in the case of diamond 250), it is determined in step 260 that the test of the control logic 4a has been passed.
Figur 3 ist ein schematisches Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens 300 zur Prüfung einer Steuerlogik 4a. In Schritt 310 werden eine Vielzahl von Lem-Werten 11# der Eingangsgrößen 11 sowie jeweils zugehörige Lern-Werte 12# der Stellgrößen 12 bereitgestellt. In Schritt 320 wird ein künstliches neuronales Netzwerk, KNN 4b*, dahingehend trainiert, dass es die Lern-Werte 11# der Eingangsgrößen 11 auf die jeweils zugehörigen Lern-Werte 12# der Stellgrößen 12 abbildet. In Schritt 330 werden Test-Werte 11* der Eingangsgrößen 11, die sich auf vorgegebene Prüfungsszenarien beziehen, sowohl der Steuerlogik 4a als auch dem KNN 4b* zugeführt. Die Steuerlogik 4a und das KNN 4b* liefern daraufhin Vorschläge 12a bzw. 12b für die Stellgrößen 12. Diese Vorschläge 12a, 12b werden in Schritt 340 gegeneinander plausibilisiert. In Antwort darauf, dass sich hierbei für einen vorgegebenen Anteil der Prüfungsszenarien jeweils die beiden Vorschläge 12a, 12b als zueinander plausibel erweisen (Wahrheitswert 1 bei Diamant 350), wird in Schritt 360 festgestellt, dass die Prüfung der Steuerlogik 4a bestanden ist. FIG. 3 is a schematic flow diagram of an exemplary embodiment of the method 300 for checking a control logic 4a. In step 310, a large number of Lem values 11 # of the input variables 11 as well as associated learning values 12 # of the manipulated variables 12 are provided. In step 320 an artificial neural Network, KNN 4b *, trained to the effect that it maps the learning values 11 # of the input variables 11 to the respective associated learning values 12 # of the manipulated variables 12. In step 330, test values 11 * of the input variables 11, which relate to predetermined test scenarios, are fed to both the control logic 4a and the ANN 4b *. The control logic 4a and the ANN 4b * then supply suggestions 12a and 12b for the manipulated variables 12. These suggestions 12a, 12b are checked for plausibility against one another in step 340. In response to the fact that the two suggestions 12a, 12b each prove to be plausible to one another for a given proportion of the test scenarios (truth value 1 for diamond 350), it is determined in step 360 that the test of control logic 4a has been passed.
Figur 4 ist ein schematisches Ablaufdiagramm des Verfahrens 400 zum Trainieren des KNN 4b* in einem der zuvor beschriebenen Verfahren 100, 200. In Schritt 410 wird einer Steuerlogik 4a, deren Verhalten in einem konkreten Automatisierungssystem 1 das KNN 4b* Vorhersagen soll, eine Vielzahl von im Kontext dieses Automatisierungssystems 1 realistischen Lem-Werten 11# der Eingangsgrößen 11 zugeführt. Diese Lern-Werte 11# der Eingangsgrößen 11 werden in Schritt 420 von der Steuerlogik 4a jeweils auf Lern-Werte 12# von Stellgrößen 12 des Automatisierungssystems 1 abgebildet. Das heißt, die Steuerlogik 4a ist die Quelle für die Lern-Werte 12# der Stellgrößen 12. FIG. 4 is a schematic flow diagram of the method 400 for training the ANN 4b * in one of the previously described methods 100, 200 In the context of this automation system 1, realistic Lem values 11 # of the input variables 11 are supplied. These learning values 11 # of the input variables 11 are each mapped in step 420 by the control logic 4a to learning values 12 # of manipulated variables 12 of the automation system 1. That is, the control logic 4a is the source for the learning values 12 # of the manipulated variables 12.
Die Lern-Werte 11# der Eingangsgrößen 11 werden in Schritt 430 dem KNN 4b* zugeführt, so dass das KNN 4b* in Schritt 440 die Lern-Werte 11# derThe learning values 11 # of the input variables 11 are fed to the KNN 4b * in step 430, so that the KNN 4b * in step 440 the learning values 11 # of the
Eingangsgrößen 11 auf Werte der Stellgrößen 12 abbildet. In Schritt 450 werden Parameter 4b#, die das Verhalten des KNN 4b* charakterisieren, optimiert mit dem Ziel, dass die Werte der Stellgrößen 12, auf die das KNN 4b* die Lern-Werte 11# der Eingangsgrößen 11 abbildet, zu den Lern-Werten 12# der Ausgangsgrößen 12 plausibel sind. Das Abbruchkriterium dieser Optimierung 450 ist beliebig. Gemäß Block 451 kann das Optimieren 450 beispielsweise darauf gerichtet sein, dass die Werte der Stellgrößen 12, auf die das KNN 4b* konkrete Lern-Werte 11# der Eingangsgrößen 11 abbildet, nach Maßgabe einer Kostenfunktion möglichst gut mit den zugehörigen Lem-Werten 12# der Stellgrößen 12 übereinstimmen. Input variables 11 are mapped to values of the manipulated variables 12. In step 450, parameters 4b #, which characterize the behavior of the ANN 4b *, are optimized with the aim that the values of the manipulated variables 12 to which the ANN 4b * maps the learning values 11 # of the input variables 11 to the learning Values 12 # of the output variables 12 are plausible. The termination criterion for this optimization 450 is arbitrary. According to block 451, the optimization 450 can for example be aimed at ensuring that the values of the manipulated variables 12, to which the ANN 4b * maps concrete learning values 11 # of the input variables 11, are as good as possible with the associated Lem values 12 # in accordance with a cost function. of the manipulated variables 12 match.
Gemäß Block 452 kann das Optimieren 450 darauf gerichtet sein, durch die Lern- Werte 11# der Eingangsgrößen 11 in Kombination mit den zugehörigen Lem-Werten 12# der Ausgangsgrößen 12 definierte Datenpunkte zu clustem und/oder durch eine komprimierte Repräsentation auszudrücken. According to block 452, the optimization 450 can be aimed at clustering defined data points using the learning values 11 # of the input variables 11 in combination with the associated Lem values 12 # of the output variables 12 and / or expressing them using a compressed representation.
Figur 5 zeigt ein Ausführungsbeispiel des Automatisierungssystems 1 für die Steuerung einer Maschine und/oder eines Prozesses 2. Die Steuerung erfolgt über mindestens einen Aktor 3, der bei Ansteuerung mit Stellgrößen 12 auf die Maschine und/oder den Prozess 2 einwirkt. Das Automatisierungssystem 1 umfasst mindestens ein Leitsystem 5a, mindestens eine Peripherie 5b, und/oder mindestens einen Signalgeber 5c, die dazu ausgebildet sind, Zustandsgrößen und/oder Sollwerte der Maschine bzw. des Prozesses 2 als Eingangsgrößen 11 zur Verfügung zu stellen. Die Eingangsgrößen 11 können insbesondere zuvor als Feedback 2a von der Maschine bzw. dem Prozess 2 oder als Feedback 3a vom Aktor 3 bezogen worden sein. FIG. 5 shows an exemplary embodiment of the automation system 1 for controlling a machine and / or a process 2. The control takes place via at least one actuator 3, which acts on the machine and / or the process 2 when controlled with manipulated variables 12. The automation system 1 comprises at least one control system 5a, at least one periphery 5b, and / or at least one signal generator 5c, which are designed to provide state variables and / or setpoints of the machine or of the process 2 as input variables 11. The input variables 11 can in particular have been obtained beforehand as feedback 2a from the machine or the process 2 or as feedback 3a from the actuator 3.
Die erste Steuerlogik 4a ist dazu ausgebildet, die Eingangsgrößen 11 zu einem ersten Vorschlag 12a für eine oder mehrere Stellgrößen 12 zu verarbeiten. Die zweite Steuerlogik 4b enthält ein künstliches neuronales Netzwerk, KNN 4b*. Dieses KNN 4b* ist darauf trainiert, zu gegebenen Werten der Eingangsgrößen 11 einenThe first control logic 4a is designed to process the input variables 11 into a first suggestion 12a for one or more manipulated variables 12. The second control logic 4b contains an artificial neural network, KNN 4b *. This KNN 4b * is trained to have one for given values of the input variables 11
Vorschlag 12b für die Stellgrößen 12 vorherzusagen, der mit dem Vorschlag 12a der ersten Steuerlogik 4a bezüglich dieser Werte der Eingangsgrößen 11 übereinstimmt; To predict proposal 12b for the manipulated variables 12, which corresponds to proposal 12a of the first control logic 4a with regard to these values of the input variables 11;
Es sind Mittel 6 zur Plausibilisierung des Vorschlags 12a der ersten Steuerlogik 4a gegen den Vorschlag 12b der zweiten Steuerlogik 4b vorgesehen. Aus als plausibel zueinander geweitete Vorschläge 12a und 12b wird von der Auswerteeinheit 7 ein Endergebnis der Stellgrößen 12 ermittelt. Means 6 are provided for checking the plausibility of suggestion 12a of first control logic 4a against suggestion 12b of second control logic 4b. Off as plausible Proposals 12a and 12b expanded to one another, an end result of the manipulated variables 12 is determined by the evaluation unit 7.
Figur 6 zeigt ein beispielhaftes Diagramm der maximal zulässigen Geschwindigkeit v eines Förderkorbs in einem Bergwerk über der Position s entlang eines Fahrweges, der von 0 % bis 100 % reicht. Die Antriebsmaschine (Fördermittel) des Förderkorbs wird von dem Automatisierungssystem 1 gesteuert, das hier als Fahrtregler dient. FIG. 6 shows an exemplary diagram of the maximum permissible speed v of a conveyor cage in a mine over position s along a travel path that ranges from 0% to 100%. The drive machine (conveyor) of the conveyor cage is controlled by the automation system 1, which here serves as a speed controller.
Fahrtregler, Bremseinrichtung und Signalanlage sind die wesentlichen Komponenten der Fördermaschinensteuerung einer Schachtförderanlage. Der Fahrtregler steuert den Antrieb der Fördermaschine und überwacht die der Personen- und Materialbeförderung dienenden meist seilgeführten Fördermittel auf dem gesamten Fahrweg auf Einhaltung der maximal zulässigen Fahrgeschwindigkeiten. Bei Überschreitungen bewirkt der Fahrtregler das Stillsetzen der Fördermittel · durch elektrisches Absteuern des Antriebsmotors oder Cruise control, braking device and signaling system are the essential components of the hoisting machine control of a shaft hoisting system. The speed controller controls the drive of the hoisting machine and monitors the conveying equipment, mostly rope-guided, which are used to transport people and materials, on the entire route to ensure that the maximum permissible travel speeds are adhered to. If the limit is exceeded, the speed controller stops the conveying equipment · by electrically switching off the drive motor or
• durch Einfall der mechanischen Bremse und Abschalten des Antriebsmotors. • by applying the mechanical brake and switching off the drive motor.
Eine von mehreren Steuerungsfunktionen des Fahrtreglers realisiert die sogenannte „punktweise Geschwindigkeitsüberwachung“. In Abhängigkeit von der Position der Fördermittel im Schacht und der Fahrtrichtung darf die Fahrgeschwindigkeit bestimmte Grenzwerte nicht überschreiten. Nach Figur 6 darf beispielsweise die maximale Fahrgeschwindigkeit bei der Fahrt in Richtung 100% im Bereich 0 bis 20% den vorgegebenen Wert von vl nicht überschreiten. Gängige Steuerlogiken 4a, die in dieser Anwendung zum Einsatz kommen und gemäß der Erfindung mit dem KNN 4b* abgesichert und/oder geprüft werden können, sind programmierbare elektronische Komponenten in Form von speicherprogrammierbaren Steuerungen, SPS. Die Funktionsweise der punktweisen Geschwindigkeitsüberwachung lässt sich gemäß Figur 6 für Fahrten von der Position 0 % bis zur Position 100 % wie folgt beschreiben: (1) Zwischen 0 % < Position < 20 % und 80 % < Position < 100 % darf die aktuelle Geschwindigkeit den Wert vl nicht überschreiten. One of several control functions of the speed controller implements what is known as "point-by-point speed monitoring". Depending on the position of the conveyor in the shaft and the direction of travel, the travel speed must not exceed certain limit values. According to FIG. 6, for example, the maximum driving speed when driving in the direction of 100% in the range 0 to 20% must not exceed the specified value of vl. Common control logics 4a that are used in this application and can be secured and / or checked according to the invention with the KNN 4b * are programmable electronic components in the form of programmable logic controllers, PLCs. The mode of operation of the point-by-point speed monitoring can be described according to Figure 6 for journeys from position 0% to position 100% as follows: (1) Between 0% <position <20% and 80% <position <100%, the current speed may be Do not exceed value vl.
(2) Zwischen 20 < Position < 40 % und 60 % < Position < 80 % darf die aktuelle Geschwindigkeit den Wert v2 nicht überschreiten. (2) Between 20 <position <40% and 60% <position <80%, the current speed must not exceed the value v2.
(3) Zwischen 40 < Position < 60 % darf die aktuelle Geschwindigkeit den Wert v3 nicht überschreiten. (3) Between 40 <position <60%, the current speed must not exceed the value v3.
(4) Werden eine oder mehrere der Anforderungen (1) bis (3) nicht erfüllt, wird der Antrieb der Fördermaschine elektrisch stillgesetzt. (4) If one or more of the requirements (1) to (3) are not met, the drive of the hoisting machine is shut down electrically.
(5) Wird die Anforderung (4) nicht erfüllt, wird der Antrieb abgeschaltet und die mechanische Bremse aktiviert. (5) If requirement (4) is not met, the drive is switched off and the mechanical brake is activated.
Diese Funktionalität wird von der Steuerlogik 4a einerseits und von der Steuerlogik 4b mit dem KNN 4b* andererseits gleichermaßen realisiert, so dass die Stellgröße 12 auf redundantem Wege (Vorschläge 12a bzw. 12b) erzeugt wird. Durch die Verschiedenartigkeit von KNN und SPS im Hinblick auf Engineering und Technologie wird das Prinzip der „Diversitäf ‘ realisiert. Somit stellt die KNN- basierte Redundanz eine geeignete Maßnahme zur Vermeidung und Beherrschung von systematischen Fehlern dar. Einem bereits im Planungs- und Entwurfsstadium auf die Anforderungen eines zu steuernden Prozesses trainierten KNN 4b* können die bereits bekannten Kriterien als Eingangsinformationen vor und während der Inbetriebnahme zur Verfügung gestellt werden. This functionality is implemented equally by the control logic 4a on the one hand and by the control logic 4b with the ANN 4b * on the other hand, so that the manipulated variable 12 is generated in a redundant way (suggestions 12a or 12b). Due to the different nature of ANN and PLC in terms of engineering and technology, the principle of "diversity" is implemented. The ANN-based redundancy thus represents a suitable measure for avoiding and controlling systematic errors. An ANN 4b * trained in the planning and design stage for the requirements of a process to be controlled can use the already known criteria as input information before and during commissioning Will be provided.
Anlagen- und/oder prozessbezogen kann zur Plausibilisierung der bekannten Anforderungen sowie zwischenzeitlich erfolgter Modifikationen das Antwortverhalten des KNN 4b* simultan als Vorhersage für das reale Verhalten des in Betrieb zu nehmenden Prozesses genutzt werden, um ein unbeabsichtigtes oder gar gefährliches Fehl verhalten zu vermeiden. Plant-related and / or process-related can be used to check the plausibility of the known Requirements as well as modifications made in the meantime, the response behavior of the ANN 4b * can be used simultaneously as a prediction for the real behavior of the process to be put into operation in order to avoid unintentional or even dangerous incorrect behavior.
Dem Inbetriebnehmer werden mit Hilfe des KNN 4b* Zusatzinformationen gegeben, die ihn bei seiner Anlagenparametrierung zeitsparend unterstützen und damit das Potential für betriebswirtschaftlichen Nutzen bieten. The commissioning engineer is given additional information with the help of the KNN 4b *, which supports him in setting his system parameters in a time-saving manner and thus offers the potential for economic benefits.
Bezugszeichenliste List of reference symbols
1 Automatisierungssystem 1 automation system
11 Eingangsgrößen 11* Test-Werte der Eingangsgrößen 11 11 input variables 11 * test values of the input variables 11
11# Lern-Werte der Eingangsgrößen 11 12 Stellgrößen 12* Test-Werte der Stellgrößen 12 12# Lern-Werte der Stellgrößen 12 12a Vorschlag für Stellgrößen von Steuerlogik 4a 11 # Learn values of the input variables 11 12 Manipulated variables 12 * Test values of the manipulated variables 12 12 # Learn values of the manipulated variables 12 12a Suggestion for manipulated variables from control logic 4a
12b Vorschlag für Stellgrößen von Steuerlogik 4b 2 Maschine und/oder Prozess 12b Proposal for manipulated variables from control logic 4b 2 Machine and / or process
2a Feedback von Maschine und/oder Prozess 2 2a Feedback from the machine and / or process 2
3 Aktor 3a Feedback von Aktor 3 4a erste Steuerlogik, erzeugt Vorschlag 12a 4b zweite Steuerlogik, erzeugt Vorschlag 12b 4b* KNN in zweiter Steuerlogik 4b 4b# Parameter, charakterisieren Verhalten des KNN 4b* 5a Leitsystem in Automatisierungssystem 1 5b Peripherie in Automatisierungssystem 1 5c Signalgeber in Automatisierungssystem 1 6 Mittel zum Plausibilisieren der Vorschläge 12a, 12b 7 Auswerteeinheit, bildet Endergebnis für Stellgrößen 12 100 Verfahren zur Erzeugung der Stellgrößen 12 3 actuator 3a feedback from actuator 3 4a first control logic, generates proposal 12a 4b second control logic, generates proposal 12b 4b * ANN in second control logic 4b 4b # parameters, characterize behavior of ANN 4b * 5a control system in automation system 1 5b peripherals in automation system 1 5c signal transmitter in automation system 1 6 means for checking the plausibility of proposals 12a, 12b 7 evaluation unit, forms final result for manipulated variables 12 100 methods for generating manipulated variables 12
110 Beziehen der Eingangsgrößen 11 120 Erzeugen des ersten Vorschlags 12a 130 Erzeugen des zweiten Vorschlags 12b 140 Plausibilisieren der Vorschläge 12a, 12b 141 Vergleichen der Vorschläge 12a, 12b 142 Prüfen einer Abweichung aus Vergleich 141 110 Obtaining the input variables 11 120 Generating the first proposal 12a 130 Generating the second proposal 12b 140 Checking the plausibility of the proposals 12a, 12b 141 Comparing the proposals 12a, 12b 142 Check a discrepancy from comparison 141
143 Prüfen derZeitpunkte, zu denen Vorschläge 12a, 12b eintreffen 150 Entscheidung, ob Vorschläge 12a, 12b zueinander plausibel 160 Ermitteln des Endergebnisses für Stellgrößen 12 170 Unterdrücken der Ausgabe von Stellgrößen 12 180 Einleiten sonstiger Maßnahmen 200 Verfahren zur Prüfung der Steuerlogik 4a 210 Bereitstellen des KNN 4b* 220 Zuführen von Test-Werten 11* an KNN 4b* 230 Erzeugen von Test-Werten 12* durch KNN 4b* 240 Prüfen des Antwortverhaltens des KNN 4b* 250 Entscheidung, ob Antwortverhalten angemessen 260 Feststellen, dass Prüfung der Steuerlogik 4a bestanden 300 Verfahren zur Prüfung der Steuerlogik 4a 310 Bereitstellen von Lern-Werten 11#, 12# 320 Trainieren des KNN 4b* 330 Zuführen von Test-Werten 11* an Steuerlogik 4a und KNN 4b* 340 Plausibilisieren der Vorschläge 4a, 4b 350 Entscheidung, ob Vorschläge 4a, 4b plausibel 360 Feststellen, dass Prüfung der Steuerlogik 4a bestanden 400 Verfahren zum Trainieren des KNN 4b* 410 Zuführen von Lern-Werten 11# an Steuerlogik 4a 420 Erzeugen von Lern-Werten 12# durch Steuerlogik 4a 430 Zuführen der Lern- Werte 11# an KNN 4b* 440 Erzeugen von Werten der Stellgrößen 12 durch KNN 4b*143 Check the times at which proposals 12a, 12b arrive 150 Decision whether proposals 12a, 12b are plausible to one another 160 Determine the final result for manipulated variables 12 170 Suppress the output of manipulated variables 12 180 Initiate other measures 200 Process for checking the control logic 4a 210 Providing the ANN 4b * 220 Supply of test values 11 * to ANN 4b * 230 Generation of test values 12 * by ANN 4b * 240 Checking the response behavior of the ANN 4b * 250 Decision as to whether the response behavior is appropriate 260 Establishing that the control logic 4a has passed the test 300 Method for checking the control logic 4a 310 Providing learning values 11 #, 12 # 320 Training the ANN 4b * 330 Supplying test values 11 * to the control logic 4a and ANN 4b * 340 Plausibility checking of the proposals 4a, 4b 350 Decision as to whether proposals 4a, 4b plausible 360 Establishing that the control logic 4a passed 400 Method for training the ANN 4b * 410 Supply of learning values 11 # to control logic 4 a 420 Generation of learning values 12 # by control logic 4a 430 Supply of learning values 11 # to ANN 4b * 440 Generation of values for manipulated variables 12 by ANN 4b *
450 Optimieren der Parameter 4b# des KNN 4b 450 Optimizing the parameters 4b # of the ANN 4b
451 Optimieren mit Kostenfunktion 451 Optimizing with the cost function
452 Optimieren durch Clustern s Weg 452 Optimizing by Clustering s way
V Geschwindigkeit V speed

Claims

Ansprüche Expectations
1. Verfahren (100) zur Erzeugung einer oder mehrerer Stellgrößen (12) für mindestens einen Aktor (3) eines Automatisierungssystems (1) mit den Schritten: 1. Method (100) for generating one or more manipulated variables (12) for at least one actuator (3) of an automation system (1) with the steps:
• aus dem Automatisierungssystem (1) werden eine oder mehrere Eingangsgrößen (11) bezogen (110); • One or more input variables (11) are obtained (110) from the automation system (1);
• die Eingangsgrößen (11) werden durch eine erste Steuerlogik (4a) zu einem ersten Vorschlag (12a) für die eine oder mehreren Stellgrößen (12) verarbeitet (120); • the input variables (11) are processed (120) by a first control logic (4a) to form a first proposal (12a) for the one or more manipulated variables (12);
• die Eingangsgrößen (11) werden durch eine zweite Steuerlogik (4b), die von der ersten Steuerlogik (4a) unabhängig ist, zu einem zweiten Vorschlag (12b) für die eine oder mehreren Stellgrößen (12) verarbeitet (130); • the input variables (11) are processed (130) by a second control logic (4b), which is independent of the first control logic (4a), to form a second proposal (12b) for the one or more manipulated variables (12);
• die beiden Vorschläge (12a, 12b) für die eine oder mehreren Stellgrößen (12) werden gegeneinander plausibilisiert (140); und • the two proposals (12a, 12b) for the one or more manipulated variables (12) are checked for plausibility against each other (140); and
• in Antwort darauf, dass sich hierbei die beiden Vorschläge (12a, 12b) als zueinander plausibel erweisen (150), wird aus den beiden Vorschlägen (12a, 12b) ein Endergebnis der einen oder mehreren Stellgrößen (12) ermittelt (160), wobei eine zweite Steuerlogik (4b) mit einem künstlichen neuronalen Netzwerk, KNN (4b*), gewählt wird, welches darauf trainiert ist, zu gegebenen Werten der Eingangsgrößen (11) einen Vorschlag (12b) für die Stellgrößen (12) vorherzusagen, der mit dem Vorschlag (12a) der ersten Steuerlogik (4a) bezüglich dieser Werte der Eingangsgrößen (11) übereinstimmt. • In response to the fact that the two proposals (12a, 12b) prove to be plausible to one another (150), an end result of the one or more manipulated variables (12) is determined (160) from the two proposals (12a, 12b), whereby a second control logic (4b) with an artificial neural network, KNN (4b *), is selected, which is trained to predict a proposal (12b) for the manipulated variables (12) for given values of the input variables (11), which with the Proposal (12a) of the first control logic (4a) matches these values of the input variables (11).
2. Verfahren (100) nach Anspruch 1, wobei die beiden Vorschläge (12a, 12b) gegeneinander plausibilisiert werden (140), indem sie miteinander verglichen werden (141), und wobei die beiden Vorschläge (12a, 12b) als zueinander plausibel gewertet werden (142), wenn eine bei diesem Vergleich (141) ermittelte Abweichung innerhalb einer vorgegebenen Toleranz liegt. 2. The method (100) according to claim 1, wherein the two suggestions (12a, 12b) are checked for plausibility against each other (140) by being compared with each other (141), and wherein the two suggestions (12a, 12b) are rated as plausible to each other (142) if a deviation determined during this comparison (141) lies within a predetermined tolerance.
3. Verfahren (100) nach einem der Ansprüche 1 bis 2, wobei die beiden Vorschläge (12a, 12b) zusätzlich zu Zeiten geliefert werden müssen (143), die um höchstens eine vorgegebene Toleranz voneinander abweichen, um als zueinander plausibel gewertet zu werden. 3. The method (100) according to any one of claims 1 to 2, wherein the two proposals (12a, 12b) must also be delivered (143) at times that differ from one another by at most a predetermined tolerance in order to be assessed as plausible to one another.
4. Verfahren (100) nach einem der Ansprüche 1 bis 3, wobei in Antwort darauf, dass die beiden Vorschläge (12a, 12b) sich als nicht zueinander plausibel erweisen4. The method (100) according to any one of claims 1 to 3, in response to the fact that the two proposals (12a, 12b) prove to be implausible to one another
(150), die Ausgabe von Stellgrößen unterdrückt (170) und/oder eine sonstige Maßnahme eingeleitet wird (180), um eine von dem Automatisierungssystem (1) gesteuerte Maschine oder Anlage, bzw. einen von dem Automatisierungssystem (1) gesteuerten Prozess, in einen sicheren Zustand zu versetzen oder dort zu belassen. (150), the output of manipulated variables is suppressed (170) and / or another measure is initiated (180) in order to convert a machine or system controlled by the automation system (1) or a process controlled by the automation system (1) into to move to a safe state or to leave it there.
5. Verfahren (100) nach einem der Ansprüche 1 bis 4, wobei die Eingangsgrößen (11), die beiden Steuerlogiken (4a, 4b) zugeführt werden, dem Automatisierungssystem (1) auf zwei voneinander unabhängigen Wegen entnommen werden. 5. The method (100) according to any one of claims 1 to 4, wherein the input variables (11) fed to the two control logics (4a, 4b) are taken from the automation system (1) in two mutually independent ways.
6. Verfahren (200) zur Prüfung einer Steuerlogik (4a), die eine oder mehrere aus einem Automatisierungssystem (1) bezogene Eingangsgrößen (11) zu einer oder mehreren Stellgrößen (12) verarbeitet, mit den Schritten: 6. Method (200) for checking a control logic (4a) which processes one or more input variables (11) obtained from an automation system (1) into one or more manipulated variables (12), with the following steps:
• es wird ein künstliches neuronales Netzwerk, KNN (4b*), bereitgestellt (210), das darauf trainiert ist, zu gegebenen Werten der Eingangsgrößen (11) einen Vorschlag (12b) für die Stellgrößen (12) vorherzusagen, der mit dem Vorschlag (12a) der Steuerlogik (4a) bezüglich dieser Werte der Eingangsgrößen (11) übereinstimmt; • An artificial neural network, ANN (4b *), is provided (210), which is trained to predict a proposal (12b) for the manipulated variables (12) for given values of the input variables (11), which is based on the proposal ( 12a) the control logic (4a) agrees with regard to these values of the input variables (11);
• dem KNN (4b*) werden Test-Werte (11 *) der Eingangsgrößen (11) zugeführt (220), die sich auf vorgegebene Prüfungsszenarien beziehen; • die Test-Werte (11*) der Eingangsgrößen (11) werden von dem KNN (4b*) auf Test-Werte (12*) der Stellgrößen (12) abgebildet (230); • the ANN (4b *) receives test values (11 *) of the input variables (11) (220) that relate to specified test scenarios; • the test values (11 *) of the input variables (11) are mapped (230) by the ANN (4b *) onto test values (12 *) of the manipulated variables (12);
• das durch die Test-Werte (12*) der Stellgrößen (12) jeweils charakterisierte Antwortverhalten des KNN (4b*) wird anhand vorgegebener Kriterien dahingehend geprüft (240), ob es im Kontext der beabsichtigten Verwendung der Steuerlogik (4a) in einem konkreten Automatisierungssystem (1) angemessen wäre; • the response behavior of the ANN (4b *) characterized by the test values (12 *) of the manipulated variables (12) is checked (240) on the basis of specified criteria to determine whether it is in the context of the intended use of the control logic (4a) in a concrete Automation system (1) would be appropriate;
• in Antwort darauf, dass das Antwortverhalten des KNN (4b*) insgesamt als angemessen erkannt wird (250), wird festgestellt (260), dass die Prüfung der Steuerlogik (4a) bestanden ist. • In response to the fact that the response behavior of the ANN (4b *) is recognized overall as appropriate (250), it is determined (260) that the test of the control logic (4a) has been passed.
7. Verfahren (200) nach Anspruch 6, wobei die vorgegebenen Kriterien Randbedingungen für die Werte der Stellgrößen (12) beinhalten, die durch das konkrete Automatisierungssystem (1) vorgegeben sind. 7. The method (200) according to claim 6, wherein the predetermined criteria contain boundary conditions for the values of the manipulated variables (12) which are predetermined by the specific automation system (1).
8. Verfahren (300) zur Prüfung einer Steuerlogik (4a), die eine oder mehrere aus einem Automatisierungssystem (1) bezogene Eingangsgrößen (11) zu einer oder mehreren Stellgrößen (12) verarbeitet, mit den Schritten: 8. Method (300) for checking a control logic (4a) which processes one or more input variables (11) obtained from an automation system (1) into one or more manipulated variables (12), with the following steps:
• es werden eine Vielzahl von Lern-Werten (11#) der Eingangsgrößen (11) sowie jeweils zugehörige Lern-Werte (12#) der Stellgrößen (12) bereitgestellt• A large number of learning values (11 #) of the input variables (11) as well as associated learning values (12 #) of the manipulated variables (12) are provided
(310); (310);
• ein künstliches neuronales Netzwerk, KNN (4b*), wird dahingehend trainiert (320), dass es die Lern-Werte (11#) der Eingangsgrößen (11) auf die jeweils zugehörigen Lern-Werte (12#) der Stellgrößen (12) abbildet; · Test-Werte (11 *) der Eingangsgrößen (11), die sich auf vorgegebene• an artificial neural network, ANN (4b *), is trained (320) to transfer the learning values (11 #) of the input variables (11) to the associated learning values (12 #) of the manipulated variables (12) maps; · Test values (11 *) of the input variables (11) that relate to specified
Prüfungsszenarien beziehen, werden sowohl der Steuerlogik (4a) als auch dem KNN (4b*) zugeführt (330); Relate test scenarios are fed to both the control logic (4a) and the ANN (4b *) (330);
• Vorschläge (12a, 12b) für Werte der Stellgrößen (12), auf die die Steuerlogik (4a) einerseits und das KNN (4b*) andererseits die Test-Werte (11*) der Eingangsgrößen (11) jeweils abbilden, werden gegeneinander plausibilisiert (340); • Proposals (12a, 12b) for values of the manipulated variables (12) to which the control logic (4a) on the one hand and the ANN (4b *) on the other hand the test values (11 *) of the Input variables (11) each map, are checked for plausibility against each other (340);
• in Antwort darauf, dass sich hierbei für einen vorgegebenen Anteil der Prüfungsszenarien jeweils die beiden Vorschläge (12a, 12b) als zueinander plausibel erweisen (350), wird festgestellt (360), dass die Prüfung der• In response to the fact that the two proposals (12a, 12b) prove to be plausible to one another (350) for a given proportion of the test scenarios, it is determined (360) that the test of the
Steuerlogik (4a) bestanden ist. Control logic (4a) is passed.
9. Verfahren (400) zum Trainieren eines künstlichen neuronalen Netzwerks, KNN (4b*), für den Einsatz in einem Verfahren (100, 200) nach einem der Ansprüche 1 bis 7, mit den Schritten: 9. Method (400) for training an artificial neural network, ANN (4b *), for use in a method (100, 200) according to one of claims 1 to 7, with the steps:
• einer Steuerlogik (4a), deren Verhalten in einem konkreten Automatisierungssystem (1) das KNN (4b*) Vorhersagen soll, wird eine Vielzahl von im Kontext dieses Automatisierungssystems (1) realistischen Lern-Werten (11#) der Eingangsgrößen (11) zugeführt (410); A control logic (4a), whose behavior in a specific automation system (1) the ANN (4b *) is supposed to predict, is supplied with a large number of learning values (11 #) of the input variables (11) that are realistic in the context of this automation system (1) (410);
• die Lem-Werte (11#) der Eingangsgrößen (11) werden von der Steuerlogik (4a) jeweils auf Lem-Werte (12#) von Stellgrößen (12) des Automatisierungssystems (1) abgebildet (420); • the Lem values (11 #) of the input variables (11) are mapped (420) by the control logic (4a) in each case to Lem values (12 #) of manipulated variables (12) of the automation system (1);
• die Lem-Werte (11#) der Eingangsgrößen (11) werden dem KNN (4b*) zugeführt (430); • the Lem values (11 #) of the input variables (11) are fed to the ANN (4b *) (430);
• das KNN (4b*) bildet die Lern-Werte (11#) der Eingangsgrößen (11) auf Werte der Stellgrößen (12) ab (440); • the ANN (4b *) maps the learning values (11 #) of the input variables (11) to values of the manipulated variables (12) (440);
• Parameter (4b#), die das Verhalten des KNN (4b*) charakterisieren, werden optimiert (450) mit dem Ziel, dass die Werte der Stellgrößen (12), auf die das KNN (4b*) die Lern-Werte (11#) der Eingangsgrößen (11) abbildet, zu den Lern-Werten (12#) der Ausgangsgrößen (12) plausibel sind. • Parameters (4b #), which characterize the behavior of the ANN (4b *), are optimized (450) with the aim of ensuring that the values of the manipulated variables (12) to which the ANN (4b *) access the learning values (11 #) maps the input variables (11) to the learning values (12 #) of the output variables (12) are plausible.
10. Verfahren (400) nach Anspruch 9, wobei das Optimieren (450) darauf gerichtet ist (451), dass die Werte der Stellgrößen (12), auf die das KNN (4b*) konkrete Lem-Werte (11#) der Eingangsgrößen (11) abbildet, nach Maßgabe einer Kostenfunktion möglichst gut mit den zugehörigen Lern-Werten (12#) der Stellgrößen (12) übereinstimmen. 10. The method (400) according to claim 9, wherein the optimization (450) is aimed (451) that the values of the manipulated variables (12) to which the ANN (4b *) concrete Lem values (11 #) of the input variables (11), according to a Cost function agree as closely as possible with the associated learning values (12 #) of the manipulated variables (12).
11. Verfahren (400) nach einem der Ansprüche 9 bis 10, wobei das Optimieren (450) darauf gerichtet ist (452), durch die Lem-Werte (11#) der Eingangsgrößen (11) in Kombination mit den zugehörigen Lern-Werten (12#) der Ausgangsgrößen (12) definierte Datenpunkte zu clustem und/oder durch eine komprimierte Repräsentation auszudrücken. 12. Computerprogramm, enthaltend maschinenlesbare Anweisungen, die, wenn sie auf einem oder mehreren Computern ausgeführt werden, den oder die Computer dazu veranlassen, ein Verfahren (100, 200, 300, 400) nach einem der Ansprüche 1 bis 11 auszuführen. 13. Maschinenlesbarer Datenträger und/oder Downloadprodukt mit dem11. The method (400) according to any one of claims 9 to 10, wherein the optimization (450) is directed (452) by the Lem values (11 #) of the input variables (11) in combination with the associated learning values ( 12 #) of the output variables (12) to cluster defined data points and / or to express them by means of a compressed representation. 12. Computer program containing machine-readable instructions which, when executed on one or more computers, cause the computer or computers to carry out a method (100, 200, 300, 400) according to one of claims 1 to 11. 13. Machine-readable data carrier and / or download product with the
Computerprogramm nach Anspruch 12. Computer program according to claim 12.
14. Automatisierungssystem (1) für die Steuerung einer Maschine und/oder eines Prozesses (2), umfassend: · mindestens ein Leitsystem (5a), mindestens eine Peripherie (5b), und/oder mindestens einen Signalgeber (5c), die dazu ausgebildet sind,14. Automation system (1) for controlling a machine and / or a process (2), comprising: at least one control system (5a), at least one periphery (5b), and / or at least one signal transmitter (5c) designed for this purpose are,
Zustandsgrößen und/oder Sollwerte der Maschine bzw. des Prozesses (2) als Eingangsgrößen (11) zur Verfügung zu stellen; To provide state variables and / or setpoint values of the machine or of the process (2) as input variables (11);
• eine erste Steuerlogik (4a), die dazu ausgebildet ist, die Eingangsgrößen (11) zu einem ersten Vorschlag (12a) für eine oder mehrere Stellgrößen (12) zu verarbeiten; • a first control logic (4a) which is designed to process the input variables (11) into a first proposal (12a) for one or more manipulated variables (12);
• eine zweite Steuerlogik (4b) mit einem künstlichen neuronalen Netzwerk, KNN (4b*), welches darauf trainiert ist, zu gegebenen Werten der Eingangsgrößen (11) einen Vorschlag (12b) für die Stellgrößen (12) vorherzusagen, der mit dem Vorschlag (12a) der ersten Steuerlogik (4a) bezüglich dieser Werte der Eingangsgrößen (11) übereinstimmt; • a second control logic (4b) with an artificial neural network, ANN (4b *), which is trained to make a proposal (12b) for the manipulated variables (12) for given values of the input variables (11) predict which matches the proposal (12a) of the first control logic (4a) with regard to these values of the input variables (11);
• Mittel (6) zur Plausibilisierung des Vorschlags (12a) der ersten Steuerlogik (4a) gegen den Vorschlag (12b) der zweiten Steuerlogik (4b); sowie · eine Auswerteeinheit (7) zum Ermitteln eines Endergebnisses der Stellgrößen• Means (6) for checking the plausibility of the proposal (12a) of the first control logic (4a) against the proposal (12b) of the second control logic (4b); and · an evaluation unit (7) for determining an end result of the manipulated variables
(12) aus Vorschlägen (12a, 12b), die von den besagten Mitteln (6) als zueinander plausibel gewertet werden. (12) from proposals (12a, 12b) which are assessed as mutually plausible by the said means (6).
PCT/EP2020/064295 2020-05-22 2020-05-22 Redundant control logic for safety-criticial automation systems based on artificial neural networks WO2021233552A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2020/064295 WO2021233552A1 (en) 2020-05-22 2020-05-22 Redundant control logic for safety-criticial automation systems based on artificial neural networks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2020/064295 WO2021233552A1 (en) 2020-05-22 2020-05-22 Redundant control logic for safety-criticial automation systems based on artificial neural networks

Publications (1)

Publication Number Publication Date
WO2021233552A1 true WO2021233552A1 (en) 2021-11-25

Family

ID=70847383

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2020/064295 WO2021233552A1 (en) 2020-05-22 2020-05-22 Redundant control logic for safety-criticial automation systems based on artificial neural networks

Country Status (1)

Country Link
WO (1) WO2021233552A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4245989A1 (en) * 2022-03-18 2023-09-20 General Electric Company Learning-based backup controller for a wind turbine
DE102022106841A1 (en) 2022-03-23 2023-09-28 TSU Gesellschaft für Technik, Sicherheit und Umweltschutz mbH Monitoring technical processes to avoid and control failures

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020092635A1 (en) * 2018-10-30 2020-05-07 Frazzoli Emilio Redundancy in autonomous vehicles

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020092635A1 (en) * 2018-10-30 2020-05-07 Frazzoli Emilio Redundancy in autonomous vehicles

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JIMMY W. KEY: "Neural networks in process control: Neural network training, implementation", CONTROL ENGINEERING WEBSITE, 29 April 2016 (2016-04-29), XP055767186, Retrieved from the Internet <URL:https://www.controleng.com/articles/neural-networks-in-process-control-neural-network-training-implementation/> [retrieved on 20210120] *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4245989A1 (en) * 2022-03-18 2023-09-20 General Electric Company Learning-based backup controller for a wind turbine
DE102022106841A1 (en) 2022-03-23 2023-09-28 TSU Gesellschaft für Technik, Sicherheit und Umweltschutz mbH Monitoring technical processes to avoid and control failures

Similar Documents

Publication Publication Date Title
EP3209996B1 (en) Method and device for carrying out a test process relating to a rail vehicle
EP1035953B1 (en) Monitoring and control device for monitoring a technical facility subject to enhanced safety requirements, especially a handling device
EP2328806B1 (en) Fail-safe adjustment system for adjusting servo tabs of an aircraft, comprising a control mechanism with a fixed rotational axis and associated control method
EP3605256B1 (en) System and method for monitoring the condition of an unmanned aerial vehicle
WO2021233552A1 (en) Redundant control logic for safety-criticial automation systems based on artificial neural networks
EP1718510A1 (en) Method and device for monitoring signal processing units for sensors
EP2981868A1 (en) Control and data transmission system, process device, and method for redundant process control with decentralized redundancy
DE102016014989B4 (en) Collision monitoring of a robot
EP3098673A1 (en) Method and device for automated validation of security features on a modular security system
DE102013016019B3 (en) Method for operating a multi-unit manipulator
EP2345511A2 (en) Control for a manipulator
DE102006059708B4 (en) Drive control for at least one electric motor
EP3771522A1 (en) Method and manipulation system for manipulating an object by a robot with vector fields
DE102008038131B4 (en) Redundant control system and method for the safety-related control of actuators
WO2019002587A1 (en) Regulating unit, mechatronic system, and method for regulating a mechatronic system
EP3470301B1 (en) Steering control system for a steering system of a vehicle and a method for operating a steering control system
EP1128241A2 (en) Method and device for safety monitoring of a control device
EP2864845B1 (en) Automated reconfiguration of a discrete event control loop
DE102013211582A1 (en) Method for the safe parameterization of an automation component
DE102022106841A1 (en) Monitoring technical processes to avoid and control failures
EP1853979A1 (en) Machine controller featuring a security function
WO2024079318A1 (en) System and method for safety-related monitoring of an industrial plant
DE102022123243B3 (en) Artificial intelligence for precise determination of output torques of collaborative robots
EP3987365B1 (en) Self-learning routine for checking compatibility
EP3647889A1 (en) Fail-safe sequence control of processes

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

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

Country of ref document: EP

Kind code of ref document: A1