AI-based orchestration in industrial control systems
By applying machine learning algorithms to autonomous orchestration in industrial control systems, the complexity of component integration and multi-dimensional control in OT environments has been solved, resulting in improved system efficiency and stability, and optimized load management and fault identification.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-11
- Publication Date
- 2026-04-14
AI Technical Summary
In the existing technology, the orchestration of industrial control systems has not made full use of artificial intelligence (AI) technology, especially in the operational technology (OT) environment, where it is difficult to effectively solve the complex problems of component integration and multi-dimensional control.
By employing machine learning (ML) algorithms to analyze multiple dynamic states of industrial control systems, perform autonomous or semi-autonomous orchestration tasks, and adjust controller functions and component settings to optimize load balancing, identify faults, and predict potential problems, automated orchestration solutions are provided.
Through autonomous orchestration, the efficiency and sustainability of industrial systems are improved, load management is optimized, misconfigurations are accurately identified and corrected, failures are predicted and prevented, and the automation and stability of the system are enhanced.
Smart Images

Figure CN121866513A_ABST
Abstract
Description
[0001] Cross-reference to related applications
[0002] This application claims the benefit of U.S. Provisional Patent Application Serial No. 63 / 538,168 entitled “AI-based orchestration in industrial control systems”, filed on September 13, 2023, the disclosure of which is considered in its entirety to be part of this application and is therefore incorporated herein by reference in its entirety. Technical Field
[0003] This disclosure relates to system management and orchestration of process control systems, and more specifically, to artificial intelligence (AI)-based autonomous orchestration in industrial control systems. Background Technology
[0004] Operational technology (OT) uses computing systems to manage industrial systems such as production lines, mining operations, and oil and gas production. Note the difference between OT and information technology (IT): IT manages the flow of digital information and communications, while OT connects, monitors, manages, and protects industrial operations.
[0005] In an OT (Operational Technology) environment, one or more process control systems (PCSs) (also known as industrial control systems (ICS)) monitor and control industrial processes. A single PCS includes a distributed control system (DCS), which comprises multiple control processors (CPs) distributed throughout the industrial system to provide computerized and autonomous control. Control can be managed by a central operator-supervised controller, such as a Supervisory Control and Data Acquisition (SCADA) system. Each CP can supervise and control multiple field devices, such as sensors and actuators. In large industrial systems, controllers can interact with a large number of field devices and programmable logic controllers (PLCs). Adjustments to one controller can affect another controller or control system, thus inter-process communication (IPC) is established between controllers to exchange control information between control processors. A well-designed PCS aims to minimize IPC. Furthermore, control can be multi-dimensional, such as controlling energy consumption, productivity, etc. Adjustments to one dimension may affect other dimensions. Multivariable controller (MVC) algorithms are one solution to address this situation.
[0006] Due to the integration and interactivity of components and subsystems in industrial systems, and the multidimensional nature of OT (and possibly other reasons), OT orchestration has not yet gained the same popularity as IT. This disclosure defines how to use machine learning (ML) to address the challenges of OT orchestration. Summary of the Invention
[0007] The objects and advantages of the illustrative embodiments described below will be set forth in and apparent from the following description. Additional advantages of the illustrated embodiments will be realized and obtained through the written description and its claims, as well as the apparatus, systems, and methods particularly pointed out in the drawings. To achieve these and other advantages and according to the objects of the illustrated embodiments, in one aspect, a computer-implemented method for performing orchestration in an industrial system having a process control system (PCS) is disclosed, the method being performed autonomously or semi-autonomously. The method includes performing multiple tasks for monitoring the industrial system including the PCS. Each of the multiple tasks is performed using multiple inputs associated with the functionality of at least one controller of the PCS. The at least one controller includes at least one control function associated with a physical aspect of the PCS.
[0008] The method also includes, for each of the multiple tasks performed, analyzing one or more dynamic states of the PCS and at least one controller of the PCS using at least one machine learning (ML) algorithm. The one or more dynamic states are influenced by multiple inputs.
[0009] The method further includes: in response to the output of at least one ML algorithm, performing an action, causing the action to be performed, or suggesting that an action be performed. The action adjusts at least one of the following: the function of at least one controller, the influence of a PCS on the function of a component of at least one controller, or the use of or influence of the settings of a component by a component of at least one controller.
[0010] In one or more embodiments, at least a portion of multiple tasks can be performed simultaneously.
[0011] In one or more embodiments, the action may include adjusting the load on at least one of the PCS, the network of the PCS, and inter-process communication (IPC) constraints between at least one controller.
[0012] In one or more embodiments, conditions from multiple inputs can trigger the execution of tasks in multiple tasks.
[0013] In one or more embodiments, the conditions may include at least one of the following: installing new physical components within the PCS, installing new software on the processing device of the PCS, deploying new logic on at least one controller that affects control over one or more physical aspects of the PCS, and identifying load problems.
[0014] In one or more embodiments, one or more dynamic states of the PCS may be based on at least one of the following: the load capacity of at least one controller, the current load of at least one controller, the current load of the PCS, the isolation requirements of the PCS, the system architecture of the PCS, the current load of the IPC, and the current load of the PCS's network.
[0015] In one or more embodiments, at least one ML algorithm may include at least one of ML reinforcement algorithms, constraint satisfaction algorithms, and probabilistic ML algorithms.
[0016] In one or more embodiments, the action may be a corrective action for at least one of identified current faults and / or failures and predicted faults and / or failures, an update to a set of symptoms indicating current or predicted faults and / or failures for analyzing one or more dynamic states of the PCS, and / or a set of diagnostic guidelines for diagnosing one or more dynamic states of the PCS.
[0017] In one or more embodiments, conditions of multiple inputs can trigger the execution of a task among multiple tasks, wherein the conditions may include at least one of the following: the PCS’s running and / or historical system logs, the network used by the PCS’s running and / or historical network monitoring logs, and the running and / or historical event logs of events that have occurred and / or have occurred in association with the operation of the PCS.
[0018] In one or more embodiments, one or more dynamic states of the PCS may be based on at least one of the following: a set of diagnostic guidelines, an operator action log (OAJ) describing timestamped operator actions associated with at least one controller, and a set of symptoms.
[0019] In one or more embodiments, at least one ML algorithm may include at least one of deep learning and probabilistic ML algorithms for natural language processing.
[0020] In one or more embodiments, the action may include at least one of the following: correcting misconfigurations detected related to PCS configuration, adjusting the set of PCS configuration guidelines for detecting misconfigurations related to PCS configuration, and adjusting the misconfiguration verification rules for correcting and / or adjusting the set of configuration guidelines for verifying misconfigurations detected.
[0021] In one or more embodiments, conditions of multiple inputs can trigger the execution of a task in multiple tasks, wherein the conditions may include at least one of the hardware configuration of the PCS, the software configuration of the PCS, and the configuration of logic installed on at least one controller.
[0022] In one or more embodiments, one or more dynamic states of the PCS may be based on at least one of the following: a set of PCS performance metrics and PCS configuration guidelines.
[0023] In one or more embodiments, at least one ML algorithm may include at least one of ML reinforcement algorithms, constraint satisfaction algorithms, and probabilistic ML algorithms.
[0024] In one or more embodiments, analyzing one or more dynamic states of a PCS using an ML algorithm may include analyzing one or more dynamic states in light of one or more corresponding expected states.
[0025] In one or more embodiments, one or more corresponding desired states can be dynamic.
[0026] In one or more embodiments, the action may further include adjustments to the determination of future actions.
[0027] In one or more embodiments, an orchestration system is provided. The orchestration system includes at least one memory configured to store a plurality of programmable instructions and at least one processing device in communication with the memory. The processing device may be configured to perform the disclosed method when executing the plurality of programmable instructions.
[0028] In one or more embodiments, a non-transitory computer-readable storage medium and one or more computer programs embedded therein are provided. The computer program includes instructions that, when executed by a computer system, cause the computer system to perform the disclosed methods. Attached Figure Description
[0029] A more detailed description of the present disclosure, which has been briefly summarized above, can be obtained by referring to various embodiments, some of which are illustrated in the accompanying drawings. While the drawings illustrate alternative implementations of the present disclosure, they should not be construed as limiting the scope of the present disclosure, as other equally effective implementations are permissible.
[0030] Figure 1 An example system architecture of an industrial control system according to an embodiment of the present disclosure is shown. The industrial control system is provided with an orchestration solution that interfaces with various components of the industrial system and a machine learning (ML) engine that interfaces with the orchestration solution.
[0031] Figure 2 This is a block diagram illustrating a set of example inputs received by a machine learning engine according to an embodiment of the present disclosure, the machine learning engine communicating with an orchestration module associated with an industrial control system;
[0032] Figure 3 This is a block diagram illustrating a set of example expected outputs of a machine learning engine according to an embodiment of the present disclosure, the machine learning engine communicating with an orchestration module that provides orchestration to an industrial system;
[0033] Figure 4 An example basic workflow of an ML algorithm for orchestrating a process control system applied to an industrial system, according to an embodiment of the present disclosure, is shown.
[0034] Figure 5 This is a block diagram of some example ML models for orchestrating AI in process control systems (PCS) of industrial systems according to embodiments of this disclosure;
[0035] Figure 6 This is a flowchart of an example method for load management used by an industrial system's ML-based orchestration according to embodiments of this disclosure;
[0036] Figure 7 This is a flowchart of an example method for root cause identification related to fault or failure detection and predictive alarms for component failures used by ML-based industrial system orchestration, according to embodiments of this disclosure.
[0037] Figure 8 This is a flowchart of an example method for misconfiguration identification and correction, and for enhancing misconfiguration verification rules used by ML-based orchestration of industrial systems, according to embodiments of this disclosure;
[0038] Figure 8A These are multiple graphs illustrating a graphical representation of the performance metrics of a PCS in an industrial system according to embodiments of the present disclosure.
[0039] Figure 9 This is a flowchart of an example method for ML-based orchestration for industrial systems according to embodiments of the present disclosure; and
[0040] Figure 10 This is a block diagram of an exemplary computer system that can be used to implement an ML-based orchestration module and / or ML engine for industrial systems, according to embodiments of the present disclosure.
[0041] Where possible, the same reference numerals are used to denote the same elements common in the figures. However, elements disclosed in one embodiment may be advantageously used in other embodiments without specific description. Detailed Implementation
[0042] Orchestration has the potential to become the core of industrial systems. It possesses the ability to interface with all process control system (PCS) components. Through these interfaces, orchestration automates the operation of PCS components. Furthermore, it monitors the health of components and coordinates recovery from faults and failures. Orchestration further discovers, validates, and controls changes within industrial systems. The deployment of orchestration solutions has the potential to provide efficiency and sustainability to industrial systems. This disclosure addresses the challenges of orchestration for operational technology (OT). The disclosed orchestration solution leverages AI technology to address the complexity and multidimensional challenges, as well as the need to continuously improve orchestration performance through various machine learning (ML) algorithms.
[0043] This disclosure applies machine learning to provide an automated orchestration solution for a process control system (PCS) used to monitor an industrial system. The PCS includes at least one controller. Each controller has logic deployed thereon that enables the controller to perform control functions controlling one or more physical aspects of the industrial system. The automated and autonomous orchestration solution includes performing tasks for monitoring the process control system. Each task can be performed in response to a trigger. Alternatively, tasks can be performed continuously or at timed intervals. Possible triggers include triggers related to the functionality of the controllers. Each task includes using ML to analyze one or more dynamic states of the PCS and performing actions, causing actions to be performed, and / or suggesting actions to be performed in response to the results of the machine learning. Actions can adjust conditions used to identify triggers, references used to perform ML analysis, the functionality of one or more controllers, and the functionality of components of the PCS that affect at least one controller, or settings used by or influenced by components of the PCS that affect at least one controller. In one or more embodiments, actions may include several actions that adjust all of the above.
[0044] Reference will now be made to the accompanying drawings, wherein like reference numerals identify similar structural features or aspects of this disclosure. For purposes of explanation and illustration, and not limitation, block diagrams of exemplary embodiments of industrial systems according to this disclosure are shown in... Figure 1 As shown in the figures, and generally indicated by reference numeral 100. As will be described, in Figure 2-8 Other embodiments of the industrial system 100 according to this disclosure or its aspects are provided.
[0045] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains. Although any methods and materials similar to or equivalent to those described herein may also be used in the practice or testing of this disclosure, exemplary methods and materials are described hereafter.
[0046] It must be noted that, as used herein and in the appended claims, the singular forms “a,” “an,” and “the” include plural indicators unless the context clearly specifies otherwise. Thus, for example, a reference to “stimulus” includes a plurality of such stimuli, a reference to “signal” includes a reference to one or more signals and their equivalents known to those skilled in the art, and so on. It should be understood that the embodiments of this disclosure described below are implemented using software algorithms, programs, or code that can reside on a computer-usable medium to enable execution on a machine having a computer processor. The machine may include a memory storage device configured to provide output from the execution of the computer algorithm or program.
[0047] As used herein, the term "software" means synonymous with any logic, code, or program that can be executed by a host computer's processor, regardless of whether the implementation is in hardware, firmware, or as software available on a memory storage device or for download from a remote machine. The embodiments described herein include such software to implement the above equations, relations, and algorithms. Based on the above embodiments, those skilled in the art will understand other features and advantages of this disclosure. Therefore, this disclosure is not limited to what has been specifically shown and described, except as indicated by the appended claims.
[0048] Figure 1 This is a block flow diagram illustrating an example architecture of industrial system 100, in which orchestration module 102 applies orchestration to PCS 101 of industrial system 100. System orchestration module 102 uses ML algorithms processed by ML engine 104 to provide orchestration, overcoming complexity and multi-dimensional challenges.
[0049] The PCS 101 of the industrial system 100 is not limited to the architecture or components shown. The industrial system 100 is an operating system that includes a physical / virtual platform 180 and a Plant Area Unit Equipment (PAUE) 190. The physical / virtual platform 180 includes physical and / or virtual components and also includes one or more controllers 186 and one or more I / O modules 188. The PAUE 190 interacts with at least one physical feature of the industrial system 100 that acts on or is affected by the industrial system 100, such as by sensing one or more physical features of the industrial system 100 or performing physical actions that change one or more physical features. The PAUE 190 includes one or more controlled devices controlled by the controllers 186. Additionally, the devices of the PAUE 190 may include sensors (also referred to as instruments) that provide the controllers 186 with measurement data about the physical characteristics of the industrial system 100. Measurement data provided to controller 186 by sensors in PAUE 190 can be used to control one or more devices of PAUE 190, such as actuators, sensors, alarms (e.g., visual or audio indicators, such as LEDs or horns), edge devices, and PLCs. Edge devices and PLCs are field devices that manipulate physical processes, such as by operating valve actuators, pumps, or motor relays.
[0050] In the example shown, the PCS 101 of the industrial system 100 includes software management 110, application management 120, alarm management 130, network management 140, system management 150, security management 160, deployment management 181, and execution engines / operating systems 182 / 184 hosted on physical / virtual platforms 180. Deployment management 181 manages the deployment of applications, software, rules, and configurations to the target execution engines / operating systems 182 / 184. The physical / virtual platform 180 hosts the deployed applications, software, and configurations.
[0051] Software management 110 includes or accesses a software (SW) database (DB) 112 storing the software, and further manages the stored software and its deployment through deployment management 181. Application management 120 includes or accesses a control database 122, and further manages the control database 122 and deploys it to controller 186 and I / O module 188 through deployment management 181. Undeployed control databases 122 are stored offline in an integrated development environment (IDE) control database configuration tool. Once deployed, copies of the control database 122 are stored online on controller 186 or I / O module 188. These control databases 122 may be function blocks, etc., that implement the functionality of the controller 186 on which they are deployed.
[0052] Alarm management 130 includes or accesses an alarm set (e.g., a database (DB)) 132 that stores alarms, and further manages the alarm set and alarms, including deploying alarms by deployment management 181. For example, alarms can be deployed by deploying different alarm settings, such as, but not limited to, alarm setpoints, criticalities, dead zones, etc. Network management 140 manages the network of components coupled to PCS 101 (e.g., components 110, 120, 130, 140, 150, 160, 180, and 181, also referred to as PCS components). Network management 140 includes or accesses a network database 142 that stores network software and network data used for network operations and / or outputs, and network management 140 also manages and / or monitors the network database, network software, and / or network data. System management 150 manages or accesses a system database 152 that stores system software and system data, and further manages system database 152, system software, and / or system data. Security management 160 includes or accesses a security database 162 that stores security software and security data, and further manages the security database, security software, and / or security data, including deployment management 181 for the deployment of security software.
[0053] Software management 110, application management 120, alarm management 130, network management 140, system management 150, and security management 160 can access and / or store data related to their operation, such as guidelines, specifications, configurations, operator data, etc., in their corresponding databases (e.g., databases 112, 122, 132, 142, 152, and 162). Orchestration module 102 and ML engine 104 can access each of software management 110, application management 120, alarm management 130, network management 140, system management 150, and security management 160, for example, for accessing or receiving input data and / or for storing or writing output data.
[0054] The architecture of Industrial System 100 is not limited to Figure 1 The example shown. Additional individual components can be added. The orchestration module 102 and the ML engine 104 provide orchestration to the PCS 101 and interface with different components of the PCS 101 using proprietary or open protocols.
[0055] refer to Figure 2 The ML engine 104 is shown as having the ability to receive various inputs, to which ML algorithms are applied to perform orchestration. Orchestration module 102 ( Figure 1 As shown in the diagram, ML Engine 104 uses input to perform ML-supported orchestration tasks, such as load management (e.g., including load balancing and load optimization), root cause identification, and misconfiguration identification tasks, but not limited to these specific tasks. Some inputs can be obtained from... Figure 1 The appropriate databases from databases 112, 122, 132, 142, 152, and 162 shown are available, while other inputs can be obtained from components of PCS 101.
[0056] Input includes from Figure 1 The control database 122 shown provides control database details 202. These control database details represent parameters configured in PCS 101 related to controller 186, I / O modules 188, control strategies, etc. For example, parameters representing controller 186 may include configuration parameters defining how controller 186 executes the deployed application (e.g., a basic execution cycle) and how controller 186 interfaces with other components of PCS 101. These configuration parameters are based on the configuration / model of controller 186. Parameters representing I / O modules 188 may include configuration parameters defining how I / O modules 188 interface with controller 186 and defining the connected field devices (sensors, actuators, etc.), including specifying the type of field device and I / O settings. Parameters representing control strategies represent enclosed functional blocks, their connections, and their configuration settings.
[0057] Other inputs may optionally include one or more of the following: System size constraint 204, including system size constraints related to, for example, storage (e.g., design capacity), execution time (e.g., execution speed), etc. System size constraint 204 is obtained from the provider of the system components used by PCS 101. Network constraint 206 includes network constraints related to, for example, bandwidth (e.g., capacity and availability), network speed, etc. Network constraint 206 is obtained from the provider of the network components used by PCS 101.
[0058] Inter-process communication (IPC) constraints 208 are used for communication between processes executed by controller 186, including, for example, peer-to-peer communication (e.g., protocols and rules), IPC list size (defining the maximum number of variables in such a list), etc. IPC constraints 208 are available from the vendor of the control software for controller 186 and PC 101. Current load details 210 are obtained from the running (also known as online) components of PCS 101.
[0059] System Specification 212 includes, for example, system architecture, system configuration details, isolation requirements, etc. System Specification 212 is obtained from the system design package and verified by the system discovery service (not shown). System Diagnostic Guide 214 is obtained from the provider of the components of PCS 101. Logs 216 include, for example, system logs, network monitoring logs, event logs, etc. Logs 216 may be operational logs, which include recorded data obtained from the operational components of PCS 101. Operator Action Log (OAJ) 218 includes recorded data about actions performed by plant operators. Network monitoring logs include recorded data about the activity or status of the PCS network (also known as the PCS network). Event logs include recorded data about identified events (e.g., events occurring in PCS 101 or the PCS network). OAJ 218 is obtained from the operational components of PCS 101. Inputs may include some or all of these examples. Inputs are not limited to the examples described, as other inputs may also be provided.
[0060] refer to Figure 3 The ML engine 104 is shown as having various outputs generated by the application of ML algorithms. The outputs include effects involving PCS 101 (in...). Figure 1 (as shown in the diagram) information on the arrangement. At least one output affects the operation of PCS 101. Examples of outputs include load management instructions 302, which may include information for controller 186 ( Figure 1The instructions for load management of controller 186 and other components of PCS 101 (as shown in the diagram); a misconfiguration report 304, which may include reports on misconfigurations within controller 186 and other components of PCS 101; a misconfiguration verification rule 306, which may be provided to orchestration module 102 and / or ML engine 104 for updating rules applied during orchestration when misconfigurations (within controller 186 and other components of PCS 101) are identified; a misconfiguration correction action 308, which may be suggested to be applied to, was applied to, or caused to be applied to controller 186 and other components of PCS 101 for correcting identified misconfigurations; a system correction action 310, which may be suggested to be applied to, was applied to, or caused to be applied to controller 186 and other components of PCS 101 for resolving identified or predicted faults; and a root cause identification 312 for analyzing faults within controller 186 and other components of PCS 101 and determining the root cause and impact on controller 186 and PCS 101. Corrective actions for other components of 101; and predictive alarms 314 regarding predicted faults within controller 186 and other components of PCS 101. Outputs may include some or all of these examples. Outputs are not limited to the described examples, as other outputs may also be provided.
[0061] refer to Figure 4 The basic workflow 400 used by each ML algorithm in the orchestration of a PCS (e.g., PCS 101) for an industrial system, as explained in this disclosure, shows a loop that begins by reading the input, analyzing the input (including comparison with the desired state), making appropriate decisions based on the analysis, validating and implementing the decisions, and evaluating improvements and / or corrections to the PCS. ML algorithm 410 is a closed loop, including ML model training at box 412, analysis at box 414, decision making at box 416, and continuous improvement and / or ML model retraining at box 418.
[0062] The ML algorithm in use (referred to as ML algorithm 410) receives the desired state from box 420 and the applicable input from box 422. The input is read through appropriate interfaces and import methods. At box 412, the input is used to train or retrain the ML model used by the ML algorithm. At box 414, the input is analyzed and compared with the desired state. At box 416, the output of the analysis is used to make an appropriate decision. At box 418, steps 412, 414, and 416 are continuously improved, which may include retraining the ML model at 412. The output of any one of boxes 412, 414, and 416 can be processed at box 418 to continuously improve any one of boxes 412, 414, and 416.
[0063] The output of box 410 (which includes the decision output by box 416) is optionally validated at box 424. The validated output is implemented on the PCS when the PCS is running at box 426 (e.g., in real-time). At box 428, the outer loop including boxes 420, 422, 424 (optionally), 426, and 428 is closed by measuring the improvement of the PCS after implementing the output of box 410 and causing a re-evaluation of the input.
[0064] The ML algorithm 410 can operate continuously and autonomously without user intervention. Various levels of user intervention can be requested or permitted. The required or permitted level of user intervention can be selected through user settings. User intervention settings can be adjusted by an operator with appropriate permissions. User settings can be adjusted to select which blocks of the ML algorithm 410 require or allow user intervention, whether to allow intervention on demand or upon prompting, and the authorization required for user input. Examples of user input may include responding to prompts to approve decisions or determinations made by the ML algorithm block 410 and allow processing to continue, overriding decisions or determinations made by the ML algorithm block 410 on demand, stopping processing on demand, changing parameters on demand, etc.
[0065] The outer loop receives input from the user and / or processing device. Expected State 420 provides a default or user-inputted expected state. The expected state output by Expected State 420 can be an initial input that remains static, or it can be a dynamic input that the user can adjust over time. Data Interface / Import 422 provides information about orchestration tasks, such as those related to load management, root cause identification, and misconfiguration identification, but is not limited to these specific orchestration tasks. The information output by Data Interface / Import 422 is provided as input to ML Algorithm 410 and may include, for example, information about: system operation or status, software or hardware used by the system, system configuration, guidelines or requirements for the system or its components, logs generated by the system or its components, etc. Some of this information may be based on user input and may be updated by the user. Some data output by Data Interface / Import 422 may be an initial input that remains static, or it may be a dynamic input that the user can adjust over time. Boxes 424, 426, and 428 can be executed manually or automatically with little or no human intervention.
[0066] One or more user interfaces (not shown) may be provided to interact with any block of the basic workflow 400. The user interface may be provided on a device remote from the processing device executing the corresponding block of the basic workflow 400.
[0067] Therefore, ML algorithm 410 can be configured to operate autonomously without any user intervention, or it can be configured to allow or require user intervention. Similarly, once initial input is provided by boxes 420 and 422, any or all of boxes 420, 422, 424, 426, and 428 can be configured to operate autonomously without any user intervention, or they can be configured to allow or require user intervention. When the basic workflow 400 includes blocks configured to operate automatically upon receiving initial input, the basic workflow 400 is said to be configured to operate autonomously or semi-autonomously, but it may include one or more blocks that can be configured to allow or require user intervention.
[0068] Some example use cases for using ML algorithm 410 include load management (such as regarding...). Figure 6 As shown and described), root cause identification and / or predictive analysis (such as regarding...) Figure 7 (as shown and described) and misconfiguration identification and / or correction (such as regarding Figure 8 (As shown and described). The use cases for Workflow 400 are not limited to... Figure 6-8 The three example use cases shown are different because other use cases can be based on the same workflow.
[0069] refer to Figure 5 This diagram illustrates a block diagram of the main ML models covered by this disclosure. Block diagram 500 shows three main ML models explained in the following sections.
[0070] At box 504, the load management model autonomously and continuously monitors the PCS, manages new loads or deploys them to the best-fit component, and corrects any identified load issues.
[0071] The misconfiguration identification model at box 506 and / or the correction ML model at box 508 autonomously and continuously monitor and / or verify changes in the PCS, and identify misconfigurations in real time and / or determine correction actions to correct the identified misconfigurations.
[0072] The root cause identification model at box 510 and / or the corrective action model at box 512 autonomously and continuously monitor the logs and identify problems and / or their possible solutions.
[0073] The predictive analytics model at box 514 uses the outputs from boxes 510 and 512 and predicts future problems based on the set of identified symptoms (e.g., databases, libraries, lists, etc.).
[0074] Now for reference Figure 6-9 The flowchart illustrates a process according to certain embodiments, showing an orchestration module using ML (e.g., Figure 1The implementation of various exemplary methods included in the orchestration process performed using the orchestration module 102 of the ML engine 104 is shown. Note that... Figure 6-9 The order of operations shown is not required, and therefore, in principle, various operations may not be performed in the shown order. Furthermore, certain operations may be skipped, different operations may be added or replaced, some operations may be performed in parallel rather than in a strict sequence, or selected operations or groups of operations may be performed in a separate application after the embodiments described herein. Arrangements performed according to this disclosure may include… Figure 6-9 One or more methods are shown.
[0075] refer to Figure 6 The diagram 600 illustrates a flowchart of an example orchestration method for a load management workflow executed during orchestration. Boxes 602, 604, 606, and 608 include different possible triggers that can initiate the workflow. Detecting any trigger can cause the execution of box 610. The method is not limited to the example triggers shown. Other triggers or different triggers can be used. At least one of the triggers includes a PCS (such as...) Figure 1 The triggering is caused by the aspect of PCS 101 shown.
[0076] The example trigger shown includes the installation of a new component 602, which may include a new controller in the PCS (e.g., Figure 1 The controller 186 shown) or PAUE (e.g., Figure 1 The new field device or another new type of component in the PCS (PAUE 190 shown); the new software loaded 604; the new logic deployed 606, which refers to the new logic in the controller of the PCS (e.g., Figure 1 The deployment of logic on the controller 186 shown, such as the deployment of function blocks or equivalents; identifying load problems 608, which may include identifying load problems in the PCS or within one or more other components of the industrial system 100.
[0077] Upon detection of one of the triggers, box 610 can be executed. At box 610, when a component of the PCS is running, system load conditions are read from the component of the PCS. These system load conditions can be read via proprietary or open protocols. Additionally, at box 612, control database details (CDD) are read (e.g., from...). Figure 1 The appropriate database is shown in databases 112, 122, 132, 142, 152, or 162. Control database details include control data associated with the PCS (such as...). Figure 2 The control data shown is 202. Additionally, system design specifications (such as those shown) can be read from the system design package at box 614 by performing system discovery and / or reading them. Figure 2The system specification shown in box 612). Reading the system specification may include reading the system architecture diagram (SAD) and isolation requirements. Isolation requirements may isolate certain controllers of the PCS and / or PAUE devices of the PAUE into isolated units or parallel units, each isolated unit or parallel unit including one or more devices, or isolated regions or parallel regions, each isolated region or parallel region including one or more units, etc. Some or all of the system design specifications read at box 614 may be input by the user or other sources.
[0078] Note that boxes 602, 604, 606, 608, 612, 614, 618, and 620 are from... Figure 4 The output of box 422 shown is related to the output of the ML algorithm (in which the output is provided as a reference). Figure 4 The input shown is processed by the ML algorithm 410. The decisions made by the output of the ML algorithm can modify any of the boxes 602, 604, 606, 608, 612, 614, 618, and 620 (e.g., at boxes 624, 626, and 628, which are related to...). Figure 4 The feedback loop (related to frame 428) effectively provides a feedback loop.
[0079] At box 616, use the current load details (such as...) Figure 2 The current load details 208 shown are used to perform an analysis of the overall load read at box 610. The overall load analysis includes the analysis of the system load read at box 610 and the network load (e.g., the control network of the PCS) read at box 618, as well as the analysis of the IPC load read at box 620.
[0080] The analysis includes the physical / virtual platforms of PCS (such as...) Figure 1 The investigation of the physical / virtual platform 180 shown, and the identification of the target physical / virtual platform that is available and can best address the load problem, takes into account multidimensional constraints (e.g., size specification requirements, isolation requirements, architectural constraints). The IPC load read at box 620 refers to the load of communication between processes executing on the controller of the physical / virtual platform. Details regarding the load of any of the system, network, and IPC can be similar to... Figure 2 The current load details are shown in input 210.
[0081] Note that box 616 and Figure 4 The box 414 shown is related to the ML algorithm (in Figure 4 The analysis shown is for the processing of ML algorithm 410.
[0082] If a new component is installed in PCS, the load management workflow is configured to be triggered in conjunction with deployment management (such as...). Figure 1 The deployment management block 181 in the module connects to the interface to identify the workload to be loaded (i.e., deployed) to the new component. Here, the term "workload" refers to the workload used by a specific controller (e.g., ...). Figure 1 The controller 186 shown) or I / O module (e.g., Figure 1 The I / O module 188 shown (e.g., Figure 1 The control database 122 shown is a control database. The load management algorithm is configured to evaluate the impact of this workload deployment on the load balancing of the entire industrial system (e.g., the entire PCS or optionally a selected portion of the PCS). This can be done by reading the current system (e.g., the entire industrial system or PCS), network, and IPC loads and utilizing the desired state (e.g., Figure 4 The verification is performed by verifying one or more of the expected states 420 shown in the figure.
[0083] The current load is configured to read any or all components of the PCS. Table 1 shows the current load readings for the components of the PCS.
[0084] Table 1
[0085]
[0086] Read the expected state at box 621. Table 2 shows some exemplary expected states to be read.
[0087] Table 2
[0088]
[0089] Note that box 621 and Figure 4 The box 420 shown is related to the ML algorithm (in Figure 4 The image shows the desired state processed by the ML algorithm 410.
[0090] In box 622, a determination is made as to whether the current state of the system and network has reached the desired state. Both the current state and the desired state can be dynamic. For example, in box 622, it can be determined whether the current size calibration requirements are met. The size calibration requirements of the system, network, and IPC represent the desired state. As shown in box 621, these size calibration requirements and the criteria for meeting them (which is the desired state) can be manually updated. Note that the decision provided by box 622 corresponds to the decision made from… Figure 4 The decision shown in box 416 produces the output. Size calibration requirements can be included. Figure 2 The system size constraint 204, network constraint 206, and / or IPC constraint 208 are shown. The analysis performed at box 616 and the determinations made at box 622 use ML (such as by calling...). Figure 1The ML engine 104 shown in the diagram executes algorithms. The ML algorithms used may include reinforcement learning (e.g., multi-agent reinforcement learning (MARL)) and / or algorithms for solving constraint satisfaction problems (CSP).
[0091] If it is determined at box 622 that no size calibration requirements are met, then boxes 624, 626 and 628 are executed, optionally using a digital twin to model or simulate the industrial system.
[0092] Alternatives to using digital twins may include, for example, using a maintenance training simulator (MTS) (not shown), which is an offline copy of the system (PCS or industrial system) when online. The MTS is used to test and validate modifications offline before deployment to the online system. Another alternative, instead of using an MTS, involves applying risk assessments and mitigation measures to allow direct modification of the load in the online system. Mitigation actions can be removed after the new load has been validated.
[0093] Additionally, if it is determined at box 622 that no size calibration requirements are met, adjustments can be made to any isolation requirements read at box 614 and / or the validation rules used for verification (before or after implementation) (e.g., based on the desired state read at box 621). The execution of boxes 624, 626, and / or 628 can utilize ML algorithms. At box 624, the load is corrected by adjusting at least one of the IPC, system, and network loads. System, network, and IPC loads can be adjusted by moving portions of the workload from one controller to another. This will affect all three (system, network, and IPC) loads simultaneously. In this way, comprehensive supervision is performed by ML algorithms to maintain balance considering all criteria and the desired state for achieving all objectives.
[0094] At box 626, validate the new workload (after tuning). Validation can be performed locally, virtually, or remotely on a cloud-based device. At box 628, redistribute the validated workload. This is handled by the orchestration module (e.g., Figure 1 The orchestration module 102 in the middle redeploys (e.g., adds, modifies, and / or replaces) components, software, and / or logic to the identified target physical / virtual platform, for example, by executing load management instructions 302, such as Figure 3 As shown.
[0095] Note that boxes 624 and 626 are... Figure 4 Box 424 shown is relevant; box 424 indicates the execution of the ML algorithm (in... Figure 4 The following is the verification process after the ML algorithm (410).
[0096] It should also be noted that box 628 and Figure 4Box 426 shown is relevant; box 426 represents the result of an ML algorithm (in... Figure 4 The figure shows the implementation of the decision made by the ML algorithm (410).
[0097] Load can be adjusted across any or all components of the PCS while maintaining the requirements defined in the system architecture, isolation rules, and location details.
[0098] In response to any trigger, the same approach interpreted for newly installed components can be followed; this includes when new software is loaded at box 604, new logic is deployed at box 606, a load issue is identified at box 608, or other triggers that can be added to the load management algorithm. Triggers can also be triggered by time intervals or user requests.
[0099] The redistributed load provided at box 628 is read at boxes 610, 618, and 620. The loop including boxes 616, 622, 624, 626, and 628 may be repeated until size calibration requirements (or more) are determined to be met at box 622. Once the size calibration requirements are met, the load is managed (e.g., balanced or optimized) at box 630. Load management involves applying the final corrected load determined at 624 to the actual industrial system 100.
[0100] Note that reading the redistributed load (e.g., at boxes 610, 618, and 620) is related to... Figure 4 As shown in box 428, box 428 represents the feedback loop after the decision made by the ML algorithm is implemented.
[0101] Over time, the ML engine can refine and improve the triggering of load management as it continuously improves the orchestration process. Similarly, the ML engine can add the types of input data to be used and / or constraints to be applied to the flowchart 600 to execute the orchestration process, thereby providing continuous improvement to the orchestration process (including the ML algorithm used for the orchestration process).
[0102] Note that box 630 and Figure 4 The box 418 shown is related to the ML algorithm (in Figure 4 The continuous improvement and retraining of the ML algorithm (410) are shown in the figure.
[0103] The load management workflow represented by flowchart 600 is referred to as being configured to operate autonomously or semi-autonomously when it includes blocks that are configured to operate automatically once initial input is received, but may include one or more blocks that can be configured to allow or require user intervention.
[0104] refer to Figure 7A flowchart 700 illustrates an example orchestration method for a root cause identification and / or predictive analysis workflow performed during orchestration. At box 708, input data including logs from PCS components received via boxes 702, 704, and 706 is continuously monitored. Additional inputs are provided at boxes 709, 711, and 714. This method is not limited to the type of input data shown. Other types of input data, not shown, may be used. At least one type of input data includes information about the PCS controller (such as…). Figure 1 Data from the controller 186 of PCS 101 shown.
[0105] Example input data types shown include current system log 702, network monitoring log 704, and event log 706 (such as...). Figure 2 (See log 216 shown). Inputs 702-706 can include runtime data and / or historical data. Runtime data captured and processed during PCS operation can be used to perform real-time analysis of inputs 702-706 and determine actions in response to the analysis. Historical data can also be used for real-time analysis. Historical data can also be used for post-operation analysis and actions in response to the analysis.
[0106] ML engines (such as Figure 1 The ML engine 104 shown is configured to continuously interact with system management (such as...) Figure 1 The System Management 150 shown in the diagram interfaces to read the runtime System Log 702. System Log 702 captures system messages received from any or all PCS components when a PCS component or its peripherals encounter or recover from a problem. The text and format of the messages can be defined by the PCS component manufacturer. Table 3 shows some example system messages captured.
[0107] Table 3
[0108]
[0109] At box 703, the ML engine is configured to continuously read diagnostic information from PCS components from system management. The diagnostic information reports counters and statuses collected from any or all PCS components. PCS components may include component families. Each component family reports a specific set of counters and statuses related to the functionality of the PCS components included in the respective component family. The counters are periodically updated via the system management interface, which interfaces with system management. Table 4 shows some example counters from the component families that are read.
[0110] Table 4
[0111]
[0112] At box 704, the ML engine is configured to continuously interact with network management (such as...). Figure 1 The Network Management 140 interface shown connects to read the operational network logs, which capture network-related events, such as relevant messages received from any or all PCS components when any or all PCS components or their peripherals encounter or recover from a problem. The message text and format can be defined by the component manufacturer. Table 5 shows some example network logs of the network events read.
[0113] Table 5
[0114]
[0115] At box 705, ML engine 104 is configured to continuously work with alarm management (such as...) Figure 1 The alarm management interface (130) shown is connected to read process alarms, including, for example, associated messages. The term "process alarm" refers to an alert issued by the PCS operator indicating a process disturbance or deviation from operational objectives. Process alarms require an immediate operator response to correct process performance or initiate maintenance. Table 6 shows some example process alarms that can be read.
[0116] Table 6
[0117]
[0118] At box 706, ML engine 104 is configured to continuously work with security management (such as...) Figure 1 The security management 160 interface shown is connected to read the runtime event log 708, including, for example, associated messages. Table 7 shows some example runtime event logs 708 that are read.
[0119] Table 7
[0120]
[0121] At box 709, ML engine 104 is configured to continuously connect to the software management interface to read OAJ, such as Figure 2 The example shown is OAJ 218. Table 8 shows some example entries from the read OAJ.
[0122] Table 8
[0123]
[0124] At box 708, analysis of inputs 702-706, which may include each anomaly (e.g., a failure of the PCS and its network), is based on system diagnostic guidelines 714 and the symptoms read at box 711 (which provides a set of predefined symptoms and diagnostic guidelines (or other forms of design specifications)). The analysis detects the anomaly and may include comparing the inputs with system diagnostic guidelines 714 and the predefined symptoms read at box 711. System diagnostic guidelines 714 may include, for example, error codes, textual descriptions of the error, and textual correction actions for correcting the error. Additionally, operator actions read from the OAJ at box 709 are related to the anomaly (e.g., temporally and / or spatially) to provide a more complete understanding of the problem.
[0125] Based on the different inputs 702-706 processed by the ML engine, the symptoms initially read at box 711 are iteratively updated at boxes 712 and 722.
[0126] In this way, the accuracy of the symptoms used for analysis at box 710 increases as the symptoms are corrected. The correction process uses a probabilistic machine learning-conditional random field (CRF) model to provide a holistic view of the problems identified at box 708. While the ML engine is configured to be launched using the symptoms provided at block 711 (which could be a predefined set of symptoms input by the user), the ML engine is configured to drive the correction process, where the symptoms are refined and enriched into newly constructed symptoms at block 712 as faults and identified problems occur.
[0127] One or more data points obtained as input at boxes 709, 711, and 714 may be related to the PCS controller. For example, OAJ data read at box 709 may include log entries of operator actions related to the PCS controller, and predefined symptoms accessed at box 711 and / or system diagnostic guidelines read at box 714 may be related to the PCS and / or PAUE controller. Some or all of the system diagnostic guidelines read at box 714 may be input by the user or from other sources.
[0128] At box 708, the ML engine is configured to link (meaning related) some or inputs 702-706 and / or combine them in chronological order based on their timestamps (e.g., date and time) and / or in spatial order based on their locations. The ML engine is configured to apply deep learning techniques to text classification, such as using Natural Language Processing (NLP) and / or sentiment analysis, to assign severity levels (e.g., assign them to messages associated with anomalies) and / or classify anomalies (e.g., classify them as faults, errors, warnings, and normal types). The ML engine is also configured to apply rule-based Named Entity Recognition and Classification (NERC) to identify and / or locate system or network components associated with anomalies. This could involve a CRF NLP model.
[0129] At box 714, the ML engine is configured to build a comprehensive, consolidated collection of system diagnostic guidelines, which is provided as input, for example, to box 710. The system diagnostic guidelines include diagnostic guidelines from various sources associated with any and / or all connected PCS components, including error codes and corresponding corrective actions. Examples of different sources include sources of diagnostic guidelines for network components, I / O components, and PCs and controllers associated with the PCs. As an alternative to building system diagnostic guidelines by the ML engine, scripting techniques can be used to build system diagnostic guidelines (e.g., collecting, combining, and reformatting data from various sources into a single source). As an example of information from one or more sources, Table 9 shows some example diagnostic guidelines built from sources of I / O diagnostic guidelines.
[0130] Table 9
[0131]
[0132] Note that boxes 702, 704, 706, 709, 711, and 714 are from... Figure 4 The output of box 422 shown is related to the output of the ML algorithm (in which the output is provided as a reference). Figure 4 The input shown is the input processed by the ML algorithm 410.
[0133] At box 710, the identified problem is analyzed based on the data already received or read, and based on the correlations (and / or by performing additional correlations) and classifications (and / or by performing additional classifications). This analysis includes investigations of time periods before and after the identified problem, as well as linking information from different input data included within the same time period. At box 712, predictive analytical symptoms are constructed for the problem based on the identified problem, related operator actions, and referenced diagnostic guidelines. These predictive analytical symptoms are added to a predefined set of symptoms (if they are not already included) for future identification.
[0134] Note that boxes 708 and 710 are... Figure 4 The box 414 shown is related to the ML algorithm (in Figure 4 The analysis shown is for the processing of ML algorithm 410.
[0135] At box 712, symptoms can be identified by recurring patterns of messages, events, and diagnostic information that accompany different (e.g., each or a threshold percentage) occurrences of the identified failure. For example, the following counter increments before each “01CE01 process=RedIMSYSMON-00216 port B” failure, as shown in Table 10 below. Symptoms are constructed by considering the values of the incrementing counters prior to the port failure.
[0136] Table 10
[0137]
[0138] Verify the problem and symptoms in box 715 to determine the root cause of the identified problem and / or verify the problem and symptoms in box 716 to determine possible solutions. These root causes can be output, similar to... Figure 3 The root cause identification 312 is shown in the figure. Using a comprehensive collection of system diagnostic guidelines and analysis of relevant data, the ML engine 104 is configured to identify the possible root causes of the identified problems and / or possible solutions to recover from the problems. Table 11 shows some exemplary identified faults and their corresponding possible causes, as well as possible solutions for each cause.
[0139] Table 11
[0140]
[0141] At block 718, predictive analysis is performed on the collected inputs 702-706 using a continuously updated set of reference symptoms to generate predictive alerts before component failure. Alerts can be identified and output, for example, as... Figure 3 The predictive alert 314 is shown in the example. The ML engine can utilize a set of symptoms (which can be a large set of symptoms) to identify early indications of failures and malfunctions. This is demonstrated in the example above, where a specific counter is determined to increment to a specific value at a time interval (e.g., hours or days) prior to a specific failure. In another example, a specific system log message could be an indicator of performance degradation of a specific component. Once an early indication is identified, the ML engine is configured to send a predictive alert with recommendations for applying corrective actions. The corrective actions to prevent component failure can be performed autonomously, optionally with user approval, or can be implemented by the user. Table 12 shows some exemplary predictive failures and predictive solutions associated with specific alerts.
[0142] Table 12
[0143]
[0144] Predictive analytics block 718 is configured to predict anomalies using log analysis and time series analysis techniques employing ML algorithms such as Autoregressive Integrated Moving Average (ARIMA) and Long Short-Term Memory (LSTM).
[0145] At box 720, a determination is made as to whether the desired state provided by the problem prevention desired state 719 has been achieved, such as by determining whether the generated predictive alarms have led to the prevention of the identified potential problems. Note that both the current state and the desired state can be dynamic. The current state can change as inputs 702-706 change, and the dynamic state can change due to continuous improvements performed at box 724.
[0146] Problem prevention expectation state 719 can be associated with PCS operation with no failures of any PCS components or with a reduced number of failures, such that the reduced number of failures for each component type meets its published mean time between failures (MTBF) data.
[0147] Note that box 719 and Figure 4 The box 420 shown is related to the ML algorithm (in Figure 4 The image shows the desired state processed by the ML algorithm 410.
[0148] It should also be noted that frame 720 and Figure 4 The box 416 shown is relevant; box 416 is provided for the ML algorithm (in... Figure 4 The decision-making process is shown in the figure (ML algorithm 410).
[0149] If it is determined at box 720 that not all possible problems will be prevented, then at box 722, predictive analytics is used to correct the symptoms identified at box 712, and the analytics at box 710 continues based on the corrected symptoms. The loop including boxes 710, 712, 715, 716, 718, 720, and 722 can be repeated until it is determined at box 720 that the problem can be prevented based on the corrected symptoms. This loop can be performed using ML (such as by calling...). Figure 1 The ML engine 104 shown in the diagram executes algorithms. The ML algorithms used can include, for example, deep learning and probabilistic machine learning for natural language processing (NLP). NLP can be used to understand the content of input data in text format, such as logs, OAJs, and system diagnostic guides.
[0150] If potential problems are identified at box 720 as preventable, continuous improvement is performed at box 724. Continuous improvement includes continuously refining the inputs to the orchestration method, such as diagnostic guidelines and / or symptom sets, validation rules for any adjustments made (before or after implementation), and continuously improving the ML algorithm. Improving the ML algorithm may include retraining the ML model using, for example, a revised dataset. This can help prevent the accuracy of the ML model from deteriorating over time due to the dynamics of the PCS. In another example, the ML algorithm can be improved by providing a more efficient ML algorithm. This improvement process can be combined with... Figure 4The box 418 is related.
[0151] Boxes 719, 720, and 722 can improve the accuracy of symptom collection, thereby increasing the likelihood of achieving the desired state for problem prevention. In one or more embodiments, if problem prevention does not meet the desired state, the ML engine is configured to refine the symptom set by adding new symptoms or refining existing symptoms and repeating the analysis to identify earlier indications. This iterative process can be implemented using a self-supervised learning model.
[0152] Note that box 722 and Figure 4 Box 426 shown is relevant; box 426 represents the result of an ML algorithm (in... Figure 4 The figure shows the implementation of the decision made by the ML algorithm (410).
[0153] At box 724, the ML engine is configured to continuously update (e.g., improve) the set of system diagnostic guidelines, for example by merging new guidelines and associating more relevant solutions with symptoms or identified root causes. Additionally, at box 724, the set of symptoms is continuously updated (e.g., improved, such as by adding new symptoms and refining existing symptoms to achieve better performance of the PCS and exceed the expected state of problem prevention).
[0154] Note that box 724 and... Figure 4 The box 418 shown is related to the ML algorithm (in Figure 4 The diagram shows the continuous improvement and retraining of the ML algorithm (410).
[0155] Over time, the ML engine can correct and improve logs or log data that trigger problem identification as it continuously improves the orchestration process. Similarly, the ML engine can add the types of input data to be used and / or constraints to be applied by flowchart 700 to perform the orchestration process, thereby providing continuous improvement to the orchestration process.
[0156] The root cause identification and / or predictive analysis workflow represented by flowchart 700 is described as being configured to operate autonomously or semi-autonomously when it includes blocks that are configured to operate automatically once initial input is received, but may include one or more blocks that can be configured to allow or require user intervention.
[0157] refer to Figure 8 A flowchart 800 illustrates an example orchestration method for a misconfiguration identification and correction workflow performed during orchestration. Boxes 802, 804, 806, 808, and 810 include different possible types of input data that are continuously monitored and classified at box 812. A change to the hardware configuration at box 802, a change to the software configuration at box 804, or a change to the logical configuration at box 806 can trigger the execution of box 812.
[0158] This method is not limited to identifying misconfigurations based on the type of input data shown. Other types of input data, not shown, can be used. At least one type of input data related to configuration (see boxes 802, 805, 806, and 808) includes information about the controller of the PCS (such as...). Figure 1 The data for the controllers 186 and PCS 101 shown herein, as well as the input data for at least one of the performance metrics and guidelines, are also included.
[0159] The example types of input data shown include input data about configuration, including hardware configuration 802 (e.g., to the controller or device of the PCS or PAUE, such as...). Figure 1 The PAUE 190 shown, or other components of an industrial system), software configuration 804 (e.g., software configuration of any component of an industrial system), and logic configuration 806 (e.g., logical configuration of function blocks or other logic deployed on a controller of a PCS). Performance indicator 808 is a sign of misconfiguration developed in the system. Configuration guide 810 (or other types of design specifications) are reference configuration rules typically maintained for system configuration.
[0160] Some design specifications read at box 810 can be input by the user or other sources. Configuration guide 810 may include, for example, a code for each rule, a textual description of the rule, and textual correction actions for correcting erroneous configurations that do not conform to the rules. Box 812 receives input data from boxes 802, 804, 806, 808, and 810 and categorizes the configurations. Categorizing the configurations makes the validation process more efficient. At box 814, validation rules used by the validation process for each of the identified categories are executed to identify any erroneous configurations. The validation rules provide the rules used to determine whether the validation is successful.
[0161] Different classification configurations can apply deep learning techniques to text classification and / or clustering, such as using NLP. Classification can also apply rule-based named entity recognition and classification (NERC) to locate system components. This can involve CRFNLP models.
[0162] Note that boxes 802, 804, 806, 808, and 810 are from... Figure 4 The output of box 422 shown is related to the output of the ML algorithm (in which the output is provided as a reference). Figure 4 The input shown is the input processed by the ML algorithm 410.
[0163] At box 814, validation rules can be used to validate the configuration against the configuration guide. Table 13 shows some example configuration guides to be read.
[0164] Table 13
[0165]
[0166] Note that box 814 and Figure 4 The box 414 shown is related to the ML algorithm (in Figure 4 The analysis shown is for the processing of ML algorithm 410.
[0167] At box 818, the identified misconfigurations are reported to the user, as shown below. At box 816, additional misconfiguration verification rules are generated based on the identified and verified misconfigurations. These rules are generated by the inference process. Table 14 shows some example misconfigurations reported to the user:
[0168] Table 14
[0169]
[0170] At block 820, a corrective action is reported for each identified misconfiguration (e.g., a rule not conforming to configuration guideline 810) to correct the corresponding misconfiguration that was identified and verified. Table 15 shows example misconfigurations and the reported corrective actions.
[0171] Table 15
[0172]
[0173] At box 822, the calibration action is performed on the actual industrial system. The method for performing the calibration action is, for example, using an orchestration tool. At box 824, the configuration is re-verified after the calibration action is performed (e.g., logical configuration 806, hardware configuration 802, or software configuration 804).
[0174] User implementations of the correction action can re-trigger the algorithm, resulting in a new verification loop being executed while performance metrics are being monitored.
[0175] Note that box 822 and Figure 4 Box 426 shown is relevant; box 426 represents the result of an ML algorithm (in... Figure 4 The figure shows the implementation of the decision made by the ML algorithm (410).
[0176] Note that box 824 and Figure 4 As shown in box 428, box 428 represents the feedback loop following the implementation of the decision made by the ML algorithm.
[0177] For further reference Figure 8AThe graph shows a graphical representation of several performance metrics of the PCS monitored over a 60-second time interval. At graph 852, the controller CPU utilization is shown; the top curve 870 shows the percentage of the CPU's maximum frequency, and the bottom curve 872 shows the percentage of total CPU utilization. At graph 856, the percentage of physical memory used is shown. The top graph 874 shows the percentage of total memory usage, and the bottom graph 876 shows memory hardware failures per second. At graph 860, the amount of PCS network traffic (measured in Kbps) is shown. The performance metrics shown indicate that corrective actions have been effective when they come within specified desired ranges.
[0178] At box 826, a determination is made as to whether the desired state provided by performance indicator 825 has been achieved, such as by determining whether the performance of the actual industrial system has improved, or by determining whether eliminating the identified misconfigurations has resulted in performance improvement (e.g., as indicated by the performance indicator). Note that the desired state provided by box 825 corresponds to the state from... Figure 4 The output of desired state 420 is shown.
[0179] If the determination at box 826 indicates that performance has not improved (indicating that unidentified misconfigurations still exist in the industrial system), the method continues at box 828. At box 828, the validation rules are revised. The revision of the validation rules depends on which performance metric has not improved and / or the degree of inconsistency with expected performance.
[0180] Note that box 826 and Figure 4 The box 416 shown is related to the ML algorithm (in Figure 4 The decision made by the ML algorithm (410) is shown in the figure.
[0181] Note that both the current state and the desired state can be dynamic. The current state can change with inputs 802, 804, 806, and 808, and the dynamic state can change due to the modification of the validation rules at box 828 and the continuous improvements performed at box 830.
[0182] The method then continues at box 814. The loop including boxes 814, 816, 818, 820, 822, 824, 826, and 828 is repeated until at box 826 it is determined that performance has indeed improved sufficiently to indicate that a misconfiguration has been identified and satisfactorily corrected. This loop can be performed using ML (such as by calling...). Figure 1 The ML engine 104 shown in the diagram executes algorithms. The ML algorithms used may include reinforcement learning (e.g., MARL), algorithms for solving CSPs, and / or probabilistic ML.
[0183] If, at box 826, it is determined that the performance metrics have been sufficiently improved to indicate that misconfigurations have been adequately identified and corrected, then at box 830, continuous improvement is performed to adjust the configuration guidelines, misconfiguration validation rules, classification rules, classification validation rules, and ML algorithms. Improving the ML algorithm may include retraining the ML model using, for example, a modified dataset and / or providing a more efficient ML algorithm. This improvement process can be integrated with… Figure 4 The box 418 is related.
[0184] Note that box 830 and Figure 4 The box 418 shown is related to the ML algorithm (in Figure 4 The continuous improvement and retraining of the ML algorithm (410) are shown in the figure.
[0185] The misconfiguration identification and correction workflow represented by flowchart 800 is described as being configured to operate autonomously or semi-autonomously when it includes blocks that are configured to operate automatically once initial input is received, but may include one or more blocks that can be configured to allow or require user intervention.
[0186] Over time, the ML engine can revise and improve the configuration guidelines or configuration data that trigger configuration classifications, as it continuously improves the orchestration process. Similarly, the ML engine can add the types of input data to be used and / or constraints to be applied by flowchart 800 to perform the orchestration process, thereby providing continuous improvement to the orchestration process.
[0187] According to the disclosed method, examples of misconfigurations that can be identified and corrected through autonomous orchestration include scenarios where two components communicate with each other, such as a proportional-integral-derivative (PID) controller using a 1:100 scaling ratio communicating with a function block (FB) of a second controller using a 1:1000 scaling ratio. When the PID controller and the second controller are connected, a misconfiguration problem will arise and be detected because they must use the same scaling ratio. The scaling of at least one of these devices can be adjusted to correct the misconfiguration.
[0188] In another example of misconfiguration, the controller is configured to unicast an alarm message to N destinations when condition X is detected. However, a workstation included in the N destinations is removed without reconfiguring the controller. When the controller sends an alarm message to the workstation, the alarm message is not received. The controller knows that the alarm message has not been received and continues to replay the alarm message. This replay causes overload on the PCS network. This misconfiguration can be detected and corrected by updating the controller to stop broadcasting to the removed workstation.
[0189] refer to Figure 9 This demonstrates its use in industrial systems (such as...) Figure 1The flowchart illustrates an example ML-based orchestration method for the industrial system 100 shown. Industrial systems include PCS, such as... Figure 1 The PCS 101 shown is included. The PCS 101 includes at least one controller (such as...). Figure 1 The controller 186 shown is not limited to a specific number of controllers.
[0190] The controller has control functions related to the physical aspects of the PCS, such as for controlling field devices in industrial systems (e.g., ... Figure 1 The field device 191 shown is not limited to a specific number of field devices. Field devices can be, for example, alarms, sensors that sense the physical characteristics of an industrial system, or actuators configured to perform actions that affect physical processes within the industrial system. This method can be implemented using an ML engine (such as...). Figure 1 The orchestration modules of the ML engine 104 shown (such as...) Figure 1 The orchestration module 102 shown is executed. This method can be executed autonomously or semi-autonomously.
[0191] At box 902, multiple tasks for monitoring an industrial system including a PCS are performed. Each of the multiple tasks is performed using multiple inputs, including inputs related to the functionality of at least one controller of the PCS. The at least one controller includes at least one control function related to the physical aspects of the PCS.
[0192] At block 904, for each of the multiple tasks executed, at least one ML algorithm is used to analyze one or more dynamic states of the PCS and at least one controller of the PCS. The one or more dynamic states are influenced by multiple inputs.
[0193] At box 906, in response to the output of at least one ML algorithm, an action is performed, an action is made to be performed, or an action is suggested to be performed. This action adjusts at least one of the following: the functionality of at least one controller; and the functionality of a component of at least one controller is affected by the PCS, or the PCS influences the settings of that component. Some examples of actions include adjusting load, correcting misconfigurations, implementing decisions made by the ML engine, training ML algorithms, and correcting the execution of actions (e.g., in...). Figure 8 (at box 822), the implementation of the solution (e.g., in...) Figure 7 (at box 716) and continuous improvement (e.g., in Figure 7 Frame 724 and Figure 8 (At position 830 in the box).
[0194] In one or more embodiments, at least a portion of multiple tasks can be executed simultaneously. For example, tasks can be executed concurrently. Figure 6-8Two or more of the arrangement methods shown in the flowchart, or other arrangement methods not shown.
[0195] In one or more embodiments, the action may include adjusting the load of at least one of the PCS, the network of the PCS, and the IPC between at least one controller.
[0196] In one or more embodiments, conditions from multiple inputs can trigger the execution of tasks in multiple tasks.
[0197] In one or more embodiments, the conditions may include at least one of the following: installing new physical components within the PCS, installing new software on the processing device of the PCS, deploying new logic on at least one controller that affects control over one or more physical aspects of the PCS, and identifying load problems.
[0198] In one or more embodiments, one or more dynamic states of the PCS may be based on at least one of the following: the load capacity of at least one controller, the current load of at least one controller, the current load of the PCS, the isolation requirements of the PCS, the system architecture of the PCS, the current load of the IPC, and the current load of the PCS's network.
[0199] In one or more embodiments, at least one ML algorithm may include at least one of ML reinforcement algorithms, constraint satisfaction algorithms, and probabilistic ML algorithms.
[0200] In one or more embodiments, the action may be a corrective action for at least one of identified current faults and / or failures and predicted faults and / or failures, an update to a set of symptoms indicating current or predicted faults and / or failures for analyzing one or more dynamic states of the PCS, and / or a set of diagnostic guidelines for diagnostically analyzing one or more dynamic states of the PCS.
[0201] In one or more embodiments, conditions of multiple inputs can trigger the execution of a task among multiple tasks, wherein the conditions may include at least one of the following: the PCS’s running and / or historical system logs, the network used by the PCS’s running and / or historical network monitoring logs, and the running and / or historical event logs of events that have occurred and / or have occurred in association with the operation of the PCS.
[0202] In one or more embodiments, one or more dynamic states of the PCS may be based on at least one of the following: a set of diagnostic guidelines, an operator action log (OAJ) describing timestamped operator actions associated with at least one controller, and a set of symptoms.
[0203] In one or more embodiments, at least one ML algorithm may include at least one of deep learning and probabilistic ML algorithms for natural language processing.
[0204] In one or more embodiments, the action may include at least one of the following: correcting misconfigurations detected related to PCS configuration, adjusting the set of PCS configuration guidelines for detecting misconfigurations related to PCS configuration, and adjusting the correction and / or adjustment of the misconfiguration verification rules of the set of configuration guidelines for verifying the detected misconfigurations.
[0205] In one or more embodiments, conditions of multiple inputs can trigger the execution of a task among multiple tasks, wherein the conditions may include at least one of the hardware configuration of the PCS, the software configuration of the PCS, and the configuration of logic installed on at least one controller.
[0206] In one or more embodiments, one or more dynamic states of the PCS may be based on at least one of the following: a set of PCS performance metrics and PCS configuration guidelines.
[0207] In one or more embodiments, at least one ML algorithm may include at least one of ML reinforcement algorithms, constraint satisfaction algorithms, and probabilistic ML algorithms.
[0208] In one or more embodiments, the method can be executed autonomously.
[0209] In one or more embodiments, analyzing one or more dynamic states of a PCS using an ML algorithm may include analyzing one or more dynamic states in light of one or more corresponding expected states.
[0210] In one or more embodiments, one or more corresponding desired states can be dynamic.
[0211] In one or more embodiments, the action may further include adjustments to the determination of future actions.
[0212] In one or more embodiments, an orchestration system is provided. The orchestration system includes at least one memory configured to store a plurality of programmable instructions and at least one processing device in communication with the memory. When executing the plurality of programmable instructions, the processing device can be configured to execute instructions regarding… Figure 9 The methods shown and described.
[0213] In one or more embodiments, a non-transitory computer-readable storage medium and one or more computer programs embedded therein are provided. The computer program includes instructions that, when executed by a computer system, cause the computer system to perform actions regarding… Figure 9 The methods shown and described.
[0214] therefore, Figure 4-8 Any of the methods shown can be used by Figure 1 The orchestration module 102 of the ML engine 104 shown is used, for example but not limited to, autonomously and evenly distributing loads such as processing load, network traffic, and IPC; monitoring failures and malfunctions of the PCS and the industrial system; identifying the root causes of failures and malfunctions; recommending corrective actions to restore and / or eliminate malfunctions; predicting and reporting future failures and / or malfunctions; recommending and / or prompting corrective actions to prevent predicted failures and / or malfunctions; reporting misconfigurations; recommending and / or causing corrective actions to be performed to clear misconfigurations; and continuously improving misconfiguration rules and / or verification rules.
[0215] Potential benefits include simplified management of industrial systems with improved reliability and productivity; healthier components due to continuous (e.g., 24 / 7) monitoring and proactive correction before failures and interruptions occur or processes are disrupted; improved overall system load and performance; increased efficiency of operating components in industrial systems, thereby reducing heat generation and cooling requirements; improved component lifespan in industrial systems, thereby reducing environmental impact from disposal; reduced demand for human resources and human error due to automated and autonomous procedural maintenance; and optimal performance of industrial systems and reduced disruptions or downtime in the industrial plant.
[0216] The aspects of this disclosure have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions.
[0217] These computer program instructions may be provided to the processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which are executed by the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0218] These computer program instructions may also be stored in a computer-readable medium that can instruct a computer, other programmable data processing apparatus or other device to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of writing comprising instructions that implement the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0219] Computer program instructions may also be loaded onto a computer, other programmable data processing apparatus or other device to cause a series of operations to be performed on the computer, other programmable apparatus or other device to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide a process for implementing the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0220] refer to Figure 10 The diagram shows a block diagram of an example processing system 1000, which provides computing components (e.g., arranged by an industrial system) Figure 1 The example configuration of the computing system used by the orchestration module 102 and ML engine 104 shown herein. All or part of the computing components of an industrial system (including its ML-based orchestration) may be configured as software, and the processing system 1000 may represent these parts. The processing system 1000 is merely an example of a suitable system and is not intended to impose any limitation on the scope or functionality of the embodiments disclosed herein. The processing system 1000 may be implemented using hardware, software, and / or firmware. In any case, the processing system 1000 is capable of being implemented and / or performing the functions set forth in this disclosure.
[0221] The processing system 1000 is shown in the form of a general-purpose computing device. The processing system 1000 includes a processing device 1002, a memory 1004, an input / output (I / O) interface (I / F) 1006 that can communicate with internal components (such as a user interface 1010), and optionally an external component 1008.
[0222] In some embodiments, the processing device 1002 may have access to neural networks and / or include processing capabilities suitable for artificial intelligence and machine learning tasks.
[0223] Memory 1004 may include, for example, volatile and non-volatile memory for temporary or long-term data storage and for storing programmable instructions executable by processing device 1002. Memory 1004 may be removable (e.g., portable) memory for storing program instructions. I / OI / F 1006 may include interfaces and / or conductors for coupling to one or more internal components 1010 and / or external components 1008.
[0224] An embodiment of the computing component of an industrial system may be implemented or executed by one or more computer systems. Each processing system 1000 may be included within the computing component of the industrial system or multiple instances thereof.
[0225] In some embodiments, the processing system 1000 is included in a larger system, such as system A11001. Parts of the processing system 1000 may be provided externally, for example, via an interface.
[0226] The processing system 1000 is merely an example of a suitable system and is not intended to impose any limitation on the scope or functionality of the embodiments disclosed herein. In any case, the processing system 1000 can be implemented to perform any of the functions described above.
[0227] The processing system 1000 can be described within the general context of the execution of executable instructions (such as program modules) in a computer system. Typically, program modules can include routines, programs, objects, components, logic, data structures, etc., that perform specific tasks or implement specific abstract data types.
[0228] Various embodiments have been referenced above. However, the scope of this disclosure is not limited to the embodiments specifically described. Rather, any combination of features and elements described, whether or not associated with different embodiments, is contemplated as an implementation and practice of the contemplated embodiments. Furthermore, while embodiments may achieve advantages over other possible solutions or over the prior art, whether a given embodiment achieves a particular advantage does not limit the scope of this disclosure. Therefore, the foregoing aspects, features, embodiments, and advantages are merely illustrative and should not be considered as elements or limitations of the appended claims unless expressly stated in the claims.
[0229] The various embodiments disclosed herein can be implemented as systems, methods, or computer program products. Therefore, aspects may take the form of entirely hardware embodiments, entirely software embodiments (including firmware, resident software, microcode, etc.), or embodiments combining software and hardware aspects, all of which may generally be referred to herein as “circuit,” “module,” or “system.” Furthermore, aspects may take the form of computer program products embodied in one or more computer-readable media having computer-readable program code embodied thereon.
[0230] Any combination of one or more computer-readable media may be used. The computer-readable medium may be a non-transitory computer-readable medium. A non-transitory computer-readable medium may be, for example, but not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatuses, or devices, or any suitable combination of the foregoing. More specific examples (not an exhaustive list) of non-transitory computer-readable media may include: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable optical disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing. Program code embodied on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
[0231] Computer program code used to perform the operations of various aspects of this disclosure can be written in any combination of one or more programming languages. Furthermore, such computer program code can be executed using a single computer system or multiple computer systems communicating with each other (e.g., using a local area network (LAN), wide area network (WAN), the Internet, etc.). While the various features described above are illustrated with reference to flowcharts and / or block diagrams, those skilled in the art will understand that each block of the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer logic (e.g., computer program instructions, hardware logic, combinations of both, etc.). Typically, computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus. Furthermore, using one or more processors to execute such computer program instructions produces a machine capable of performing one or more functions or actions specified in one or more blocks of the flowcharts and / or block diagrams.
[0232] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and / or operation of various implementations of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code, which includes one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions mentioned in the blocks may not occur in the order shown in the figures. For example, two blocks shown consecutively may actually be executed substantially simultaneously, or these blocks may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0233] It should be understood that the above description is intended to be illustrative and not restrictive. Many other implementation examples will become apparent upon reading and understanding the above description. Although specific examples are described herein, it should be recognized that the systems and methods of this disclosure are not limited to the examples described herein but can be practiced with modifications within the scope of the appended claims. Therefore, the specification and drawings are to be considered illustrative and not restrictive. Consequently, the scope of this disclosure should be determined by reference to the appended claims and the full scope of their equivalents.
Claims
1. A method for orchestration in an industrial system having a process control system (PCS), the method being performed autonomously or semi-autonomously, and comprising: Perform multiple tasks for monitoring an industrial system including a PCS, each of the multiple tasks being performed using multiple inputs related to the function of at least one controller of the PCS, the at least one controller having at least one control function related to the physical aspects of the PCS; For each of the multiple tasks performed, at least one machine learning (ML) algorithm is used to analyze one or more dynamic states of the PCS and at least one controller of the PCS, the one or more dynamic states being influenced by multiple inputs; as well as An action is performed in response to the output of at least one ML algorithm, causing the action to be executed, or suggesting the execution of an action, wherein the action adjusts at least one of the following: the function of at least one controller, the function of a component of at least one controller affected by the PCS or the use of or influence of the settings of the component by the PCS, inputs to the orchestration method, and verification rules for verifying the action before or after its execution.
2. The method according to claim 1, wherein, At least some of the multiple tasks are executed simultaneously.
3. The method according to claim 1, wherein, The action includes adjusting the load of at least one of the PCS, the PCS network, and inter-process communication (IPC) between at least one controller.
4. The method according to claim 3, wherein, The conditions of the multiple inputs trigger the execution of tasks in multiple tasks.
5. The method according to claim 4, wherein, The conditions include at least one of the following: installing new physical components within the PCS, installing new software on the processing equipment of the PCS, deploying new logic on at least one controller that affects control of one or more physical aspects of the PCS, and identifying a load problem.
6. The method according to claim 3, wherein, One or more dynamic states of the PCS are based on at least one of the following: the load capacity of at least one controller, the current load of at least one controller, the current load of the PCS, the isolation requirements of the PCS, the system architecture of the PCS, the current load of the IPC, and the current load of the PCS network.
7. The method according to claim 3, wherein, The at least one ML algorithm includes at least one of ML reinforcement algorithm, constraint satisfaction algorithm and probabilistic ML algorithm.
8. The method according to claim 1, wherein, The action is a corrective action for at least one of the following: identified current faults and / or failures and predicted faults and / or failures, an update to a set of symptoms indicating current or predicted faults and / or failures for analyzing one or more dynamic states of the PCS, and / or a set of diagnostic guidelines for the diagnostic analysis of one or more dynamic states of the PCS.
9. The method according to claim 8, wherein, The conditions of the multiple inputs trigger the execution of a task among multiple tasks, wherein the conditions include at least one of the following: the PCS's running and / or historical system logs, the network used by the PCS's running and / or historical network monitoring logs, and the running and / or historical event logs of events that have occurred and / or have occurred in association with the operation of the PCS.
10. The method according to claim 8, wherein, One or more dynamic states of the PCS are based on at least one of the following: a set of diagnostic guidelines, an operator action log (OAJ) describing timestamped operator actions associated with at least one controller, and a set of symptoms.
11. The method according to claim 8, wherein, The at least one ML algorithm includes at least one of deep learning and probabilistic ML algorithms for natural language processing.
12. The method according to claim 1, wherein, The action includes at least one of the following: correcting misconfigurations detected in connection with the configuration of the PCS, adjusting the set of configuration guidelines for the PCS used to detect misconfigurations associated with the configuration of the PCS, and adjusting the misconfiguration verification rules used to verify the correction of the detected misconfigurations and / or the adjustment of the set of configuration guidelines.
13. The method according to claim 12, wherein, The conditions of the multiple inputs trigger the execution of a task among multiple tasks, wherein the conditions include at least one of the following: the hardware configuration of the PC, the software configuration of the PC, and the configuration of logic installed on at least one controller.
14. The method according to claim 12, wherein, One or more dynamic states of the PCS are based on at least one of the following: a set of PCS performance metrics and PCS configuration guidelines.
15. The method according to claim 12, wherein, The at least one ML algorithm includes at least one of ML reinforcement algorithm, constraint satisfaction algorithm and probabilistic ML algorithm.
16. The method according to claim 1, wherein, Analyzing one or more dynamic states of a PCS using ML algorithms involves analyzing the one or more dynamic states in light of one or more corresponding expected states.
17. The method according to claim 16, wherein, The one or more corresponding expected states are dynamic.
18. The method according to claim 1, wherein, The action also includes adjustments to the determination of future actions.
19. A orchestration system for an industrial system having a process control system (PCS), the orchestration system comprising: At least one memory is configured to store a plurality of programmable instructions; as well as At least one processing device, communicating with the memory, wherein the processing device is configured to be autonomous or semi-autonomous when executing the plurality of programmable instructions: Perform multiple tasks for monitoring an industrial system including a PCS, each of the multiple tasks being performed using multiple inputs related to the functionality of at least one controller of the PCS, the at least one controller having at least one control function related to the physical aspects of the PCS; For each of the multiple tasks performed, at least one machine learning (ML) algorithm is used to analyze one or more dynamic states of the PCS and at least one controller of the PCS, the one or more dynamic states being influenced by multiple inputs; and An action is performed in response to the output of at least one ML algorithm, causing the action to be performed, or suggesting the execution of an action, said action adjusting at least one of the following: the function of at least one controller, the function of a component of at least one controller affected by the PCS, or the use of or influence of the settings of a component of at least one controller by the influence of the PCS.
20. A non-transitory computer-readable storage medium and one or more computer programs embedded therein, the computer program comprising instructions that, when executed by a computer system, cause the computer system to autonomously or semi-autonomously: Perform multiple tasks for monitoring an industrial system including a PCS, each of the multiple tasks being performed using multiple inputs related to the function of at least one controller of the PCS, the at least one controller having at least one control function related to the physical aspects of the PCS. For each of the multiple tasks performed, at least one machine learning (ML) algorithm is used to analyze one or more dynamic states of the PCS and at least one controller of the PCS, the one or more dynamic states being influenced by multiple inputs; and An action is performed in response to the output of at least one ML algorithm, causing the action to be performed, or suggesting the execution of an action, said action adjusting at least one of the following: the function of at least one controller, the function of a component of at least one controller affected by the PCS, or the use of or influence of the settings of a component of at least one controller by the influence of the PCS.