# Dynamic Matrix Control - Introduction

Document Sample

```					  Dynamic Matrix Control - Introduction

• Developed at Shell in the mid 1970’s
• Evolved from representing process
dynamics with a set of numerical
coefficients
• Uses a least square formulation to minimize
the integral of the error/time curve

2/25/2001        Industrial Process Control   1
Dynamic Matrix Control - Introduction

• DMC algorithm incorporates feedforward
and multivariable control
• Incorporation of the process dynamics
makes it possible to consider deadtime and
unusual dynamic behavior
• Using the least square formulation made it
possible to solve complex multivariable
control calculations quickly
2/25/2001        Industrial Process Control    2
Dynamic Matrix Control - Introduction

• Consider the following
Process
furnace example               Heater
(Cutlet & Ramaker)
Process Flow
• MV
– Fuel flow FIC
Ti      Fp

• DV                                                       FIC   TIC

– Inlet temperatureTI
• CV
Fuel
– Outlet temperature TIC
2/25/2001              Industrial Process Control                 3
Dynamic Matrix Control - Introduction

• The furnace DMC                           0.014        0.0 
0.086       0.240
model is defined by its                                     
0.214       0.340
dynamic coefficients                                        
 0.414       0.465
• Response to step                          0.600       0.540
change in fuel, a                       a      , b        
 0.736       0.590
• Response to step                          0.836       0.622
                  
change in inlet                           0.904       0.640
temperature, b                            0.949       0.653
                  
0.986
            0.658
      
2/25/2001           Industrial Process Control                       4
Dynamic Matrix Control - Introduction
Fuel Coefficients ai
• DMC Dynamic
1.5
coefficents                       1
Fuel Coefficients ai
0.5
• Response to step                  0
0               5                  10
change in fuel, a
• Response to step                                 Inlet Temperature Coefficients bi

change in inlet                   1
Inlet Temperature
0.5
temperature, b                                                                       Coefficients bi
0
0                5                  10

2/25/2001             Industrial Process Control                                                  5
Dynamic Matrix Control - Introduction

• The DMC prediction may be calculated from
those coefficients and the independent variable
changes
 MV 1 
 CV 1   a1      0        0       b1       0      0             
     2    a                                                 MV 2 
CV   2          a1       0       b2      b1      0     MV 3 
 CV 3    a3   a2        a1      b3      b2      b1         1
                                                          DV 
                                              
 DV 2 
 CV i   ai                                      bi  2         
                ai 1   ai  2    bi     bi 1          
 DV 
3
       
2/25/2001                        Industrial Process Control                          6
Dynamic Matrix Control - Introduction

• Feedforward prediction is enabled by moving the
DV to the left hand side

 CV 1   b1              a1            0       0 
     2                  a
 CV  b2                 2             a1      0   MV 1 
 
2
 CV 3   b3   DV 1   a3           a2       a1   MV 
                                                      
                                               MV 3 

 CV i   bi 
               ai
                      ai  2 

                                         ai 1
2/25/2001               Industrial Process Control                       7
Dynamic Matrix Control - Introduction

• Predicted response determined from current outlet
temperature and predicted changes and past history of the
MVs and DVs
• Desired response is determined by subtracting the
predicted response from the setpoint
• Solve for future MVs -- Overdetermined system
– Least square criteria (L2 norm)
– Very large changes in MVs not physically realizable
– Solved by introduction of move suppression

2/25/2001                  Industrial Process Control         8
Dynamic Matrix Control - Introduction

• Controller definition                        CV 1  CV 0 
– Prediction horizon =                               
30 time steps                              
CV 30  CV 0 
– Control horizon = 10                               
time steps
• Initialization                             e1   SP1   CV 1 
                    
– Set CV prediction                            
vector to current outlet             e 30   SP 30  CV 30 
temperature                                              
– Calculate error vector
2/25/2001                Industrial Process Control                  9
Dynamic Matrix Control - Introduction

• Least squares formulation including move
suppression
 a1      0      0             0 
a       a1      0              
 2                                  
 a3     a2      a1            0 
                                                e1 
                           0                2
                          a1      MV 1   e 
                                                 
                              MV 2   10 
        e
a      a29      a28          a21           
 30                                          0 
1,1     0            0       0  MV 30   
       
 0                                               
Move          
2 , 2                
           0 
        0            0                       
suppression   
9,9

                            0 
 0
         0            0     10,10 


2/25/2001             Industrial Process Control                            10
Dynamic Matrix Control - Introduction
• DMC Controller cycle
– Calculate moves using least square solution
– Use predicted fuel moves to calculate changes to outlet
temperature and update predictions
– Shift prediction forward one unit in time
– Compare current predicted with actual and adjust all 30
predictions (accounts for unmeasured disturbances)
– Calculate feedforward effect using inlet temperature
– Solve for another 10 moves and add to previously
calculated moves
2/25/2001               Industrial Process Control           11
Dynamic Matrix Control - Introduction

• Furnace Example                              Furnace Temperature Response
• Temperature                           15                                     625
Disturbance                           10

Temperature
DT=15 at t=0                           5

• Three Fuel                             0                                     600
-5 0                   5    10    15
Moves                                -10        Fuel_0
Temp_0
Calculated                           -15        Fuel_1                       575
Temp_1           Time
Fuel_2
Prediction

2/25/2001           Industrial Process Control                                 12
Dynamic Matrix Control
Basic Features Since 1983
• Constrain max MV movements during each
time interval
• Constrain min/max MV values at all times
• Constrain min/max CV values at all times
• Drive to economic optimum
• Allow for feedforward disturbances

2/25/2001           Industrial Process Control   13
Dynamic Matrix Control
Basic Features Since 1983
• Restrict computed MV move sizes (move
suppression)
• Relative weighting of MV moves
• Relative weighting of CV errors (equal
concern errors)
• Minimize control effort

2/25/2001           Industrial Process Control   14
pcr:
k>M

Dynamic Matrix Control                   M = number of
time intervals
required for CV
Basic Features Since 1983               to reach steady-
state

• For linear differential equations the process outputon time
j = index
starting at the
can be given by the convolution theorem        initial time

k                           d = unmeasured

CV k 1  CV 0   ak  j 1  MV j  d k     disturbance

j 0

CV 1  CV 0  a1  MV 0  d 0
CV 2  CV 0  a2  MV 0  a1  MV 1  d 1
CV 3  CV 0  a3  MV 0  a2  MV 1  a1  MV 2  d 2

2/25/2001               Industrial Process Control          15
pcr:
Where,

Dynamic Matrix Control                                   N = number of
future moves

Basic Features Since 1983                           M = time horizon
required to reach
• Breaking up the summation terms into past and the
Note:
estimated outputs
future contributions                      depend only on
k  N 1                 the N computed
k l
CV k  l  CV                      ak l  j  MV
j k
j   future inputs

k 1          k 1
CV  CV  a1  MV k
k 2
k 2
CV  CV  a2  MV k  a1  MV k 1
k 3          k 3
CV               CV           a3  MV k  a2  MV k 1  a3  MV k 2

2/25/2001                            Industrial Process Control                  16
Dynamic Matrix Control
Basic Features Since 1983
• Let N=number future moves, M=time horizon to
reach steady state, then in matrix form
 a1       0                  0      
a         a1                       
 2                                   
 CV k 1   CV   
k 1
                 0   MV k 
    k 2     k 2                                                     
 CV    CV    a N         a N 1              a1   MV k 1 

                                                                
 k M   k M                                                          
CV
          CV
          aM
          aM 1             aM  N 1  MV k  N 1 
           
                             
                                     
aM
         aM                aM      
2/25/2001                   Industrial Process Control                                 17
Dynamic Matrix Control
Basic Features Since 1983
• Setting the predicted CV value to its setpoint and
subtracting the past contributions, the “simple”
DMC equation results           pcr:
Dynamic matrix A is size MxN where

 CV k 1  CV k 1             M is the number of points required to
reach steady-state and N is the
    S
k 2     k 2 
number of future moves

 CVS  CV            e  A  ΔMV
                   
                  
k M
CVSk  M  CV
                   

2/25/2001             Industrial Process Control                            18
Dynamic Matrix Control
Basic Features Since 1983
• To scale the residuals, a weighted least squares problem is
posed                   1                     pcr:
Min W 2  A  ΔMV  e 
1
wi = relative weighting of
2                      2    the ith CV which will be
repeated M times to form
 w1                                          
the diagonal weighting
                                   matrix W 
• For example,                      w1                           0      
the relative                                                         
1                                               
w1
weights with         W2                                              
two CVs                                             w2                
                                            
                                           
         0                          w2      
                                            

                                         w2 

2/25/2001                 Industrial Process Control                             19
Dynamic Matrix Control
Basic Features Since 1983
• To restrict the size of             r1                                               
calculated moves a                               r1                     0            
                                                 
relative weight for                                                                 
each of the MVs is                                                                   
r1
R                                                 
imposed                                                        r2                    
                                                 
                                                
1     A
1
e                                                             
Min W      ΔMV    
 R
2

0                      r2
2               0                                                             
2     
                                              r2 


2/25/2001              Industrial Process Control                               20
Dynamic Matrix Control
Basic Features Since 1983
• Subject to linear constraints
– The change in each MV is within a “step” bound

MV LO      MV k  MV HI 
    LO            k 1         HI 
MV   I   MV            MV 
                          
    LO          k  N 1       HI 
MV 
           MV
               MV 
         

2/25/2001              Industrial Process Control       21
Dynamic Matrix Control
Basic Features Since 1983
• Subject to linear constraints                           IL
– Size of each MV step for each
time interval

 MV k   MV  1                       0        0  MV k 
      k 1                                              k 1 
 MV             MV   1            1           MV          
MV 
                                         0               
    k  N 1 
                                      k  N 1 
 MV
               MV  1
                        1        1 MV
              


2/25/2001              Industrial Process Control                        22
Dynamic Matrix Control
Basic Features Since 1983
• Subject to linear constraints
– MV calculated for each time interval is between high
and low limits

 MV LO   MV      MV k   MV HI   MV 
    LO                 k 1         HI      
 MV    MV   I  MV             MV    MV 
      L                          
    LO 
             k  N 1       HI 
    
 MV   MV 
                MV
                MV   MV 
              

2/25/2001               Industrial Process Control            23
Dynamic Matrix Control
Basic Features Since 1983
• Subject to linear constraints
– CV calculated for each time interval is between high
and low limits

CV     CV k 1 
LO
 MV k  CV HI 
 LO       k 2          k 1       HI 
CV    CV   A   MV            CV 
                               
 LO   k  M           k  N 1     HI 
CV  CV
               
  MV
               CV 
       

2/25/2001               Industrial Process Control            24
Dynamic Matrix Control
Basic Features Since 1983

• The following LP subproblem is solved
– where the economic weights are know a priori

Minimize            1MV1*   2 MV2*   3 MV3*
Subject to:
CV1LO  g11MV1*  g12 MV2*  g13 MV3*  CV1HI
CV2LO  g 21MV1*  g 22 MV2*  g 23 MV3*  CV2HI

2/25/2001                   Industrial Process Control         25
Dynamic Matrix Control
Basic Features Since 1983
• The original dynamic matrix is modified
– Aij is the dynamic matrix of the ith CV with respect to
the jth MV, 1t  1,1, ,1

 A11   A12      A13            e1     
A      A 22          
A 23           e2     
 21                                    
A   1t     0        0 , e   MV1*  MV 1 
                                      
 MV2  MV 2 
*
 0     1t        0 
 0
        0       1t       MV3*  MV 3 
             
2/25/2001                  Industrial Process Control        26

```
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
 views: 14 posted: 4/20/2011 language: English pages: 26