The process model is the basis of MPC technology. DeltaV Predict uses step response modeling for the MPC controller. This approach has been proven effective in numerous DMC applications. Step response modeling makes prediction of process outputs explicitly available for display in the application. The predicted error vector is computed as an input to the MPC controller. Displaying prediction to an operator is an important way to visually evaluate the process control. DeltaV Predict's operator interface displays the future process outputs. The MPC function block develops future process outputs as a process state and uses modified state space form for process modeling.
x k + 1 = Ax k +
Β
∆uk + F∆wky0 = Cx k + 1 where:
x k = [y0, y1,... y i,..., y p-1]T is vector of future output prediction 0,1..., i,..., p-1 steps ahead at the time k
A is shift operator, which is defined as Axk = [y1, y2,...y i,..., y p-1, y p-1]T
B = [b0, b1,...bi,..., bp-1]T is vector of p step response coefficients
∆u k = u k - u k - 1 is change on the process input/controller output at the time instant k
∆w k process output measurement - process model output, mismatch resulted from the noise, unmeasured disturbances, and model inaccuracy
F filter, p dimension vector with unity default values
C is the operator that takes the first component of the x k + 1 vector
For an n outputs and m inputs process, vector Xk has dimension n*p, and vector B is converted into a matrix with dimension n*p rows and m columns.
You can identify the step response model using two modeling techniques: FIR and ARX. Use the short horizon process model to identify the differential FIR model. For example, the following equation applies to the SISO process:
∆yk = p
ΣΣΣΣ
i = 1 hi∆u k-1Where ∆y k = y k - y k - 1 is the change on the process output at the time instant k.
p is prediction horizon, with a typical default value for MPC model 120. Identifying step response with full prediction horizon and as many as
120 coefficients causes overfitting and results in significant parameter uncertainty.
By using a short horizon with 30 or 40 points for the FIR model, you can avoid model overfitting. An FIR model with a short horizon provides an initial part of the step response and is adequate for defining dead times using a heuristic approach. The dead times are then used in a ARX model, which has significantly fewer coefficients than an FIR model. For example, the following equation applies to the SISO process:
A and V are autoregressive and moving average orders of ARX with a default value of 4.
For a MIMO process, superposition is applied from each input (additive action) on every output both in FIR and ARX models.
Use an ARX model and apply unit step on one of the inputs to get step responses for that input. To get a complete model, repeat the procedure of applying unit steps for every input.
As a result of using this combined identification technique, an optimal process model is developed.
MPC Controller
The MPC controller minimizes the squared error of a controlled variable over prediction horizon and the squared error of controller output over control horizon:
min {||Γy[X(k) - R(k)]||2 + ||Γu∆U (k)||2} ∆U(k) yk = V
ΣΣΣΣ
i = 1α
i y k-1 + VΣΣΣΣ
i = 1 bi u k-d-iwhere:
X(k) = controlled output p-step ahead prediction vector R(k) = p-step ahead setpoint vector
∆U(k) = m-step ahead incremental controller output moves vector Γy = diag(Γy1 ,..., Γyp) = penalty matrix on the output error Γu = diag(Γu1 ,..., Γum) = penalty matrix on the control moves The solution is in the form:
∆U(k) = (SuTΓyTΓySu + ΓuTΓu)-1SuTΓyTΓyEp(k)
where:
Su = process dynamic matrix built from step responses, p x m for SISO model and p*no x m*ni matrix for MIMO model with ni inputs and no outputs
Ep(k) = error vector over prediction horizon
The performance of the control algorithm can be modified using the following adjustable parameters: p, m, Γu, and Γy. From an
implementation standpoint, p and m are not convenient to use as tuning parameters. In DMC implementations, Γu and Γy are applied as scalars (that is, control error is multiplied by the scalar Γy over the whole prediction horizon), and any controller moves over control horizon are multiplied by the scalar Γu.
The robustness of the controller can be significantly improved by shaping Γy and Γu coefficients dependent on control error and control move predictions. Various functions can be used for shaping the coefficients of Γy - linear, exponential, and so on. The current implementation applies linear function with the option to set some initial coefficients to zero. The number of initial coefficients in Γy equal to zero is called the patience factor. The application of incremental penalty on error function is preferred when the initial part of a step response is uncertain but process steady gain is reasonably well defined.
Γu is a basic controller-tuning parameter defined at the controller generation phase. Increasing Γu makes control more damped, and, in reverse, decreasing Γu makes the control action more aggressive and control response faster. Another degree of tuning can be achieved by applying decreasing penalties on future moves. This makes the first controller move less aggressive since next moves are relaxed and can be
used with less penalties for error correction. It is readily apparent that the second and next moves, in this case, can violate move constraints. This is not a practical concern since controller moves are recalculated during every scan and only the first move is implemented. As a result, the first move is smaller and controller robustness is increased.
In addition to shaping the controller structure at the generation phase, a number of features have been implemented to manage controller behavior and robustness online. Refer to the following figure.
Reference Trajectory with Funnel and Range Control
One important tuning parameter is the setpoint filter, which is also known as the reference trajectory. The Predict trajectory acts in a different way than the trajectory currently used in other MPC products. Instead of penalizing any departure from the trajectory, only those deviations that are below trajectory or above setpoint value are penalized (Area A and Area C if control range = 0). In addition, the control error is considered zero if the control variable is within range (Area C with range > 0). These features constitute a funnel control, which can be shaped online by changing the setpoint filter time constant and range, which further enhances controller robustness and flexibiltiy. During controller generation, all of the controller settings are calculated depending on process model, and there is no need for user
involvement. However, if you identify yourself as an Expert using the Option selection in DeltaV Predict, you can change default controller settings to enhance specific features.