Improving control strategies of distributed control systems based on operator actions
By modifying and enhancing engineering tools, leveraging operator interaction events and state variables, and combining them with machine learning models, unforeseen situations are handled automatically, application code is generated, problems that could not be foreseen in engineering design are solved, operator intervention frequency and time are reduced, and automation and safety of factory operations are improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ABB (SCHWEIZ) AG
- Filing Date
- 2022-01-07
- Publication Date
- 2026-06-23
Smart Images

Figure CN116848475B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the automation control of industrial plants, particularly plants with distributed control systems. Background Technology
[0002] Industrial plant automation control is typically implemented based on engineering-designed control strategies, which aim to ensure the efficient operation of the plant. However, these strategies cannot anticipate all possible scenarios that may occur during plant operation. In such situations, plant operators can manually intervene and control the plant or a portion thereof, thus superseding the engineering-designed control strategy.
[0003] WO2012 / 142353A1 discloses a method for monitoring process control systems. This method includes visualizing unsatisfactory key performance indicators (KPIs) of a plant.
[0004] Purpose of the invention
[0005] The purpose of this invention is to reduce the need for manual intervention during industrial plant operations and / or to reduce the amount of time that plant operators have to spend on such interventions.
[0006] This objective is achieved through two computer-implemented methods for modifying and / or enhancing engineering tools for distributed control systems as described in the independent claims, and through another computer-implemented method for training machine learning models as described in another independent claim. Summary of the Invention
[0007] This invention provides two methods for modifying and / or enhancing computer implementations of engineering tools. The engineering tools are configured to generate application code. When this application code is executed on one or more controllers in a distributed control system of an industrial plant, the industrial plant will be controlled according to the control strategies implemented in the application code.
[0008] Both methods involve modifying and / or enhancing the engineering tools that have already generated the application code for the distributed control system. When the application code is regenerated by the modified and / or enhanced engineering tools and executed in the distributed control system, the effect of the modifications is that plant operators are likely to interact with the distributed control system manually less frequently, and / or spend less time interacting with the distributed control system.
[0009] The first approach derives the modification and / or enhancement based on past interaction events of factory operators interacting with the factory's distributed control system via a human-machine interface. The second approach derives the modification and / or enhancement based on predictions of interaction events that factory operators might initiate based on the current state of the factory. These predictions are obtained from a trained machine learning model. Specifically, the first approach facilitates obtaining modification and / or enhancement from specific, known behavioral patterns of factory operators, while the second approach specifically facilitates obtaining modification and / or enhancement from scratch without any prior knowledge of these behavioral patterns.
[0010] In the first method, state variables characterizing the operational state of at least one industrial plant were acquired. Additionally, a set of interaction events involving at least one plant operator interacting with the industrial plant's distributed control system via a human-machine interface was acquired.
[0011] Based at least in part on interactive events, state variables, and optionally, given engineering information of the distributed control system as input data, determine whether one or more interactive events indicate that a plant operator is performing a task not adequately covered by the engineering design of the distributed control system. If the determination is affirmative, the input data is mapped to modifications and / or enhancements of the sought engineering tool that has generated application code for the distributed control system.
[0012] The control system is designed based on the requirements and specifications of the engineering design phase. However, not all situations that may occur during plant operation can be foreseen during this phase. Plant operators remain in the control loop as an interactive element to fill any gaps in the engineering design control strategy. If plant operator intervention is used to handle rare situations that were not foreseen in the control strategy and are unlikely to recur, this is a better approach than modifying the control strategy to handle such situations. However, if such situations are likely to recur, it is best to modify the plant's engineering design so that plant operators do not have to perform the same or substantially similar interventions repeatedly. Modifying the engineering design in an automated manner has several advantages:
[0013] • Factory operations have become safer because in every situation that can be automated, the correct operation no longer depends on the factory operator making the right intervention at the right time.
[0014] • Freeing up factory operators from routine interventions frees up time that would otherwise be spent on these interventions, which can then be used for problem-solving tasks that machines cannot handle.
[0015] • The knowledge of plant operators is captured and recorded in a form that can be transferred to similar plants.
[0016] • It can quantitatively measure how well the plant's engineering design covers the actual operational conditions that occur in the plant.
[0017] Tasks not adequately covered by current engineering of the distributed control system can be designated as a pattern in any suitable manner. In a particularly advantageous embodiment, tasks not adequately covered by current engineering of the distributed control system specifically include:
[0018] • Manually execute solutions to operational problems of the distributed control system that are not covered by the current engineering; and / or
[0019] • Repeat one or more actions starting from the same or substantially similar operational state; and / or
[0020] • Access requires at least a threshold number of steps to access at least a threshold frequency for at least one function.
[0021] For example, in a waste incineration plant, the combustion process is highly dependent on the composition of the waste. The plant is engineered for a range of compositions, but a sudden, significant change in composition outside that design can occur. For instance, paper, plastic, or other materials are normal components of household waste, so the plant's engineering might assume these components are always present. However, updated environmental regulations might suddenly mandate that paper or plastic be collected in separate bins for recycling, and suddenly these components disappear from household waste. The plant operator might then notice a sudden and sharp decline in combustion and be able to figure out how to improve combustion by adjusting airflow and waste agitation within the furnace. If this solution is incorporated into the updated engineering tools and the plant's engineering is updated accordingly, the solution can be reused whenever similar waste compositions are supplied to the plant in the future.
[0022] The situation where factory operators manually perform solutions to operational problems can be detected, for example, through pattern recognition in state variables and interaction event data. For instance, if there is a pattern where...
[0023] • State variables indicate the problem or suboptimal state of the factory.
[0024] • Subsequently, a series of interaction events were detected, and
[0025] In response, the state variables indicate that the factory state has improved.
[0026] It can be inferred that the factory operator's intervention has resolved the factory's operational problems.
[0027] If one or more actions are repeatedly performed starting from the same or substantially similar operational state, the engineering tool can be modified so that, based on new application code generated by the tool, those actions are automatically performed in the future in response to the recurrence of the same or substantially similar operational state. Similar to a macro recorder in a word processor, this reduces repetitive manual work for factory operators.
[0028] If a function requires at least a threshold number of steps to access at at least a threshold frequency, the engineering tools can be modified to allow access to that function with fewer steps. For example, the layout of controls and displays in a human-machine interface (HMI) might be too large to be displayed on the screen, so it can be divided into several pages. By default, the HMI might be on page 1, and to access functions on page 5, the factory operator might have to flip through pages 2, 3, 4, and then page 5. The initial assignment of controls and displays to different pages might be driven by an estimated probability that the factory operator might need to access the corresponding controls or displays. However, in some situations within the factory, some controls and displays might become more critical than in others. This could even change during operation. For example, if multiple residential neighbors complain to the municipality about noise, odors, or other nuisances emanating from the factory, the factory operator might be forced to reduce such nuisances. The corresponding sensor readings would have to be monitored more frequently, so moving them from page 5 to page 1, where they are visible on the screen most of the time, might be appropriate.
[0029] In these examples, suitable modifications to engineering tools can be detected by searching or observing specific patterns in data from the factory. However, in more cases, gaps may exist in the factory's previous engineering design, which must be filled through intervention by the factory operators. Therefore, this invention also provides a second computer-implemented method for modifying and / or enhancing engineering tools.
[0030] Similar to the first approach, in this second approach, state variables characterizing the operational state of at least one industrial plant are acquired. Then, based on the state variables, at least one trained machine learning model is used to predict one or more interaction events that at least one plant operator might initiate on a distributed control system via a human-machine interface in response to the operational state. The one or more predicted interaction events are mapped to modifications and / or enhancements to engineering tools that have generated the application code for the distributed control system. Similar to the first approach, the modifications are configured such that when the application code is regenerated by the modified and / or enhanced engineering tools and executed in the distributed control system, the plant operator may interact manually with the distributed control system less frequently and / or spend less time interacting with it. For example, this mapping may be performed by a machine learning model that also predicts interaction events, by another machine learning model, or in any other suitable manner.
[0031] Modifying and / or enhancing engineering tools in this way does not require prior knowledge of the specific patterns of operation and / or interventions for plant operators. Instead, engineering tools can learn dynamically from plant operators and adapt to new categories of situations that were not foreseen during the initial engineering design.
[0032] For example, a waste incineration plant previously optimized through a certain engineering design could later be connected to a district heating network, allowing the heat generated at the plant to be used for other purposes. From then on, it may be necessary to maintain the heat and temperature delivered to the district heating network within predetermined ranges to ensure the reliability of district heating. These new objectives may at least partially replace the previous ones. For instance, to maintain heat transfer even as the calorific value of waste decreases, it may be necessary to ignite fuel-driven burners to supplement the combustion of waste. Under previous engineering designs, burners would not ignite unless the waste incineration plant was no longer required to operate, as fuel would increase operating costs. Training a machine learning model might reveal that, after connection to a district heating network, manual intervention is increasingly required in certain situations. After training, the machine learning model can predict in which operational conditions manual intervention is likely to occur. Engineering tools can then be modified to allow for the automatic initiation of interventions to maintain heat transfer in the future, based on newly generated application code.
[0033] Both approaches can work simultaneously in the same and the same facility. That is, if an engineering tool is detected to need modification and / or enhancement somewhere based on a known pattern, that modification and / or enhancement can be identified and implemented. Most importantly, machine learning models can be used to generate modifications and / or enhancements from interventions that do not conform to previously known patterns.
[0034] For example, the input data used in any of these methods may also include one or more of the following:
[0035] • Alarms and events reported by the distributed control system;
[0036] • Topological models of industrial plants;
[0037] • Layout of the human-machine interface in a distributed control system; and
[0038] • Control logic of a distributed control system.
[0039] If the input data is more detailed, more detailed patterns can be used to detect “blank spots” in the current process, and / or machine learning models can more accurately predict factory operator interventions.
[0040] In another particularly advantageous embodiment, when input data and / or interactive events are mapped to modifications and / or enhancements for engineering tools, it can be determined that a function in a given control library produces a result substantially similar to that of the detected and / or predicted action or action sequence. In this case, when generating modifications and / or enhancements for the engineering tools, the detected and / or predicted action or action sequence can be replaced by calls to a defined function in the control library. In this way, the knowledge already contained in the control library can be put to use where appropriate. For example, without knowing that an automation protocol has been established in the control library for such standard operation, a plant operator can follow some manual protocol to raise the temperature inside a container to a new target temperature.
[0041] In another particularly advantageous embodiment, the modification and / or enhancement is configured such that when the application code is regenerated by the modified engineering tools and executed in the distributed control system, the human-machine interface of the distributed control system...
[0042] • A new control element appears, causing a series of actions previously performed sequentially by the plant operator to be executed when the new control element is actuated; and / or
[0043] • Control elements that previously required a first number of steps to access are moved within the human-machine interface so that they can be accessed with a second, fewer number of steps.
[0044] This allows plant operators to perform the same interventions with less interaction between the plant operator and the human-machine interface of the distributed control system.
[0045] As discussed earlier, in another particularly advantageous embodiment, the modifications and / or enhancements for the engineering tools are configured such that, when the application code is regenerated by the modified engineering tools and executed in the distributed control system, one or more actions previously repeatedly performed by the plant operator from the same or substantially similar operating state are automatically executed in response to a specific operating state occurring. This frees the plant operator from routine intervention, allowing him to focus on problem-solving tasks.
[0046] In another advantageous embodiment, an engineering tool is selected, configured to assemble a distributed control system from building blocks in a predetermined catalog. At least one such building block is a programmable logic controller (PLC). The engineering tool is configured to generate application code that includes control code for the PLC. When such an engineering tool is modified and / or enhanced, the assembly plant from the building blocks can remain unchanged, but the control code of the PLC can be recompiled to upgrade it with new functionality.
[0047] Therefore, any approach may also include regenerating the application code for the distributed control system using modified and / or enhanced engineering tools. The regenerated application code can then be executed within the distributed control system. In this way, the industrial plant is controlled according to the modified and / or enhanced control strategies implemented in the regenerated application code.
[0048] Optionally, before rebuilding the application code, the control engineer can be prompted for approval of any modifications and / or enhancements used in the engineering tools. This allows the control engineer to understand what changes will occur when the application code is rebuilt next time. Furthermore, the control engineer can then check whether the proposed changes violate any other constraints.
[0049] The present invention also provides a computer-implemented method for training at least one machine learning model used in the second method described above.
[0050] The method begins with records of training input data having state variables that characterize the operational state of at least one industrial plant. Labels are provided relating to interactive events initiated by at least one plant operator in response to said operational state within a distributed control system. A machine learning model to be trained maps the records of the training input data to predictions of one or more interactive events that at least one plant operator will initiate in response to the operational state in the training input data.
[0051] The degree to which the predictions of a machine learning model correspond to the labels of the corresponding records in the training input data is evaluated using a predetermined cost function. The parameters characterizing the behavior of the machine learning model are optimized so that the cost function receives a better evaluation as the model processes more records of the training input data. In this way, the predictions of factory operator interventions become increasingly accurate as training progresses.
[0052] To label operational status with interaction events, actual interaction events collected from the plant can be filtered, for example, based on whether these interaction events resulted in successful or unsuccessful intervention by the plant operator. For example, interaction events can be graded according to any suitable metric regarding how beneficial the interaction event has proven to be for a given objective. For example, actual interaction events can be weighted according to these grades. For example, if an interaction event's grade is below a certain threshold, it can be excluded from the label.
[0053] In a particularly advantageous embodiment, the training input data is collected from records of multiple industrial plants. In this way, operator knowledge can be transferred, at least between similar plants. For many types of plants (such as waste incineration plants), these instances differ to some extent from one another, but the basic functionality is the same in all instances. Different configurations of waste incineration plants can be supplied by different compositions of waste. One waste incineration plant may be connected to a district heating network, while another may not. But all instances share a common feature: the presence of some type of furnace for burning waste, and this combustion is controlled by manipulating a specific set of parameters.
[0054] In any given instance of an industrial plant, training does not have to start from scratch. Instead, the machine learning model can first undergo general training and then be further trained in a more specific way for specific instances of the plant. In this way, when deploying a large number of different plant instances, it is not necessary to repeat the general part of the training over and over again.
[0055] The computer implementation of the above methods implies that these methods can be embodied in a computer program. Therefore, the present invention also provides a computer program having machine-readable instructions that, when executed by one or more computers, cause one or more computers to perform one of the above methods. The present invention also provides a non-transitory machine-readable storage medium and / or a downloadable product having the computer program. A downloadable product is a product that can be sold in an online store and fulfilled immediately by downloading. The present invention also provides one or more computers having a computer program and / or having a non-transitory machine-readable storage medium and / or a downloadable product. Attached Figure Description
[0056] The invention will now be described with reference to the accompanying drawings, but this is not intended to limit the scope of the invention. The drawings show:
[0057] Figure 1 Exemplary embodiments of methods 100a and 100b for modifying and / or enhancing engineering tool 2;
[0058] Figure 2: According to method 100a ( Figure 2a ) and 100b ( Figure 2b An example information flow;
[0059] Figure 3 An exemplary embodiment of method 200 for training machine learning model 8 used in method 100b. Detailed Implementation
[0060] Figure 1 This is a schematic flowchart of embodiments of methods 100a and 100b, which are used to modify and / or enhance engineering tool 2. Both methods 100a and 100b begin in step 110 by acquiring a state variable 6 that characterizes the operational state 1a of at least one industrial plant 1.
[0061] In method 110a, in step 120, a set 7 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, 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 indicate that the plant operator is performing a task not adequately covered by the current engineering of the distributed control system 5. If this is the case (truth value 1), then in step 140, the input data is mapped to modifications and / or enhancements 2a for the engineering tool 2 that has generated the application code 3 of the distributed control system 5.
[0062] In method 110b, in step 150, based on state variable 6, at least one machine learning model 8 is used to predict one or more interaction events 7, which are likely initiated by at least one plant operator on the distributed control system 5 via a human-machine interface in response to the operating state 1a of plant 1. In step 160, the one or more predicted interaction events 7 are mapped to modifications and / or enhancements 2a for engineering tools 2 that have generated application code 3 for the distributed control system 5.
[0063] During mappings 140, 160 performed in method 110a or 100b, according to box 141 (and box 161 respectively), a function in a given control library that produces a result substantially similar to the result of the detected and / or predicted action or sequence of actions can be determined. According to boxes 142, 162, this action or sequence of actions can be replaced by a call to the determined function in the control library. In this way, if the plant operator manually performs some operation for which existing library functions are available, the tried-and-tested library functions are used.
[0064] According to box 105, for both methods 100a and 100b, engineering tool 2 can be selected, and engineering tool 2 is configured as follows:
[0065] • Assemble a distributed control system (5) from building blocks in a predetermined catalog, wherein at least one such building block is a programmable logic controller (PLC); and
[0066] • Generate application code that includes the PLC control code.
[0067] In both methods 100a and 100b, in step 170, the modification 2a for engineering tool 2 can be submitted to the control operator for approval. If approval is granted (truth value 1), engineering tool 2 can regenerate application code 3 for distributed control system 5 in step 180. In step 190, the regenerated application code 3 can be executed in distributed control system 5. This results in the industrial plant 1 being controlled according to the updated control strategy implemented in the regenerated application code 3.
[0068] exist Figure 2a In the case of method 100a and in Figure 2b The information flow is described in further detail for method 100b.
[0069] according to Figure 2a State variable 6 is obtained from controller 4 in the distributed control system 5 and from the control system 5 as a whole. Additionally, at least one interaction event 7 between a plant operator and the control system 5 is obtained. Based on state variable 6 and one or more interaction events 7, in step 130 of method 100a, it is determined whether this indicates that the plant operator is performing a task not adequately covered by the current engineering of the distributed control system 5. In step 140 of method 100a, using a machine learning model, lookup table, or any other suitable tool, state variable 6 and interaction event 7 are mapped to the sought modification and / or enhancement 2a for engineering tool 2. When the modification and / or enhancement is implemented, engineering tool 2 can generate new application code 3, which can then be run on controller 4 in the distributed control system 5.
[0070] according to Figure 2b State variables 6 are obtained from controller 4 in the distributed control system 5 and from the control system 5 as a whole. Based on state variables 6, at least one machine learning model 8 predicts one or more interaction events 7 that at least one plant operator may initiate on the distributed control system 5. In step 160 of method 100b, these predicted interaction events 7 are mapped to the sought modifications and / or enhancements 2a for engineering tool 2. When the modifications and / or enhancements are implemented, engineering tool 2 can generate new application code 3, which can then be run on controller 4 in the distributed control system 5.
[0071] Figure 3 This is a schematic flowchart of an embodiment of a method 200 for training a machine learning model 8. In step 210, a record 6a of training input data with state variables 6 is provided, the state variables 6 representing the operating state 1a of at least one industrial plant 1. In step 220, a tag 9 is provided, the tag 9 relating to an interaction event 7 initiated by at least one plant operator in response to the operating state 1a in the distributed control system 5.
[0072] In step 230, a record 6a of the training input data is mapped to a prediction 7' of one or more interaction events 7, whereby a prediction 7' is initiated by at least one factory operator in response to an operation state 1a in the training input data of the machine learning model 8 to be trained. In step 240, the degree of correspondence between the prediction 7' and the label 9 of the corresponding record 6a of the training input data is evaluated using a predetermined cost function 10. In step 250, the parameter 8a, characterizing the behavior of the machine learning model 8, is optimized to achieve the following objective: when the machine learning model 8 processes more records 6a of the training input data, this will result in a better evaluation 10a of the cost function 10. The final training state of the parameter 8a is represented by a reference number 8a. mark.
[0073] List of reference numerals
[0074] 1 Industrial factory
[0075] 1a Operating status of industrial plant 1
[0076] 2 Engineering tools for distributed control systems 5
[0077] 2a Modifications / Enhancements for Engineering Tools 2
[0078] 3. Application code for distributed control system 5
[0079] 4. The four controllers in the distributed control system 5
[0080] 5 Distributed Control System
[0081] 6. Six state variables representing operation state 1a
[0082] 6a Training data record with state variable 6
[0083] 7. Interaction events between plant operators and control system 5
[0084] 7' Prediction of Interaction Event 7 during Model 8 Training
[0085] 8 Machine Learning Models
[0086] 8a parameters characterize the behavior of machine learning model 8.
[0087] 8a The final training state of parameter 8a
[0088] 9 Labels used for training data record 6a
[0089] 10 Cost function for training machine learning models 8
[0090] 10a Evaluation using cost function 10
[0091] 100a is used to obtain the modified 2a method based on the pattern.
[0092] 100b is used for methods to obtain modifications to 2a based on interactive learning.
[0093] 105 Selecting a specific distributed control system 5
[0094] 110 Get state variable 6
[0095] 120 Get interaction event 7
[0096] 130. Determined to be performing tasks not covered.
[0097] 140 Mapping input data to modified / enhanced 2a
[0098] 141 Determine the control library functions
[0099] 142 Use library functions instead of manual operations
[0100] 150 Predicting Interactive Events 7
[0101] 160 Map the predicted interaction events to the modified / enhanced 2a
[0102] 161 Determine the control library functions
[0103] 162. Use library functions instead of manual operations.
[0104] 170. Submitted amendment 2a pending approval from the control engineer.
[0105] 180 Regenerate application code 3
[0106] 190 Execute new application code 3
[0107] 200 methods for training machine learning models
[0108] 210 provides a record 6a of the training input data.
[0109] 211 Obtain record 6a from multiple factories 1
[0110] 220 provides tag 9
[0111] 230 Map record 6a to prediction 7'
[0112] 240. Evaluation of forecast 7' using cost function 10.
[0113] 250 Optimize parameter 8a
Claims
1. A method (100a) for modifying and / or enhancing a computer implementation of an engineering tool (2), said engineering tool (2) being configured to generate application code (3) which, when executed on one or more controllers (4) in a distributed control system (5) of an industrial plant (1), will cause the industrial plant (1) to be controlled according to a control strategy implemented in said application code (3), said method comprising: • Obtain (110) state variables (6), which represent the operating state (1a) of at least one industrial plant (1). • Acquire (120) a set of interaction events (7) in which at least one factory operator interacts with the distributed control system (5) of the industrial plant (1) via a human-machine interface; • Based at least in part on the interaction event (7) and the state variable (6) as input data, determine (130) whether one or more interaction events (7) instruct the plant operator to perform the following task: • Manually execute solutions to operational problems not covered by the current engineering of the distributed control system (5); and / or • Repeatedly perform one or more actions starting from the same or substantially similar operating state (1a); and / or • Accessing at least one function requires at least a threshold number of steps to access it at at least a threshold frequency; And if the determination is positive, the input data is mapped (140) to modifications and / or enhancements (2a) for the engineering tool (2), which has generated the application code (3) for the distributed control system (5). And further • The application code (3) for the distributed control system (5) is regenerated (180) by the modified and / or enhanced engineering tool (2); as well as • The regenerated application code (3) is executed (190) in the distributed control system (5) to control the industrial plant (1) according to the control strategy implemented in the regenerated application code (3). Make • A new control element appears, causing a series of actions previously performed sequentially by the plant operator to be executed when the new control element is actuated; and / or • A control element that previously required a first number of steps to access moves within the human-machine interface, so that the control element requires a second, fewer number of steps to access. and / or One or more actions previously repeatedly performed by the plant operator from the same or substantially similar operating state (1a) are automatically performed in response to the occurrence of a specific operating state (1a). This makes it highly likely that the factory operator will interact with the distributed control system less frequently and / or spend less time interacting with the distributed control system.
2. The method (100a, 100b) according to claim 1, wherein the method further comprises: • Based at least in part on the given engineering information of the interaction event (7), the state variable (6), and the distributed control system (5) as input data, determine (130) whether the one or more interaction events (7) instruct the plant operator to perform the task.
3. The method according to claim 1 (100a, 100b), wherein the input data further includes one or more of the following: Alarms and events reported by the distributed control system (5); • The topological model of the industrial plant (1); • The layout of the human-machine interface of the distributed control system (5); and • The control logic of the distributed control system (5).
4. The method (100a, 100b) according to any one of claims 1 to 3, wherein the mapping (140, 160) comprises: • Determine (141, 161) a function that achieves a result substantially similar to the result of the detected action or action sequence in a given control library; as well as • In the modification and / or enhancement (2a) of the engineering tool (2), the detected action or action sequence is replaced by a call to a known function in the control library.
5. The method (100a, 100b) according to any one of claims 1 to 3, wherein (105) engineering tool (2) is selected, said engineering tool (2) being configured to: • Assemble the distributed control system (5) from building blocks in a predetermined catalog, wherein at least one such building block is a programmable logic controller (PLC); and • Generate application code that includes control code for the PLC.
6. The method (100a, 100b) according to any one of claims 1 to 3, further comprising: Before regenerating (180) the application code (3), prompt (170) the control engineer to approve (2a) the modifications and / or enhancements (2a) used for the engineering tool (2).
7. A computer program product comprising machine-readable instructions that, when executed by one or more computers, cause the one or more computers to perform the method (100a, 100b) according to any one of claims 1 to 6.
8. A non-transitory machine-readable storage medium having a computer program product according to claim 7.
9. One or more computers having a computer program product according to claim 7 and / or a non-transitory machine-readable storage medium according to claim 8.