Integrated model predictive control and optimization within a process control system
First Claim
1. A process control configuration system for use in creating or viewing a control block having an integrated optimizer and a multiple-input/multiple-output control routine, comprising:
- a computer readable medium;
a configuration routine stored on the computer readable medium and adapted to be executed on a processor, the configuration routine including;
a storage routine that stores information pertaining to a plurality of control and auxiliary variables and to a plurality of manipulated variables used by one or both of the optimizer and the multiple-input/multiple-output control routine, the information pertaining to the plurality of control and auxiliary variables and to the plurality of manipulated variables including response information for each of at least some of the control and auxiliary variables, the response information indicative of respective responses of each of the at least some of the control and auxiliary variables to respective manipulated variables; and
a display routine adapted to present a display to a user regarding one or more of the control, auxiliary and manipulated variables, the display including a subset of the response information, the subset of the response information including response information indicative of responses of each of the at least some of the control and auxiliary variables to at least one of the manipulated variables.
1 Assignment
0 Petitions
Accused Products
Abstract
A process control configuration system is provided for use in creating or viewing an integrated optimization and control block that implements an optimization routine and a multiple-input/multiple-output control routine. The configuration system may enable a user to display or configure the optimizer or the control routine. A storage routine may store information pertaining to a plurality of control and auxiliary variables and to a plurality of manipulated variables to be used by the optimization routine and/or the control routine. A display routine may present a display to a user regarding the information pertaining to the plurality of control and auxiliary variables and to the plurality of manipulated variables.
-
Citations
35 Claims
-
1. A process control configuration system for use in creating or viewing a control block having an integrated optimizer and a multiple-input/multiple-output control routine, comprising:
-
a computer readable medium;
a configuration routine stored on the computer readable medium and adapted to be executed on a processor, the configuration routine including;
a storage routine that stores information pertaining to a plurality of control and auxiliary variables and to a plurality of manipulated variables used by one or both of the optimizer and the multiple-input/multiple-output control routine, the information pertaining to the plurality of control and auxiliary variables and to the plurality of manipulated variables including response information for each of at least some of the control and auxiliary variables, the response information indicative of respective responses of each of the at least some of the control and auxiliary variables to respective manipulated variables; and
a display routine adapted to present a display to a user regarding one or more of the control, auxiliary and manipulated variables, the display including a subset of the response information, the subset of the response information including response information indicative of responses of each of the at least some of the control and auxiliary variables to at least one of the manipulated variables. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A process control system for controlling a process, comprising:
-
a multiple-input/multiple-output controller adapted to produce, during each operational cycle of the process control system, multiple control outputs configured to control the process based on multiple measured inputs from the process and based on a set of target values provided to the multiple-input/multiple output controller during each operational cycle of the process control system; and
an optimizer adapted to develop the set of target values for use by the multiple-input/multiple-output controller during each operational cycle of the process control system;
wherein the optimizer is a linear or quadratic programming optimizer including an objective function and the optimizer is adapted to minimize or maximize the objective function while keeping a set of control variables within predefined set point limits, a set of auxiliary variables within a set of predefined auxiliary variable limits and a set of manipulated variables within a set of predefined manipulated variable limits and, if no solution exists, to enable at least one of the set point limits to be violated. - View Dependent Claims (19, 20, 21)
-
-
22. A process control system for controlling a process, comprising:
-
a response matrix defining a reaction of each of a set of control and auxiliary variables to a change in each of a set of manipulated variables, wherein a number of control and auxiliary variables in the set of control and auxiliary variables is equal to a first number, wherein a number of manipulated variables in the set of manipulated variables is equal to a second number;
a linear or quadratic optimizer adapted to;
produce a set of target manipulated variable values, the target manipulated variable values defining an optimal operating point, based on a set of predicted values of control and auxiliary variables of the process and based on a set of current values of manipulated variables of the process, wherein a number of predicted values of control and auxiliary variables in the set of predicted values of control and auxiliary variables is equal to the first number, wherein a number of current values of manipulated variables in the set of current values of manipulated variables is equal to the second number;
use a set of predicted control and auxiliary variables, a set of predicted manipulated variables, and the response matrix to produce a set of target values for a predetermined subset of a set of control and auxiliary variables, wherein a number of predicted control of auxiliary variables in the set of predicted control and auxiliary variables is equal to the first number, wherein a number of control and auxiliary variables in the predetermined subset of the set of control and auxiliary variables is different than the first number;
wherein the linear or quadratic optimizer is adapted to produce the set of target manipulated variable values that maximize or minimize an objective function while keeping each of the control variables at predefined set points and each of the auxiliary variables and manipulated variables within predefined constraint limits;
wherein the optimizer is adapted to produce the set of target manipulated variable values that maximize or minimize the objective function while keeping each of the control variables within predefined set point limits and each of the auxiliary variables and manipulated variables within constraint limits when a solution that keeps each of the control variables at predefined set points and each of the auxiliary variables and manipulated variables within predefined constraint limits does not exist;
wherein the optimizer is adapted to produce the set of target manipulated variable values that maximize or minimize the objective function while keeping each of the auxiliary variables within predefined constraint limits and the manipulated variables within predefined constraint limits while allowing one or more of the control variables to violate predetermined set point limits based on priorities associated with the control variables when a solution that keeps each of the control variables within predefined set point limits and each of the auxiliary variables and manipulated variables within predefined constraint limits does not exist;
a multiple-input/multiple-output controller adapted to;
produce the set of predicted control and auxiliary variables and the set of predicted manipulated variables and. combine the set of target values for the predetermined subset of the set of control and auxiliary variables with measured values of the predetermined subset of the set of control and auxiliary variables to produce a set of manipulated control signals to control the manipulated variables of the process, wherein a number of the manipulated control signals in the set of manipulated is equal to the second number;
- View Dependent Claims (23, 24)
-
-
25. A method of controlling a process having a plurality of manipulated variables and a multiplicity of control and auxiliary variables capable of being effected by changes in the manipulated variables, wherein the plurality of manipulated variables is different in number than the multiplicity of control and auxiliary variables, the method comprising;
-
selecting a subset of the multiplicity of control and auxiliary variables to use in performing process control, wherein selecting the subset includes selecting one of the control or auxiliary variables as being most responsive to one of the manipulated variables;
creating a control matrix using the selected subset of the multiplicity of the control and auxiliary variables and the plurality of manipulated variables;
generating a controller from the control matrix having the selected subset of the multiplicity of the control and auxiliary variables as inputs and the plurality of manipulated variables as outputs;
performing process optimization by selecting a process operating point to minimize or maximize an objective function dependent on the plurality of manipulated variables and the multiplicity of control and auxiliary variables, said process operating point defined by a set of target values for the selected subset of the multiplicity control and auxiliary variables;
performing a multiple-input/multiple output control technique using a controller generated from the control matrix to develop a set of manipulated variable values from the target values for the selected subset of the multiplicity of control and auxiliary variables and measured values of the selected subset of the multiplicity of control and auxiliary variables; and
using the developed set of manipulated variable values to control the process. - View Dependent Claims (26, 27, 28)
-
-
29. A method of controlling a process having a plurality of manipulated variables and a multiplicity of control and auxiliary variables capable of being effected by changes in the manipulated variables, wherein the plurality of manipulated variables is different in number than the multiplicity of control and auxiliary variables, the method comprising;
-
selecting a subset of the multiplicity of control and auxiliary variables to use in performing process control, wherein a number of control and auxiliary variables in the subset is less than a number of manipulated variables in the plurality of manipulated variables;
creating a control matrix using the selected subset of the multiplicity of the control and auxiliary variables and the plurality of manipulated variables;
generating a controller from the control matrix having the selected subset of the multiplicity of the control and auxiliary variables as inputs and the plurality of manipulated variables as outputs;
performing process optimization by selecting a process operating point to minimize or maximize an objective function dependent on the plurality of manipulated variables and the multiplicity of control and auxiliary variables, said process operating point defined by a set of target values for the selected subset of the multiplicity control and auxiliary variables;
performing a multiple-input/multiple output control technique using a controller generated from the control matrix to develop a set of manipulated variable values from the target values for the selected subset of the multiplicity of control and auxiliary variables and measured values of the selected subset of the multiplicity of control and auxiliary variables; and
using the developed set of manipulated variable values to control the process.
-
-
30. A process control element adapted to be used as a portion of a process control routine implemented on a processor to control a plurality of control and auxiliary parameters of a process using a multiplicity of manipulated parameters, the process control element comprising:
-
a computer readable medium;
a function block stored on the computer readable medium and adapted to be executed on the processor to implement multiple-input/multiple output control of the process during each control scan period, the function block including;
an objective function that defines an optimization criteria based on the plurality of control and auxiliary parameters, wherein the objective function defines an optimization criteria based on a first number of control and auxiliary parameters;
an optimizer routine that uses the objective function to produce a set of optimal target values for the control and auxiliary parameters during each control scan period, wherein the optimizer routine includes a linear or quadratic programming routine;
a control matrix that relates a predetermined subset of the plurality of control and auxiliary parameters to the multiplicity of manipulated parameters, wherein a number of control and auxiliary parameters in the predetermined subset is equal to the first number, wherein a number of manipulated parameters in the multiplicity of manipulated parameters is equal to the first number; and
a multiple-input/multiple-output control routine that produces a control signal for each of the multiplicity of manipulated parameters during each control scan period using the control matrix and the target values for the subset of the plurality of control and auxiliary variables, wherein the control signals are determined to drive the subset of the plurality of control and auxiliary parameters to the optimal target values for the subset of control and auxiliary parameters, wherein the multiple-input/multiple-output control routine includes a model predictive control routine.
-
-
31. A process control element adapted to be used as a portion of a process control routine implemented on a processor to control a plurality of control and auxiliary parameters of a process using a multiplicity of manipulated parameters, the process control element comprising:
-
a computer readable medium;
a function block stored on the computer readable medium and adapted to be executed on the processor to implement multiple-input/multiple output control of the process during each control scan period, the function block including;
an objective function that defines an optimization criteria based on the plurality of control and auxiliary parameters;
an optimizer routine that uses the objective function to produce a set of optimal target values for the control and auxiliary parameters during each control scan period;
a control matrix that relates a predetermined subset of the plurality of control and auxiliary parameters to the multiplicity of manipulated parameters; and
a multiple-input/multiple-output control routine that produces a control signal for each of the multiplicity of manipulated parameters during each control scan period using the control matrix and the target values for the subset of the plurality of control and auxiliary variables, wherein the control signals are determined to drive the subset of the plurality of control and auxiliary parameters to the optimal target values for the subset of control and auxiliary parameters;
wherein the function block includes a storage for storing a set of control parameter set points and a set of auxiliary and manipulated parameter limits and wherein the optimizer routine is configured to determine the set of optimal target values for the manipulated parameters which result in the control parameters being at the control parameter set points, the auxiliary and manipulated parameters being within the auxiliary and manipulated parameter limits and the objective function being minimized or maximized;
wherein the storage also stores a set of control parameter set point limits and the optimizer routine is adapted to produce the set of optimal target values for the manipulated parameters that maximize or minimize the objective function while keeping each of the control parameters within the control parameter set points limits and each of the auxiliary parameters and manipulated parameters within the auxiliary and manipulated parameter limits when a solution that keeps the control parameters at the control parameter set points and the auxiliary and manipulated parameters within the auxiliary and manipulated parameter limits does not exist;
wherein the storage also stores a set of priority indications for the control parameters and the optimizer routine is adapted to produce the set of target manipulated parameters that maximize or minimize the objective function while keeping each of the control parameters within the control parameter set points limits while allowing one or more of the control parameters to violate the control parameter set point limits based on the priority indications for the control parameters when a solution that keeps each of the control parameters within the control parameter set point limits and each of the auxiliary parameters and manipulated parameters within the auxiliary and manipulated parameter limits does not exist;
wherein the storage also stores a set of priority indications for the auxiliary parameters and the optimizer routine is adapted to produce the set of target manipulated parameters that maximize or minimize the objective function while allowing at least one of the auxiliary parameters to violate the auxiliary parameter limits based on the priority indications for the auxiliary parameters and the control parameters to violate the control parameter set point limits based on the priority indications for the control parameters when a solution that keeps each of the control parameters within the control parameter set point limits and each of the auxiliary parameters and manipulated parameters within the auxiliary and manipulated parameter limits does not exist.
-
-
32. A method of performing control of a process having a first number of control and auxiliary variables controlled by a second number of manipulated variables, the method comprising:
-
determining a step response matrix defining a response of each of the control and auxiliary variables to changes in each of the manipulated variables;
selecting a subset of the control and auxiliary variables, the subset having the same or less number of control and auxiliary variables as manipulated variables, wherein selecting the subset includes selecting one of the control or auxiliary variables as being best responsive to one of the manipulated variables;
creating a square control matrix from the responses within the response matrix for the selected subset of the control and auxiliary variables and the manipulated variables; and
during each scan of the process;
obtaining a measure of each of the selected subset of the control and auxiliary variables;
calculating an optimal operating target value for each of the selected subset of the control and auxiliary variables;
performing a multiple-input/multiple-output control routine using the target values for the each of the selected subset of the control and auxiliary variables, the measures of the selected subset of the control and auxiliary variables and the control matrix to produce a set of manipulated parameter signals; and
using the manipulated parameter signals to control the process. - View Dependent Claims (33, 34, 35)
-
Specification