Control Strategy of Distributed Control Systems Based on Operator Actions
20230384752 · 2023-11-30
Assignee
Inventors
- Pablo Rodriguez (Birkenau, DE)
- Jens Doppelhamer (Ladenburg, DE)
- Benjamin Kloepper (Mannheim, DE)
- Reuben Borrison (Bruehl, DE)
- Marcel Dix (Allensbach, DE)
- Benedikt Schmidt (Heidelberg, DE)
- Hadil Abukwaik (Weinheim, DE)
- Arzam Muzaffar Kotriwala (Ladenburg, DE)
- Sylvia Maczey (Hirschberg, DE)
- Dawid Ziobro (Västerås, SE)
- Simon Hallstadius Linge (Västerås, SE)
- Marco Gaertler (Dossenheim, DE)
- Divyasheel Sharma (Bangalore, IN)
- Chandrika K R (Bangalore, IN)
- Gayathri Gopalakrishnan (Eskilstuna, SE)
- Matthias Berning (Worms, DE)
- Roland Braun (Niederkassel Lülsdorf, DE)
Cpc classification
International classification
Abstract
A method includes acquiring state variables that characterize an operational state of an industrial plant; acquiring interaction events of a plant operator interacting with the distributed control system via a human-machine interface; determining based on the interaction events, and with state variables as input data, whether one or more interaction events are indicative of the plant operator executing a task that is not sufficiently covered by engineering of the distributed control system. When this determination is positive, mapping the input data to an amendment and/or augmentation for the engineering tool that has generated the application code.
Claims
1. A computer-implemented method for amending and/or augmenting an engineering tool that is configured to generate application code which, when executed on one or more controllers in a distributed control system of an industrial plant, causes the industrial plant to be controlled according to a control strategy that is implemented in the application code, the method comprising: acquiring state variables that characterize an operational state of at least one industrial plant; acquiring a set of interaction events of at least one plant operator interacting with the distributed control system of the industrial plant via a human-machine interface; determining, based at least in part on the interaction events, the state variables and optionally given engineering information of the distributed control system as input data, whether one or more interaction events are indicative of the plant operator executing a task that is not sufficiently covered by the present engineering of the distributed control system; and when this determination is positive, mapping the input data to an amendment and/or augmentation for the engineering tool that has generated the application code for the distributed control system such that, when the application code is re-generated by the amended and/or augmented engineering tool and executed in the distributed control system, the plant operator is likely to manually interact with the distributed control system less frequently, and/or to spend less time interacting with the distributed control system.
2. The method of claim 1, wherein the task that is not sufficiently covered by the present engineering of the distributed control system specifically comprises: manually executing a solution to an operational problem that is not covered by the present engineering of the distributed control system; and/or repeatedly executing one or more actions starting from equal or substantially similar operating states; and/or accessing at least one functionality that requires at least a threshold number of steps to access with at least a threshold frequency.
3. A computer-implemented method for amending and/or augmenting an engineering tool that is configured to generate application code which, when executed on one or more controllers in a distributed control system of an industrial plant, causes the industrial plant to be controlled according to a control strategy that is implemented in the application code, the method comprising: acquiring state variables that characterize an operational state of at least one industrial plant; predicting, based on the state variables, using at least one trained machine learning model, one or more interaction events that at least one plant operator is likely to initiate on the distributed control system via a human-machine interface in response to said operational state; and mapping the one or more predicted interaction events to an amendment and/or augmentation for the engineering tool that has generated the application code for the distributed control system such that, when the application code is re-generated by the amended and/or augmented engineering tool and executed in the distributed control system, the plant operator is likely to manually interact with the distributed control system less frequently, and/or to spend less time interacting with the distributed control system.
4. The method of claim 1, wherein the input data further comprises one or more of: alarms and events reported by the distributed control system; a topology model of the industrial plant; a layout of a human-machine interface of the distributed control system; and a control logic of the distributed control system.
5. The method of claim 1, wherein the mapping comprises: determining a function in a given control library that accomplishes a result substantially similar to the result of a detected and/or predicted action or sequence of actions; and substituting in the amendment and/or augmentation for the engineering tool the detected and/or predicted action or sequence of actions with a call to the determined function in the control library.
6. The method of claim 1, wherein the amendment and/or augmentation is configured to cause, when the application code is re-generated by the amended engineering tool and executed in the distributed control system, in a human-machine interface of the distributed control system: a new control element to appear such that a chain of actions that were previously executed by the plant operator repeatedly in sequence is executed upon actuation of this new control element; and/or a control element that previously required a first number of steps to access to move within the human-machine interface such that it requires a second, lower number of steps to access.
7. The method of claim 1, wherein the amendment and/or augmentation is configured to cause, when the application code is re-generated by the amended engineering tool and executed in the distributed control system, one or more actions that were previously executed by the plant operator repeatedly starting from equal or substantially similar operating states to be executed automatically in response to a particular operating state occurring.
8. The method of claim 1, wherein an engineering tool is chosen that is configured to assemble the distributed control system from building blocks in a predetermined catalogue, wherein at least one such building block is a programmable logic controller, PLC; and generate application code that comprises control code for this PLC.
9. The method of claim 1, further comprising: re-generating, by the amended and/or augmented engineering tool, application code for the distributed control system; and executing the re-generated application code in the distributed control system, thereby controlling the industrial plant according to the control strategy implemented in the re-generated application code.
10. The method of claim 9, further comprising: before the re-generating of the application code, prompting a control engineer for approval of the amendment and/or augmentation for the engineering tool.
11. The method of claim 3, wherein the input data further comprises one or more of: alarms and events reported by the distributed control system; a topology model of the industrial plant; a layout of a human-machine interface of the distributed control system; and a control logic of the distributed control system.
12. The method of claim 3, wherein the mapping comprises: determining a function in a given control library that accomplishes a result substantially similar to the result of a detected and/or predicted action or sequence of actions; and substituting in the amendment and/or augmentation for the engineering tool the detected and/or predicted action or sequence of actions with a call to the determined function in the control library.
13. The method of claim 3, wherein the amendment and/or augmentation is configured to cause, when the application code is re-generated by the amended engineering tool and executed in the distributed control system, in a human-machine interface of the distributed control system: a new control element to appear such that a chain of actions that were previously executed by the plant operator repeatedly in sequence is executed upon actuation of this new control element; and/or a control element that previously required a first number of steps to access to move within the human-machine interface such that it requires a second, lower number of steps to access.
14. The method of claim 3, wherein the amendment and/or augmentation is configured to cause, when the application code is re-generated by the amended engineering tool and executed in the distributed control system, one or more actions that were previously executed by the plant operator repeatedly starting from equal or substantially similar operating states to be executed automatically in response to a particular operating state occurring.
15. The method of claim 3, wherein an engineering tool is chosen that is configured to assemble the distributed control system from building blocks in a predetermined catalogue, wherein at least one such building block is a programmable logic controller, PLC; and generate application code that comprises control code for this PLC.
16. The method of claim 3, further comprising: re-generating, by the amended and/or augmented engineering tool, application code for the distributed control system; and executing the re-generated application code in the distributed control system, thereby controlling the industrial plant according to the control strategy implemented in the re-generated application code.
17. The method of claim 16, further comprising: before the re-generating of the application code, prompting a control engineer for approval of the amendment and/or augmentation for the engineering tool.
18. A computer-implemented method for training at least one machine-learning model, comprising: providing records of training input data with state variables that characterize an operational state of at least one industrial plant; providing labels as to which interaction events at least one plant operator has initiated in the distributed control system in response to said operational states; mapping, by the machine learning model, the records of training input data to predictions of one or more interaction events that at least one plant operator will initiate in response to the operational states in the training input data; rating, utilizing a predetermined cost function, how well the prediction by the machine learning model corresponds to the label of the respective record of training input data; and optimizing parameters that characterize a behavior of the machine learning model towards the goal that when further records of training input data are processed by the machine learning model, this will result in a better rating by the cost function.
19. The method of claim 18, wherein the records of training input data are gathered from multiple industrial plants.
Description
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)
[0025]
[0026]
[0027]
DETAILED DESCRIPTION OF THE INVENTION
[0028]
[0029]
[0030] In the course of method 110a, in step 120, a set of interaction events 7 of at least one plant operator interacting with the distributed control system 5 of the industrial plant 1 via a human-machine interface is acquired. In step 130, based at least in part on the interaction events 7, the state variables 6, and optionally given engineering information of the distributed control system 5, as input data, it is determined whether one or more interaction events 7 are indicative of the plant operator executing a task that is not sufficiently covered by the present engineering of the distributed control system 5. If this is the case (truth value 1), in step 140, the input data is mapped to an amendment and/or augmentation 2a for the engineering tool 2 that has generated the application code 3 for the distributed control system 5.
[0031] In the course of method 110b, in step 150, based on the state variables 6, one or more interaction events 7 that at least one plant operator is likely to initiate on the distributed control system 5 via a human-machine interface in response to the operational state 1a of the plant 1 is predicted using at least one machine learning model 8. In step 160, the one or more predicted interaction events 7 are mapped to an amendment and/or augmentation 2a for the engineering tool 2 that has generated the application code 3 for the distributed control system 5.
[0032] During the mapping 140, 160, performed in either method 110a or 100b, according to block 141 (respectively 161), a function in a given control library that accomplishes a result substantially similar to the result of a detected and/or predicted action or sequence of actions may be determined. According to block 142, respectively 162, this action or sequence of actions may be substituted with a call to the determined function in the control library. In this manner, if the plant operator does something manually for which there is already a library function available, the tried-and-tested library function is used.
[0033] According to block 105, for both methods 100a and 100b, an engineering tool 2 may be chosen that is configured to: assemble the distributed control system (5) from building blocks in a predetermined catalogue, wherein at least one such building block is a programmable logic controller, PLC; and generate application code that comprises control code for this PLC.
[0034] In the course of both methods 100a and 100b, the amendment 2a for the engineering tool 2 may be presented to a control operator for approval in step 170. If approval is granted (truth value 1), the engineering tool 2 may re-generate the application code 3 for the distributed control system 5 in step 180. In step 190, this re-generated application code 3 may be executed in the distributed control system 5. This results in the industrial plant 1 being controlled according to the updated control strategy implemented in the re-generated application code 3.
[0035] This flow of information is further detailed in
[0036] According to
[0037]
[0038] In step 230, the records 6a of training input data are mapped to predictions 7′ of one or more interaction events 7 that at least one plant operator will initiate in response to the operational states 1a in the training input data by the to-be-trained machine learning model 8. In step 240, it is rated, by means of a predetermined cost function 10, how well this prediction 7′ corresponds to the label 9 of the respective record 6a of training input data. In step 250, parameters 8a that characterize the behavior of the machine learning model 8 are optimized towards the goal that when further records 6a of training input data are processed by the machine learning model 8, this will result in a better rating 10a by the cost function 10. The finally obtained trained state of the parameters 8a is labelled with the reference sign 8a*.
[0039] In a further particularly advantageous embodiment, when the input data, and/or the interaction events, are mapped to the amendment and/or augmentation for the engineering tool, it may be determined that a function in a given control library accomplishes a result that is substantially similar to the result of an action or sequence of actions that has been detected and/or predicted. In this case, the detected and/or predicted action or sequence of actions may be substituted with a call to the determined function in the control library when generating the amendment and/or augmentation for the engineering tool. In this manner, knowledge that has already been condensed in a control library may be put to use in appropriate situations. For example, a plant operator may follow a certain manual protocol for bringing the temperature inside a vessel to a new target temperature, not knowing that for such a standard action, an automated protocol has already been laid down in the control library.
[0040] In a further particularly advantageous embodiment, the amendment and/or augmentation is configured to cause, when the application code is re-generated by the amended engineering tool and executed in the distributed control system, in a human-machine interface of the distributed control system, a new control element to appear such that a chain of actions that were previously executed by the plant operator repeatedly in sequence is executed upon actuation of this new control element; and/or a control element that previously required a first number of steps to access to move within the human-machine interface such that it requires a second, lower number of steps to access.
[0041] This enables the plant operator to accomplish the same intervention with fewer interactions between the plant operator and the human-machine interface of the distributed control system.
[0042] As discussed before, in a further particularly advantageous embodiment, the amendment and/or augmentation for the engineering tool augmentation is configured to cause, when the application code is re-generated by the amended engineering tool and executed in the distributed control system, one or more actions that were previously executed by the plant operator repeatedly starting from equal or substantially similar operating states to be executed automatically in response to a particular operating state occurring. This may relieve the plant operator from routine interventions, allowing him to focus on problem solving tasks instead.
[0043] In a further advantageous embodiment, an engineering tool is chosen that is configured to assemble the distributed control system from building blocks in a predetermined catalogue. At least one such building block is a programmable logic controller, PLC. The engineering tool is configured to generate application code that comprises control code for this PLC. When such an engineering tool is amended and/or augmented, the assembly of the plant from building blocks may remain unchanged, but the control code for the PLC may be recompiled, thereby upgrading it with new functionality.
[0044] Thus, either method may also further comprise re-generating, by the amended and/or augmented engineering tool, application code for the distributed control system. The re-generated application code may then be executed in the distributed control system. In this manner, the industrial plant is controlled according to the amended and/or augmented control strategy implemented in the re-generated application code.
[0045] Optionally, before the re-generating of the application code, a control engineer may be prompted for approval of the amendment and/or augmentation for the engineering tool. In this manner, the control engineer is made aware of what will change when the application code is re-generated the next time. Also, the control engineer is then able to check whether the proposed change violates any other constraints.
[0046] The invention also provides a computer-implemented method for training at least one machine-learning model for use in the second method described above. This method starts from records of training input data with state variables that characterize an operational state of the at least one industrial plant. Labels are provided as to which interaction events at least one plant operator has initiated in the distributed control system in response to said operational states. The to-be-trained machine learning model maps the records of training input data to predictions of one or more interaction events that at least one plant operator will initiate in response to the operational states in the training input data.
[0047] By means of a predetermined cost function, it is rated how well the prediction by the machine learning model corresponds to the label of the respective record of training input data. Parameters that characterize the behavior of the machine learning model are optimized towards the goal that when further records of training input data are processed by the machine learning model, this will result in a better rating by the cost function. In this manner, the prediction of plant operator interventions becomes more and more accurate as the training progresses.
[0048] For the labelling of the operational states with interaction events, actual interaction events gathered from the plant may, for example, be filtered according to whether these interaction events have resulted in successful or unsuccessful interventions by the plant operator. For example, interaction events may be graded according to any suitable metric as to how beneficial they have proved to be with respect to a given objective. The actual interaction events may, for example, be weighted according to these grades. Interaction events may, for example, be excluded from being included in labels if their grade is below a certain threshold.
[0049] In a particularly advantageous embodiment, the records of training input data are gathered from multiple industrial plants. In this manner, operator knowledge may be transferred at least between similar plants. For many types of plants, such as waste incineration plants, instances of these plants will differ from one another to some extent, but the basic functionality will be the same in all instances. Different instances of waste incineration plants may be fed with different compositions of waste. One waste incineration plant may be connected to a district heating network, while the other is not. But all instances have in common that there is a furnace of a certain type for combustion of the waste, and this combustion is controlled by manipulating a certain set of parameters.
[0050] In any given instance of the industrial plant, the training does not have to start from scratch. Rather, the machine learning model may first receive a generic training and be trained further in a more specific manner for a particular instance of the plant later. In this manner, when a large number of different instances of the plant is deployed, it is not necessary to repeat the generic part of the training time and time again.
[0051] The computer implementation of the methods described above implies that the methods may be embodied in a computer program. The invention therefore also provides a computer program with machine-readable instructions that, when executed by one or more computers, cause the one or more computers to perform one of the methods described above. The invention also provides a non-transitory machine-readable storage medium, and/or a download product, with the computer program. A download product is a product that may be sold in an online shop for immediate fulfillment by download. The invention also provides one or more computers with the computer program, and/or with the non-transitory machine-readable storage medium and/or download product.
LIST OF REFERENCE SIGNS
[0052] 1 industrial plant [0053] 1a operational state of industrial plant 1 [0054] 2 engineering tool for distributed control system 5 [0055] 2a amendment/augmentation for engineering tool 2 [0056] 3 application code for distributed control system 5 [0057] 4 controllers in distributed control system 5 [0058] 5 distributed control system [0059] 6 state variables that characterize operational state 1a [0060] 6a training data record with state variables 6 [0061] 7 interaction events between plant operator and control system 5 [0062] 7′ prediction of interaction events 7 during training of model 8 [0063] 8 machine learning model [0064] 8a parameters, characterize behavior of machine learning model 8 [0065] 8a* finally trained state of parameters 8a [0066] 9 labels for training data records 6a [0067] 10 cost function for training of machine learning model 8 [0068] 10a rating by cost function 10 [0069] 100a method for obtaining amendment 2a based on patterns [0070] 100b method for obtaining amendment 2a based on interaction learning [0071] 105 choosing particular distributed control system 5 [0072] 110 acquiring state variables 6 [0073] 120 acquiring interaction events 7 [0074] 130 determining execution of non-covered task [0075] 140 mapping input data to amendment/augmentation 2a [0076] 141 determining control library function [0077] 142 using library function instead of manual action [0078] 150 predicting interaction events 7 [0079] 160 mapping predicted interaction events to amendment/augmentation 2a [0080] 161 determining control library function [0081] 162 using library function instead of manual action [0082] 170 submitting amendment 2a for approval by control engineer [0083] 180 re-generating application code 3 [0084] 190 executing new application code 3 [0085] 200 method for training machine learning model 8 [0086] 210 providing records 6a of training input data [0087] 211 acquiring records 6a from multiple plants 1 [0088] 220 providing labels 9 [0089] 230 mapping records 6a to predictions 7′ [0090] 240 rating prediction 7′ using cost function 10 [0091] 250 optimizing parameters 8a
[0092] All references, including publications, patent applications, and patents, cited herein are hereby incorporated by reference to the same extent as if each reference were individually and specifically indicated to be incorporated by reference and were set forth in its entirety herein.
[0093] The use of the terms “a” and “an” and “the” and “at least one” and similar referents in the context of describing the invention (especially in the context of the following claims) are to be construed to cover both the singular and the plural, unless otherwise indicated herein or clearly contradicted by context. The use of the term “at least one” followed by a list of one or more items (for example, “at least one of A and B”) is to be construed to mean one item selected from the listed items (A or B) or any combination of two or more of the listed items (A and B), unless otherwise indicated herein or clearly contradicted by context. The terms “comprising,” “having,” “including,” and “containing” are to be construed as open-ended terms (i.e., meaning “including, but not limited to,”) unless otherwise noted. Recitation of ranges of values herein are merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated herein, and each separate value is incorporated into the specification as if it were individually recited herein. All methods described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The use of any and all examples, or exemplary language (e.g., “such as”) provided herein, is intended merely to better illuminate the invention and does not pose a limitation on the scope of the invention unless otherwise claimed. No language in the specification should be construed as indicating any non-claimed element as essential to the practice of the invention.
[0094] Preferred embodiments of this invention are described herein, including the best mode known to the inventors for carrying out the invention. Variations of those preferred embodiments may become apparent to those of ordinary skill in the art upon reading the foregoing description. The inventors expect skilled artisans to employ such variations as appropriate, and the inventors intend for the invention to be practiced otherwise than as specifically described herein. Accordingly, this invention includes all modifications and equivalents of the subject matter recited in the claims appended hereto as permitted by applicable law. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the invention unless otherwise indicated herein or otherwise clearly contradicted by context.