A METHOD OF MULTIVARIABLE PREDICTIVE CONTROL UTILIZING RANGE CONTROL

Abstract: A process control system which includes at least one manipulated variable and at least one controlled variable, provides a method for robust control of a process. Predetermined constraints of the manipulated variables and the controlled variables, and the present values of the manipulated variables are obtained. New values are calculated for the controlled variables for a predetermined number of points in the future, such that the values of the controlled variables are within the predetermined range, thereby obtaining an optimal robustness of the resultant controller. The manipulated variables are also calculated to be within predetermined constraints, and the controlled variables to fall within a predetermined range when controllable. From a plurality of solutions, a most robust solution is selected. Then the manipulated variables are adjusted to cause the process control system to drive the values of the controlled variables to the calculated values.

Description: A METHOD OF MULTINARIABLE PREDICTIVE CONTROL UTILIZING RANGE CONTROL BACKGROUND OF THE INVENTION The present invention relates to control systems, and more particularly, to a method of robust multivariable predictive control (RMPC) techniques utilizing range controls. In present day process control systems, many techniques are presently in use which utilize model predictive control techniques which control process variables to predetermined setpoints. Oftentimes the setpoints are a best estimate by the system operator of the value of the setpoint or setpoints. When a process is being controlled to a setpoint, the controller may not be able to achieve the best control performances, especially under process/model mismatch. In order to enhance the controller performance, there is a need to provide a method for controlling a process which controls the process variables (i.e., controlled variables) by commanding each manipulated variables associated with the controller of the process control system to a corresponding range, i.e., each control specification having an upper bound and a lower bound. The result is that the Frobenius norm of the controller is minimized and thus the process is controlled within the desired tolerance of the product specification, the impact to the system is reduced, and results in a more robust controller. SUMMARY OF THE INVENTION Therefore, there is provided by the present invention, a controller which controls each controlled variable of a process to be within a corresponding predetermined range. A process control system includes at least one manipulated variable and at least one controlled variable. A method which provides robust control of a process, comprises the steps of initializing the robust control to have predetermined constraints of the manipulated variables and the controlled variables. The present values of the manipulated variables and the controlled variables are then obtained. New values are calculated for the controlled variables for a predetermined number of points in the future, such that the values of the controlled variables are within the predetermined range thereby obtaining an optimal robustness of the resultant controller. The manipulated variables are also calculated to be within predetermined constraints, and the controlled variables to fall within a predetermined range when controllable; otherwise, to keep the controlled variable constraint violations to a minimum. From a plurality of solutions, a most robust solution is selected. Then the manipulated variables are adjusted to cause the process control system to drive the values of the controlled variables to the calculated values. Accordingly, it is an object of the present invention to provide a more robust controller for a process control system. It is another object of the present invention to provide a more robust multivariable predictive controller. It is still another object of the present invention to provide a more robust multivariable predictive controller wherein each controlled variable of the process is controlled to be within a range having an upper bound and a lower bound. These and other objects of the present invention will become more apparent when taken in conjunction with the following description and attached drawings, wherein like characters indicate like parts, and which drawings form a part of the present application. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 shows a functional block diagram of a process control system in which the present invention may be utilized; Figure 2 shows the system of Figure 1 which effectively includes three sub- controllers; and Figure 3 shows a timing diagram of an application of the range control formulation of the present invention. DETAILED DESCRIPTION Referring to Figure 1, there is shown a functional block diagram of a process control system in which the present invention may be utilized. A controller 10 has multiple outputs, which are coupled as input variables u to a process 20. The process 20 can include, for example, a plurality of elements which can be controlled such as valves, heaters, . . . . Process variables y of process 20 include temperature, pressure, level, flow, . . . which govern product quality. The input variables (or manipulated variables) u, are defined as: u, u, u„ and the output variables (or controlled variables) cv, are defined as: Thus, the process 20 is a dynamic process P(s) having m manipulated variables and n controlled variables. The controlled variables (cv) include n] regulated cv, n 2 restrained cv, and n 3 optimized cv. Generally, n > m > iij In the present invention, the control specification, r, (this is referred to as setpoint in previous systems) is defined as follows: For the regulated cv, the lower bound is equal to the upper bound, r, = r, . For the restrained cv, the upper bound is greater than the lower bound, r, > r, , or there is either a lower bound only or there is an upper bound ox ^ y. Finally, for the optimized cv, there is no bound at all. Referring to Figure 2, there is shown the system of Figure 1, which effectively includes three sub-controllers 11, 12, 13 to handle the three cases identified above. The range control function of controller 10 is formulated to handle the three cases identified above in accordance with: min-||W (Ax-y)||- χ »y 2 2 Subject to: MY ≤ x ≤ MV, and PV ≤ y ≤ PN; where, W is a user weighing matrix; A is a matrix (a^ coefficients) that relates the process dynamics of an output to an input; y is range variables (extension of setpoint); and x is the manipulated variable u or Δu (i.e, Δu = Uc URREΝT - u LAST ), depending on application. FV and PV (process variable) is the range it is desired to have the process operate, and MV and MN is the range physical limits it is desired to have the process operate. The controller has to find not only a best solution x, the movements of the manipulated variables u, but also must find an optimal point at which the process should be operating within the range, i.e., within the high-low-bound. The solution to the formulation of the controller can result in one of three cases. * * * * Case 1 - there is a unique solution (of x , y ) and Ax ≠ y ; * * * * Case 2 - there is an infinite number of solutions (x , y ) and Ax = y ; and * * * * Case 3 - there is an infinite number of solutions (x , y ) and Ax ≠ y . Most of the solutions fall within Case 2 or Case 3. Case 1 indicates the process is not controllable. For Case 2 and Case 3, it is desirable to find the most robust solution, i.e., find the solution which gives the smallest risk under model/process mismatch, which generally is the smallest move. Thus, for Case 2 and 3, it is desired to minimize the upper bound of the maximum singular value of the controller, minll Q llfio, % such that x = Q x (predicted error) where Q is the controller matrix, q- are the elements of the controller matrix Q, i.e., minimize the norm of the controller. Norm is the measure of the magnitude of the controller, i.e., an extension of the controller gain. In multivariable cases, the concept of gain is lost. Mathematically the gain is described by the "maximum singular value" or its upper bound, i.e., a Frobenius norm. Thus, the solution which corresponds to the smallest magnitude of the controller is found. This results in a greatly enhanced robustness of the controller. As a result of the added complexity but increased advantages, computational load on the controller 10 is increased. In order to achieve added robustness and to handle PV constraints, the controller needs to compute where the manipulated variables should be and also where the controlled variables (cv) should be. The controller 10 solves a "staged" non-linear programming problem. First, the range control formulation is solved, and second (for a Case 2 or Case 3 solution) solve to minimize the magnitude of the controller. The programming can be converted into a "staged" semi-positive quadratic programming (QP) solution, well known to those skilled in the art. Referring to Figure 3, there is shown a timing diagram of an application of the range control formulation of the present invention indicating a versatile performance feature. Here the process variable has a range. The process variable has a process variable upper and lower bound PV and PV, respectively, specified by the user. Similarly, as discussed previously, the user specifies the upper and lower bounds for the manipulated variables (MV) (not shown). The current time is shown as t = 0 and for each PV, in this example, there are five (5) PV values predicted ahead. If there are 20 PVs, then 100 PV values are to be entered, No. 1 through 5 PV value pairs for the first PV, No. 6 through 10 PV value pairs for the second PV, . . . and finally No. 96 through 100 PV value pairs for the twentieth PV. Thus, PV, and PV^ PV 2 and Ε , PV 3 and PV 3 , PV 4 and PV,, and PV 5 and PV 5 values are entered by the user in this example. Here, in order to achieve robustness, the MV values are assumed to hold unchanged. The solutions of the range control formulation are y -, y 2> y 3> y 4> an ^ i y 5 - Each of the solutions y are within the PV bounds specified. By specifying a "funnel" (the specification of the PV high and low boundary), then a number of solutions are obtained because the trajectory can be anywhere within the funnel, and the one solution which corresponds to the least magnitude of the controller is determined. Thus, the Range Control formulation hand all controlled variable constraints dynamically, even if the number of constrained controlled variables is greater than the number of manipulated variables, and exhibits greater control robustness. Following is a section entitled "Range Concept and Range Control Formulation" (originally attached as Appendix 1) that includes the detailed mathematics to support the detailed description section of the specification. RANGECONCEPTANDRANGECONTROLFORMULATION For most MIMO control applications, there are often more PVs of control interest than MVs available to manipulate. Fortunately, most PVs of control interest are the PVs to be controlled within two distinct high and low constraints (or bounds). Those PVs are referred to as restrained PVs. There is usually no control performance required as long as the restrained PVs are within their bounds. For this reason, the restrained PVs can and should be treated differently from the traditional CVs (Controlled Variable) in order to gain additional control robustness that is often more desired than holding (in prediction) a selected number of restrained PVs straight lines within their physical constraints. Since the acronym "CV" (Controlled Variable) has been associated with a vague concept that we will further subdivide, it seems to be a good idea to extend the definition of CV and define two new subcategories under Controlled Variables. Note that under this extended definition, the meaning of Controlled Variables is no longer limited to the PVs to be controlled at their (internal or external) setpoints as implied or defined in many MIMO controller packages. Note also that one can further define subcategories in parallel to Regulated PVs and Restrained PVs, or as subcategories of either Regulated PVs or Restrained PVs. It is noteworthy that, in this extended definition of the CV, the Regulated PV is just a special case of the Restrained PV, where the high and low bounds happen to equal each other and become an equivalent setpoint. This yields a mathematically convenient range control formulation. In other words, the range control algorithm is formulated on the concept of range - the high/low bounds. The regulation at setpoint is treated as a special case; therefore, the tasks of regulation and constraint handling are mathematically unified. In general, the process model is a non-square system. Suppose the process is m- input-n-output system, or n x m system. And the vast majority of the process control task can be represented as follows: nl outputs of the system are desired to be regulate (or controlled at setpoint); n2 outputs are desired to be controlled within their high-lo bounds (some of those bounds can be infinite). Within the second category, n3 of n2 outputs are to be optimized (either minimized or maximized) with or without bounds. Suppose the model can be described by finite step responses of multiple inputs we can always represent the changes of multiple outputs in the following form, Δpv = A Δmv where A is NxM matrix. N = n*(prediction points); M = m*(mv blocking points). Furthermore, we would like to find most control-robust moves to achieve regulations on the nl regulated process variables, maintain the n2 restrained process variables within their bounds respectively and, if possible, move the n3 optimized process variables to an optimum. Figure 3.1. RMPC Controller Structure The controller to achieve the above tasks can be described in the Figure 3.1. Where "robust regulatory controller," "robust restrained controller" and "dynamic optimizer" represent three different sub-controllers. Each sub-controller is discussed as follows. First, the on-line portion of robust regulatory controller and robust restrained controller can be formulated in the following generic form. For all vector Δmv e R M and a dynamic system matrix A e R N *M, th e corresponding change in outputs, A*Δmv, forms the range space of A. When Δmv is constrained in a box B mv (called mv-box), i.e., xlj < Δmvj < xu;, for i = 1 ... M, A*Δmv forms a convex region RA in space R N . At any particular time interval in control, the predicted output changes, Δpv e R N , are, if possible, desired to be restrained in a predefined box B pv (called pv-box), yl j < ΔpV j < yu j , V j = 1 ...N. For those regulated process variables, yl j = yu j , and for others, -∞ < yl j < yu j < ∞. Geographically, the control task is to find, if B pv nRA = {0}, the shortest distance (usually weighted) between two regions B pv and RA, or if B pv nRA ≠ {0}, the most control-robust moves (for instance, || Δmv || 2 -minimized solution) so that A*Δ v so , ut j on t Jjpv Let x denote Δmv and y denote Δpv Mathematically, the controller is formulated as subject to xlj < X; < xu i5 V i = 1 ... M 1- z, z≤ l Where a j is the j-th row A and Φ is defined as Φ(z, 1, u) ; z - u, z ≤ l 0, others ; and W j > 0 is a positive weight for j-th PV violation. If multiple solutions exist, find the one that obtains the most robustness. For the sake of readability, the | x || 2 -minimized solution is used here. || Q || fro - minimized solution is discussed in the next section, where Q is the MIMO controller. This mathematical representation of range control formulation presents a number of advantages: (a) It does not specify "at will" where within their bounds all the process variables should be at, except those regulated process variables. Instead, it lets the controller figure out where the best place they should be at in order to gain control robustness or minimize the || Q || fr0 . (b) It allows the control designer to specify a pair of tighter high/low bounds for a regulated process variable at the end of the prediction horizon, and to specify a pair of looser high/low bounds for the same regulated process variable at the beginning and in the middle of the prediction horizon. The computer realization of the controller formulation (3.3.1) can be devised by the following two steps corresponding to the first two sub-controllers, robust restrained controller and robust regulatory controller in the Figure 3.1. 1) The task of the restrained controller is to test if B pv nRA = {0}and yield solution accordingly. The following Quadratic Programming (QP) problem is solved to find MV moves to minimize predicted PN violations. subject to xl i < Xj < xu i? V i = 1 ... M; and yl j < y j < yU j , Vj = l ... Ν. Where W=Diagonal([w, ... w N ]) is the diagonal weighting matrix. Denote the solution to (3.3.2) as (x*, y*), and define D* = Ax* - y*. If D* ≠ 0, then B pv nRA = {0}. And multiple solutions could still exist. Then, ι 2 1 min-|x| ( or min-x'Wx) (3.3.3) x 2 2 χ 2 subject to xlj < Xj < xu i5 V i = 1 ... N Ax - y = D* (D* is the optimal violations); and yl j < y j < yU j , Vj l ... M. Then x 33 * to (3.3.3) is the controller MV moves for that time interval. Note that only when B pv and RA have parallel and kissing boundaries should solution to (3.3.3) differ from that to (3.3.2). 2) When D* = 0, meaning B pv nRA ≠ {0}, and multiple solutions to (3.3.2) exist. The robust 2-norm-minimized solution can be found. (For || Q || fr0 minimized solution, see next subsection.) Its task is defined as follows: m χ ir x l 2 ( ° r m χ in ^ x ' Wx) (3 - 3 - 4 > subject to xl j < Xj < xu i5 V i = 1 ... M, and yl j ≤ a j x≤ yu j , V j 1 ... N. One of the most important advantages of the range control algorithm is that the resultant controller tries to control as many CVs as possible. The control performance on restrained PVs is essentially the same as that of the regulated PVs. The user does not have to specify explicit CVs and implicit CVs (or decoupled CVs and undecoupled CVs). Another obvious advantage is gaining additional robustness without any model uncertainty descriptions. The gain of robustness is based on the fact that there are often infinite number of solutions to the range control problem (3.3.2). It is noteworthy that range control algorithm does not differentiate the regulatory controller from restrained controller. However, the off-line min-max algorithm does treat the two controllers differently when robust stability and robust control performance are considered. The fundamental difference lies in the fact that the regulatory controller alone is a linear controller after all, but the restrained controller is not. Therefore, the combination of the two are not linear since the restrained controller interact with the regulatory controller. Range Control Numerical Solution Techniques Given a limited computing resource, the main numerical difficulties for range control algorithm are as follows: 1) The size of the original formulation (3.3.2) is much bigger than conventional control formulations. The range control formulation is in the space of R(N+M) 5 w ile conventional control is in the space of R M . Notice that N usually > M and that CPU time required for QP problem is usually proportional to (size) 2 ~(size) 3 . 2) The additional control robustness comes from finding the best solution when there are multiple (usually infinite) solutions. It adds additional complexity to the numerical solution technique. 3) The resultant controller becomes nonlinear, at least piece-wise linear. It adds significant difficult to off-line robust control design. On the other hand, this range control formulation possesses some mathematically-convenient features that conventional control formulations may not have. Those features are as follows: 1) The constraints in formulation (3.3.2) are all simple bounds. There are many useful numerical treatments that can be employed to simplify the numerical procedures. 2) Many terms in foimulation (3.3.2) may vanish at the solution. T_-us not all the terms need to join the iterations. 3) The most control robust solution will be found under the condition of multiple solution. This helps significantly to reduce the sensitivity of blocking to the final control solution. Also, there is little need for specifying the initial part of the internal trajectory. NORMS AND SCALING Norms and scaling almost always work together. Without proper scaling, norms could be misleading; without a proper norm definition, a control formulation can hardly yield the robustness to counteract all possible uncertainties. Maximum Singular Value. Frobenius Norm and 2-Norm For any MIMO controller, it can be expressec in a matrix form as follows: ΔMV = Q Δe Where ΔMV is the predicted MV moves the Δe is an error term. For the range control algorithm, the error calculation is slightly different. The final goal is to find a robust MV move that will satisfy the following: ΔYB ≤ H ΔMV ≤ ΔΫB Thus, the change in error Δe should be calculated as follows (see Theorem 1 for more rigorous expression): se ΔYB, = yu, - y, and ΔYB, = yl, - y, where ΔYB, and ΔYB, are i-th high and low PV Δ-bounds respectively, and y, is the predicted i-th PV (in H matrix arrangement). There are three norms involved in RMPC controller as follows: Maximum singular value of the RMPC controller Frobenius norm of the RMPC controller 2-norm of control moves by RMPC controller The first two are matrix norms and the third is a vector norm. They are closely related. However, their relationships are not always straightforward. (Golub and Van Loan). Minimizing the controller's maximum singular value (the controller norm) is the final goal. But this task is too difficult to tackle at every execution time on-line. Frobenius norm is a good, close upper bound of the maximum singular value when properly scales. And, minimizing Frobenius norm of the RMPC controller is much less expensive CPU time-wise. The unweighted robust control solution will yield a default control performances on each CV (including Reg and Res PVs). It is often desired, from the user's stand point view, to minimize the maximum singular value of a weighted RMPC controller. The weights allow the user to specify mainly two things: 1) the relative control performance on each PV of control interest; and 2) to use which MVs more to control which CV. A weighted Frobenius norm of the RMPC controller is then the upper bound of the weighted maximum singular value. When such a solution exists (the closed-loop system has no sustained constraint violations), it can be expressed as follows: Let Q = [qy] „*,, and Wy > 0 M N nώi∑∑w y q;] (3.4.1) 4 υ i=ι j=ι subject to ΔYB ≤ H Q Δe ΔΫB where Δe can be expressed as follows, Δ YB, , when i - th constraint is binding at its high bound Δe, = < ΔYB- , when i - th constraint is binding at its low bound 0 , otherwise Denote H. as the collection of the rows in H that are binding at the solution to (3.4.1). Denote Q. as the collection of the corresponding binding columns in Q. Note that the rest of the columns in Q are all zeros. Then, (3.4.1) can be rewritten equivalently as follows: Let Q = [q ϋ ] MxN , and Wy > 0 yqJS (3.4.2) subject to H. Q. = I (an identity matrix) Theorem 1: If the weights are all equal, v.,-, = w, V I, j, then (3.4.1) is to minimize the Frobenius norm of matrix Q or (3.4.2) is to minimize the Frobenius norm of matrix Q.; and the solution: 1 ) is equivalent to minimizing the 2-norm of the MV moves, || ΔMV || 2 . 2) can be expressed as follows: Q. = H.T [H. H.T]-1 where H. is collection of the rows of H that are binding at the solution to (3.4.1). Q can be constructed from Q. by adding zero-columns to the corresponding positions where H has non-binding rows. Proof: Denote Q. = [q„ q 2 , ... q-,]^ = [qy], (r=M>p) the (3.4.2) can be rewritten as: r p r p p min w q2 = w min q2 = wminV q2 subject to H. Q. = H. [q„ q 2 , ... q p ] = [e„ e 2 , ... e p ] = I pxp . Notice that the constraints are separable in terms of q j that is squared and summarized in the objective function, thus the original minimization problem is equivalent to the following p sub-problems: Vj=l,2 ...p (3.4.3) subject to H. q j = e j = [0 ... 0 1 0 ... 0] τ , (j-th element is 1) where e, = [0 ... 0 1 0 ... 0] τ is an rxl unit vector. For each sub-problem, say, j = k, the solution to (3.4.3) is as follows, (Golub & Van Loan, 1985) q. = ∑ — ( k )v, (3.4.4) here u„ Vj and σ, are from the singular value decomposition of H. as follows, U τ H. V = Σ where U=[u,, u 2 , ... u r ], V=[v,, v 2 , ... v p ] and Σ = [diag(σ,, σ 2 , ... σ p ), 0]. Note that H. can also be reconstructed as (3.4.5): H. Up Σ P V P σ.u.v. (3.4.5) where U p , V p and ∑ p are partitions of U, V and Σ, U p =[u u 2 , ... U p ], v P =[ v ι, v 2 , - v pl and Σ P = diag(σ σ 2 , ... σ p ). Furthermore, q k in (3.4.4) can be rewritten as follows: q, = (3.4.6) and the optimal solution Q. can be constructed as follows: Q. = [qj ... q p ] = = ∑-(v,u , ... e p ] - έ-(v,u, T )I = ∑-(v,^) = V p [diagCσ, ... σ p )]-' Uj = V ∑ 'uJ = V p ∑ p [∑j] " 'u; = H. τ [U p ∑ p V p τ V p ∑ p U p τ ]-' H. τ [H. H. τ ]-' Note that H. T [H. H. τ ] " ' Δe. is also the solution to minimizing |ΔMV|| 2 subject to the same set of constraints as follows: M min Y MV, 2 (3.4.7) ΔMV^ ' subject to H. ΔMV = Δe. Thus, solution to (3.4.7) is the same of that to (3.4.1). Q.E.D. When weights in (3.4.1) are not equal, the vector 2-norm of control moves and Frobenius norm of the controller are related, but in a much less obvious fashion. SUBSTITUTE SHEET (RULE 2φ Optimal Scaling and User Weightings Optimal Scaling: The purpose of scaling is twofold. 1) improve numerical "behavior" of the working system; 2) make the norms more meaningful. Both tasks can be achieved by decreasing or even minimizing the condition number of working matrix with scaling. In a very general form, scaling can be performed by: min cond(H ) (3.4.* 1) D r D c and H s = D r H D c where H is the original model matrix, H s is the scaled working model. D r is a left transformation matrix, and D c is a right transformation matrix. One drawback with this approach is the lack of efficient algorithms to compute (3.4.* 1), since the condition number is a very complex function of D r and D c . One efficient algorithm was found when D r and D c are reduced to be diagonal matrix, D r for row scaling and D c for column scaling. Note that the condition number of H s is still a very complex function of D r and D c . Note that D r and D c can be good sized vectors. It is almost infeasible CPU time- wise to search in [D r , D c ] space since condition number is a fairly expensive function to be computed in the gradient and Hessian matrix. A special optimization algorithm is formulated for (3.4.* 1). Its search steps are based upon the following algorithm to improve convergence dramatically. At k-th iteration: H D r (k) = diag([d . ]), with d r i fro IK ΪH D c (k) = diag([d c ]), with d c fro hc ; H = D r (k) ... D r (l) H D c (l) ... D c (k) where h and hc j are i-th row vector and j-th column vector of H, respectively. The iteration stops when cond(H) can not be improved. In about 50 test cases with different matrix size, it takes 2-5 steps to reach an optimum. The longest is 12 steps with tolerance set to be 1E-4. Compare this approach with the ones recommended or used in LINPACK, this new approach gives better scaling or small cond(H s ). The speed is comparable to the LINPACK's simple non-optimal scaling, and dramatically faster than LINPACK recommended optimal scaling. The following is a real-life example, H is the FCCU Cat-Cracker gain matrix H = Dr = 185.13 236.57 14.688 25.367 1112.1 17.079 2.3632 1.4104 4.1152 cond(H) = 206.18 cond(H s ) = 2.3634 Notice that the elements in the scaled H s is much more even 1 ' distributed, meaning all elements get closer to unity. And the condition numbe _. " H s is much smaller than that of H. It is also noticed that scaling on the full dynamic matrix does not provide much additional advantages over scaling on just the gain matrix and then scale the dynamic elements the same way as their gain element. The primary reason is that gain is part of dynamics and each SISO portion is always somewhat parallel. For RMPC, is seems to be a good idea to obtain the scaling just based on gain matrix, then apply the scaling to all dynamic element. The optimal scaling will be done off-line. On-line it will "merge" with the user weights (scaling) and apply to the H matrix. User weightings: RMPC user may wish to use some MVs relatively more than the others, or to have relatively less constraint violations of some PVs than that of others. It is necessary to provide a user weighting on top of the optimal internal scaling. The user MV weighting can be directly applied (multiplied) to D c . However the user PV violation weighting should ideally be applied (multiplied) to D r only when there is sustained violation. A note: User PV weighting can be interpreted as relative control performance weighting as well, since PV weighting are always effective on regulated CVs and PV weighting on restrained CV are effective when PV constraints are violated. ON-LINE SOLUTION AND STATUS DISPLAY It is desired to give the user some indication what the RMPC controller is doing at any time. An easy indication is to display the status of the controller. The status used in DPC seems to be well accepted by the operators and plant engineers. They are as follows. The following are detailed description of the RMPC Controller statuses 1. OFF status indicates that the RMPC Controller is not on-line, but the data acquisition part of the RMPC Controller is still running and displaying the current PV and MV values. 2. INIT status indicates that the RMPC Controller has just turned from the mode OFF to ON. The RMPC Controller initializes itself and establishes the connections with the downstream controllers. Normally, the RMPC Controller should show the INIT status for only one execution interval. Exceptions can arise when the downstream controllers are not ready at the end of that execution interval. The RMPC Controller waits and remains in the INIT status for a predetermined number of execution intervals. 3. REG indicates that the RMPC Controller is controlling the regulatory PVs to their setpoints. The Regulatory Controller functions as long as the RMPC Controller is set ON. The REG status is always active but only displays when the following two conditions are both satisfied: • None of the restrained or optimized PVs have any active constraints • Optimizer move size is set to zero, or at least one of the regulatory PVs is outside its regulatory band region. When both conditions are met, the REG status displays. If one of the regulatory PVs is outside its regulatory band region, the Regulatory Controller takes precedence and the Dynamic Optimizer is set in a waiting mode. This may not seem meaningful when the RMPC Controller is running on the perfect model process in simulations. However, when there is model-process mismatch, the RMPC Dynamic Optimizer is prevented from pushing the process too aggressively. This safeguards the optimizer move-size, and reduces the retuning effort when model-process mismatch becomes significant. The OPT, CNS, CCF and CMV statuses are mutually exclusive; that is, only one of them can be a valid status at a time. The regulatory control status is implied when the OPT, CNS, CCF and CMV statuses display. Therefore, when the REG status displays, it also indicates that none of the OPT, CNS, CCF and CMV statuses are active. 4. OPT status indicates that the RMPC Controller is optimizing the process operation according to the economical objective (see Equation (3)). This status will be displayed only when: • None of the Restrained or Optimized PVs have an active constraint. • Optimizer move size is set to a positive value. • None of the regulated PVs are outside their regulated band regions. Regulatory control is implied. 5. CNS status indicates that the RMPC Controller is handling the predicted or actual constraint violations of the restrained and optimized PVs. It serves as an early warning when the violations are predicted. Internally, the RMPC Restrained Controller is activated and the Dynamic Optimizer is set in a waiting mode. Regulatory control is implied. 6. CCF status indicates a special subset of the CNS status when RMPC detects that at least a pair of the severely conflicting constraints is active and special algorithm is employed to handle that. This status is rare since most of the conflicting constraints can be resolved in the robust fashion within the predicted horizon under the CNS status. The CCF status usually comes with an abnormal situation: one of the major MVs is lost, for instance, or one PV measurement is exceedingly biased, causing an excessively constrained situation. Internally the Restrained Controller minimizes the weighted violations. CCF is a (somewhat) predicted indication, and it usually comes on for a few execution intervals and goes away. In a noisy environment, it could come and go a few times. When CCF displays, some engineering assessment is recommended to both identify the cause and to resolve, if necessary. This could be extremely helpful in the commissioning phase of the RMPC project. It is possible to introduce an artificial pair of conflicting constraints by specifying some stringent high or low constraints. Regulatory control is implied. However, there might be an offset if the CCF status persists. 7. CMV status indicates that there are too many excessively stringent MV constraints for the RMPC Controller to function normally. This status displays when there are fewer unconstrained MVs than the number of regulated PVs. The CMV status warns that too many downstream controllers have been turned off. Regulatory control is implied. However, there might be an offset if the CM status persists.

Claims: CLAIMS 1) In a process control system, having at least one manipulated variable and at least one controlled variable, a method for providing robust control of a process, comprising the steps of: a) initializing the robust control to have predetermined constraints of the manipulated variables and the controlled variables; b) obtaining present values of the manipulated variables and the controlled variables; c) calculating new values of the controlled variables for a predetermined number of points in the future in order to have the values of the controlled variables within the predetermined range to obtain an optimal robustness of the resultant controller, the manipulated variables being within predetermined constraints, and the controlled variables falling within a predetermined range when controllable; otherwise, keeping controlled variable constraint violations to a minimum; d) from a plurality of solutions, selecting a most robust solution; and e) adjusting the manipulated variables to cause the process control system to drive the values of the controlled variables to the calculated values of step (d). 2) In a process control system, a method for providing robust control of a process according to Claim 1 , wherein the step of selecting comprises the step of: a) determining a set of controlled variables which correspond to minimum controller magnitude.

Inventors: HORN BRIAN C, LU ZHUXIN J, MAC ARTHUR J WARD, HORN, BRIAN, C., LU, ZHUXIN, J., MAC ARTHUR, J., WARD
Applicants: HONEYWELL INC, HONEYWELL INC.
Application year: 1994
Main classification: G05B13
IPC codes: G05B13, G08B13