Abstract:
A control system regulates a controlled process. A first controller receives at least a first input variable and a second input variable and produces at least a first control variable and a second control variable. A delay unifier associated with the first controller introduces a first delay to one of the first and second control variables, the first delay being determined as a function of a second delay associated with another of the first and second control variables. A processor models effects of the controlled process. The processor receives the delayed first and second control variables output by the first controller and produces estimates of the process output variables. A second controller processes a difference between measured process output variables and the estimated process output variables to correct for disturbances. The processed difference is added to the delayed first and second control variables output by the first controller, and the sum is received by the processor and the process being controlled.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates generally to process control systems. More particularly, the present invention relates to a control system and method for controlling a process that has multiple input variables and multiple output variables. 
     2. State of the Art 
     Many continuous industrial processes can be modeled as a stable dynamic system with multiple input variables and multiple output variables. Furthermore, a large class of such dynamic system models can be divided into two elements, a minimum phase dynamic element and a pure time-delay (or non-minimum phase) element. 
     For example, in a typical sheetmaking process, there are multiple input variables, multiple control variables, and multiple output variables. The input variables represent reference values, or setpoints, of the sheetmaking system, the control variables correspond to the reference values as processed by a controller, and the output variables correspond to the results of processing by the sheetmaking system. The control variables may represent, for example, the stock flow, the steam pressure, and the filler flow. The stock flow refers to the amount of fibers per sheet, the steam pressure refers to the pressure of steam applied to the sheet during drying, and the filler flow refers to the amount of additives added to the sheet during processing. The input and output variables may represent, for example, basis weight, moisture content, and ash content. As expected, changes in particular ones of the control variables produce corresponding changes in particular ones of the output variables. 
     For example, a change in the stock flow causes a change in the basis weight; a change in the steam pressure causes a change in the moisture content; and a change in the filler flow causes a change in the ash content. Additionally, changes in the control variables may cause changes in more than one of the output variables. For example, a change in the stock flow may also change the moisture since the heavier the sheet is, the more difficult it is to dry. A change in steam pressure may cause a change in the basis weight since the drier a sheet is, the lighter it will be. Also, a change in the filler flow may cause a change in the moisture content and the basis weight. Ideally, a control system would be able to independently change one of the output variables by changing one control variable, without affecting the other control variables or output variables. 
     One control system solution for producing independent control of the individual output variables deals with the different time-delays for processing different control variables. For example, the stock flow control variable may experience a delay of one minute, while the steam pressure control variable experiences a delay of twenty seconds, and the filler flow control variable experiences a delay of one and a half minutes. To deal with this disparity in delays between the control variables, an artificial delay is introduced in the controller. The control variables that are processed quickly are held until the other control variables are processed so that the variables are in time-sync with each other. 
     For example, an artificial delay is introduced for the steam flow pressure control variable to hold it until the stock flow control variable and the filler flow control variable are processed. In this way, the steam control variable can be manipulated to cause a change in the moisture output variable, without affecting the basis weight or the ash content output variables. This type of control is referred to as &#34;setpoint tracking&#34; because the controller &#34;tracks&#34; the reference input variable or &#34;setpoint&#34;, adjusting the delay for the control variable to move the output variable in line with the desired &#34;setpoint&#34;. 
     One control system solution for this class of industrial application is to use the technique of Internal Model Control (IMC) that can be illustrated by a functional block diagram shown in FIG. 1. Referring to FIG. 1, the input reference or setpoint variables are represented by the vector R, the control variables are represented by the vector U, the output variables are represented by the vector Y, and the external process disturbances are represented by L. The system includes a control system and the process or plant being controlled. The process is conceptually divided into a minimum phase stable dynamic element Gp 110 and a time-delay (non-minimum phase dynamic) element Tp 120. The control system includes a controller C 100, a predictive process dynamic model Gm 130, a process time-delay model Tm 140, and a process time-delay unifier Tu 150. The elements of process models Gm and Tm are constructed such that their input-output characteristics match with the corresponding conceptual elements of the real process Gp and Tp as well as Tu. 
     The FIG. 1 system includes feedback of model prediction errors E, which is the difference between the process output variables Y through the delay unifier Tu 150 and the internal model output variables from Tm 140. It also includes inner loop feedback of predictive model output variables X from Gm 130. The controller C 100 makes the output variables track the input reference variables by minimizing model prediction errors E and the reference errors between reference input variables R and predictive model output variables X. The controller C 100 is designed so that changes to a particular input reference variable in the vector R produce the same changes in the corresponding output variable in the vector Y, with time-delays Tm and a transient time. 
     Such a design is referred to as decoupled setpoint tracking. In order to achieve such decoupled setpoint tracking, the time-delays in the vector Tm must be identical. Therefore, time-delays in the vector Tu (=Tm-Tp) need to be greater than or equal to zero. Thus, this type of control system architecture requires artificially added time-delays (Tu) for decoupled setpoint tracking. 
     A problem with this conventional type of control system is that the additional time-delays (Tu) deteriorate the disturbance rejection capability of the control system. With the additional time-delays, the process output variables Y are more severely affected by the disturbances L. 
     In an ideal system, there are no disturbances, i.e., nothing outside of the control variables in the system affects the output variables. However, in practice, both periodic and random disturbances, such as speed changes and material (stock) property changes, affect the output variables. 
     Typically, a feedback control system such as that shown in FIG. 1 handles disturbances using the same controller used for setpoint tracking. That is, referring to FIG. 1, the output variables are measured, an error is produced if the measured output variables move away from the target input variable, the error is fed back to the controller C, and the controller varies the control variables to attempt to correct for the error. 
     Using the same controller to provide both decoupled setpoint tracking and disturbance rejection causes some problems. For example, if the steam pressure control variable is delayed to wait for the stock flow control variable to be processed, the moisture output variable will hold the same error for a longer time period. By the time the steam pressure control variable is cleared, the disturbance may have changed (increased or decreased), and the actual disturbance error will be different than the error held for the moisture control variable. Thus, using the same controller for both decoupled setpoint tracking and disturbance rejection produces inaccurate correction of disturbance errors. 
     Another problem with conventional control systems is that the gain values for the controller are often inaccurate. This results from the failure to compensate for noise in the gain calculations. As a result, if the noise is high, the gain will be calculated to be high, resulting in an inappropriate amplification of noise by the controller. 
     There is thus a need for a different control system architecture with an accurate gain that can maintain the decoupled setpoint tracking and at the same time not lose the capacity of disturbance rejection. 
     SUMMARY OF THE INVENTION 
     It is an object of the present invention to provide a new control system architecture that maximizes disturbance rejection by minimizing feedback latency while providing decoupled setpoint tracking. 
     According to the present invention, this and other objects are met by a control system and method for regulating a controlled process. In accordance with exemplary embodiments, the control system comprises a first controller for receiving at least a first input reference variable and a second input reference variable and producing at least a first control variable and a second control variable, wherein said first controller introduces a first delay to one of the first and second control variables, the first delay being determined as a function of a second delay associated with another of the first and second control variables. The control system also comprises a processor for modelling effects of the controlled process, the processor receiving the delayed first and second control variables output by the first controller and producing estimated process output variables. The control system further comprises a second controller for receiving a difference between measured process output variables and the estimated process output variables to correct for disturbances. The processed difference is added to the delayed first and second control variables output by the first controller, and the sum is received by the processor and the process being controlled. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The present invention can be further understood with reference to the following description and the appended drawings, wherein like elements are provided with the same reference numerals. In the drawings: 
     FIG. 1 depicts a functional block diagram of a conventional IMC control system for a sheetmaking process; 
     FIG. 2 depicts a functional block diagram of a control system for a controlled process according to one embodiment of the present invention; and 
     FIG. 3 depicts a detailed functional block diagram of the controller blocks C r  (z) and C m  (z) shown in FIG. 2. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     An exemplary embodiment of the invention will be described in terms of a control system for regulating a sheetmaking process. It will be understood, however, that the present invention is not limited to regulating a sheetmaking process but can be applied to other controlled processes. 
     FIG. 2 depicts a functional block diagram of a control system for a controlled process according to one embodiment of the present invention. Referring to FIG. 2, the reference input variables are represented by the vector r, the control variables are represented by the vector u, and the output variables are represented by the vector y. The vectors w and v represent disturbance variables which occur in the physical process. 
     The system includes two controllers, C r  (z) 200 and C m  (z) 270. C r  (z) 200 represents a control module for setpoint tracking based on the reference input variables r, and C m  (z) 270 represents a control module for disturbance rejection. D u  (z) 210 represents a time-delay unifier unit which, although depicted as a separate block in FIG. 2, can be included in the controller C r  (z). D u  (z) introduces artificial delay to compensate for different delays in the physical process where the control variables propagate and influence output variables. 
     As shown in FIG. 2, no feedback is used for the setpoint tracking controller C r  (z) 200. This is because if the control model is correct, feedback for setpoint tracking is not required. 
     G p  (z) 230 represents the dynamics of the physical sheetmaking process. G p  (z) produces actual (measured) process output variables. D p  (z) 220 represents the time-delay in the physical sheetmaking process. The disturbances w and v are introduced at, for example, the input of D p  (z) 220 and the output of G p  (z) 230. G m  (z) 250 is an internal process model representing the dynamics of the sheetmaking process. G m  (z) 250 produces estimated, e.g., predictive process output variables. D m  (z) 240 represents a model of time-delay in the sheetmaking process. The estimated process variables output by the model G m  (z) 250 are subtracted from the real process variables output by the dynamic model G p  (z) 230, and the difference is considered an estimate of the disturbance effects. This estimate is fed to the controller C m  (z) 270 which minimizes the disturbance effects. 
     Outputs of the disturbance rejecting controller C m  (z) 270 are added to outputs of the setpoint tracking controller C r  (z) 200 to produce the control variables u. Thus, although disturbance rejection and setpoint tracking are performed separately by separate controllers, the control variables u input into the process G p  (z) 230 and the internal process model G m  (z) 250, have been adjusted both for setpoint tracking and disturbance rejection. 
     The difference between the measured process variables and the estimated process variables can be fed to the controller C m  (z) 270 via a filter F(z) 260. The filter F(z) 260 addresses the mismatch of the process model G m  (z) 270 with the real process dynamics G p  (z). Typically, the control model is matched to what occurs at a particular frequency or in a particular frequency range. For example, low frequency signals are generally easier to model, i.e., the model and the process are usually better matched for low frequency input and output signals. Thus, the filter F(z) 260 may, for example, be a low pass filter which filters out high frequency signals, passing only low frequency signals to the control module C m  (z) 270. 
     Each of the components illustrated in FIG. 2 can be implemented with traditional components which one skilled in the art of control theory would appreciate. The components can be implemented with software, except for G p  and D p , which represent an actual process. 
     According to one embodiment, the components can be implemented using the discrete equations below. 
     The sheetmaking process can be given as: 
     
         G.sub.p =(z-A.sub.p).sup.-1 B.sub.p                        (1) 
    
     where A p  and B p  are constants which can be in the form of nxn matrices. The delay in the sheetmaking process can be given as: 
     
         D.sub.p =diag(z.sup.-dpi)                                  (2) 
    
     where dpi represents the time-delay of the ith input with the unit of sample time, and diag(z -dpi ) represents a diagonal matrix with z -dpi  as its ith diagonal element and zero as the remaining matrix elements (i.e. the off-diagonal elements). The process described by equations (1) and (2) can be represented in the time domain as: ##EQU1## 
     The internal model for the sheetmaking process can be given as: 
     
         G.sub.m =(z-A.sub.m).sup.-1 B.sub.m                        (3) 
    
     where A m  and B m  are predetermined values which can be in the form of nxn matrices. The values A m  and B m  are determined such that they are as close to A p  and B p  as possible, with values equal to A p  and B p  being ideal. 
     The time-delay model for the sheetmaking process can be given as: 
     
         D.sub.m =diag(-z.sup.-dmi)                                 (4) 
    
     where dmi represents the ith time-delay in a sample process and diag(z -dmi ) represents the diagonal matrix of dmi. The model described by Equations (3) and (4) can be represented in the time domain as: ##EQU2## 
     The artificial delay D u  provided for setpoint tracking can be given as: 
     
         D.sub.u =diag(z.sup.-(dmax-dmi)) 
    
     where dmax=max(d mi ) is the maximum time-delay of all the control variables, and d mi  is the time-delay of the ith control variable. 
     FIG. 3 illustrates a functional block diagram of a controller according to one embodiment of the present invention. The model illustrated in FIG. 3 can be used to implement both the setpoint tracking controller C r  (z) 200 and the disturbance rejecting controller C m  (z) 270. 
     Referring to FIG. 3, xi represents an input variable to the controller, and xo represents an output variable of the controller. For the setpoint tracking controller C r  (z) 200, the input variable xi corresponds to the reference variable r, and the output variable xo corresponds to an output to be adjusted by the artificial delay unifier unit D u  (z) 210. For the disturbance rejecting controller C m  (z) 270, the input variable xi corresponds to the filtered mismatch error between measured output variables and estimated process output variables produced by the process and the internal model, respectively. The output variable xo corresponds to a disturbance rejecting control variable to be added with the output of the artificial delay D u  (z) 210 unit to produce the control variables u. 
     As shown in FIG. 3, the input xi is processed through a first control block 300 including subtraction of a matrix Λ of tuning parameters from an identity matrix I. The matrix Λ can be given as: 
     
         Λ=diag(λ.sub.i)                              (5) 
    
     where λ i  is a tuning parameter for a channel i. The control block 300 can be represented in matrix form as: ##EQU3## 
     Outputs of the first control block 300 are processed in a second control block 310. 
     The second control block 310 can be represented as: 
     
         z.sup.-1 G.sub.m.sup.+ =B.sub.m.sup.+ (I-z.sup.-1 A.sub.m) (6) 
    
     where G m   +   and B m   +   represent the inverse or the &#34;pseudo&#34; inverse of G m  and B m , respectively. To make the control more robust, &#34;pseudo&#34; inverse values G m   +  and B m   +   may be used instead of the true inverse values G m   -1  and B m   -1  because using the true inverse values may result in higher noise and variation sensitivity in the controllers. 
     For example, the constants A m  and B m  can be determined from the equation: 
     
         y(t)=A.sub.m y(t-1)+B.sub.m u(t-1)+ε(t)            (7) 
    
     where ε(t) represents noise. However, using the standard least square systems identification technique on equation (7) may produce inaccurate values for the solution A m  and B m  which may result in inaccurate gain for the controllers C r  (z) 200 and C m  (z) 270. For example, if the noise ε(t) is great, B may be underestimated, resulting in a large value for B -1 . This large value for B -1  will result in a large and inaccurate amplification for the controllers C r  (z) 200 and C m  (z) 270. 
     For more accurate gain, the constants A m  and B m  are better determined by multiplying both sides of equation (7) by B -1 . This results in the equation: 
     
         B.sup.-1 y(t)=B.sup.-1 Ay(t-1)+u(t-1)+B.sup.-1 ε(t)(8) 
    
     which can be rewritten as: 
     
         u(t-1)=B.sup.+ (t)-B.sup.+ Ay(t-1)+ε(t)            (9) 
    
     substituting B +  for B -1 . This equation may be solved using, for example, the standard least squares system identification method. 
     Solving equation (9) for B +   yields a value which may not be equal to the true inverse of B. Thus, the solution B +   to equation (9) is referred to as a &#34;pseudo inverse&#34; value. 
     If there is high noise ε(t), B +   may be underestimated, and the gain for the controllers C r  (z) 200 and C m  (z) 270 will not be increased to amplify the noise. Using the pseudo inverse B +   in the equations above thus results in a more robust control. 
     The third control block 320 represents an integration operation. The output xo from the third control block 320 can be represented at steady-state as: ##EQU4## 
     The fourth control block 330 corresponds to the predictive process model G m , the output of which is subtracted from the input variable xi. 
     From the equations above, the following equation representing the output y(z) of the real process under the control of the described system can be derived: 
     
         y(z)=z.sup.-dmax (zI-Λ.sub.r).sup.-1 (I-Λ.sub.r)r)(z)+ I-(GDG.sup.+1)(zI-Λ.sub.m).sup.-1 (I-Λ.sub.m)F!d(z)                                  (11) 
    
     where r(z) represents the reference input or setpoint variables, d(z) represents the disturbance, G m  =G p , and D m  =D p . 
     Employing the separate illustrated controllers C r  (z) 200 and C m  (z) 270 as depicted in FIG. 2 and FIG. 3 for setpoint tracking and disturbance rejection, respectively, permits the function of delay unification to be applied only for setpoint tracking without affecting disturbance rejection. This improves the accuracy of disturbance correction by, for example, reducing latency in the feedback path. 
     While the controllers C r  (z) 200 and C m  (z) 270 are shown in FIG. 2 as separate components to assist in understanding features of the invention, their functionality can, of course, be incorporated in a single component (along with any other components of FIG. 2 except for the actual process being controlled), as long as the delay unification is performed only for setpoint tracking. 
     It will be appreciated by those skilled in the art that the present invention can be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The presently disclosed embodiments are therefore considered in all respects to be illustrative and not restricted. For example, while the invention has been described above as applicable to a sheetmaking machine, the invention may also be applicable to other types of machines. The scope of the invention is indicated by the appended claims rather than the foregoing description and all changes that come within the meaning and range and equivalence thereof are intended to be embraced therein.