Model predictive control system for process automation plant

The MPC device with multi-model switching solves the performance degradation problem of model-based controllers in the face of changing industrial processes, achieves efficient and stable control of complex processes, and adapts to changes in process characteristics.

CN120813907APending Publication Date: 2025-10-17FISHER ROSEMOUNT SYST INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202480014380.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-02-28
Filing Date
2024-02-20
Publication Date
2025-10-17

AI Technical Summary

Technical Problem

Existing model-based controllers struggle to maintain efficient control when faced with changing industrial processes because process model mismatch leads to performance degradation, and the long model generation time prevents them from adapting to changes in process characteristics in a timely manner.

Method used

The multi-model switching model predictive control (MPC) device receives industrial process inputs, identifies current state parameters, uses multiple MPC process models for prediction, calculates control signals based on the predicted future outputs, and dynamically switches models to adapt to process changes.

Benefits of technology

It achieves efficient control of complex industrial processes, improves the adaptability and stability of model predictive control, reduces performance degradation caused by model mismatch, and enhances the ability to respond to changes in process characteristics.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120813907A_ABST
    Figure CN120813907A_ABST
Patent Text Reader

Abstract

A model predictive control (MPC) device includes an input interface configured to receive an industrial process input associated with at least one component of a process automation plant; an output interface configured to transmit control instructions to control the component; a memory configured to store a first MPC process model and a second MPC process model corresponding to different states; and a processor configured to: identify a current state parameter of the industrial process; and predicting a future industrial process output using the first MPC process model or the second MPC process model based on the current state parameter being associated with the first MPC process model or the second MPC process model. The processor is configured to calculate a target operating point from a predicted future industrial process output, determine a control signal to drive the industrial process to the calculated target operating point, and output the determined control signal to control operation of the components of the industrial process plant.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross Reference to Related Applications

[0002] This application claims priority to U.S. Patent Application No. 18 / 115,317, filed February 28, 2023. The entire disclosure of the above application is incorporated herein by reference. TECHNICAL FIELD

[0003] This application relates to model predictive control (MPC) systems for process automation plants. BACKGROUND

[0004] This section provides background information related to the application and is not necessarily prior art.

[0005] Model predictive control (MPC) is an advanced process control method used to control a process while satisfying a set of constraints. MPC is commonly used in industrial process plants, such as chemical plants, oil refineries, power systems, etc. MPC equipment can allow for optimization of the current time slot, with the ability to anticipate future events and take control actions accordingly. SUMMARY

[0006] This section provides a general summary of the application, and not a comprehensive disclosure of its full scope or all of its features.

[0007] According to one aspect of the present invention, a model predictive control (MPC) device, comprising: an input interface configured to receive industrial process inputs associated with at least one component of a process automation plant; an output interface configured to transmit control instructions to control operation of the at least one component of the process automation plant; a memory configured to store a first MPC process model, a second MPC process model, and computer executable instructions, the first MPC process model comprising at least one control parameter different from control parameters of the second MPC process model, the at least one control parameter comprising one or more of a gain value, a time constant value, and a dead time value. The device comprises at least one processor configured to execute the computer executable instructions to: receive industrial process inputs through the input interface; identify a current state parameter of an industrial process of the process automation plant; in response to the current state parameter having a first state value associated with the first MPC process model, predict a future industrial process output from the received industrial process inputs using the first MPC process model; in response to the current state parameter having a second state value associated with the second MPC process model, predict the future industrial process output from the received industrial process inputs using the second MPC process model, the first state value being different from the second state value; calculate a target operating point from the predicted future industrial process output; determine a control signal for driving the industrial process to the calculated target operating point; and output the determined control signal through the output interface to control operation of the at least one component of the process automation plant.

[0008] According to another aspect of the present invention, a method of determining a state parameter cluster of an MPC device of a process automation plant, comprising: receiving a specified number of operating point clusters; obtaining, through an input interface, at least one operating state parameter associated with at least one component of the process automation plant, the at least one operating state parameter being obtained at a plurality of time points during operation of the process automation plant to define a plurality of historical operating state parameter values; and applying a clustering algorithm to the plurality of historical operating state parameter values to define a specified number of operating regions, the specified number of operating regions being equal to the specified number of operating point clusters. The method comprises: for each of the specified number of operating regions, generating an MPC process model from parameters associated with the operating region; sensing a current state parameter of the at least one component of the process automation plant; and controlling operation of the at least one component of the process automation plant from an MPC process model associated with the current state parameter.

[0009] According to another aspect of the present application, a model predictive control (MPC) device comprises an input interface configured to receive industrial process inputs associated with at least one component of a process automation plant, an output interface configured to transmit control instructions to control operation of the at least one component of the process automation plant, and a memory configured to store an online model estimation module and computer executable instructions. The device comprises at least one processor configured to execute the computer executable instructions to identify at least one current manipulated variable and at least one current process variable of the process automation plant, generate an MPC process model from the at least one current manipulated variable and the at least one current process variable of an industrial process of the process automation plant using the online model estimation module, receive industrial process inputs through the input interface, predict future industrial process outputs from the received industrial process inputs using the generated MPC process model, calculate a target operating point from the predicted future industrial process outputs, determine control signals for driving the industrial process to the calculated target operating point, and output the determined control signals through the output interface to control operation of the at least one component of the process automation plant. After outputting the determined control signals, the at least one processor is configured to identify updated manipulated variables and updated process variables of the process automation plant, and generate an updated MPC process model from at least the updated manipulated variables and the updated process variables of the process automation plant using the online model estimation module.

[0010] Other aspects and applications will become apparent from the description provided herein. It should be understood that various aspects and features of the present application can be realized independently or in any combination thereof. It should also be understood that the description and specific examples provided herein are merely intended for illustrative purposes and are not intended to limit the scope of the present application. BRIEF DESCRIPTION OF DRAWINGS

[0011] The accompanying drawings described herein are for the purpose of illustrating selected embodiments only and are not intended to limit the scope of the present application.

[0012] Figure 1 is a block diagram of a process control system including an example model predictive control (MPC) device configured to control a process according to an example embodiment of the present application.

[0013] Figure 2 is a block diagram of an example MPC device according to another example embodiment of the present application.

[0014] Figure 3is a block diagram of an example MPC device including a model switching computation module.

[0015] Figure 4A is an example plot of reactor temperature over time for an example industrial process controlled by an MPC device having a single steady-state model.

[0016] Figure 4B is an example plot of concentration over time for an example industrial process controlled by an MPC device having a single steady-state model.

[0017] Figure 4C is an example plot of coolant temperature over time for an example industrial process controlled by an MPC device having a single steady-state model.

[0018] Figure 5 is an example plot of concentration setpoint over time for an example industrial process having multiple operating states.

[0019] Figure 6A is an example plot of reactor temperature over time for an example industrial process controlled by an MPC device configured to switch between multiple models based on current operating state parameters of the industrial process.

[0020] Figure 6B is an example plot of concentration over time for an example industrial process controlled by an MPC device configured to switch between multiple models based on current operating state parameters of the industrial process.

[0021] Figure 6C is an example plot of concentration over time for an example industrial process controlled by an MPC device configured to switch between multiple models based on current operating state parameters of the industrial process.

[0022] Figure 7A is an example plot illustrating generation of three operating state clusters for an industrial process based on a single state parameter.

[0023] Figure 7B is an example plot illustrating generation of three operating state clusters for an industrial process based on two state parameters.

[0024] Figure 7C is an example plot illustrating generation of three operating state clusters for an industrial process using principal component analysis dimensionality reduction.

[0025] Figure 8 is a flow diagram depicting an example process for determining state parameter clusters for an MPC device for a process automation plant.

[0026] Figure 9 is a block diagram of an example MPC device including a linear parameter-varying (LPV) module.

[0027] Figure 10 is a plot of an example interpolation array for a linear state-space model including a plurality of grid points in a scheduling space.

[0028] Figure 11A is an example plot line of reactor temperature over time for an example industrial process controlled by an MPC device configured to implement model process parameters using linear parameter-varying (LPV) interpolation based on current operating state parameters of the industrial process.

[0029] Figure 11B is an example plot line of concentration over time for an example industrial process controlled by an MPC device configured to implement model process parameters using LPV interpolation based on current operating state parameters of the industrial process.

[0030] Figure 11C is an example plot line of coolant temperature over time for an example industrial process controlled by an MPC device configured to implement model process parameters using LPV interpolation based on current operating state parameters of the industrial process.

[0031] Figure 12 is a block diagram of an example MPC device including an online model estimator module.

[0032] Figure 13A is an example plot line of reactor temperature over time for an example industrial process controlled by an MPC device configured to implement an online model estimator module.

[0033] Figure 13B is an example plot line of concentration over time for an example industrial process controlled by an MPC device configured to implement an online model estimator module.

[0034] Figure 13C is an example plot line of coolant temperature over time for an example industrial process controlled by an MPC device configured to implement an online model estimator module.

[0035] Figure 14 is a block diagram of an MPC device including a containerized architecture. DETAILED DESCRIPTION

[0036] Example implementations will now be described more fully with reference to the accompanying drawings.

[0037] Process automation plant systems, such as distributed or scalable process control systems for power generation, chemical, petroleum, or other processes, typically include one or more process control devices, such as model predictive control (MPC) devices. The process control devices can be communicatively coupled to each other, to at least one host or operator workstation, and to one or more instruments or field devices in the plant, through use of a process control network, and through analog, digital or combined analog / digital communications buses.

[0038] Field devices perform functions such as opening or closing valves, opening and closing switches, and measuring process parameters within the process or plant. Example field devices include valves, valve positioners, switches, and transmitters (e.g., devices including sensors for measuring temperature, pressure, flow rate, etc., and transmitters for transmitting the sensed temperature, pressure, and flow rate, etc.).

[0039] Process control devices, which can be located within the plant environment, are configured to receive signals indicative of process measurements made by field devices (or other information related to the field devices) and to execute process control applications that run, for example, different process control modules that make process control decisions, generate control signals based on the received information, and coordinate with control modules or blocks implemented in the smart field devices.

[0040] Execution of the control modules can cause the process control devices to send control signals to the field devices over communication links or signal paths, thereby controlling operation of at least a portion of an industrial process plant or system (e.g., controlling at least a portion of one or more industrial processes running or performed within the plant or system). For example, a first set of process control devices and field devices can control a first portion of an industrial process controlled by the industrial process plant or system, and a second set of process control devices and field devices can control a second portion of the industrial process.

[0041] A network formed by one or more process control devices, field devices communicatively coupled to the one or more process control devices, and intermediate nodes that facilitate communication between the process control devices and the field devices can be referred to as an "I / O network" or an "I / O subsystem."

[0042] Information from the I / O network(s) can be provided to one or more other hardware devices, such as operator workstations, personal computers or computing devices, handheld devices, data historians, report generators, centralized databases, or other centralized management computers, placed in control rooms, on operator mezzanines within the plant, or located elsewhere in the plant that are remote from harsher environments of the plant floor, e.g., in backrooms of the industrial process plant.

[0043] The information communicated over the process control network enables an operator or maintenance person to perform desired functions related to the industrial process through one or more hardware devices connected to the network. These hardware devices can run applications that enable the operator to, for example, change settings of the process control routine(s), modify operation of control modules within the process control devices or smart field devices, view the current status of the process or status of particular devices within the industrial process plant, view alarms generated by the field devices and process control devices, simulate operation of the industrial process for training personnel or testing the process control software, diagnose problems or hardware failures in the industrial process plant, etc. The process control network or data highway used by the hardware devices, controllers, and field devices can include wired communication paths, wireless communication paths, or a combination of wired and wireless communication paths.

[0044] As one example, Emerson sells the DeltaV TM control system and Ovation TM A distributed control system (DCS) includes a plurality of applications stored in and executed by different devices located at different locations within an industrial process plant. A configuration application, located in one or more workstations or computing devices (typically in a back-end environment of the process control system or plant), enables a user to create or change process control modules and download these process control modules to dedicated distributed controllers over a data highway.

[0045] These control modules can include functionally interconnected function blocks, which are objects in an object-oriented programming protocol, that (i) perform functions within the control scheme based on inputs, and (ii) provide outputs to other function blocks within the control scheme. The configuration application can also allow a configuration designer to create or change operator interfaces that are used by a viewing application to display data to an operator and to enable the operator to change settings, such as set points, in the process control routine.

[0046] Each dedicated process control device (in some cases, one or more field devices) can be configured to store and execute a corresponding controller application that runs the control modules assigned and downloaded thereto to implement the actual process control functionality. A viewing application, which can be executed on one or more operator workstations (or on one or more remote computing devices in communication with the operator workstations and the data highway), receives data from the controller application over the data highway and displays the data to a process control system designer, operator or user using a user interface, and can provide any of a variety of different views, such as an operator view, an engineer view, a technician view, etc.

[0047] The data historian application can be stored in and executed by a data historian device that collects and stores some or all of the data provided over the data highway, while the configuration database application can be run in another computer attached to the data highway to store current process control routine configurations and data related thereto. Alternatively, the configuration database can be located in the same workstation as the configuration application.

[0048] In addition to process control devices, input / output devices (e.g., I / O cards), and field devices, a typical process control system can include a number of other support devices that are also used in or in connection with industrial process operations. These additional devices include, for example, power supply devices, power generation and distribution devices, rotating devices such as turbines, etc., that are located in many places in a typical industrial process plant.

[0049] Example process control devices can include proportional-integral-derivative (PID) controllers, model-based controllers such as model predictive control (MPC) controllers, etc. Each of these process control devices can control an industrial process characterized by having one or more process outputs (e.g., flow, pressure, temperature, composition, humidity, opacity, density measurements, etc.) and one or more process inputs (e.g., valve position, flow rate, etc.). Model-based controllers can achieve more effective control than traditional controllers when controlling complex processes. This can be due, at least in part, to the ability of model-based controllers to predict future states of the controlled process.

[0050] Traditional controllers typically manipulate process inputs (which can be referred to as "manipulated variables") based on feedback (e.g., measured values of controlled variables) and desired values of process outputs (e.g., set points) to change process outputs (which can be referred to as "controlled variables" or simply "process variables").

[0051] Model-based controllers (e.g., model predictive controllers or MPCs) as described herein have the advantage that they can predict future states of an industrial process based on a process model that represents dynamic relationships between process inputs and process outputs of the controlled industrial process. Model-based controllers can achieve control not only based on feedback and desired values of process outputs, but also based on predicted future values of process outputs that the controller predicts or anticipates based on the process model and measured values of process outputs. Thus, model-based controllers can take into account potential future events and can be particularly effective for controlling complex industrial processes with significant multivariable interactions (e.g., situations where changes in a single manipulated variable or process output affect the value(s) of multiple other process outputs).

[0052] While model-based controllers provide many desirable performance characteristics, the process control industry has been slow to fully adopt model-based control techniques. This limited adoption can be attributed, at least in part, to the fact that model-based controllers typically rely on accurate process models to achieve effective control of an industrial process. Unfortunately, industrial process characteristics often change over time. If a model-based controller continues to use an old process model for an industrial process that has changed, the performance of the model-based controller can quickly degrade due to process model mismatch (e.g., the characteristics of the process model do not match the characteristics of the controlled process). To avoid this performance degradation, process model mismatch is typically avoided or corrected.

[0053] In general, model-based controllers correct for process model mismatch by generating a new process model during a model identification or generation process that matches the current characteristics of the industrial process. As noted above, the process models used by model-based controllers typically represent the dynamic relationships between inputs and outputs of the industrial process being controlled. These dynamic relationships can be captured during a model generation process that involves (i) introducing a known disturbance or perturbation into the industrial process by changing one or more manipulated variables, and (ii) observing the response of the industrial process to the change in the manipulated variable, sometimes referred to as "perturb and observe."

[0054] When the industrial process completes its response to the change in the manipulated variable and reaches a steady state, the process control device can generate a process model based on the relationship between the change in the manipulated variable and the observed process response. The process control device can then resume normal control with the new (and possibly more accurate) process model.

[0055] In some example implementations, model generation can take a long time for certain slow processes, where process variables can take minutes, hours, or even days to reach a setpoint or final resting value. Furthermore, model-based controllers can require frequent model regeneration because the characteristics of the industrial process can change frequently over time due to equipment failure or degradation, atmospheric changes, raw material changes, etc. Process control devices can be configured to transmit controller outputs to field devices at fairly regular intervals (e.g., every few seconds to every few minutes). Model-based controllers can be designed to have the goal of building accurate predictions for multiple current / future time intervals.

[0056] As Figure 1The illustrated process control system 10 can be used to implement a multi-model based control method for controlling a process. The process being controlled can be any suitable process and can be said to have one or more "process outputs" (e.g., tank level, flow rate, material temperature, etc.) that characterize the state of the process and one or more "process inputs" (e.g., various environmental conditions and the state of equipment such as actuators, manipulation of which can cause the process outputs to change).

[0057] In Figure 1 In the illustrated example, the process control system 10 includes an MPC device 11 that is connected to a database 12 (such as a data historian) and one or more host workstations or computers 13 (which can be any type of personal computer, workstation, tablet, mobile device, etc.), each of which has a display 14. The MPC device 11 is also connected to field devices 15-22 through input / output (I / O) devices 26 and 28 (such as I / O cards).

[0058] The database 12 can be any suitable type of data collection unit having any suitable type of memory and any desired software, hardware, and / or firmware for storing data. In Figure 1 In the illustrated example, the MPC device 11 is communicatively connected to the field devices 15-22 using a hardwired communication network and communication scheme and / or a wireless communication network scheme.

[0059] In general, the field devices 15-22 can be any type of device such as sensors, valves, transmitters, positioners, etc., and the I / O cards 26 and 28 can be any type of I / O device that complies with any desired communication or controller protocol. The MPC device 11 includes at least one processor 23 that implements or supervises one or more process control routines (or any modules, blocks, or subroutines thereof) stored in memory 24.

[0060] The MPC device 11 can be configured to communicate with the devices 15-22, the host computers 13, and the database 12 to control an industrial process in any desired manner. Further, the MPC device 11 can implement a control strategy or scheme using functional blocks, where each functional block is an object or other part of an overall control routine (e.g., a subroutine) that operates in conjunction with other functional blocks (through communications called links) to implement a process control loop within the process control system 10.

[0061] The function blocks can be configured to perform one or more of the following functions: input functions, such as those associated with transmitters, sensors or other process parameter measurement devices; control functions, such as those associated with control routines that implement PID, MPC, fuzzy logic, etc. control techniques; and output functions that control the operation of certain devices, such as valves, to perform certain physical functions within the process control system 10. In other example implementations, hybrid and other types of function blocks can be utilized. The function blocks can be stored in and executed by the MPC device 11 or other devices.

[0062] As shown by the decomposition block 30, the MPC device 11 can include a plurality of single-loop control routines, such as control routines 32 and 34, and, if desired, one or more advanced control loops, such as control loop 36. Each control loop can be referred to as a control module. Figure 1

[0063] The single-loop control routines 32 and 34 are shown as performing single-loop control using single-input / single-output fuzzy logic control blocks and single-input / single-output PID control blocks, respectively, that are connected to appropriate analog input (AI) and analog output (AO) function blocks that can be associated with process control devices, such as valves, measurement devices, such as temperature and pressure transmitters, and / or other device(s) within the process control system 10.

[0064] The advanced control loop 36 is shown as including an MPC block or routine 38 having inputs that are communicably connected to one or more AI function blocks, and outputs that are communicably connected to one or more AO function blocks, although the inputs and outputs of the MPC block 38 can be connected to any other desired function blocks or control elements (e.g., DI blocks, DO blocks, etc.) to receive other types of inputs and provide other types of control outputs.

[0065] The MPC block 38 can implement any suitable MPC control technique, including any type of multi-input multi-output control scheme, process model-based control routines, etc., and thus can constitute or include a model predictive control (MPC) block, a neural network modeling or control block, a multi-variable fuzzy logic control block, a real-time optimizer block, etc.

[0066] Figure 1 ​The function blocks, including the MPC block 38, shown in the middle can be executed by the MPC device 11, or alternatively can be located in and executed by any other processing device or control element of the process control system 10, such as one of the workstations 13 or one of the field devices 15-22. As one example, the field devices 21 and 22, which can be a transmitter and a valve, respectively, can implement the control element for implementing the control routine, and thus can include the processing and other components for executing a portion of the control routine, such as one or more of the function blocks. As shown, the field device 21 can include a memory 39A for storing logic and data associated with the analog input block, and the field device 22 can include an actuator with a memory 39B for storing logic and data associated with the PID, MPC, or other control block in communication with the analog output (AO) block. Figure 1

[0067] As described above, the MPC device 11 can implement the MPC block 38 to implement model-based control. An industrial process controlled by the MPC device 11 (sometimes referred to simply as the “controller 11”) can be characterized by a set of process variables or PVs. The PVs can include: (i) manipulated variables or MVs (e.g., valve positions) that are manipulated by the PC device 11 through controller outputs; (ii) controlled variables or CVs that are indirectly controlled by adjusting the MVs (e.g., a water tank temperature that is controlled by adjusting the valve position of a cold water inlet valve); (iii) auxiliary variables or AVs that can be indirectly affected by changes in the CVs or MVs (e.g., a water tank level); and (iv) disturbance variables or DVs (e.g., an ambient temperature of a room that can slightly affect the water tank temperature). When implementing model-based control (e.g., in a constrained or unconstrained solution mode), the MPC device 11 can use all of the CV measurements to simultaneously calculate all of the MVs.

[0068] In one example implementation, the MPC device 11 can be configured to operate according to a scan period control period (e.g., a scan period k of, for example, 1 minute). At each time k (e.g., every minute), the MPC device 11 receives controller inputs carrying measured PVs (e.g., CVs and / or AVs). Based on the current measurements, the controller relies on a process model to predict future values of the PVs and constructs a “move plan” for the MVs to help drive the CVs and / or AVs to desired values. At the end of the scan period, the MPC device 11 transmits the MV values in the move plan to field devices (e.g., valve actuators) through control signals or controller outputs. Then, in the next scan period, the MPC device 11 again receives measured PVs and repeats the process.

[0069] ​As described herein, a “move plan” can refer to a set of values for a set of MVs that will be implemented at the end of each scan period, controlled by the MPC device 11. The MPC device 11 can calculate a series of move plans that extend into the future (e.g., for use in future scan periods), whether in a constrained or unconstrained solve mode.

[0070] A “bounded move plan” can include a set of MVs that will not result in any immediate constraint violations (e.g., MV values that will not violate any MV constraints, and predicted responses of corresponding CVs or AVs that will not immediately violate constraints). An “unbounded move plan” can be generated without regard for constraints, and thus an “unbounded move plan” can include MV values that violate MV constraints or result in other constraint violations (e.g., constraint violations of CVs or AVs). In some example implementations, future move plans after a first move plan can not be implemented, as the MPC device 11 can recalculate a series of move plans at each scan as part of the optimal solution calculation.

[0071] An “optimization” can be achieved by constructing a “solution” for a “target function.” A “target function” can be a formula that can be solved to determine any useful metric (e.g., typically profit). One example target function can be the formula “profit = 24x + 20y,” where x is a first type of widget and y is a second type of widget. An optimal solution can be found by minimizing or maximizing the target function, depending on the nature of the target function (in the preceding example, the target is to maximize profit). Determining an optimal solution can involve evaluating many candidate solutions.

[0072] As described herein, a “solution” to an optimization problem or target function can refer to a solution constructed by an optimizer algorithm or routine, which can be implemented by the MPC device 11 or a computing device in communication with the MPC device 11. A “solution” can be characterized as a set of target values for a set of PVs at the end of a control or prediction horizon for the MPC device 11, at a steady-state operating point for the industrial process, and a set of values for the PVs (e.g., MVs, CVs, and AVs) at each controller scan or controller interval between the current state of the process and the end of the horizon. A “prediction horizon” can represent a number of future scans that the optimizer evaluates, and a “control horizon” represents a number of future scans for which MV values are predicted to be output. The control horizon can represent a number of hypothetical “move plans” for MVs to be evaluated.

[0073] As one example, if the prediction horizon is ten and the control horizon is five, a solution can include ten sets of target values for PVs (including five move plans that are implemented in the next five scans, where each move plan includes a set of values for MVs). The MPC device 11 can construct a “constrained solution” or a “unconstrained solution,” and sometimes both.

[0074] During unconstrained solution optimization, the MPC device 11 can be configured to generate controller outputs (carrying MV values to field devices) based on a first move schedule included in an unconstrained solution. The MPC device 11 can construct the unconstrained solution by feeding the following to an optimizer: (i) a pre-generated process model generated at the time of generation for modeling the process (which can be generated offline); (ii) current process variable values; and (iii) one or more control objectives. The optimizer can be configured to identify a solution to the objective function to reach a target value of the process variables after each of a plurality of “moves” implemented by the MPC device 11. The MPC device 11 then identifies a first “move schedule” (including a set of required values for manipulated variables) from the solution and “bounds” the set of required values in the first move schedule in the event any value violates a constraint or would cause a constraint (e.g., a constraint on a CV or AV) to be violated. The MPC device 11 can then transmit controller output signals carrying the “bounded” values of the first move schedule to field devices to implement control of the process.

[0075] Constraint solution optimization can provide better control when conditions are suitable. During constraint solution optimization, the MPC device 11 can be configured to generate controller outputs by: (i) constructing a process model in real-time, if possible, and (ii) feeding the following to an optimizer: (a) a current process model with current process variable values; (b) control objectives; and (c) constraints on all process variables (e.g., CVs, AVs, MVs, and DVs).

[0076] The optimizer can be configured to generate a constrained solution (e.g., including target CVs, AVs, and MVs for each scan period) by first calculating an unconstrained solution. The optimizer then identifies the first MV in a series of move schedules that is subject to a constraint in time (e.g., finding the earliest MV constraint violation). The allowed portion of the move schedule for this MV is then applied to the problem. Next, the MPC device 11 recalculates the unconstrained solution using the remaining MVs and repeats the process until all MVs are subject to a constraint or the unconstrained solution does not violate any constraints. Using this iterative process, a set of controller outputs can be identified that will not cause a constraint to be violated. This process is more computationally intensive compared to the unconstrained solution mode in which the MPC device 11 calculates a relatively simple solution that requires relatively short online execution times.

[0077] Constrained solution optimization has at least two advantageous features. First, the control matrix or model can be generated on-line at each control period. All dependent variables (e.g., CVs and AVs) are included in the dynamic matrix of the moving calculation. The penalty on error (PE) for each dependent variable is adjusted at each control period. If a CV is far from its limit, its PE can be set to zero to effectively remove it from the dynamic control problem. Conversely, if a CV is close to its limit, the full value of PE can be used. The dynamic moving calculation at each control period can include only those CVs that are close to their limit and can exclude those CVs that are far from their limit.

[0078] A second advantage is the implementation of MV constraints on future moves. This inhibits or prevents the MPC device 11 from planning moves that cannot be achieved. As previously mentioned, the general approach is to first calculate an unconstrained MV solution. The second step is to find the first MV in time that is constrained (e.g., find the earliest MV constraint violation). Then, the allowed portion of the move plan for this MV is applied to the problem. Next, an unconstrained solution is calculated using the remaining MVs and the process is repeated until all MVs are constrained or the unconstrained solution does not violate any constraints.

[0079] Figure 2 A block diagram of an example MPC device 40 is shown. As shown, the MPC device 40 includes a plurality of functional blocks for implementing model predictive control of an industrial process, such as an industrial process of a process automation plant (e.g., an industrial process plant). Figure 2

[0080] The prediction block 42 can be configured to use a linear model of the industrial process (e.g., a steady-state model obtained by step testing and downloaded to the MPC device 40 offline) and a history of changes in process inputs (e.g., stored in the database 12) to predict future behavior of process outputs without taking corrective control actions. “Offline” can refer to generating the model on a device separate from the MPC device 40, generating the model while the MPC device 40 is not actively controlling the process, or generating the model on a device that does not communicate with the MPC device 40 while the MPC device 40 is controlling the process, etc. The prediction block 42 can facilitate the prediction capabilities of the MPC device 40 based on one or more prediction models.

[0081] The linear optimizer block 44 can be configured to use the predicted steady-state process values, operating limits, priority process economics, etc. to calculate a desired or optimal operating point for each control period. For example, “optimization” can be achieved by constructing a solution to an objective function. The objective function can be a formula that can be solved to determine any useful metric (e.g., typically profit). Depending on the nature of the objective function, the optimal solution can be found by minimizing or maximizing the objective function.​

[0082] The dynamic move calculation block 46 can be configured to calculate a future control strategy based on a linear model (e.g., from the linear model from the prediction block 42). The future control strategy can be configured to drive the industrial process to an optimal operating point (which can be determined by the linear optimizer block 44) and to substantially maintain the industrial process at the optimal operating point in the face of disturbances.

[0083] In some example implementations, a step test can be performed to generate data for generating a steady state model. The steady state model can be used for model prediction and dynamic move calculation, for example by the prediction block 42 and the dynamic move calculation block 46. However, some industrial processes, such as chemical processes, can be dynamic and non-linear, and an MPC model based on a single steady state model can not achieve the desired performance for the dynamic and non-linear industrial process.

[0084] To address this issue, in some example implementations, a user can be provided with scale factors for model gains to tune the model to improve non-linear process control performance. In addition to scale factors for model gain (K), two additional scale factors can be provided for model dead time (0) and model time constant (T) so that a user can better tune the model.

[0085] For example, Figure 3 An example MPC device 50 is shown that includes a model switching calculation module 52. The model switching calculation module 52 can be configured to allow the MPC device to switch between multiple different MPC models. For example, the MPC device 50 can include multiple different MPC models, and the model switching calculation module 52 can be configured to switch operation of the MPC device 50, for example by switching at least one of the prediction block 42, the linear optimizer block 44, and the dynamic move calculation block 46, to operate using a different one of the multiple MPC models.

[0086] The different MPC models can correspond to different operating states of the industrial process or industrial process plant, for example different non-linear points within an operating variable space of the industrial process or industrial process plant. For example, the model switching calculation module 52 can be configured in an automatic mode in which the model switching calculation module 52 uses measured variables of the industrial process to determine when to switch between different models. The model switching calculation module 52 can be configured in a manual mode in which a user is allowed to manually switch between different MPC models of the MPC device 50.

[0087] In some example implementations, the MPC device 50 can be configured to allow a user to build a new MPC model, e.g., a new MPC model for online estimation (e.g., generated on the MPC device 50 itself or another device in communication with the MPC device 50, generated during a period in which the MPC device 50 is actively operating to control a process, etc.), and manually add the new MPC model to the set of MPC models available for switching in the MPC device 50. In contrast to previous MPC devices, the model switching functionality provided by the model switching computation module 52 can provide faster, easier user tuning of the model, can improve control performance when dealing with nonlinear processes, and can be compatible with existing MPC devices (e.g., Emerson’s DeltaV TM system, etc.).

[0088] The user can modify, tune, update, add, etc., different MPC models using any suitable technique for modification, tuning, updating, adding, etc., in the MPC device 50 for switching. For example, the user can adjust the model process gain(s), the model time constant(s), the model dead time(s), etc. In some example implementations, the MPC device 50 can be configured to implement one or more multiple-input, multiple-output (MIMO) models, where a set of process gain values, time constant values, and dead time values are generated at each operating state. The MPC process model can implement a MIMO format, e.g., by having multiple inputs (e.g., uD, uE) and multiple outputs (e.g., y_D, y_e).

[0089] The user can manually write a new model and include it in the set of models in the MPC device 50, can generate different MPC models corresponding to different operating modes of the industrial process offline and download them to the MPC device 50, etc. As described above, the models in the MPC device 50 can be switched during operation in automatic configuration and / or manual configuration.

[0090] Figure 4A An example plot 62 showing reactor temperature as a function of time for an example industrial process controlled by an MPC device having a monostable model is shown. As Figure 4A shown, the reactor temperature has an unstable closed-loop response as the reactor temperature transitions from its rising value to its final steady-state value due to the nonlinear behavior of the industrial process near the transition point.

[0091] Figure 4B An example plot 64 showing concentration as a function of time for an example industrial process controlled by an MPC device having a monostable model discussed above with reference to Figure 4A is shown. As Figure 4BAs shown, due to the nonlinear behavior of the industrial process near the transition point, the concentration also has an unstable closed-loop response when it transitions from its decreasing value to its final steady-state value.

[0092] Figure 4C Shown by having above reference Figure 4A and Figure 4B An example plotted line graph 66 of coolant temperature versus time for an example industrial process controlled by an MPC device using the monostable model discussed. Figure 4C As shown, the coolant temperature also has an unstable closed-loop response corresponding to the nonlinear behavior of the industrial process.

[0093] Figure 5 An example plotted line graph 70 shows concentration setpoint versus time for an exemplary industrial process having multiple operating states. The industrial process includes three different operating states, which are represented by Figure 5 The example points shown in are highlighted. For example, in the initial state 72, the industrial process has a concentration set point CA greater than or equal to 8.

[0094] In the transition state 74, the concentration setpoint CA is less than 8 and greater than or equal to 3. In the final state 76, the concentration setpoint CA is less than 3. In this example, the MPC device 50 can use three different MPC models, each corresponding to one of the different states. For example, a first MPC model can be generated corresponding to the operation of the industrial process near the initial state 72, a second MPC model can be generated corresponding to the transition state 74, and a third MPC model can be generated corresponding to the final state 76.

[0095] In some example embodiments, the state parameter CA can be used as a gain scheduling parameter to switch between different models. For example, the model switching calculation module 52 can be configured to obtain the current state parameter CA of the industrial process and automatically switch the MPC device 50 to operate according to any one of the multiple MPC models corresponding to the current state parameter CA.

[0096] exist Figure 5 In the example of FIG, if the current state parameter CA (e.g., concentration) of the industrial process is greater than 8, the model switching calculation module 52 may switch the MPC device 50 to operate using the model corresponding to the initial state 72. If the current state parameter CA of the industrial process is less than 8 but greater than 3, the model switching calculation module 52 may switch the MPC device 50 to operate using the model corresponding to the transition state 74. If the current state parameter CA of the industrial process is less than 3, the model switching calculation module 52 may switch the MPC device 50 to operate using the model corresponding to the final state 76.

[0097] Each different MPC model can be generated to handle the operation of the industrial process according to unique aspects of its associated parameter state to account for the nonlinear dynamics of the industrial process (e.g., so that different models can be used in different linear and nonlinear operating ranges of the industrial process). In some example embodiments, the current state parameters CA of the industrial process can be displayed to the user, and the user can manually switch the MPC model of the MPC device.

[0098] Figure 6A- Figure 6C Example plotted line graphs of parameters for a continuous stirred tank reactor (CSTR) embodiment are shown in FIG. Figure 6A An example plotted line graph 82 shows reactor temperature versus time for an example industrial process controlled by an MPC device configured to switch between multiple models based on current operating state parameters of the industrial process. For example, plotted line 82 may correspond to MPC device 50 configured to operate using different models, each corresponding to Figure 5 Different parameter states.

[0099] like Figure 6A As shown, compared with the monostable model Figure 4A Compared to the plotted line 62 in FIG. 5 , the reactor temperature has a smoother and more stable closed-loop response as it transitions from its rising value to its final steady-state value.

[0100] Figure 6B An example plotted line graph 84 shows concentration versus time for an example industrial process controlled by an MPC device configured to switch between multiple models based on the current parameter state of the industrial process. Figure 6B As shown, compared with the monostable model Figure 4B Compared to the plotted line 64 in FIG. 5 , the concentration has a smoother and more stable closed-loop response as the reactor temperature transitions from its decreasing value to its final steady-state value.

[0101] Figure 6C An example plotted line graph 86 shows coolant temperature versus time for an example industrial process controlled by an MPC device configured to switch between multiple models based on the current parameter state of the industrial process. Figure 6C As shown, compared with the monostable model Figure 4C Compared to the plotted line 66 in FIG. 6 , the coolant temperature has a smoother and more stable closed-loop response.

[0102] In another example embodiment, the MPC device 50 may include an input interface configured to receive data associated with a process automation plant (e.g., Figure 1The process control system 10 is shown in association with industrial process inputs associated with at least one component of an industrial process plant. The MPC device 50 includes an output interface configured to transmit control instructions to control operation of the at least one component of the process automation plant.

[0103] The MPC device 50 includes a memory configured to store a first MPC process model, a second MPC process model, and computer executable instructions. The first MPC process model includes at least one control parameter that is different from control parameters of the second MPC process model, wherein the at least one controller parameter includes one or more of a gain value, a time constant value, and a dead time value.

[0104] The MPC device 50 can include at least one processor configured to execute the computer executable instructions to: receive, via the input interface, the industrial process inputs; identify a current state parameter of the industrial process of the process automation plant; and predict, using the first MPC process model, a future industrial process output from the received industrial process inputs when the current state parameter has a first state value associated with the first MPC process model.

[0105] The processor can be configured by the instructions to predict, using the second MPC process model, the future industrial process output from the received industrial process inputs when the current state parameter has a second state value associated with the second MPC process model (the first state value being different from the second state value). The processor can be configured by the instructions to calculate a target operating point from the predicted future industrial process output, determine a control signal for driving the industrial process to the calculated target operating point, and output the determined control signal via the output interface to control operation of the at least one component of the process automation plant.

[0106] In some example implementations, the first MPC process model and the second MPC process model can each include a linear steady state model obtained by a step test. The processor can be configured to switch operation between the first MPC process model and the second MPC process model in response to automatic detection of a change in the current state parameter from a first state value associated with the first MPC process model to a second state value associated with the second MPC process model (e.g. Figure 5 In other example implementations, the at least one processor can be configured to switch operation between the first MPC process model and the second MPC process model in response to a manual input received at the MPC device.

[0107] The MPC device 50 can include more (or less) than two different MPC models. For example, the processor can be configured to receive or generate a third MPC process model having at least one control parameter that is different from the control parameters of the first MPC process model and the control parameters of the second MPC process model. The third MPC process model is associated with a third state value of the process automation plant that is different from the first state value and the second state value, store the third MPC process model in the memory, and in response to the current state parameter having the third state value, use the third MPC process model to predict future industrial process outputs from received industrial process inputs.

[0108] The current state parameter can include any suitable parameter(s) associated with an operating state of the industrial process, such as a chemical concentration value, a temperature value, a pressure value, a throughput value, etc. The components of the process automation plant can include any suitable industrial process plant components, such as a continuous stirred tank reactor. Although some example implementations described herein use a single state parameter of the industrial process for model switching, in other example implementations, the MPC device 50 can use a multivariate approach (e.g., through clustering as described below) to determine the operating state.

[0109] In the example of Figure 5 In one example, three operating states are identified for the industrial process: an initial state 72 in which the concentration setpoint is greater than 8; a final state 76 in which the concentration setpoint is less than 3; and a transition state 74 in which the concentration setpoint is between 3 and 8. Three MPC models can be computed, each corresponding to an associated one of the three operating states. The state parameter CA (e.g., the concentration setpoint) can be used as a gain-scheduling parameter to switch between different models.

[0110] In some example implementations, it can be difficult to define boundaries of operating states of an industrial process based on a single state parameter, such as when the industrial process includes complex operational relationships between multiple operating state parameters. For example, it can be difficult to determine a single variable that is sufficient to characterize a current operating state of the industrial process. Moreover, operating states of an industrial process can change over time. For example, Figure 5 The three operating states identified in

[0111] In some example implementations, clustering techniques can be used to define operating states of an industrial process, such as clustering techniques from the field of artificial intelligence. Clustering algorithms, such as those used in the field of artificial intelligence, can assist a process engineer in determining operating regions.

[0112] For example, a user can define m clusters (where m = 1, 2, 3, or greater) for n state parameters (where n = 1, 2, 3, or greater). Each cluster can be associated with an operating state of the industrial process. In Figure 5 An example case includes three clusters (m = 3) with one state parameter (n = 1).

[0113] If there is only one state parameter (n = 1), such as temperature, the operating points will be scattered around three horizontal lines. Figure 7A An example is shown in which a first cluster 91 of industrial process operating points is scattered around a horizontal line near 70 degrees Celsius. A second cluster 92 is scattered around a horizontal line near 50 degrees Celsius, and a third cluster 93 is scattered around a horizontal line near 30 degrees Celsius.

[0114] In this example, Figure 7A Each point in the plot of

[0115] Figure 7B An example case is shown in which there are two state parameters (n = 2), temperature and pH. The operating points of the industrial process are scattered around three clusters. A first cluster 94 includes operating points near 70 degrees of higher temperature and 9 of higher pH, a second cluster 95 includes operating points near 50 degrees of intermediate temperature and 6 of intermediate pH, and a third cluster 96 includes operating points near 30 degrees of lower temperature and 3 of lower pH.

[0116] In some example implementations, such as when there are more than two state parameters (e.g., temperature, pH, and flow rate), a dimensionality reduction technique such as principal component analysis (PCA) can be applied first as a pre-processing step. PCA can project the operating states from a multi-dimensional space onto a two-dimensional space spanned by the principal components. Figure 7C An example is shown in which a first cluster 97 includes points having a first principal component value of approximately -100 and a second principal component value of approximately zero, a second cluster 98 includes points having a first principal component value of approximately zero and a second principal component value of approximately zero, and a third cluster 99 includes points having a first principal component value of approximately +100 and a second principal component value of approximately zero.

[0117] A model estimation module can be used to estimate process model parameters at each state (e.g., each operating state of the industrial process identified by a respective cluster). Example process model parameters at each state can include, for example, a process gain K, a time constant T, and a dead time θ. One example equation for a process model at each state can be:

[0118]

[0119] In some example implementations, the MPC device can include a plurality of first order plus time delay / de dead time (FOPTD) response models. For example, four FOPTD models can each be associated with a pair of input / output. Other MPC devices can implement more or fewer models.

[0120] After obtaining a plurality of models each associated with a respective one of the clusters of operating states, a plurality of MPC control strategies can be designed and downloaded to the MPC device (e.g., MPC device 50). The plurality of MPC control strategies and / or MPC models can be manually switched during operation of the MPC device, and / or can be automatically switched, e.g., by applying gain scheduling techniques. In some example implementations, the MPC device can not use a single gain scheduling parameter, e.g., the concentration setpoint state parameter CA shown in FIG. 5. Figure 5

[0121] Using a clustering algorithm can improve the functionality of the MPC device by automatically determining the dynamic operating regions of the industrial process. This can provide an easier solution for tracking changes in the process state, and can involve a simple implementation for engineers. The clustering algorithm can have a low computational complexity.

[0122] The clustering algorithm can allow the user to avoid the need to manually identify the operating regions of the industrial process, which can be a difficult manual task, in some cases, the engineer can only need to specify the number of clusters m that the clustering algorithm is to identify. The MPC device or other parts of the process control system can be configured to update the dynamic operating regions over time (e.g., in real-time or near real-time), as the dynamic operating regions can expand or shrink over time. For certain industrial processes, the dynamic operating regions can provide improved process control performance compared to predefined static operating regions. The number of operating regions can be specified as any suitable number, e.g., two operating regions, three operating regions, five operating regions, ten operating regions, or more.

[0123] As each model can correspond to a cluster (e.g., an operating state of the industrial process), each model can be updated (e.g., to account for dynamic changes in the industrial process over time) each time the cluster is updated. In some example implementations, clustering can be performed on historical data of the state parameters to determine preliminary operating regions. The final model parameters can be recorded at each adaptation step, and the process engineer can update the clusters (e.g., both the number of clusters and the data points of the clusters) after a specified operating period. The number of values in each cluster can be used to indicate the strength of each cluster.

[0124] ​In some example implementations, after identifying the clusters, the user interface can display dimensions of the clusters, e.g., contribution of each state parameter or each state parameter to each control process or model. This can allow the user to identify reasons to change or update the model.

[0125] In some example implementations, the clustering algorithm can include k-means clustering, density-based spatial clustering of applications with noise (DBSCAN), mean shift clustering, expectation maximization (EM) clustering using Gaussian mixture model (GMM), agglomerative hierarchical clustering, etc. Other dimensionality reduction algorithms can be used, e.g., kernel PCA, linear discriminant analysis (LDA), t-SNE, etc.

[0126] Figure 8 One example process for determining state parameter clusters of MPC devices of a process automation plant is shown. Figure 8 The process can be implemented by, e.g., MPC device 50 and / or other components of process control system 10.

[0127] The process starts at 104, where a controller, such as MPC device 50, can be configured to receive a specified number of operating point clusters. Then, at 108, the controller obtains, through an input interface, at least one operating state parameter associated with at least one component of a process automation plant. The at least one operating state parameter is obtained at multiple time points during operation of the process automation plant to define a plurality of historical operating state parameter values.

[0128] At 112, the controller is configured to apply a clustering algorithm to the plurality of historical operating state parameter values to define a specified number of operating regions. The specified number of operating regions can be equal to the specified number of operating point clusters.

[0129] At 116, the controller is configured to generate an MPC process model for each of the specified number of operating regions according to parameters associated with the operating regions. At 120, the controller senses a current state parameter of the at least one component of the process automation plant. At 124, the controller can be configured to control operation of the at least one component of the process automation plant according to the MPC process model associated with the current state parameter.

[0130] In some example implementations, the process can include, after generating each MPC process model, obtaining at least one operating state parameter obtained at a plurality of additional time points during operation of the process automation plant to define a plurality of updated operating state parameter values. A clustering algorithm can be applied to the plurality of updated operating state parameter values to define a specified number of updated operating regions, and the controller can generate, for each of the specified number of updated operating regions, an updated MPC process model from parameters associated with that updated operating region.

[0131] The clustering algorithm can include any suitable algorithm, such as a k-means clustering algorithm, a density-based spatial clustering of applications with noise (DBSCAN) algorithm, a mean shift clustering algorithm, an expectation maximization (EM) clustering algorithm using a Gaussian mixture model (GMM), or a hierarchical agglomerative clustering algorithm. Generating the MPC process model can include estimating process gain values, time constant values, and dead time values of the MPC process model from at least a portion of the plurality of historical operating state parameter values associated with the operating region of the MPC process model. The current state parameters can include any suitable parameters, such as chemical concentration values, temperature values, pressure values, and throughput values.

[0132] Figure 9 One example MPC device 130 is shown that includes a linear parameter varying (LPV) module 132. The LPV module 132 can be configured to allow the MPC device 130 to operate using an interpolated array of linear state space models for automatic gain scheduling. For example, the MPC device 130 can be configured to switch operation of at least one of the prediction block 42, the linear optimizer block 44, and the dynamic move calculation block 46 based on selected points forming a regular grid in the scheduling space, such as the LPV grid 140 shown. Figure 10

[0133] The state space model (e.g., MPC model) at each point 142 in the LPV grid 140 can represent the dynamics of the industrial process in the local vicinity of that point. The dynamics at scheduling locations between the grid points 142 can be obtained by interpolation of the adjacent points 142. In some example implementations, the MPC device 130 can use the interpolated models in real-time, while the state space models at each grid point 142 can be generated and obtained offline.

[0134] In some example implementations, the MPC device 130 can be configured to allow a user to estimate a new MPC model online and manually add the new MPC model to the set of models used by the MPC device 130. For example, a user can be able to compute / program a new MPC model and include it in the set of models used by the MPC device 130. Different MPC models can be generated offline to correspond to different operating nodes and then downloaded into the MPC device 130.​

[0135] As Figure 10 illustrated, one example interpolation array 140 for a linear state space model can include a plurality of grid points 142 in the scheduling space, which can form a grid. The number of points can be specified in advance and can correspond to a plurality of points along the scheduling variable Vi (e.g., temperature T) and the reference variable V2(e.g., concentration setpoint CA). Dynamics at scheduling locations between the grid points 142 can be obtained by interpolation at the adjacent points 142. In one example, reactor temperature T can be used as the scheduling variable, while three concentration setpoint values as the reference variable can represent different operating phases.

[0136] Figure 11A One example plot 152 of reactor temperature over time for an example industrial process controlled by an MPC device configured to implement model process parameters using linear parameter varying interpolation based on current operating state parameters of the industrial process is shown. For example, plot 152 can correspond to MPC device 130 configured to operate using LPV interpolation parameters corresponding to different adjacent grid points 142 in LPV grid 140 of Figure 10 .

[0137] As Figure 11A illustrated, the reactor temperature has a smoother and more stable closed loop response when transitioning from its rising value to its final steady state value, as compared to plot line 62 in Figure 4A , which is based on a single steady state model.

[0138] Figure 11B One example plot 154 of concentration over time for an example industrial process controlled by an MPC device configured to implement model process parameters using linear parameter varying interpolation based on current operating state parameters of the industrial process is shown. As shown in FIG. 1 IB, the concentration has a smoother and more stable closed loop response when transitioning from its falling value to its final steady state value, as compared to plot line 64 in Figure 4B , which is based on a single steady state model.

[0139] Figure 11C One example plot 156 of coolant temperature over time for an example industrial process controlled by an MPC device configured to implement model process parameters using linear parameter varying interpolation based on current operating state parameters of the industrial process is shown. As shown in Figure 11C , the coolant temperature has a smoother and more stable closed loop response, as compared to plot line 66 in Figure 4C , which is based on a single steady state model.

[0140] AsFigure 11A- Figure 11C As shown, the LPV process control system provides smooth and stable control during state transitions of the industrial process. Thus, control performance of nonlinear dynamic systems can be significantly improved by LPV adoption of model interpolation. In some example implementations, an MPC device using LPV control can provide better performance than gain-scheduling using model switching. In an LPV system, the granularity of control is increased because the local sub-models associated with the nodes in the scheduling space are specified in advance, and the scheduling locations between the grid points are obtained based on interpolation of neighboring points. The nodes containing sub-models in the LPV system can be distributed throughout the control system, such as throughout the process control system 10, and a master node can coordinate the controllers and interpolate control actions.

[0141] In some example implementations, the first MPC process model and the second MPC process model can define at least a portion of an interpolated array of linear state space models. The processor of the MPC device 130 can be configured to predict a future industrial process output from a current state parameter by interpolating a point between at least one control parameter of the first MPC process model and at least one control parameter of the second MPC process model.

[0142] The interpolation can include interpolating the point between the at least one control parameter of the first MPC process model and the at least one control parameter of the second MPC process model according to a distance between the current state parameter and a first state value associated with the first MPC process model and a second state value associated with the second MPC process model.

[0143] Figure 12 One example MPC device 160 is shown that includes an online model estimator module 162. The online model estimator module 162 can be configured to allow the MPC device 160 to operate using updated models provided in real-time by the online model estimator module 162. For example, the MPC device 160 can be configured to change operation of at least one of the prediction block 42, the linear optimizer block 44, and the dynamic move calculation block 46 based on continuously updated models from the online model estimator module 162, which can be configured to generate updated models every specified time period (e.g., every minute, every hour, etc.).

[0144] In some example implementations, a Kalman filter can be used with the online model estimator module 162. The online model estimator module 162 can improve the control performance of the MPC device 160 when dealing with nonlinear processes. The online model estimator module 162 can avoid the need to define the operating states of the industrial process and to perform gain scheduling, and can provide better performance for some industrial processes than gain scheduling using model switching. The online model estimator module 162 can allow the MPC device 160 to leverage, for example, built-in model estimation tools, such as Emerson’s DeltaV TM model estimation tools of process controllers.

[0145] Figure 13A An example plot 172 of reactor temperature over time for an example industrial process controlled by an MPC device configured to implement the online model estimator module is shown. As Figure 13A shown, the reactor temperature has a smoother and more stable closed-loop response when the reactor temperature transitions from its rise value to its final steady-state value, as compared to the plot 62 in Figure 4A based on a single steady-state model.

[0146] Figure 13B An example plot 154 of concentration over time for an example industrial process controlled by an MPC device configured to implement the online model estimator module is shown. As Figure 13B shown, the concentration has a smoother and more stable closed-loop response when the reactor temperature transitions from its rise value to its final steady-state value, as compared to the plot 64 in Figure 4B based on a single steady-state model.

[0147] Figure 13C An example plot 156 of coolant temperature over time for an example industrial process controlled by an MPC device configured to implement the online model estimator module is shown. As Figure 11C shown, the coolant temperature has a smoother and more stable closed-loop response, as compared to the plot 66 in Figure 4C based on a single steady-state model.

[0148] As Figure 13A- Figure 13C shown, using the online model estimator module 162 provides smooth and stable closed-loop control during state transitions of the industrial process. Thus, employing online model state estimation can significantly improve the control performance of nonlinear dynamic systems.

[0149] Because the MPC model is frequently updated by the online model estimator module 162 and can reflect the actual current process response of the industrial process, it can not be necessary to define operating states and perform gain scheduling. However, because control moves are constantly updated based on the latest model from the online model estimator module 162, the computational burden of the MPC device 160 can increase. To mitigate the computational burden, in some example implementations, cloud computing can be used, in which model estimation and control move computation are performed in the cloud.

[0150] The MPC device 160 can utilize built-in online estimation tools, such as Emerson’s DeltaV TM The MPC controller’s online estimation tools. Any suitable model architecture can be used, such as a finite step response (FSR) model, a first order plus time delay (FOPDT) model, etc. If the online model estimator module 162 is configured to generate a different type of model than the models used by other blocks of the MPC device 160, a model conversion step can be used.

[0151] In some example implementations, the MPC device 160 can include an input interface configured to receive industrial process inputs associated with at least one component of a process automation plant, an output interface configured to transmit control instructions to control operation of the at least one component of the process automation plant, and a memory configured to store the online model estimation module and computer executable instructions.

[0152] The MPC device 160 can include at least one processor configured to execute the computer executable instructions to identify at least one current manipulated variable and at least one current process variable of the process automation plant and generate an MPC process model from the manipulated variables and process variables of the industrial process of the process automation plant using the online model estimation module.

[0153] The MPC device 160 can be configured by instructions to receive the industrial process inputs through the input interface, predict future industrial process outputs from the received industrial process inputs using the generated MPC process model, calculate a target operating point from the predicted future industrial process outputs, determine control signals for driving the industrial process to the calculated target operating point, and output the determined control signals through the output interface to control operation of the at least one component of the process automation plant. The MPC device 160 can be configured by instructions to, after outputting the determined control signals, identify updated manipulated variables and updated process variables of the process automation plant and generate an updated MPC process model from the at least updated manipulated variables and updated process variables of the process automation plant using the online model estimation module.

[0154] The at least one current process variable can include one or more of a chemical concentration value, a temperature value, a pressure value, and a throughput value. The MPC process model can include at least one of a linear model, a finite step response (FSR) model, a first order plus dead time (FOPDT) model, and an autoregressive polynomial model.

[0155] Figure 14 is a block diagram of an example MPC device 180 that includes multiple MPC controllers deployed in containers of a pod 181 and a control scheduler 188. Each MPC controller can be constructed based on a different relevant state of an industrial process plant. For example, a first MPC controller 182 can be implemented in a first container of the pod 181 and associated with a first state of the industrial process plant, a second MPC controller 184 can be implemented in a second container of the pod 181 and associated with a second state of the industrial process plant, and a third MPC controller 186 can be located in a third container of the pod 181 and associated with a third state of the industrial process plant.

[0156] In some example implementations, the pods 181 and containers can be deployed in a Kubernetes open source system for automating deployment, scaling, and management of containerized applications. Such an architecture (e.g., a Kubernetes cluster) can include one master node and several worker nodes. The Kubernetes environment can be configured to run workloads by putting containers into pods (e.g., the pods 181) to run on the nodes. The nodes can be virtual machines or physical machines, and each node is managed by a control plane and contains services needed to run the pods.

[0157] Within each pod 181, multiple MPCs with gain scheduling are deployed, as shown in Figure 14 For example, a single MPC controller for one state can be deployed as a service in a container, and the MPC controller receives process variables Y from the MPC scheduler 188, which is also a containerized service. The MPC controller can perform calculations and send back controller output U_l. The MPC scheduler 188 can calculate the total controller output U by switching between different MPC controllers, by combining controller outputs, and so on.

[0158] In some example implementations, the MPC device 180 including the container architecture can improve control performance when dealing with nonlinear processes. The MPC device 180 can take advantage of various features of Kubernetes, such as automatic rollout and rollback (e.g., rolling out changes to a control application or its configuration, while monitoring the application health to make sure it does not kill all instances at the same time).

[0159] The MPC device 180 can implement self-healing by restarting failed containers, replacing and rescheduling containers when a node dies, and terminating containers that do not respond to user-defined health checks. The MPC device can not advertise containers to clients until they are ready to service.

[0160] In some example implementations, the MPC device 180 can implement horizontal scaling, which can include using simple commands, user interfaces, automatically scaling applications based on CPU usage, etc. The MPC device 160 can deploy multiple MPC controllers with gain scheduling in Kubernetes to improve nonlinear control performance. The MPC device 160 can be deployed in the cloud, such as AWS Elastic Kubernetes Engine (EKS) or Azure Kubernetes Service (AKS).

[0161] In some example implementations, the memory of the MPC device 160 can include a plurality of containers arranged in a pod architecture, a first MPC process model can be implemented in a first container of the plurality of containers, and a second MPC process model can be implemented in a second container of the plurality of containers. The processor can be configured to access the first MPC process model in the first container of the plurality of containers in response to the current state parameter having a first state value associated with the second MPC process model, and access the second MPC process model in the second container of the plurality of containers in response to the current state parameter having a second state value associated with the second MPC process model.

[0162] The pod architecture can be a Kubernetes architecture in which the first MPC process model is deployed as a service in the first container of the plurality of containers, the second MPC process model is deployed as a service in the second container of the plurality of containers, and the processor can be configured by instructions to execute an MPC scheduling service to switch between the first MPC process model and the second MPC process model based on the current state parameter. In some example implementations, the processor can be configured by instructions to execute the MPC scheduler service to combine outputs of the first MPC process model and the second MPC process model by interpolation based on the current state parameter.

[0163] The example implementations are provided so that this disclosure will be thorough, and will fully convey the scope to those who are skilled in the art. Numerous specific details are set forth such as examples of specific components, devices, and methods, to provide a thorough understanding of embodiments of the present disclosure. Those skilled in the art will recognize, however, that the example implementations can be practiced without the specific details given, that numerous implementation alternatives can be practiced, and that the specific details given are not intended to limit this disclosure in any manner. In some example implementations, well-known processes, well-known device structures, and well-known technologies are not described in detail.

[0164] The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. The terms "comprises," "comprising," "includes," and "including" are inclusive and therefore specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. The method steps, processes, and operations described herein are not to be construed as necessarily requiring their

[0165] Although the terms first, second, third, etc. can be used herein to describe various elements, components, regions, layers and / or sections, these elements, components, regions, layers and / or sections should not be limited by these terms. These terms can be only used to distinguish one element, component, region, layer or section from another region, layer or section. Terms such as "first," "second," and other numerical terms when used herein do not connote a sequential or chronological order, unless explicitly stated otherwise. Thus, a first element, component, region, layer or section discussed below could be termed a second element, component, region, layer or section without departing from the teachings of example embodiments.

[0166] For ease of description, spatially relative terms, such as "internal," "external," "lower," "bottom," "bottom portion," "upper," "top," and the like, can be used herein to describe one element's or feature's relationship to another element or feature as illustrated in the figures. Spatially relative terms can be intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. For example, if the device in the figures is turned over, elements described as "below" or "beneath" other elements or features would then be oriented "above" the other elements or features. Thus, the example term "below" can encompass both an orientation of above and below. The device can be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein interpreted accordingly.

[0167] The above description is merely illustrative in nature and is not intended to limit the present application, its application or uses. The broad teachings of the present application can be implemented in a variety of forms. Therefore, while this application includes particular examples, the true scope of the application should not be limited to such examples. One or more steps in a method can be performed in different orders (or concurrently) and still accomplish the desired outcome. As well, elements described with the vertical can be implemented in a different order (or concurrently) and still accomplish the desired outcome. In addition, although each of the embodiments describes a particular example, any one or more of the features described with respect to any of the embodiments can be implemented and / or combined with aspects of any of the other embodiments, even if that combination is not explicitly described. In other words, the described embodiments are not mutually exclusive, but rather the arrangements between one or more embodiments remain within the scope of this disclosure.

[0168] Spatial and functional relationships between elements (for example, between modules, circuit elements, semiconductor layers, etc.) are described using various terms, including "connected," "engaged," "coupled," "adjacent," "next to," "on," "above," "below," and "disposed." Unless explicitly described as being directly connected or engaged, a relationship between first and second elements described in the above disclosure can be a direct relationship where no other intervening elements are present between the first and second elements, but can also be an indirect relationship where one or more intervening elements (spatially or functionally) are present between the first and second elements. As used herein, the phrase at least one of A, B, and C should be construed to mean a logical A OR B OR C using the non-exclusive logical OR, and should not be construed to mean "at least one of A and / or B and / or C."

[0169] In the drawings, the direction of the arrows (as indicated by the arrows) generally demonstrates the flow of information (such as data or instructions) illustrated. For example, when elements A and B exchange a variety of information, but the information transmitted from element A to element B is relevant to the illustration, an arrow can be directed from element A to element B. This one-way arrow does not mean that no other information is transmitted from element B to element A. In addition, for information sent from element A to element B, element B can send a request for information or a receipt acknowledgment to element A.

[0170] The apparatuses and methods described in this application can be partially or entirely implemented by a special purpose computer created by configuring a general purpose computer to execute one or more particular functions embodied in computer programs. The aforementioned block components, flowchart components, and other elements can be used as software specifications to create computer programs, which can be converted by a skilled artisan or programmer into computer programs using routine programming or design tools.

[0171] A computer program includes processor-executable instructions stored on at least one non-transitory computer-readable medium. A computer program can also include or rely on stored data. A computer program can include the Basic Input / Output system (BIOS) that interacts with the hardware of the special purpose computer, device drivers that interact with particular devices of the special purpose computer, one or more operating systems, user applications, background services, background applications, etc.

[0172] A computer program can include: (i) descriptive text to be parsed, such as HTML (HyperText Markup Language), XML (Extensible Markup Language), or JSON (JavaScript Object Notation); (ii) assembly code; (iii) object code generated by a compiler, (iv) source code executed by an interpreter, (v) source code written in a scripting language that is interpreted in real-time, etc. By way of example only, source code can be written using a syntax from a language chosen from, among others: C, C++, C#, Objective-C, Swift, Haskell, Go, SQL, R, Lisp, Java®, Fortran, Perl, Pascal, Curl, OCaml, HTML5 (HyperText Markup Language Version 5), Ada, ASP (Active Server Pages), PHP (PHP: Hypertext Preprocessor), Scala, Eiffel, Smalltalk, Erlang, Ruby, Flash®, Visual Basic®, Java® Script, and Python®. Fortran, Perl, Pascal, Curl, OCaml, HTML5 (HyperText Markup Language Version 5), Ada, ASP (Active Server Pages), PHP (PHP: Hypertext Preprocessor), Scala, Eiffel, Smalltalk, Erlang, Ruby, Visual Lua, MATLAB, SIMULINK, and

[0173] The foregoing description of implementations has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the application to the precise form disclosed. Individual elements or features of a particular implementation are generally not limited to that particular implementation, but, where applicable, are interchangeable with other elements or features of another implementation, even if not specifically shown or described. The same can hold true for described manufacturing and implementation methods. Such changes do not depart from the scope of the present application. All modifications and alterations of this application will be appreciated in light of this disclosure and are intended to be within the scope of the application.

Claims

1. A model predictive control (MPC) device comprising: an input interface configured to receive an industrial process input associated with at least one component of a process automation plant; an output interface configured to transmit control instructions to control the operation of the at least one component of the process automation plant; a memory configured to store a first MPC process model, a second MPC process model, and computer-executable instructions, the first MPC process model including at least one control parameter different from a control parameter of the second MPC process model, the at least one control parameter including one or more of a gain value, a time constant value, and a deadtime value; and at least one processor configured to execute the computer-executable instructions to: receiving industrial process input via the input interface; identifying current state parameters of an industrial process of the process automation plant; In response to the current state parameter having a first state value associated with the first MPC process model, predicting a future industrial process output based on the received industrial process input using the first MPC process model; predicting the future industrial process output based on the received industrial process input using the second MPC process model in response to the current state parameter having a second state value associated with the second MPC process model, the first state value being different from the second state value; calculating a target operating point based on the predicted future industrial process output; determining a control signal for driving the industrial process to the calculated target operating point; as well as The determined control signal is output through the output interface to control the operation of the at least one component of the process automation plant.

2. The MPC device according to claim 1, wherein Each of the first MPC process model and the second MPC process model includes a linear steady-state model obtained through a step test.

3. The MPC device according to claim 1 or 2, wherein: The at least one processor is configured to switch operation between the first MPC process model and the second MPC process model based on automatic detection of a change in the current state parameter from the first state value associated with the first MPC process model to the second state value associated with the second MPC process model.

4. The MPC device according to any one of claims 1 to 3, wherein: The at least one processor is configured to switch operation between the first MPC process model and the second MPC process model in response to manual input received at the MPC device.

5. The MPC device according to any one of claims 1 to 4, wherein: The current state parameter includes at least one of a chemical concentration value, a temperature value, a pressure value, and a throughput value.

6. The MPC device according to any one of claims 1 to 5, wherein: The at least one processor is configured to: receiving a third MPC process model having at least one control parameter different from the control parameters of the first and second MPC process models, the third MPC process model being associated with a third state value of the process automation plant, the third state value different from the first and second state values; storing the third MPC process model in the memory; as well as In response to the current state parameter having the third state value, the future industrial process output is predicted based on the received industrial process input using the third MPC process model.

7. The MPC device according to any one of claims 1 to 6, wherein: The at least one component of the process automation plant includes a continuous stirred tank reactor.

8. The MPC device according to any one of claims 1 to 2, 5 and 7, wherein: The first MPC process model and the second MPC process model define at least a portion of an interpolation array of a linear state-space model, and the at least one processor is configured to: The future industrial process output is predicted based on the current state parameter by interpolating points between at least one control parameter of the first MPC process model and at least one control parameter of the second MPC process model.

9. The MPC device according to claim 8, wherein The interpolating includes interpolating the point between the at least one control parameter of the first MPC process model and the at least one control parameter of the second MPC process model based on a distance between the current state parameter and the first state value associated with the first MPC process model and the second state value associated with the second MPC process model.

10. The MPC device according to any one of claims 1 to 2, 5 and 7, wherein The memory includes a plurality of containers arranged in a pod architecture, the first MPC process model is implemented in a first container of the plurality of containers, the second MPC process model is implemented in a second container of the plurality of containers, and the at least one processor is configured to: accessing the first MPC process model in the first container of the plurality of containers in response to the current state parameter having the first state value associated with the second MPC process model; as well as In response to the current state parameter having the second state value associated with the second MPC process model, the second MPC process model in the second container of the plurality of containers is accessed.

11. The MPC apparatus of claim 10, wherein: The pod architecture is a Kubernetes architecture; The first MPC process model is deployed as a service in the first container among the multiple containers; The second MPC process model is deployed as a service in the second container among the plurality of containers; and The at least one processor is configured to execute an MPC scheduler service to switch between the first MPC process model and the second MPC process model based on the current state parameter.

12. The MPC apparatus of claim 10, wherein: The pod architecture is a Kubernetes architecture; The first MPC process model is deployed as a service in the first container among the multiple containers; The second MPC process model is deployed as a service in the second container among the plurality of containers; and The at least one processor is configured to execute an MPC scheduling service to combine outputs of the first MPC process model and the second MPC process model by interpolation based on the current state parameters.

13. A method for determining a state parameter cluster of an MPC device of a process automation plant, comprising: Receive a specified number of operating point clusters; obtaining, through an input interface, at least one operating state parameter associated with at least one component of the process automation plant, the at least one operating state parameter being obtained at a plurality of time points during operation of the process automation plant to define a plurality of historical operating state parameter values; applying a clustering algorithm to the plurality of historical operating state parameter values ​​to define a specified number of operating regions, the specified number of operating regions being equal to the specified number of operating point clusters; generating, for each of the specified number of operating regions, an MPC process model based on parameters associated with the operating region; sensing a current state parameter of the at least one component of the process automation plant; as well as Operation of the at least one component of the process automation plant is controlled according to the MPC process model associated with the current state parameters.

14. The method according to claim 13, further comprising: After generating each MPC process model, obtaining at least one operating state parameter obtained at a plurality of additional time points during operation of the process automation plant to define a plurality of updated operating state parameter values; applying the clustering algorithm to the plurality of updated operating state parameter values ​​to define a specified number of updated operating regions; as well as For each of the specified number of updated operating regions, an updated MPC process model is generated based on parameters associated with the updated operating region.

15. The method according to claim 13 or 14, wherein: The clustering algorithm includes at least one of a k-means clustering algorithm, a density-based spatial clustering of applications with noise (DBSCAN) algorithm, a mean-shift clustering algorithm, an expectation-maximization (EM) clustering algorithm using a Gaussian mixture model (GMM), and an agglomerative hierarchical clustering algorithm.

16. The method according to any one of claims 13 to 15, wherein: Generating the MPC process model includes estimating a process gain value, a time constant value, and a deadtime value of the MPC process model based on at least a portion of a plurality of historical operating state parameter values ​​associated with an operating region of the MPC process model.

17. The method according to any one of claims 13 to 16, wherein: The current state parameter includes at least one of a chemical concentration value, a temperature value, a pressure value, and a throughput value.

18. A model predictive control (MPC) device comprising: an input interface configured to receive an industrial process input associated with at least one component of a process automation plant; an output interface configured to transmit control instructions to control the operation of the at least one component of the process automation plant; a memory configured to store an online model estimation module and computer-executable instructions; as well as at least one processor configured to execute the computer-executable instructions to: identifying at least one current manipulated variable and at least one current process variable of the process automation plant; generating an MPC process model based on the at least one current manipulated variable and the at least one current process variable of the industrial process of the process automation plant using the online model estimation module; receiving industrial process input via the input interface; using the generated MPC process model to predict future industrial process outputs based on the received industrial process inputs; calculating a target operating point based on the predicted future industrial process output; determining a control signal for driving the industrial process to the calculated target operating point; outputting the determined control signal through the output interface to control the operation of the at least one component of the process automation plant; identifying an updated manipulated variable and an updated process variable of the process automation plant after outputting the determined control signal; as well as An updated MPC process model is generated based on at least the updated manipulated variables and the updated process variables of the process automation plant using the online model estimation module.

19. The MPC apparatus according to claim 18, wherein The at least one current process variable includes one or more of a chemical concentration value, a temperature value, a pressure value, and a throughput value.

20. The MPC apparatus of claim 19, wherein: The MPC process model includes at least one of a linear model, a finite step response (FSR) model, a first order plus dead time (FOPDT) model, and an autoregressive polynomial model.