520 likes | 699 Views
Decentralized control. Sigurd Skogestad Department of Chemical Engineering Norwegian University of Science and Tecnology (NTNU) Trondheim, Norway. Outline. Multivariable plants RGA Decentralized control Pairing rules Examples. (Time constant 50 min for y D ).
E N D
Decentralized control Sigurd Skogestad Department of Chemical Engineering Norwegian University of Science and Tecnology (NTNU) Trondheim, Norway
Outline • Multivariable plants • RGA • Decentralized control • Pairing rules • Examples
(Time constant 50 min for yD) (time constant 40 min for xB) Multivariable control problem Distillation column “Increasing reflux L from 1.0 to 1.1 changes yD from 0.95 to 0.97, and xB from 0.02 to 0.03” “Increasing boilup V from 1.5 to 1.6 changes yD from 0.95 to 0.94, and xB from 0.02 to 0.01” Steady-State Gain Matrix
Multivariable decoupling control K y u Dy Kdiag Du G K = Du Kdiag Dy
Most common: input decoupling • K = D Kdiag • Dynamic decoupling, D = G(s)-1 • Steady-state decoupling, D = G(0)-1 • Approximate decoupling, D = G(jw)-1 • Keep diagonal elements in GD unchanged – similar to feedforward control • One way decoupling Kdiag D G
One-way decoupling • ”Feed-forward” implementation u’1 u1 y1 r1-y1 c1 -g12/g11 g11 g12 g21 g22 r2-y2 y2 c2 u’2 u2 Consider u2 as measured disturbance on y1 y1 = g11 u1 + g12 u2 Want y1=0: 0 = g11 u1 + g12 u2 -> ”feedforward”: u1 = -g12/g11 u2 Decoupled process: y1 = g11 u’1 y2 = g21 u’1 + (g22 – g21g12/g11) u’2 Note: y2/u2 changes
(Two-way) decoupling: ”Feed-forward” implementation GD = decoupled process u1 y1 r1-y1 c1 -g12/g11 g11 g12 g21 g22 -g21/g22 r2-y2 y2 c2 u2 1. ”Feedforward”: Decoupler has 1’s on diagonal: D = [1 -g21/g22; -g21/g22 1] General decoupler with 1’s on diagonal: D = G-1 (G-1diag)-1 … but note that diagonal elements of decoupled process GD change ! 2. To keep (GD)diag = Gdiag we need more complicated decoupler: D= G-1 Gdiag
Effective use of decentralized control requires some “natural” decomposition • Decomposition in space = Non-interactive • Interactions are small (RGA useful tool) • G close to diagonal • Independent design can be used • Decomposition in time • Different response times for the outputs are allowed • Usually: At least factor 5 different • Sequential design can be used
Two main steps • Choice of pairings: RGA useful tool • Design (tuning) of each controller
Decentralized control:Design (tuning) of each controller ki(s) • Fully coordinated design • can give optimal • BUT: requires full model, so may as well use multivariable controller • not used in practice • Independent design • Base design on “paired element” • Can get failure tolerance • Not possible for interactive plants. RGA useful tool • Sequential design • Each design a SISO design • Can use “partial control theory” • Depends on inner loop always being closed • Works on interactive plants if time scale separation for outputs is OK
Analysis of Multivariable processes Process Model 2x2 INTERACTIONS: Caused by nonzero g12 and/or g21 y1 u1 g11 g12 g21 y2 u2 g22
y1 u1 g11 g12 g21 y2 u2 g22 C2 Consider effect of u1 on y1 • “Open-loop” (C2 = 0): y1 = g11(s)·u1 • “Closed-loop” (close loop 2, C2≠0): Change caused by “interactions”
Limiting Case C2→∞ (perfect control of y2) How much has “gain” from u1 to y1 changed by closing loop 2 with perfect control? The relative Gain Array (RGA) is the matrix formed by considering all the relative gains Example from before
Property of RGA: • Columns and rows always sum to 1 • RGA independent of scaling (units) for u and y.
Use of RGA: • Interactions • RGA-element ()> 1: Smaller gain by closing other loops (“fighting loops” gives slower control) • RGA-element ()<1: Larger gain by closing other loops (can be dangerous) • RGA-element ()negative: Gain reversal by closing other loops (Oops!) Rule 1. Avoid pairing on negative steady-state relative gain – otherwise you get instability if one of the loops become inactive (e.g. because of saturation) Rule 2. Choose pairings corresponding to RGA-elements close to 1 Traditional: Consider Steady-state Better (improved Rule 2): Consider frequency corresponding to closed-loop time constant
(2) Sensitivity measure But RGA is not only an interaction measure: Large RGA-elements signals a process that is fundamentally difficult to control. Close to singular and sensitive to small errors Large (BAD!)
Singular Matrix: Cannot take inverse, that is, decoupler hopeless. Control difficult Implication: If the RGA-elements are large, especially at “control” frequencies, then the process is fundamentally difficult to control. Need to change the process! For example, change MVs or CVs
Cookbook for pairing and RGA • Indentify the n y’s (CVs) and n u’s (MVs) for which you are uncertain about the pairings • Find the transfer matrix, y = G(s) u (preferably with dynamics) • Compute RGA as a function of frequency, RGA = G(jw) * G(jw)-T • General: If there are large RGA-elements (>10-15) in the frequency range important for control, then the process is fundamentally difficult to control. Consider modifying the process (change MVs or CVs?) • Pairings: Consider the steady-state RGA (s=0). AVOID pairing on negative RGA-elements!! • Pairings: Prefer pairing on RGA-elements close to 1 at control frequencies. Check: Want small element magnitudes of RGA-Ip, where Ip is matrix with 1’s at selected pairings • Pairings: Prefer pairing on variables with good controllability (=small effective delay). Pair “close”! • If you cannot find satisfying pairings, then consider multivariable control, for example, decoupling or MPC.
Example Only diagonal pairings give positive steady-state RGAs!
Exercise. Blending process sugar u1=F1 y1 = F(given flowrate) y2 = x (given sugar fraction) • Mass balances (no dynamics) • Total: F1 + F2 = F • Sugar: F1 = x F • Linearize balances and introduce: u1=dF1, u2=dF2, y1=F1, y2=x, • Obtain gain matrix G (y = G u) • Nominal values are x=0.2 [kg/kg] and F=2 [kg/s]. Find G • Compute RGA and suggest pairings • Does the pairing choice agree with “common sense”? water u2=F2
Example 3.10: Separator (pressure vessel) u1 = zV y1 = pressure (p) • Pairings? Would expect y1/u1 and y2/u2 • But process is strongly coupled at intermediate frequencies. Why? • Frequency-dependent RGA suggests opposite pairing at intermediate frequencies Feed (d) y2 = level (h) u2 = zL
Separator example: Simulations (delay = 1) y1 Diagonal y2 BEST y1 Off-Diagonal y2
Separator example: Simulations (delay = 5) y1 y2 Diagonal y1 Off-Diagonal BEST y2
Separator example • Close on diagonal if small delay (delay=1) (“high frequencies”) • Close on off-diagonal if larger delay (delay=5) (“intermediate frequencies”) • Could consider use of multivariable controller • BUT NOTE IN THIS CASE: May eliminate one of the interactions by implementing a flow controller! • How and Why? • Let -> denote “has an effect on” • Original: u1=zV -> V -> p -> L=f(zL,p) -> y2=h • With flow controller for liquid flow: L is independent of p, so u1 has no effect on y2. • What about flow controller for vapor flow V? Does not help because we still have u2=L -> h -> Volume vapor -> y1=p
Summary pairing rules(mainly for independent design) Pairing rule 1. For a stable plant avoid pairings ij that correspond to negative steady-state RGA elements, ij(0)· 0. Pairing rule 2. RGA at crossover frequencies. Prefer pairings such that the rearranged system, with the selected pairings along the diagonal, has an RGA matrix close to identity at frequencies around the closed-loop bandwidth. Pairing rule 3. Prefer a pairing ij where gijputs minimal restrictions on the achievable bandwidth. Specifically, its effective delay ijshould be small.
Decentralized control: More details • Most plants can be controlled using decentralized control, but this does not mean that it is a good strategy • If you need a process good model G to tune the decentralized controller, then you may as well use multivariable control, eg. MPC • In the following: Some examples that show that decentralized control can work for any plant
Example 1: Diagonal plant (“two rooms”) • Simulations (and for tuning): Add delay 0.5 in each input • Simulations setpoint changes: r1=1 at t=0 and r2=1 at t=20 • Performance: Want |y1-r1| and |y2-r2| less than 1 • G (and RGA): Clear that diagonal pairings are preferred
Diagonal plant: Diagonal pairings Get two independent subsystems:
Diagonal pairings.... Simulation with delay included:
Off-diagonal pairings (!!?) Pair on two zero elements !! Loops do not work independently! But there is some effect when both loops are closed:
Off- diagonal pairings for diagonal plant • Example: Want to control temperature in two completely different rooms (which may even be located in different countries). BUT: • Room 1 is controlled using heat input in room 2 (?!) • Room 2 is controlled using heat input in room 1 (?!) TC ?? 2 1 TC
Off-diagonal pairings.... Controller design difficult. After some trial and error: • Performance quite poor, but it works because of the “hidden” feedback loop g12 g21 k1 k2!! • No failure tolerance. WOLULD NOT USE IN PRACTICE!
Conclusion “two-room” example • Completely wrong pairing was made workable • Demonstrates that decentralized control can be made to work (with a good enegineer) even for very interactive plants • Lessons decentralized control: • It may work, but still be far from optimal • Use only decentralized control if it does not require a lot of effort to tune • If the plant is interactive and a lot of effort is needed to make decentralized control work (to obtain model), then you may as well use multivariable control (e.g. MPC): • As easy • Much better performance
Example 2: One-way interactive (triangular) plant • Simulations (and for tuning): Add delay 0.5 in each input • RGA: Seems that diagonal pairings are preferred • BUT: RGA is not able to detect the strong one-way interactions (g12=5)
Diagonal pairings One-way interactive:
Diagonal pairings.... Closed-loop response (delay neglected): With 1 = 2 the “interaction” term (from r1 to y2) is about 2.5 Need loop 1 to be “slow” to reduce interactions: Need 1¸ 5 2
Off-diagonal pairings Pair on one zero element (g12=g11*=0) BUT pair on g21=g*22=5: may use sequential design: Start by tuning k2*
Comparison of diagonal and off-diagonal pairings • Offdiagonal: • OK performance, • but no failure tolerance • if loop 2 fails
Example 3: Two-way interactive plant • Already considered case g12=0 (RGA=I) • g12=0.2: plant is singular (RGA=1) • will consider diagonal parings for: (a) g12 = 0.17, (b) g12 = -0.2, (c) g12 = -1 • Controller: • with 1=5 and 2=1
Typical: Pairing on large RGA-elements gives interactions and sluggish (slow) response when both loops are closed
Typical: Pairing on RGA-elements between 0 and 1 gives interactions and fast response when both loops are closed (fast -> be careful about instability)
Conclusions decentralized examples • Performance is often OK with decentralized control (even with wrong pairings!) • However, controller design becomes difficult for interactive plants (where pairing on RGA close to identity is not possible) • and independent design may not be possible • and failure tolerance may not be guaranteed • Consider multivariable control if interactions are large!
Sometimes useful: Iterative RGA • For large processes, lots of pairing alternatives • RGA evaluated iteratively is helpful for quick screening • Converges to “Permuted Identity” matrix (correct pairings) for generalized diagonally dominant processes. • Can converge to incorrect pairings, when no alternatives are dominant. • Usually converges in 5-6 iterations