Outline • Control structure design (plantwide control) • A procedure for control structure design I Top Down • • • • Step 1: Degrees of freedom Step 2: Operational objectives (optimal operation) Step 3: What to control ? (self-optimizing control) Step 4: Where set production rate? II Bottom Up • Step 5: Regulatory control: What more to control ? • Step 6: Supervisory control • Step 7: Real-time optimization • Case studies 1 II. Bottom-up • Determine secondary controlled variables and structure (configuration) of control system (pairing) • A good control configuration is insensitive to parameter changes Step 5. REGULATORY CONTROL LAYER 5.1 Stabilization (including level control) 5.2 Local disturbance rejection (inner cascades) What more to control? (secondary variables) Step 6. SUPERVISORY CONTROL LAYER Decentralized or multivariable control (MPC)? Pairing? Step 7. OPTIMIZATION LAYER (RTO) 2 Step 5. Regulatory control layer • Purpose: “Stabilize” the plant using a simple control configuration (usually: local SISO PID controllers + simple cascades) • Enable manual operation (by operators) • Main structural issues: • What more should we control? (secondary cv’s, y2, use of extra measurements) • Pairing with manipulated variables (mv’s u2) y1 = c y2 = ? 3 Objectives regulatory control layer 1. 2. 3. 4. 5. 6. 7. Allow for manual operation Simple decentralized (local) PID controllers that can be tuned on-line Take care of “fast” control Track setpoint changes from the layer above Local disturbance rejection Stabilization (mathematical sense) Avoid “drift” (due to disturbances) so system stays in “linear region” – “stabilization” (practical sense) 8. Allow for “slow” control in layer above (supervisory control) 9. Make control problem easy as seen from layer above The key decisions here (to be made by the control engineer) are: 1. Which extra secondary (dynamic) variables y2 should we control? 2. Propose a (simple) control configuration (select input-output pairings) 5 Main objectives control system 1. Implementation of acceptable (near-optimal) operation 2. Stabilization ARE THESE OBJECTIVES CONFLICTING? • Usually NOT – Different time scales • – Stabilization doesn’t “use up” any degrees of freedom • • 6 Stabilization fast time scale Reference value (setpoint) available for layer above But it “uses up” part of the time window (frequency range) Why simplified configurations? • Fundamental: Save on modelling effort • Other: – – – – – – 7 easy to understand easy to tune and retune insensitive to model uncertainty possible to design for failure tolerance fewer links reduced computation load Use of (extra) measurements (y2) as (extra) CVs: Cascade control y2s K u2 G Primary CV y1 y 2 Secondary CV (control for dynamic reasons) Key decision: Choice of y2 (controlled variable) Also important (since we almost always use single loops in the regulatory control layer): Choice of u2 (“pairing”) 8 Degrees of freedom unchanged • No degrees of freedom lost by control of secondary (local) variables as setpoints become y2s replace inputs u2 as new degrees of freedom Cascade control: y2s New DOF 9 K u2 G y1 y Original DOF 2 Example: Distillation • Primary controlled variable: y1 = c = xD, xB (compositions top, bottom) • BUT: Delay in measurement of x + unreliable • Regulatory control: For “stabilization” need control of (y2): – – – – Liquid level condenser (MD) Unstable (Integrating) + No steady-state effect Liquid level reboiler (MB) Pressure (p) Variations in p disturb other loops Holdup of light component in column (temperature profile) Almost unstable (integrating) Ts 10 T-loop in bottom TC Cascade control distillation ys y With flow loop + T-loop in top X C Ts T TC Ls L 11 X C FC z Hierarchical control: Time scale separation • With a “reasonable” time scale separation between the layers (typically by a factor 5 or more in terms of closed-loop response time) we have the following advantages: 1. The stability and performance of the lower (faster) layer (involving y2) is not much influenced by the presence of the upper (slow) layers (involving y1) Reason: The frequency of the “disturbance” from the upper layer is well inside the bandwidth of the lower layers 2. With the lower (faster) layer in place, the stability and performance of the upper (slower) layers do not depend much on the specific controller settings used in the lower layers Reason: The lower layers only effect frequencies outside the bandwidth of the upper layers 12 QUIZ: What are the benefits of adding a flow controller (inner cascade)? qs Extra measurement y2 = q 1. 13 z Counteracts nonlinearity in valve, f(z) • 2. q With fast flow control we can assume q = qs Eliminates effect of disturbances in p1 and p2 Objectives regulatory control layer 1. 2. 3. 4. 5. 6. 7. Allow for manual operation Simple decentralized (local) PID controllers that can be tuned on-line Take care of “fast” control Track setpoint changes from the layer above Local disturbance rejection Stabilization (mathematical sense) Avoid “drift” (due to disturbances) so system stays in “linear region” – “stabilization” (practical sense) 8. Allow for “slow” control in layer above (supervisory control) 9. Make control problem easy as seen from layer above 14 Implications for selection of y2: 1. Control of y2 “stabilizes the plant” 2. y2 is easy to control (favorable dynamics) 1. “Control of y2 stabilizes the plant” A. “Mathematical stabilization” (e.g. reactor): • Unstable mode is “quickly” detected (state observability) in the measurement (y2) and is easily affected (state controllability) by the input (u2). • Tool for selecting input/output: Pole vectors – y2: Want large element in output pole vector: Instability easily detected relative to noise – u2: Want large element in input pole vector: Small input usage required for stabilization 15 B. “Practical extended stabilization” (avoid “drift” due to disturbance sensitivity): • Intuitive: y2 located close to important disturbance • Maximum gain rule: Controllable range for y2 is large compared to sum of optimal variation and control error • More exact tool: Partial control analysis Recall maximum gain rule for selecting primary controlled variables c: Controlled variables c for which their controllable range is large compared to their sum of optimal variation and control error Restated for secondary controlled variables y2: Control variables y2 for which their controllable range is large compared to their sum of optimal variation and control error controllable range = range y2 may reach by varying the inputs optimal variation: due to disturbances Want small control error = implementation error n 16 Want large What should we control (y2)? Rule: Maximize the scaled gain • • General case: Maximize minimum singular value of scaled G Scalar case: |Gs| = |G| / span • |G|: gain from independent variable (u2) to candidate controlled variable (y2) – IMPORTANT: The gain |G| should be evaluated at the (bandwidth) frequency of the layer above in the control hierarchy! • • • span (of y2) = optimal variation in y2 + control error for y2 – – 17 If the layer above is slow: OK with steady-state gain as used for selecting primary controlled variables (y1=c) BUT: In general, gain can be very different Note optimal variation: This is often the same as the optimal variation used for selecting primary controlled variables (c). Exception: If we at the “fast” regulatory time scale have some yet unused “slower” inputs (u1) which are constant then we may want find a more suitable optimal variation for the fast time scale. 2. “y2 is easy to control” (controllability) 1. Statics: Want large gain (from u2 to y2) 2. Main rule: y2 is easy to measure and located close to available manipulated variable u2 (“pairing”) 3. Dynamics: Want small effective delay (from u2 to y2) • “effective delay” includes • • 19 inverse response (RHP-zeros) + high-order lags Rules for selecting u2 (to be paired with y2) 1. Avoid using variable u2 that may saturate (especially in loops at the bottom of the control hieararchy) • Alternatively: Need to use “input resetting” in higher layer (“midranging”) • Example: Stabilize reactor with bypass flow (e.g. if bypass may saturate, then reset in higher layer using cooling flow) 2. “Pair close”: The controllability, for example in terms a small effective delay from u2 to y2, should be good. 20 Cascade control (conventional; with extra measurement) The reference r2 (= setpoint ys2) is an output from another controller General case (“parallel cascade”) Special common case (“series cascade”) 21 Series cascade 1. 2. 3. Disturbances arising within the secondary loop (before y2) are corrected by the secondary controller before they can influence the primary variable y1 Phase lag existing in the secondary part of the process (G2) is reduced by the secondary loop. This improves the speed of response of the primary loop. Gain variations in G2 are overcome within its own loop. Thus, use cascade control (with an extra secondary measurement y2) when: • The disturbance d2 is significant and G1 has an effective delay • The plant G2 is uncertain (varies) or nonlinear 22 Design / tuning • First design K2 (“fast loop”) to deal with d2 • Then design K1 to deal with d1 Partial control • Cascade control: y2 not important in itself, and setpoint (r2) is available for control of y1 • Decentralized control (using sequential design): y2 important in itself 23 Partial control analysis Primary controlled variable y1 = c (supervisory control layer) Local control of y2 using u2 (regulatory control layer) Setpoint y2s : new DOF for supervisory control y1 = P1 u1 + Pr1 (y2s-n2) + Pd1 d P1 = G11 – G12 G22-1 G21 Pd1 = Gd1 – G12 G22-1 Gd2 Pr1 = G12 G22-1 24 (WANT SMALL) Assumption: Perfect control (K2 -> 1) in “inner” loop Derivation: Set y2=y2s-n2 (perfect control), eliminate u2, and solve for y1 Partial control: Distillation Supervisory control: u1 = V Primary controlled variables y1 = c = (xD xB)T Regulatory control: Control of y2=T using u2 = L (original DOF) Setpoint y2s = Ts : new DOF for supervisory control y1 = P1 u1 + Pr1 (y2s-n2) + Pd1 d P1 = G11 – G12 G22-1 G21 Pd1 = Gd1 – G12 G22-1 Gd2 - WANT SMALL Pr1 = G12 G22-1 25 Limitations of partial control? • Cascade control: Closing of secondary loops does not by itself impose new problems – Theorem 10.2 (SP, 2005). The partially controlled system [P1 Pr1] from [u1 r2] to y1 has no new RHP-zeros that are not present in the open-loop system [G11 G12] from [u1 u2] to y1 provided • r2 is available for control of y1 • K2 has no RHP-zeros • Decentralized control (sequential design): Can introduce limitations. – Avoid pairing on negative RGA for u2/y2 – otherwise Pu likely has a RHPzero 26 Selecting measurements and inputs for stabilization: Pole vectors • Maximum gain rule is good for integrating (drifting) modes • For “fast” unstable modes (e.g. reactor): Pole vectors useful for determining which input (valve) and output (measurement) to use for stabilizing unstable modes • Assumes input usage (avoiding saturation) may be a problem • Compute pole vectors from eigenvectors of A-matrix 27 28 29 Example: Tennessee Eastman challenge problem 30 31 32 33 34 35 36 ”Summary Advanced control” STEP S6. SUPERVISORY LAYER Objectives of supervisory layer: 1. Switch control structures (CV1) depending on operating region – Active constraints – self-optimizing variables 2. Perform “advanced” economic/coordination control tasks. – Control primary variables CV1 at setpoint using as degrees of freedom (MV): • Setpoints to the regulatory layer (CV2s) • ”unused” degrees of freedom (valves) – Keep an eye on stabilizing layer • Avoid saturation in stabilizing layer – Feedforward from disturbances • If helpful – Make use of extra inputs – Make use of extra measurements Implementation: • Alternative 1: Advanced control based on ”simple elements” (decentralized control) • Alternative 2: MPC 37 Summary of some simple elements Feeforward control with Multiple feeds etc. (extensive variables).: Ratio control • Ratio setpoint usually set by feedback in a cascade manner Feedback 1. Use of extra measurements for improved control;: Cascade control – Cascade control is when MV (for master) =setpoint to slave controller – MV1 = CV2s 2. Switch between active constraints: Selectors 3. Make use of extra inputs – Dynamic (improve performance): Input resetting = valve position control = midranging control – Steady state (extend operating range): Split range control 4. Reduce interactions when using single-loop control: Decouplers (including phsically based) 38 Control configuration elements • Control configuration. The restrictions imposed on the overall controller by decomposing it into a set of local controllers (subcontrollers, units, elements, blocks) with predetermined links and with a possibly predetermined design sequence where subcontrollers are designed locally. Some control configuration elements: • Cascade controllers • Decentralized controllers • Feedforward elements • Decoupling elements • Input resetting/Valve position control/Midranging control • Split-range control • Selectors 39 Most important control structures 1. 2. 3. 40 Feedback control Ratio control (special case of feedforward) Cascade control Ratio control (most common case of feedforward) General: Use for extensive variables (usually flows) with constant optimal ratio Example: Process with two feeds q1(d) and q2 (u), where ratio should be constant. Use multiplication block (x): (q2/q1)s (desired flow ratio) q1 (measured flow disturbance) 41 x q2 (MV: manipulated variable) “Measure disturbance (d=q1) and adjust input (u=q2) such that ratio is at given value (q2/q1)s” Usually: Combine ratio (feedforward) with feedback • Adjust (q1/q2)s based on feedback from process, for example, composition controller. • This is a special case of cascade control – Example cake baking: Use recipe (ratio control = feedforward), but adjust ratio if result is not as desired (feedback) – Example evaporator: Fix ratio qH/qF (and use feedback from T to fine tune ratio) 42 Example Cascade control • Controller (“master”) gives setpoint to another controller (“slave”) – – • Without cascade: “Master” controller directly adjusts u (input, MV) to control y With cascade: Local “slave” controller uses u to control “extra”/fast measurement (y’). “Master” controller adjusts setpoint y’s. Example: Flow controller on valve (very common!) – – – y = level H in tank (or could be temperature etc.) u = valve position (z) y’ = flowrate q through valve flow in Hs H LC flow in Hs H LC MV=z MV=qs valve position q FC z flow out 43 WITHOUT CASCADE flow out WITH CASCADE measured flow What are the benefits of adding a flow controllerq (inner cascade)? s Extra measurement y’ = q q z f(z) 1. Counteracts nonlinearity in valve, f(z) • 2. 44 1 With fast flow control we can assume q = qs Eliminates effect of disturbances in p1 and p2 0 0 1 z (valve opening) Example (again): Evaporator with heating From reactor qF [m3/s] TF [K] cF [mol/m3] evaporation level measurement temperature measurement T ∞ H q [m3/s] T [K] c [mol/m3] Heating fluid qH [m3/s] TH [K] concentrate NEW Control objective • Keep level H at desired value • Keep composition c (rather than temperature T) at desired value BUT: Composition measurement has large delay + unreliable Suggest control structure based on cascade control 45 Split Range Temperature Control Split-Range Temperature Controller Cooling Water RSP Steam TT TT 46 TC Split Range Temperature Control Signal to Control Valve (%) 100 80 60 40 Cooling Water Steam 20 0 E0 Error from Setpoint for Jacket Temperature 47 Note: adjust the location er E0 to make process gains equal Use of extra measurements: Cascade control (conventional) The reference r2 (= setpoint ys2) is an output from another controller General case (“parallel cascade”) Not always helpful… y2 must be closely related to y1 Special common case (“series cascade”) 48 Series cascade 1. 2. 3. Disturbances arising within the secondary loop (before y2) are corrected by the secondary controller before they can influence the primary variable y1 Phase lag existing in the secondary part of the process (G2) is reduced by the secondary loop. This improves the speed of response of the primary loop. Gain variations in G2 are overcome within its own loop. Thus, use cascade control (with an extra secondary measurement y2) when: • The disturbance d2 is significant and G1 has an effective delay • The plant G2 is uncertain (varies) or nonlinear 49 Design / tuning (see also in tuning-part): • First design K2 (“fast loop”) to deal with d2 • Then design K1 to deal with d1 Example: Flow cascade for level control u = z, y2=F, y1=M, K1= LC, K2= FC Pressure control distillation • Need to stabilze p using Qc • But want Qc to be max • Use cascade with backoff on Qc ( • Another similar example: reactor temperature control (stabilization) closed to Qmax. 50 Use of extra inputs Two different cases 1. Have extra dynamic inputs (degrees of freedom) Cascade implementation: “Input resetting to ideal resting value” Example: Heat exchanger with extra bypass Also known as: Midranging control, valve position control 2. Need several inputs to cover whole range (because primary input may saturate) (steady-state) Split-range control Example 1: Control of room temperature using AC (summer), heater (winter), fireplace (winter cold) Example 2: Pressure control using purge and inert feed (distillation) 51 Extra inputs, dynamically • Exercise: Explain how “valve position control” fits into this framework. As en example consider a heat exchanger with bypass 52 QUIZ: Heat exchanger with bypass closed CW qB Thot Nvalves = 3,of Thot N0valves •Want tight control •Primary input: CW •Secondary input: qB •Proposed control structure? 53 = 2 (of 3), Nss = 3 – 2 = 1 Alternative 1 closed CW qB TC Thot Nvalves = 3, N0valves = 2 (of 3), Use primary input CW: TOO SLOW 54 Nss = 3 – 2 = 1 Alternative 2 closed CW qB Thot Nvalves = 3, N0valves TC = 2 (of 3), Nss = 3 – 2 = 1 Use “dynamic” input qB Advantage: Very fast response (no delay) Problem: qB is too small to cover whole range + has small steady-state effect 55 Alternative 3: Use both inputs (with input resetting of dynamic input) closed CW qB Thot Nvalves = 3, N0valves TC = 2 (of 3), qBs FC Nss = 3 – 2 = 1 TC: Gives fast control of Thot using the “dynamic” input qB FC: Resets qB to its setpoint (IRV) (e.g. 5%) using the “primary” input CW IRV = ideal resting value 56 Also called: “valve position control” (Shinskey) and “midranging control” (Sweden) Too few inputs • Must decide which output (CV) has the highest priority – Selectors • Implementation: Several controllers have the same MV – Selects max or min MV value – Often used to handle changes in active constraints • Example: one heater for two rooms. Both rooms: T>20C – Max-selector – One room will be warmer than setpoint. • Example: Petlyuk distillation column – Heat input (V) is used to control three compositions using max-selector – Two will be better than setpoint (“overpurified”) at any given time 57 Divided wall column example 58 Control of primary variables • Purpose: Keep primary controlled outputs c=y1 at optimal setpoints cs • Degrees of freedom: Setpoints y2s in reg.control layer • Main structural issue: Decentralized or multivariable? 59 Decentralized control (single-loop controllers) Use for: Noninteracting process and no change in active constraints + Tuning may be done on-line + No or minimal model requirements + Easy to fix and change - Need to determine pairing - Performance loss compared to multivariable control - Complicated logic required for reconfiguration when active constraints move 60 Multivariable control (with explicit constraint handling = MPC) Use for: Interacting process and changes in active constraints + Easy handling of feedforward control + Easy handling of changing constraints • no need for logic • smooth transition - 61 Requires multivariable dynamic model Tuning may be difficult Less transparent “Everything goes down at the same time”