Prioritization between agents in agent-based process automation
The agent-based process automation system addresses the challenges of traditional automation systems by enabling autonomous reconfiguration and prioritization of requests, enhancing flexibility and reducing engineering effort.
Patent Information
- Application Number
- CN202280096743.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-05
- Publication Date
- 2024-12-27
AI Technical Summary
Traditional process plant automation systems require significant engineering effort for changes in plant configuration, limited flexibility, and hardware modifications, and central server-based architectures face similar challenges.
An agent-based process automation system where field components act as self-organizing agents, communicating via adjacent connections, with a prioritization mechanism using a topological representation to assign requests to responsible agents, minimizing penalty values.
Enhances plant flexibility and reduces engineering work by allowing autonomous reconfiguration and prioritization of requests, reducing the need for manual adjustments and central servers.
Smart Images

Figure CN119213375A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to automating at least a portion of a process plant. In particular, the disclosed embodiments relate to an agent-based process automation, and in particular, to a method and system for prioritizing between agents in an agent-based process automation. Background Art
[0002] Process plant automation may typically involve recording measurement signals from the physical process, evaluating the automation logic (closed-loop control and open-loop control, including sequences and interlocks), and sending corresponding commands to the actuators of the process plant. The automation software may run on a centralized automation server.
[0003] In traditional process plant automation, the automation software can be manually engineered by experienced personnel or automatically engineered by using appropriate engineering tools. In the case of manual engineering, a lot of engineering work may be required. But even in the case of automated engineering, manual adjustments to the generated engineering results are inevitable. For example, if the topology of the physical plant is changed, for example, by adding or removing certain sensors or actuators, the engineering of the automation software must also be changed accordingly. The same applies if the requirements for the operation of the automated plant, such as procedures, are modified. In addition, if certain sensors or actuators are disconnected, the current engineering may no longer be valid. Therefore, a lot of engineering work may be required at the beginning and for any subsequent changes to the plant configuration. In addition, plant flexibility and availability may also be limited.
[0004] Furthermore, engineering of the automation system may also be required in terms of hardware. For example, automation cabinets containing automation servers and other automation technology components may need to be prepared. The wiring / connection of the field devices of the process plant to these automation cabinets can also be an important step included in the hardware engineering of the automation system.
[0005] Newly developed approaches to automation system architectures, such as NAMUR Open Architecture (NOA) and the Open Group, still require central servers on which automation software runs and through which orchestration of components of process plants can be performed. These approaches also require hardware and software engineering of automation systems as described above, facing at least some or all of the above technical challenges. Summary of the invention
[0006] In short, aspects of the present disclosure provide an agent-based process automation, including a mechanism for prioritization among agents in agent-based process automation.
[0007] A first aspect of the present disclosure provides a method for automating at least a portion of a process plant, the process plant comprising a plurality of field components configured as self-organizing agents, wherein each agent is configured to communicate with an adjacent physically connected agent. The method includes generating, by a request agent, a request corresponding to a corresponding current demand of the request agent. The method also includes forwarding each request from the corresponding request agent to one or more responsible agents capable of responding to the request via one or more paths in each case, wherein the path is defined as a chain of adjacent physically connected agents. The method also includes responding to the request by the responsible agent assigned based on a prioritization mechanism. The prioritization mechanism is established by a process using a topological representation of the process plant, the process comprising: assigning a penalty value to each request, forwarding the request via one or more paths defined by the topological representation by evaluating an increment of the penalty value at each agent that forwards the request or responds to the request depending on the type of request and / or the type of agent, thereby creating a penalty matrix indicating how much penalty will be incurred if a given responsible agent responds to a particular request, and assigning the request to the responsible agent using the penalty matrix so that the total penalty value is minimized.
[0008] A second aspect of the present disclosure provides a method for automating at least a portion of a process plant using a simulation server. The method includes simulating, by the simulation server, a plurality of field components of the process plant configured as self-organizing agents, wherein each agent is configured to communicate with adjacent physically connected agents. The method also includes acquiring sensor signals from the process plant. The method also includes, in the simulation, generating, by the request agent, a request corresponding to the corresponding current demand of the request agent, the demand being derived from the sensor signal acquired from the process plant. The method also includes, in the simulation, forwarding each request from the corresponding request agent to one or more responsible agents capable of responding to the request via one or more paths in each case, wherein the paths are defined as chains of adjacent physically connected agents. The method also includes, in the simulation, assigning requests to responsible agents based on a priority sorting mechanism. A prioritization mechanism is established using a topological representation of a process plant by a process including: assigning a penalty value to each request, forwarding the request via one or more paths defined by the topological representation by evaluating an increasing penalty value at each agent that forwards or reacts to the request depending on the type of request and / or the type of agent, thereby creating a penalty matrix indicating how much penalty would be incurred if a given responsible agent reacted to a particular request, and assigning the requests to the responsible agents using the penalty matrix such that the total penalty value is minimized. The method also includes generating appropriate actuator signals in response to sensor signals acquired from the process plant based on the prioritized assignment of requests to the responsible agents using simulation.
[0009] Another aspect of the present disclosure relates to a computer program product for implementing the above method.
[0010] Through the technology of the present disclosure, additional technical features and benefits can be achieved. The embodiments and aspects of the present disclosure are described in detail herein and are considered to be part of the claimed subject matter. For a better understanding, please refer to the detailed description and drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Please read the following detailed description in conjunction with the accompanying drawings to better understand the foregoing and other aspects of the present disclosure.
[0012] Figure 1 A control system for a process plant according to a first aspect of the present disclosure is shown.
[0013] Figure 2 A control system for a process plant according to a second aspect of the present disclosure is shown.
[0014] Figure 3 A simplified topological representation of a process plant according to a first illustrative example is shown.
[0015] Figure 4 For Figure 3 Schematic diagram of the request flow of various field components of the process plant represented.
[0016] Figure 5 A simplified topological representation of a process plant according to a second illustrative example is shown.
[0017] Figure 6 For Figure 5 Schematic diagram of the request flow of various field components of the process plant represented. DETAILED DESCRIPTION
[0018] To improve plant flexibility and availability and avoid engineering work, an agent-based process automation can be designed. An embodiment of agent-based process automation is disclosed in the international patent application number PCT / EP2021 / 058528 filed by the present applicant on March 31, 2021, and the entire content of the application is incorporated herein by reference as a whole. In agent-based process automation, field components of a process plant such as sensors, actuators, pipeline nodes, etc. can be configured as self-organizing agents, wherein each agent is configured to communicate with adjacent physically connected agents (i.e., adjacent agents directly connected via corresponding pipelines). The agent may have no information about the structure and automation requirements of the entire process plant. Instead, each agent may be equipped with certain defined, relatively simple basic functionality, such as responding to requests from adjacent agents or forwarding one or more requests to adjacent agents (upstream or downstream). The overall automation of the process plant can therefore be generated by the cluster intelligence of field components or agents. If the plant topology is changed, whether intentionally due to conversion or unintentionally due to component failure, the agent can automatically complete its own reorganization to create factory automation again, as long as this is completely possible for the existing plant components.
[0019] In agent-based process automation, if an agent receives multiple requests from neighboring agents, the agent may need to prioritize the requests. The present disclosure provides a solution that can fill this gap through a system method that uses information from a topological representation of a process plant, such as a piping and instrumentation diagram (P&ID), to automatically define such priorities and form some basic rules. Therefore, the present disclosure can enhance agent-based process automation by making it more autonomous and reducing the manual work of defining such priorities.
[0020] First, certain terms used in this description will be explained in connection with agent-based process automation.
[0021] A "cluster" is a plurality (more than two) of field components having some defined basic functionality.
[0022] A "field component" refers to a part of a process plant that interacts with a process. A field component may be, for example, a sensor, an actuator, a composite component that may have both sensor and actuator functionality, an equipment unit or process module (process equipment assembly), or a pipeline node.
[0023] A "pipe node" can be defined by a pipe intersection or by the inlet or outlet of certain plant components such as tanks, heat exchangers, etc. A pipe node can be considered at each pipe intersection. For each type of plant component, it can be decided individually whether a pipe node needs to be considered for the inlet or outlet of the plant component.
[0024] An "agent" is a single entity of a cluster that has some defined basic functionality. Thus, in a cluster of field components, an agent is a field component.
[0025] A "request" is information about a need for something by an agent in a process plant. A "request" can carry information about the need itself, about the agent from which it originated, and the path (agent chain) through which the information was received.
[0026] "Responsiveness" refers to an agent taking some action to satisfy a request from another agent.
[0027] "Adjacent physically connected" agents or field components refer to agents or field components that are directly connected to a specific agent or field component topologically, for example via corresponding pipes. In the context of simulation, the term is used to refer to simulated direct physical connections between simulated agents or field components.
[0028] For the purpose of swarm intelligence, the basic functionality of each agent may include:
[0029] - Identify its current needs and notify adjacent physically connected field components of the current needs via corresponding requests;
[0030] - forwarding a request which the field component has received from another adjacent physically connected field component to all other adjacent physically connected field components;
[0031] - execute reactions to requests that the field component has received from other field components, if the field component has the capability to do so; and
[0032] - Acknowledges the satisfaction of requests that the field component has received from other field components, if the field component has the capability to do so.
[0033] Turning now to the disclosed embodiments, Figure 1 A portion of a control system 100 for a process plant according to a first aspect of the present disclosure is shown. The control system 100 may include an operator station server 102 and an operator station client 104. In addition, the control system 100 may include a plurality of field components, including equipment units 106, 108, sensors / actuators 110, 112, and IO racks 114, 116, each of which carries one or several IO modules that can be connected to additional field components (e.g., sensors / actuators 118, 120, 122, 124). In addition, the control system 100 may optionally include an automation server 126 and a pipeline node server 128.
[0034] A communication network can be established between field components via a hardwired connection (e.g., including a physical bus) and / or a wireless connection (e.g., using Wi-Fi). For example, as shown, the operator station server 102, the operator station client 104, the sensor / actuator 110, 112, two IO racks 114, 116, the automation server 126, and the pipeline node server 128 can be connected to each other via a bus 130, and optionally connected to other components (not shown) of the control system 100. For the purpose of operation and monitoring, a user or operator can access the operator station server 102 or other operator station servers (not shown) via the operator station client 104 via the bus 130. The bus 130 can be designed as, for example, an industrial Ethernet, but is not limited to it. The sensor / actuator 118, 120 can be connected to an IO module in an IO rack 114 via a fieldbus or via a wire 132. Similarly, the sensor / actuator 122, 124 can be connected to an IO module in another IO rack 116 via a fieldbus or via a wire 134. The fieldbuses 132, 134 may be designed, for example, as, but not limited to, industrial Ethernet. Therefore, the bus 130 may provide a communication network between individual field components 106, 108, 110, 112, and may provide a communication network to field components 118, 120, 122, 124 of the control system 100 via IO modules in IO racks 114, 116. Alternatively or in addition to hard-wired connections, wireless connections may also exist between field components 106, 108, 110, 112, 118, 120, 122, 124.
[0035] The automation server 126 can be used to register input sensor signals from the process plant, archive the signals, communicate with the operator station server 102, send output signals to actuators in the case of manual operation, etc. The disclosed embodiments do not require any orchestration software known in the prior art automation control systems to be run on the automation server 126.
[0036] Operator stations (servers and clients) may still be necessary to allow operators of the process plant to interact with the process. This can include, for example, visualization of process values and the possibility to define set points or manually drive actuators. How a process plant should be automated may not only depend on the physical setup of the process plant. Process plants with the same setup can be automated in different ways. Some process plants may operate in different operating modes that request different automatic controls. Corresponding boundary conditions, such as specific operating modes, can be defined for plant automation via operator stations (servers / clients) 102, 104. Operator stations (servers / clients) 102, 104 can also process input / output signals and organize the interaction between operator stations (servers / clients) 102, 104 and field components 106, 108, 110, 112, 118, 120, 122, 124.
[0037] To allow for agent-based process automation as described herein, each field component configured as an agent requires information about other agents that are physically connected adjacent to it (i.e., via a pipeline). Therefore, a single agent / field component does not need all the information about the topology of the entire process plant. For example, each pipeline segment can be individually identified via, for example, an RFID or QR code. Once a field component 106, 108, 110, 112, 118, 120, 122, 124 (i.e., an agent) is connected to a pipeline, the information of the exact pipeline segment to which it is connected can be read and stored in the agent / field component 106, 108, 110, 112, 118, 120, 122, 124. Based on this information, by communicating with each other, the agent can identify all other agents connected to the same pipeline segment. In other embodiments, there can be an upper-level server that includes a topological representation of the process plant, such as a P&ID, and provides information about its physically adjacent agents to each agent.
[0038] Field components, including sensors / actuators 110, 112, 118, 120, 122, 124 and pipeline nodes ( Figure 1 ), can be configured as a self-organizing agent by corresponding software that can be executed to implement the defined basic functionality of the agent. If the field component has the required processing power, this software can be run on the field component itself. For some agents, such as pipeline nodes, this software representing the agent can be run on another device, such as another field component (e.g., a field component that is physically close to the pipeline node), or on an edge device, or on a server at the process plant (e.g., on an optional pipeline node server 128). Therefore, the pipeline node can function and react like a "normal" field component.
[0039] Agent-based process automation can be achieved by generating a request corresponding to the corresponding current demand of the requesting agent by a "requesting" agent. The requesting agent may include, for example, a sensor. In an embodiment, a request may be generated by a sensor based on the deviation of a measured value from a set point. The set point may be defined by an operator of the process plant, for example, via an operator station (server / client) 102, 104. Alternatively, the set point may be defined in an automated manner by a superior system of the process plant (such as an automation server 126) (for example, a time series of set points may be provided via superior procedures). Each request may be forwarded from the corresponding requesting agent to one or more "responsible" agents capable of reacting to the request via one or more paths in each case. The responsible agent may include an actuator. A path is defined as a chain of adjacent physically connected agents.
[0040] The disclosed method is characterized in that requests can be assigned to responsible agents based on a prioritization mechanism established using information from a topological representation (e.g., P&ID) of a process plant, as described in detail below. The responsible agents can thereby react to requests that are respectively assigned to them based on the prioritization mechanism. In an example, the prioritization mechanism can be implemented as a software module running on a superordinate system (e.g., an automation server 126) of the process plant, or on an edge device, or on one of the field components of the process plant.
[0041] In some embodiments, the software representation of the agent can be implemented as part of the agent simulation on the simulation server. This can enable the implementation of various aspects of the proposed agent-based process automation without having to modify the hardware of existing field components that may lack the processing power required to perform the defined basic functions.
[0042] therefore, Figure 2 A portion of a control system 200 for a process plant according to a second aspect of the present disclosure is shown. The control system 200 may include an operator station server 202 and an operator station client 204. In addition, the exemplary control system 200 may include complete equipment units 206, 208. The control system 200 may also include automation servers 210, 212, which may be connected to IO racks 214, 216, 218, 220 that respectively carry IO modules. The IO modules in the IO racks 214, 216, 218, 220 may be connected to additional field components (e.g., sensors / actuators 222, 224, 226, 228, 230, 232, 234, 236). In addition, according to this embodiment, the control system 200 may include an agent simulation server 238.
[0043] A communication network can be established between field components via a hardwired connection (e.g., including a physical bus) and / or a wireless connection (e.g., using Wi-Fi). For example, as shown, the operator station server 202 and the operator station client 204 can be connected to each other via a terminal bus 240, and optionally connected to other components of the control system 200 (not shown). The operator station server 202, the complete equipment units 206, 208, the automation servers 210, 212 and the proxy simulation server 238 can be connected to each other via a plant bus 242, and optionally connected to other components of the control system 200 (not shown). For operation and monitoring purposes, a user or operator can access the operator station server 202 or other operator station servers (not shown) via the operator station client 204 via the terminal bus 240. The terminal bus 240 can be, but is not limited to, designed as, for example, an industrial Ethernet. Sensors / actuators 222, 224, 226, 228, 230, 232, 234, 236 can be connected to IO modules 214, 216, 218, 220 via fieldbuses or via wires 244, 246, 248, 250, respectively. Fieldbuses 244, 246, 248, 25 can be designed, for example, as industrial Ethernet, but are not limited to them. Terminal bus 240, plant bus 242 and fieldbuses 244, 246, 248, 25 can provide a communication network between individual field components 206, 208, 222, 224, 226, 228, 230, 232, 234, 236 of control system 200. Alternatively or in addition to hardwired connections, wireless connections may exist between the components 206 , 208 , 210 , 212 , 222 , 224 , 226 , 228 , 230 , 232 , 234 , 236 , 238 .
[0044] The registration of sensor signals and the output of actuator signals can be implemented as in the control system of the prior art. Moreover, the settings regarding operation and monitoring may not have to be changed. The automation servers 210, 212 may still exist, but they are no longer required for running the automation logic. Therefore, the server load can be reduced, making it possible to use a smaller number of automation servers 210, 212 compared to the control system of the prior art.
[0045] The proxy simulation server 238 may include a computer program product to simulate the field components 206, 208, 222, 224, 226, 228, 230, 232, 234, 236 and implement agent-based process automation of the process plant. To this end, the proxy simulation server 238 may include a plant topology, such as a P&ID or another topology representation type. Pipeline nodes may also be simulated by the proxy simulation server 238.
[0046] In this embodiment, agent-based process automation can be achieved by simulating multiple field components 206, 208, 222, 224, 226, 228, 230, 232, 234, 236 configured as self-organizing agents by an agent simulation server 238. A communication network between agents can be simulated, in which each agent can communicate with adjacent physically connected agents. Sensor signals obtained via sensors of the process plant can be provided as inputs to the simulation. In the simulation, a request corresponding to the corresponding current demand of the request agent can be generated by a "request agent" (e.g., a sensor), which can be derived from the sensor signal obtained from the process plant (e.g., based on the deviation of the measured value from the defined set point, as described above). In addition, in the simulation, each request can be forwarded from the corresponding request agent to one or more "responsible" agents (e.g., actuators) that can react to the request via one or more paths in each case.
[0047] According to the disclosed method, in a simulation, requests can be assigned to responsible agents based on a prioritization mechanism established using information from a topological representation (e.g., P&ID) of a process plant, as described in detail below. Thus, based on the prioritized assignment of requests to responsible agents using simulation, appropriate actuator signals can be generated in response to sensor signals acquired from the process plant. In this case, the prioritization mechanism can be implemented as a software module as part of the simulation running on the agent simulation server 238.
[0048] The proposed prioritization mechanism can be used to systematically decide the pairing between requests and the responsible agents that should react to a particular request. To this end, a penalty matrix based approach has been developed that systematically increases the penalty value of a request as it flows through the agents.
[0049] The prioritization mechanism may be established as follows. For each request, an initial penalty value is assigned to the request. The initial penalty value may be, for example, zero. The request may be forwarded via one or more paths defined by a topology representation / P&ID representing the current topology of the process plant. An increment of the penalty value may be evaluated at each agent that forwards the request or reacts to the request, depending on the type of request and / or the type of agent. The "increment" may be a positive value or zero.
[0050] In various embodiments, different methods may be used to evaluate the increment of the penalty value of a request based on the type of request and / or the type of proxy forwarding the request or reacting to the request. According to one suitable embodiment, as applied to the illustrated embodiment, the evaluation method may include:
[0051] - For sensors, if the sensor forwards the request, the penalty value of the request is not increased;
[0052] - For pipeline nodes, if a request is forwarded from the main pipeline to two or more pipeline branches, the penalty value of the request is increased;
[0053] - for the actuator, if the actuator is a valve, then if the valve responds to a mass flow request then the penalty value of the mass flow request is not increased, and if the valve responds to a pressure request then the penalty value of the pressure request is increased;
[0054] - for an actuator, if the actuator is a pump, then if the pump responds to a pressure request then the penalty value of the pressure request is not increased, and if the pump responds to a mass flow then the penalty value of the mass flow is increased;
[0055] - For any executor, no penalty is added for requests that are only forwarded by the executor without reacting to them.
[0056] At least some of the pipeline nodes of the process plant can be configured as a proxy that can convert requests received from adjacent physically connected agents and can forward the converted requests to other adjacent physically connected agents. Examples of request conversions can include converting a temperature request to a mass flow request and forwarding the mass flow request to a valve connected to a heat exchanger. The conversion of the received request can depend on the type of the corresponding received request and the type of the pipeline node, for example, a pipeline node at a tank inlet converts a tank level request to a mass flow request at the tank inlet.
[0057] Therefore, via different P&ID paths, a given request may reach several responsible agents, which may potentially react to the request with the same or different penalty values. Based on the above, a penalty matrix may be created that indicates how much cost or penalty will be incurred if a given responsible agent (executor) reacts to a particular request. An illustrative structure of the penalty matrix is shown in Table 1 below. The penalty matrix may be used to assign requests to responsible agents so that the total penalty value is minimized. For example, a mixed integer optimization routine may be used to determine the optimal assignment.
[0058] Table 1
[0059]
[0060] The determination of the penalty value for each possible pair of requesting agents and responsible agents and the optimization of the corresponding penalty matrix may require a large amount of computing resources in a real process plant that may have hundreds or thousands of sensors and actuators. To address this challenge, in a suitable implementation of the disclosed method, in each path defined by a topological representation (e.g., P&ID), the forwarding of the request can be stopped at the actuator that can react to the request. Here, if the actuator has not been occupied by another request with a lower penalty value, or if the corresponding request has reached another actuator via another path, so that the other actuator can react to the corresponding request with a lower penalty value, then the actuator can be considered to be "able" to react to the request. This method can be reasonable because further forwarding of the request will further increase the penalty value, even though an actuator that can react to the request with a lower penalty value has been found. Therefore, it is almost impossible to conclude that the pairing resulting from the further forwarding of the request is part of the overall optimal solution. The example shown below uses the above method.
[0061] In a more general expression of the disclosed method, it can be defined that, in each path defined by a topological representation (e.g., P&ID), forwarding of a request is stopped after n such actuators are found that are "capable" (as described above) to react to the request. In this case, "n" can be a natural number greater than or equal to 1. Increasing the value of "n" may increase computational power, but may also increase the likelihood of finding an overall optimal solution. Therefore, there may be a trade-off between optimality and computation. However, choosing n=1 may be a very reasonable choice and may produce an optimal solution in most, if not all, cases.
[0062] The disclosed methods may be better understood in the context of illustrative examples.
[0063] Figure 3A topological representation (i.e., P&ID) of a process plant according to a first illustrative example is shown. The process plant shown includes field components, which include actuators V1, V2, V3 and M1, sensors S1, S2, S3 and S4, pipeline nodes N1, N2, N3, N4, N5 and N6, tanks TK1 and TK2, and a heat exchanger HX. Actuators V1, V2, V3 include valves, and actuator M1 includes a pump. Sensor S1 includes a level sensor for measuring a fluid level within tank TK1, sensor S2 includes a temperature sensor for measuring a temperature within tank TK1, sensor S3 includes a pressure sensor for measuring an outlet pressure of pump M1, and sensor S4 includes a level sensor for measuring a fluid level within tank TK2. Pipe nodes N1 and N2 are defined by the outlet and inlet of tank TK1, respectively, pipe node N4 is defined by the outlet of heat exchanger HX, pipe node N6 is defined by the outlet of tank TK2, and pipe nodes N3 and N5 are defined by pipe intersections.
[0064] In this example, the process plant may have a total of four requests generated by request agents (sensors) S1, S2, S3, and S4. In this case, the corresponding request is the difference between the relevant measured sensor value and the corresponding set point, i.e., a request to increase or decrease the corresponding process value. One or more of these requests, i.e., S1 request, S2 request, S3 request, and S4 request, may be processed by one or more responsible agents (actuators) V1, V2, V3, and M1.
[0065] Figure 4 Indicates that Figure 3 The request flow of the various field components shown in , shows how the penalty value of each request can change (from its initial value of 0) as it flows. Figure 3 Better understanding Figure 4 In this example, n=1 is used to determine the responsible agent to stop forwarding requests. Figure 4 In the figure, the dashed or dotted lines represent the transformation of the original request by the pipeline nodes.
[0066] refer to Figure 4, the S1 request is generated by sensor S1, which is defined by the liquid level deviation (L Dev). The S1 request can reach actuator V1 via pipeline node N1 along path S1_P1. Pipeline node N1 converts the liquid level request (L Dev) into a mass flow request (M Dev) and forwards the mass flow request to V1 without increasing the penalty value (i.e., penalty value = 0). The S1 request can also reach V2 via pipeline nodes N2 (which converts L Dev into M Dev), N3, and N4 along path S1_P2 and then branches to path S1_P2a. When the request is forwarded via pipeline node N3 (forwarded from the main pipeline to the pipeline branch), the penalty value is increased by 1, so that the S1 request has a penalty value of 1 when it reaches V2. The S1 request can also reach V3 via pipeline nodes N2 and N3 along path S1_P2 and then branches to path S1_P2b. Similarly, when the request is forwarded via pipeline node N3 (forwarded from the main pipeline to the pipeline branch), the penalty value is increased by 1, so that the S1 request has a penalty value of 1 when it reaches V3.
[0067] The S2 request is generated by sensor S2, which is defined by a temperature deviation (T Dev). The S2 request can follow path S2_P1 and then branch to path S2_P1a to reach V2 via N2, N3 (which converts T Dev to M Dev), and N4. The S2 request can also follow path S2_P1 and then branch to path S2_P1b to reach V3 via N2 and N3 (which converts T Dev to M Dev). As before, when the request is forwarded via N3, the penalty value is increased by 1, so that the S2 request reaches both V2 and V3 with a penalty value of 1.
[0068] The S3 request is generated by sensor S3, which is defined by a pressure deviation (P dev). The S3 request can reach actuator M1 directly along path S3_P1 without increasing the penalty value (i.e., penalty value = 0). The S3 request can also reach actuators V2 and V3. The S3 request can reach V2 via N5 along path S3_P2 and then branch to path S3_P2a. The S3 request can reach V3 via N5 along path S3_P2 and then branch to path S3_P2b. In each of these two paths, when the request is forwarded via N5 (from the main pipeline to the pipeline branch), the penalty value is increased by 1 and further increased at the corresponding actuators V2, V3, because they are the valves that will react to the pressure request. Therefore, in each case, the S3 request reaches both V2 and V3 with a penalty value of 2.
[0069] The S4 request is generated by sensor S4, which is defined by a level deviation (L Dev). The S4 request can reach M1 along path S4_P1 via pipeline node N6 (which converts L Dev to M Dev). The penalty value is increased by 1 at M1 because it is the pump that reacts to the mass flow request from N6. Therefore, the S4 request reaches M1 with a penalty value of 1. However, the S4 request along path S4_P1 does not stop at M4 because M4 can react to another request with a lower penalty value (i.e., an S3 request). Continuing along path S4_P1, the S4 request can reach V2 and V3 via N5 along paths S4_P1a and S4_P1b, respectively. When the S4 request is forwarded via N5, the penalty value of the S4 request is further increased by 1, so that it reaches both V2 and V3 with a penalty value of 2.
[0070] Note that in Figure 4 In Figure 1, the forwarding of the request to S4 by V2 and V3 could have been shown. However, when the request reaches pipeline node N2, no additional executors can react to the request. Therefore, to keep the drawing simple, this path is omitted in the figure.
[0071] Based on the above, a penalty matrix can be created, as shown in Table 2. In the penalty matrix shown, an "X" is filled in when the following situations occur: the request does not reach the corresponding responsible agent; or the corresponding agent cannot handle a specific request; or the agent has no effect on the request.
[0072] Table 2
[0073]
[0074] In many cases, such as in this example, a mixed integer optimization routine based on a penalty matrix may not be necessary because each responsible agent (executor) can decide at the agent level which request should be processed by selecting the request with the smallest penalty value. In this example, V1 will choose to react to the S1 request because it is the only request that reaches the executor, and M1 will choose to react to the S3 request because it has the smallest penalty value. Both V2 and V3 will react to the S2 request and the S4 request because the S1 request has already been processed by V1, which creates a special condition known as multiple-input multiple-output (MIMO). The MIMO condition may not affect the determination of the optimal allocation at the agent level such as described above. However, when using a mixed integer optimization routine, the MIMO condition may lead to an infeasible solution. The subsequent section of this specification discloses an exemplary solution to the above-mentioned problem.
[0075] Figure 5 A topological representation (ie, P&ID) of a process plant according to a second illustrative example is shown. The process plant in this example is shown relative to Figure 3 With minor modifications, actuator (valve) V4 is added. The remaining field components including actuators V1, V2, V3 and M1, sensors S1, S2, S3 and S4, pipeline nodes N1, N2, N3, N4, N5 and N6, tanks TK1 and TK2 and heat exchanger HX are the same as the previous example and are therefore not described again.
[0076] As in the previous example, the process plant in this case may also have a total of four requests generated by request agents (sensors) S1, S2, S3 and S4. In this case, the corresponding request is the difference between the relevant measured sensor value and the corresponding set point, that is, a request to increase or decrease the corresponding process value. One or more of these requests, namely S1 request, S2 request, S3 request and S4 request, can be processed by one or more responsible agents (actuators) V1, V2, V3 and M1.
[0077] Figure 6 Indicates that Figure 5 The request flow of the various field components shown in , shows how the penalty value of each request can change (from its initial value of 0) as it flows. Figure 5 Better understanding Figure 6 In this example, n=1 is used to decide to stop forwarding requests to the responsible agent. Figure 6 In the example above, the dashed or dotted lines represent the transformation of the original request by the pipeline node. Figure 4 A basic understanding of how requests are forwarded, converted, and how penalty values are incremented can be understood Figure 6 For the sake of brevity, we avoid repeating the explanation here.
[0078] refer to Figure 6 In the same manner as the previous example, the S1 request can reach actuator V1 along path S1_P'1 without increasing the penalty value (ie, penalty value = 0). The S1 request can also reach V4 along path S1_P'2 without conversion or increasing the penalty value (ie, penalty value = 0).
[0079] The S2 request can follow the path S2_P'1 via V4 (which cannot respond to the request) and N3 and then branch to the paths S2_P'1a (via N4) and S2_P'1b to reach V2 and V3 respectively. When the request is forwarded via N3, the penalty value is increased by 1 in each path, so that the S2 request reaches both V2 and V3 with a penalty value of 1.
[0080] The S3 request can directly reach M1 along the path S3_P'1 without increasing the penalty value (i.e., penalty value = 0), and in the same way as the previous example, can reach V2 and V3 with penalty value 2 in each case (along the path S3_P'2 and its branches S3_P'2a and S3_P'2b, respectively).
[0081] The S4 request may reach V2 and V3 in the same manner as in the previous example (along the path S4_P'1 and its branches S4_P'1a and S4_P'1b, respectively), in each case with a penalty value of 2. However, in this example, the S4 request may be forwarded by both V2 and V3, such that it reaches V4 along the paths S4_P1'a and S4_P1'b, respectively, in each case with a penalty value of 3, as shown.
[0082] Note that in this second example, although V2 and V3 could potentially react to the S4 request, they still forwarded the S4 request because they also received an S2 request with a penalty value lower than the penalty value of the S4 request. However, they did not forward the S3 request because the request arrived at another executor (M1) with a lower penalty value than V2 and V3.
[0083] Based on the above, a penalty matrix can be created, as shown in Table 3. As before, in the penalty matrix shown, an "X" is filled in when the following situations occur: the request does not reach the corresponding responsible agent; or the corresponding agent cannot handle a specific request; or the agent has no effect on the request.
[0084] Table 3
[0085]
[0086] As in the previous example, using the penalty matrix, the optimal allocation of requests to responsible agents can be determined locally at the agent level by each responsible agent without performing a mixed integer optimization routine. In this example, V1 chooses to react to the S1 request because it is the only request that reaches this executor; M1 chooses to react to the S3 request because it has the smallest penalty value; V4 chooses to react to the S4 request because the S1 request has already been processed by V1; and V2 and V3 choose to react to the S2 request because it has the smallest penalty value.
[0087] Thus, a prioritization mechanism can be established based on the current topology of the process plant. For example, when the topology of the process plant is changed, the prioritization mechanism can be automatically adjusted by updating the penalty matrix. The topology of the process plant may change, for example, due to intentional changes or modifications of the plant (e.g., adding / removing field components), due to component failures, and other reasons.
[0088] In addition to topology changes, other situations may also trigger the update of the penalty matrix. For example, this may occur when the operator of the process plant takes over the control of the field components (e.g., actuators). In such cases, specific field components may be removed from the topological representation (e.g., P&ID) used to create the penalty matrix. For another example, when a new request is generated by the field component, it may also trigger the update of the penalty matrix. For example, such a situation may occur in the following situation: if a valve that normally operates at an open position of 10%-90% (for maximum reliability) needs to operate at an open position higher than 90%, it may generate a new pressure request at the input. In such a situation, the penalty matrix can be recreated based on the newly added request.
[0089] In some cases, such as illustrated in the above example, the allocation of requests to responsible agents using a penalty matrix can be performed by each responsible agent at the agent level. Particularly in larger plants where more complex situations may arise, a mixed integer optimization routine can be performed to derive the optimal allocation of requests. In this case, the penalty matrix can be provided as input to the mixed integer optimization routine, which can be subject to the following constraints to derive the optimal allocation of requests to responsible agents so as to minimize the total penalty value:
[0090] - all requests reach at least one responsible agent, and
[0091] - No responsible agent is assigned more than one request.
[0092] According to one exemplary architecture, the allocation of requests to responsible agents using the penalty matrix can be performed by each responsible agent at the agent level, and a mixed integer optimization routine can be executed as needed, triggered in the event of conflicting assignments occurring at the agent level. According to another exemplary architecture, the mixed integer optimization routine can be executed regardless of the situation. This does not change the results compared to the agent-level assignment for non-conflicting situations, and for conflicting situations, the optimal assignment problem can be automatically solved.
[0093] In the case of multiple-input multiple-output (MIMO) systems, mixed integer optimization routines may provide infeasible solutions due to the second constraint of the optimization problem (i.e., no responsible agent is assigned more than one request). For example, consider again Figure 3 In the example of the process plant represented, a MIMO condition occurs where actuators V2 and V3 should react to S2 requests and S4 requests in a coordinated manner, i.e., working in opposite directions to affect temperature without affecting mass flow and working in the same direction to affect mass flow without affecting temperature. To address such situations, the penalty matrix can be post-processed based on the identified MIMO pairs.
[0094] In a first step of post-processing, the initial penalty matrix created using the topological representation can be analyzed to identify MIMO conditions where multiple requests have the same set of assigned responsible agents. As described above, a MIMO condition can be identified when two actuators should work in the same direction to react to a first request, and the same two actuators should work in opposite directions to react to a second request. These two requests and these two actuators thus constitute a MIMO pairing. Therefore, again referring to Figure 3 For example, both the S2 request (temperature) and the S4 request (liquid level) can be controlled by actuators V2 and V3 according to the penalty matrix shown in Table 2. The special case where the MIMO condition is defined here is when one request (S4 request) is reacted to by two actuators (V2, V3) with the same sign, and the second request (S2 request) is reacted to by the same two actuators (V2, V3) with different signs (+ / -).
[0095] In the next step of post-processing, the penalty matrix can be adjusted by merging the requests of the MIMO pairings into a single request and merging the set of responsible agents (executors) of the MIMO pairings into a single responsible agent. Therefore, in the adjusted penalty matrix, multiple rows (corresponding to all requests identified in the previous step) and multiple columns (corresponding to the set of responsible agents identified in the previous step) can be reduced to one row and one column, respectively. For example, Table 4 shows the adjusted penalty matrix derived based on the identified MIMO pairings in the penalty matrix shown in Table 2.
[0096] Table 4
[0097]
[0098] Regarding Table 4, it should be noted that since the S2 request did not reach M1, the combined {S2, S4} request will not reach M1 either, which explains the corresponding "X" in the adjusted penalty matrix. In addition, since the penalty value of the S4 request at V2 and V3 is 2, the penalty value of the combined {S2, S4} request at V2 and V3 is also 2, that is, the maximum value among all individual penalty values is considered.
[0099] The adjusted penalty matrix can be provided as input to a mixed integer optimization routine that derives an optimal assignment of requests to responsible agents to minimize the total penalty value subject to the following constraints: all requests reach at least one responsible agent, and no responsible agent is assigned more than one request. Figure 3 In the example of , the optimization problem can therefore consider a single variable {S1, S4} and a single variable {V2, V3} instead of considering two variables S1, S2 and two variables V2, V3 respectively.
[0100] The embodiments of the present disclosure may be implemented with any combination of hardware and software. In addition, the embodiments of the present disclosure may be included in an article (e.g., one or more computer program products) having, for example, a non-transitory computer-readable storage medium. The computer-readable storage medium has, for example, computer-readable program instructions implemented therein for providing and facilitating the mechanisms of the embodiments of the present disclosure. The article may be included as part of a computer system or sold separately.
[0101] A computer-readable storage medium may include a tangible device that can retain and store instructions for use by an instruction execution device. A computer-readable storage medium may be, but is not limited to, for example, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to a corresponding computing / processing device, or downloaded to an external computer or external storage device via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network).
[0102] The systems and processes of the accompanying drawings are not exclusive. Other systems, processes and menus can be derived according to the principles of the present disclosure to achieve the same purpose. Although the present disclosure has been described with reference to specific embodiments, it should be understood that the embodiments and variations shown and described herein are for illustrative purposes only. Those skilled in the art can implement modifications to the current design without departing from the scope of the appended claims.
Claims
1. A method for automating at least a portion of a process plant, the process plant comprising a plurality of field components configured as self-organizing agents, wherein: Each agent is configured to communicate with adjacent physically connected agents, the method comprising: generating, by a requesting agent, a request corresponding to a respective current demand of the requesting agent, forwarding each request from a respective requesting agent to one or more responsible agents capable of reacting to said request via one or more paths in each case, wherein a path is defined as a chain of adjacent physically connected agents, and The request is responded to by a responsible agent assigned based on a prioritization mechanism, wherein the prioritization mechanism is established using a topological representation of the process factory by a process, the process comprising: Assign a penalty value to each request, forwarding the request via one or more paths defined by the topology representation by evaluating, at each proxy forwarding the request or reacting to the request, an increment of the penalty value depending on the type of the request and / or the type of the proxy, This creates a penalty matrix that indicates how much penalty would be incurred if a given responsible agent responded to a particular request, and The requests are assigned to the responsible agents using the penalty matrix such that the total penalty value is minimized.
2. The method according to claim 1, wherein: The plurality of field components configured as agents include sensors, actuators, and pipeline nodes.
3. The method according to any one of claims 1 and 2, wherein: The request agent comprises a sensor and wherein each request is generated based on a deviation of a measured value from a set point, wherein the set point is defined by an operator of the process plant or in an automated manner by a superordinate system of the process plant.
4. The method according to any one of claims 1 to 3, wherein: The responsible agent includes an executor.
5. The method according to any one of claims 2 to 4, wherein: At least some of the pipeline nodes of the process plant are configured as proxies capable of converting the requests received from adjacent physically connected proxies and capable of forwarding the converted requests to other adjacent physically connected proxies, The conversion of a received request depends on the type of the corresponding received request and the type of the corresponding pipeline node.
6. The method according to any one of claims 1 to 5, comprising adaptively establishing the prioritization mechanism by updating the penalty matrix in the following situations: The topology of the process plant is changed, or The operator of the process plant takes over control of the field components, or New requests are generated by field components.
7. The method according to any one of claims 2 to 6, wherein: Evaluating the increment of the penalty value at each proxy forwarding the request or reacting to the request depending on the type of the request and / or the type of the proxy comprises: For a sensor, if the sensor forwards a request, the penalty value of the request is not increased. For a pipeline node, if a request is forwarded from the main pipeline to two or more pipeline branches, the penalty value of the request is increased. For the actuator, if the actuator is a valve, then if the valve responds to a mass flow request, then a penalty value of the mass flow request is not increased, and if the valve responds to a pressure request, then a penalty value of the pressure request is increased, If the actuator is a pump, then if the pump responds to a pressure request, then the penalty value of the pressure request is not increased, and if the pump responds to a mass flow request, then the penalty value of the mass flow request is increased, and The penalty value of requests forwarded by the executor without reacting to them is not increased.
8. The method according to any one of claims 1 to 7, wherein: In each path defined by the topology representation, forwarding of the request is stopped at an executor that is capable of reacting to the request, wherein an executor is considered capable of reacting to the request if: The executor is not already occupied by another request with a lower penalty value, or The corresponding request has already reached the other actuator via the other path, wherein the other actuator can react to the corresponding request with a lower penalty value.
9. The method according to any one of claims 1 to 7, wherein: In each path defined by the topology representation, forwarding of the request is stopped after n executors are found that are able to react to the request, n being a natural number greater than 1, wherein an executor is considered able to react to the request if: The executor is not already occupied by another request with a lower penalty value, or The corresponding request has already reached the other actuator via the other path, wherein the other actuator can react to the corresponding request with a lower penalty value.
10. The method according to any one of claims 1 to 9, wherein: The prioritization mechanism is implemented as a software module running on a superordinate system of the process plant, or on an edge device, or on one of the field components of the process plant.
11. The method according to any one of claims 1 to 10, wherein: Assigning requests to responsible agents includes using penalties as input to a mixed integer optimization routine to derive an optimal assignment of the requests to the responsible agents to minimize the total penalty value subject to the following constraints: All requests reach at least one responsible agent, and No responsible agent is assigned more than one request.
12. The method according to any one of claims 1 to 10, wherein: Assigning a request to a responsible agent involves: analyzing the penalty matrix to identify multiple-input multiple-output conditions where multiple requests have the same assigned set of responsible agents, adjusting the penalty matrix by merging the plurality of requests into a single request and merging the set of responsible agents into a single responsible agent, The adjusted penalty is used as input to a mixed integer optimization routine to derive an optimal allocation of the requests to the responsible agents to minimize the total penalty value subject to the following constraints: All requests reach at least one responsible agent, and No responsible agent is assigned more than one request.
13. The method according to any one of claims 11 and 12, wherein: Allocating requests to responsible agents using the penalty matrix is performed by each responsible agent at an agent level, and wherein the mixed integer optimization routine is triggered in the event of conflicting allocations at the agent level.
14. A method for automating at least a portion of a process plant using a simulation server, the method comprising: simulating, by the simulation server, a plurality of field components of the process plant configured as self-organizing agents, wherein each agent is configured to communicate with adjacent physically connected agents, acquiring sensor signals from the process plant, In the simulation, a request is generated by a request agent corresponding to a respective current demand of the request agent, the demand being derived from the sensor signal acquired from the process plant, In the simulation, each request is forwarded in each case via one or more paths from a respective requesting agent to one or more responsible agents capable of reacting to the request, wherein a path is defined as a chain of adjacent physically connected agents, In the simulation, the requests are assigned to responsible agents based on a prioritization mechanism, wherein the prioritization mechanism is established using a topological representation of the process plant by a process, the process comprising: Assign a penalty value to each request, forwarding the request via one or more paths defined by the topology representation by evaluating an increment of the penalty value at each proxy forwarding the request or reacting to the request depending on the type of the request and / or the type of the proxy, Thereby creating a penalty matrix indicating how much penalty would be incurred if a given responsible agent reacted to a particular request, and assigning requests to responsible agents using the penalty matrix such that the total penalty value is minimized, and Based on the prioritized assignment of requests to responsible agents using the simulation, appropriate actuator signals are generated in response to the sensor signals acquired from the process plant.
15. A non-transitory computer-readable storage medium comprising instructions which, when processed by a simulation server, configure the simulation server to perform the method of claim 14.