PLANTWIDE CONTROL Sigurd Skogestad Department of Chemical Engineering Norwegian University of Science and Tecnology (NTNU) Trondheim, Norway 1 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 ? (primary CV’s) (self-optimizing control) Step 4: Where set production rate? II Bottom Up • Step 5: Regulatory control: What more to control (secondary CV’s) ? • Step 6: Supervisory control • Step 7: Real-time optimization • Case studies 2 Idealized view of control (“Ph.D. control”) 3 Practice: Tennessee Eastman challenge problem (Downs, 1991) (“PID control”) 4 Idealized view II: Optimizing control 5 Practice II: Hierarchical decomposition with separate layers What should we control? 6 Outline • About Trondheim and myself • 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 7 Stepwise procedure plantwide control I. TOP-DOWN Step 1. DEGREES OF FREEDOM Step 2. OPERATIONAL OBJECTIVES Step 3. WHAT TO CONTROL? (primary CV’s c=y1) Step 4. PRODUCTION RATE II. BOTTOM-UP (structure control system): Step 5. REGULATORY CONTROL LAYER (PID) “Stabilization” What more to control? (secondary CV’s y2) Step 6. SUPERVISORY CONTROL LAYER (MPC) Decentralization Step 7. OPTIMIZATION LAYER (RTO) Can we do without it? 8 Outline • About Trondheim and myself • 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-optimzing 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 9 Step 1. Degrees of freedom (DOFs) • m – dynamic (control) degrees of freedom = valves • u0 – steady-state degrees of freedom • Nm : no. of dynamic (control) DOFs (valves) • Nu0 = Nm- N0 : no. of steady-state DOFs – N0 = N0y + N0m : no. of variables with no steady-state effect • N0m : no. purely dynamic control DOFs • N0y : no. controlled variables (liquid levels) with no steady-state effect • Cost J depends normally only on steady-state DOFs 10 Distillation column with given feed Nm = , N0y = , Nu0 = 11 Heat-integrated distillation process Nm = 11 (w/feed), N0y = 4 (levels), Nu0 = 11 – 4 = 7 12 Heat exchanger with bypasses CW Nm = 3, 13 N0m = 2 (of 3), N0u = 3 – 2 = 1 Typical number of steady-state degrees of freedom (u0) for some process units • • • • • • • • • 14 each external feedstream: 1 (feedrate) splitter: n-1 (split fractions) where n is the number of exit streams mixer: 0 compressor, turbine, pump: 1 (work) adiabatic flash tank: 1 (0 with fixed pressure) liquid phase reactor: 1 (volume) gas phase reactor: 1 (0 with fixed pressure) heat exchanger: 1 (duty or net area) distillation column excluding heat exchangers: 1 (0 with fixed pressure) + number of sidestreams HDA process Purge (H2 + CH4) Compressor H2 + CH4 Toluene Mixer FEHE Toluene Furnace Benzene Toluene Column 15 Diphenyl Cooler PFR Quench Separator CH4 Benzene Column Stabilizer • Check that there are enough manipulated variables (DOFs) - both dynamically and at steady-state (step 2) • Otherwise: Need to add equipment – extra heat exchanger – bypass – surge tank 16 Outline • About Trondheim and myself • 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-optimzing 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 17 Optimal operation (economics) • • What are we going to use our degrees of freedom for? Define scalar cost function J(u0,x,d) – u0: degrees of freedom – d: disturbances – x: states (internal variables) Typical cost function: J = cost feed + cost energy – value products • Optimal operation for given d: minu0 J(u0,x,d) subject to: Model equations: Operational constraints: 18 f(u0,x,d) = 0 g(u0,x,d) < 0 Optimal operation distillation column • • Steady-state DOFs (given p and F): 2, for example L/D and V Cost to be minimized (economics) cost energy (heating+ cooling) J = - P where P= pD D + pB B – pF F – pV V value products cost feed • Constraints Purity D: For example Purity B: For example, Flow constraints: Column capacity (flooding): Pressure: 1) p given, Feed: 1) F given • 19 xD, impurity · max xB, impurity · max min · D, B, L etc. · max V · Vmax, etc. 2) p free: pmin · p · pmax 2) F free: F · Fmax Optimal operation: Minimize J with respect to steady-state DOFs Outline • About Trondheim and myself • 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 20 Step 3. What should we control (c)? Outline • Implementation of optimal operation • Self-optimizing control • Uncertainty (d and n) • Example: Marathon runner • Methods for finding the “magic” self-optimizing variables: A. Large gain: Minimum singular value rule B. “Brute force” loss evaluation C. Optimal combination of measurements • Example: Recycle process • Summary 21 Implementation of optimal operation • Optimal operation for given d*: minu0 J(u0,x,d) subject to: Model equations: Operational constraints: → u0opt(d*) f(u0,x,d) = 0 g(u0,x,d) < 0 Problem: Cannot keep u0opt constant because disturbances d change 22 Distillation: Steady-state degrees of freedom u0 could be L/D and V. Cannot keep these constant Implementation of optimal operation (Cannot keep u0opt constant) ”Obvious” solution: Optimizing control Estimate d from measurements and recompute u0opt(d) Problem: Too complicated (requires detailed model and description of uncertainty) 23 Implementation of optimal operation (Cannot keep u0opt constant) Simpler solution: Look for another variable c which is better to keep constant Note: u0 will indirectly change when d changes and control c at constant setpoint cs = copt(d*) 24 What c’s should we control? • Optimal solution is usually at constraints, that is, most of the degrees of freedom are used to satisfy “active constraints”, g(u0,d) = 0 • CONTROL ACTIVE CONSTRAINTS! – cs = value of active constraint – Implementation of active constraints is usually simple. • WHAT MORE SHOULD WE CONTROL? – Find variables c for remaining unconstrained degrees of freedom u. 25 Solution to optimal operation distillation • Cost to be minimized J = - P where P= pD D + pB B – pF F – pV V • • Optimal operation: Minimize J with respect to DOFs General: Optimal solution with N DOFs: – – • N – Nu DOFs used to satisfy “active” constraints (· is =) Nu remaining unconstrained variables Usually: Nu zero or small Distillation at steady state with given p and F: • N=2 DOFs. Three cases: 1. 2. 3. Nu=0: Two active constraints (for example, xD, impurity = max. xB, impurity = max, “TWO-POINT” CONTROL) Nu=1: One constraint active Nu=2: No constraints active very unlikely unless there are no purity specifications (e.g. byproducts or recycle) 26 Remaining unconstrained variables: What should we control? (primary controlled variables y1=c) • Intuition: “Dominant variables” (Shinnar) • Systematic: Minimize cost J(u0,d*) w.r.t. DOFs u0. 1. Control active constraints (constant setpoint is optimal) 2. Remaining unconstrained DOFs: Control “self-optimizing” variables c for which constant setpoints cs = copt(d*) give small (economic) loss Loss = J - Jopt(d) when disturbances d ≠ d* occur 27 c = ? (economics) y2 = ? (stabilization) Self-optimizing Control Self-optimizing control is when acceptable operation can be achieved using constant set points (cs) for the controlled variables c (without the need to re-optimizing when disturbances occur). c=cs 28 The difficult unconstrained variables Cost J Jopt c copt 29 Selected controlled variable (remaining unconstrained) Implementation of unconstrained variables is not trivial: How do we deal with uncertainty? • 1. Disturbances d (copt(d) changes) • 2. Implementation error n (actual c ≠ copt) cs = copt(d*) – nominal optimization n c = cs + n d Cost J Jopt(d) 30 Problem no. 1: Disturbance d d ≠ d* Cost J d* Jopt Loss with constant value for c copt(d*) 31 ) Want copt independent of d Controlled variable Example: Tennessee Eastman plant J Oopss.. bends backwards c = Purge rate Nominal optimum setpoint is infeasible with disturbance 2 Conclusion: Do not use purge rate as controlled variable 32 Problem no. 2: Implementation error n Cost J d* Loss due to implementation error for c Jopt cs=copt(d*) 33 c = cs + n ) Want n small and ”flat” optimum Effect of implementation error on cost (“problem 2”) Good 34 Good BAD Example sharp optimum. High-purity distillation : c = Temperature top of column Ttop Water (L) - acetic acid (H) Max 100 ppm acetic acid 100 C: 100% water 100.01C: 100 ppm 99.99 C: Infeasible Temperature 35 Summary unconstrained variables: Which variable c to control? • Self-optimizing control: Constant setpoints cs give ”near-optimal operation” (= acceptable loss L for expected disturbances d and implementation errors n) 36 Acceptable loss ) self-optimizing control Examples self-optimizing control • • • • • • • Marathon runner Central bank Cake baking Business systems (KPIs) Investment portifolio Biology Chemical process plants: Optimal blending of gasoline Define optimal operation (J) and look for ”magic” variable (c) which when kept constant gives acceptable loss (selfoptimizing control) 37 Self-optimizing Control – Marathon • Optimal operation of Marathon runner, J=T – Any self-optimizing variable c (to control at constant setpoint)? 38 Self-optimizing Control – Marathon • Optimal operation of Marathon runner, J=T – Any self-optimizing variable c (to control at constant setpoint)? • • • • 39 c1 = distance to leader of race c2 = speed c3 = heart rate c4 = level of lactate in muscles Self-optimizing Control – Marathon • Optimal operation of Marathon runner, J=T – Any self-optimizing variable c (to control at constant setpoint)? • • • • 40 c1 = distance to leader of race (Problem: Feasibility for d) c2 = speed (Problem: Feasibility for d) c3 = heart rate (Problem: Impl. Error n) c4 = level of lactate in muscles (Problem: Impl.error n) Self-optimizing Control – Sprinter • Optimal operation of Sprinter (100 m), J=T – Active constraint control: • Maximum speed (”no thinking required”) 41 Further examples • • • Central bank. J = welfare. u = interest rate. c=inflation rate (2.5%) Cake baking. J = nice taste, u = heat input. c = Temperature (200C) Business, J = profit. c = ”Key performance indicator (KPI), e.g. – Response time to order – Energy consumption pr. kg or unit – Number of employees – Research spending Optimal values obtained by ”benchmarking” • • Investment (portofolio management). J = profit. c = Fraction of investment in shares (50%) Biological systems: – – ”Self-optimizing” controlled variables c have been found by natural selection Need to do ”reverse engineering” : • • 42 Find the controlled variables used in nature From this possibly identify what overall objective J the biological system has been attempting to optimize Mathematical: Local analysis cost J uopt 43 u Unconstrained degrees of freedom: Looking for “magic” variables to keep at constant setpoints. What properties do they have? Skogestad and Postlethwaite (1996): • c-copt should be small: The optimal value of c should be insensitive to disturbances • c should be easy to measure and control accurately • G-1 should be small, i.e (G) should be large: The value of c should be sensitive to changes in the steadystate degrees of freedom (Equivalently, J as a function of c should be flat) 44 • For cases with more than one unconstrained degrees of freedom, the selected controlled variables should be independent. • Summarized by maximum gain (min. singular value) rule Avoid problem 1 (d) Avoid problem 2 (n) Unconstrained degrees of freedom: Looking for “magic” variables to keep at constant setpoints. How can we find them systematically? A. Maximum gain (minimum singular value) rule: B. “Brute force”: Consider available measurements y, and evaluate loss when they are kept constant: C. More general: Find optimal linear combination (matrix H): 45 Unconstrained degrees of freedom: A. Maximum gain rule J Optimizer c cs Controller that adjusts u to keep cm = cs cm=c+n n n cs=copt u d c Plant uopt Want the slope (= gain G from u to y) as large as possible 46 u Unconstrained degrees of freedom: A. Maximum gain (minimum singular value) rule “Maximum gain rule” (Skogestad and Postlethwaite, 1996): Look for variables c that maximize the minimum singular value (G) of the appropriately scaled steady-state gain matrix G from u to c • u: unconstrained degrees of freedom • Loss • Scaling is important: – Scale c such that their expected variation is similar (divide by “span”= optimal variation + noise) – Scale inputs u such that they have similar effect on cost J (Juu unitary) • • 47 (G) is called the Morari Resiliency index (MRI) by Luyben Detailed proof: I.J. Halvorsen, S. Skogestad, J.C. Morud and V. Alstad, ``Optimal selection of controlled variables'', Ind. Eng. Chem. Res., 42 (14), 3273-3284 (2003). Maximum gain rule in words Select controlled variables c for which their controllable range is large compared to their sum of optimal variation and control error controllable range = range c may reach by varying the inputs (=gain) optimal variation: due to disturbance span control error = implementation error n 48 What should we control? Rule: Maximize the scaled gain • Scalar case. Minimum singular value = gain |G| • Maximize scaled gain: |Gs| = |G| / span – |G|: gain from independent variable (u) to candidate controlled variable (c) – span (of c) = optimal variation in c + control error for c 49 Generally (more than unconstrained variable): Scaling for “maximum gain () rule” • “Control active constraints” and look at the remaining unconstrained problem • Candidate outputs: Divide by span = optimal range + implementation error • Candidate inputs: – A unit deviation in each input should have the same effect on the cost function (i.e. Juu should be constant times identity) – Alternatively (often simpler), consider (Juu1/2 G) 50 B. “Brute-force” procedure for selecting (primary) controlled variables (Skogestad, 2000) • • • • • • • Step 1 Determine DOFs for optimization Step 2 Definition of optimal operation J (cost and constraints) Step 3 Identification of important disturbances Step 4 Optimization (nominally and with disturbances) Step 5 Identification of candidate controlled variables (use active constraint control) Step 6 Evaluation of loss with constant setpoints for alternative controlled variables Step 7 Evaluation and selection (including controllability analysis) Case studies: Tenneessee-Eastman, Propane-propylene splitter, recycle process, heat-integrated distillation 51 B. Brute-force procedure • Define optimal operation: Minimize cost function J • Each candidate variable c: With constant setpoints cs compute loss L for expected disturbances d and implementation errors n • Select variable c with smallest loss 52 Acceptable loss ) self-optimizing control Unconstrained degrees of freedom: C. Optimal measurement combination (Alstad, 2002) Basis: Want optimal value of c independent of disturbances ) copt = 0 ¢ d • Find optimal solution as a function of d: uopt(d), yopt(d) • Linearize this relationship: yopt = F d • F – sensitivity matrix • Want: • To achieve this for all values of d: • Always possible if • Optimal when we disregard implementation error (n) 53 Alstad-method continued • To handle implementation error: Use “sensitive” measurements, with information about all independent variables (u and d) 54 Toy Example 55 Toy Example 56 Toy Example 57 EXAMPLE: Recycle plant (Luyben, Yu, etc.) 5 4 1 Given feedrate F0 and column pressure: Dynamic DOFs: Nm = 5 Column levels: N0y = 2 Steady-state DOFs: N0 = 5 - 2 = 3 58 2 3 Recycle plant: Optimal operation mT 1 remaining unconstrained degree of freedom 59 Control of recycle plant: Conventional structure (“Two-point”: xD) LC LC XC xD XC xB LC Control active constraints (Mr=max and xB=0.015) + xD 60 Luyben rule 61 Luyben rule (to avoid snowballing): “Fix a stream in the recycle loop” (F or D) Luyben rule: D constant LC LC XC LC 62 Luyben rule (to avoid snowballing): “Fix a stream in the recycle loop” (F or D) A. Maximum gain rule: Steady-state gain Conventional: Looks good Luyben rule: Not promising economically 63 B. “Brute force” loss evaluation: Disturbance in F0 Luyben rule: Conventional 64 Loss with nominally optimal setpoints for Mr, xB and c B. “Brute force” loss evaluation: Implementation error Luyben rule: 65 Loss with nominally optimal setpoints for Mr, xB and c C. Optimal measurement combination • 1 unconstrained variable (#c = 1) • 1 (important) disturbance: F0 (#d = 1) • “Optimal” combination requires 2 “measurements” (#y = #u + #d = 2) – For example, c = h1 L + h2 F • BUT: Not much to be gained compared to control of single variable (e.g. L/F or xD) 66 Conclusion: Control of recycle plant Active constraint Mr = Mrmax Self-optimizing 67 L/F constant: Easier than “two-point” control Assumption: Minimize energy (V) Active constraint xB = xBmin Recycle systems: Do not recommend Luyben’s rule of fixing a flow in each recycle loop (even to avoid “snowballing”) 68 Summary: Procedure selection controlled variables 1. 2. 3. 4. Define economics and operational constraints Identify degrees of freedom and important disturbances Optimize for various disturbances Identify (and control) active constraints (off-line calculations) • May vary depending on operating region. For each operating region do step 5: 5. Identify “self-optimizing” controlled variables for remaining degrees of freedom 1. (A) Identify promising (single) measurements from “maximize gain rule” (gain = minimum singular value) • (C) Possibly consider measurement combinations if no promising 2. (B) “Brute force” evaluation of loss for promising alternatives • • Necessary because “maximum gain rule” is local. In particular: Look out for feasibility problems. 3. Controllability evaluation for promising alternatives 69 Selection of controlled variables More examples and exercises • • • • 70 HDA process Cooling cycle Distillation (C3-splitter) Blending Summary ”self-optimizing” control • Operation of most real system: Constant setpoint policy (c = cs) – – – – • • • • Central bank Business systems: KPI’s Biological systems Chemical processes Goal: Find controlled variables c such that constant setpoint policy gives acceptable operation in spite of uncertainty ) Self-optimizing control Method A: Maximize (G) Method B: Evaluate loss L = J - Jopt Method C: Optimal linear measurement combination: c = H y where HF=0 71 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-optimzing 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 72 Step 4. Where set production rate? • • • • 73 Very important! Determines structure of remaining inventory (level) control system Set production rate at (dynamic) bottleneck Link between Top-down and Bottom-up parts Production rate set at inlet : Inventory control in direction of flow 74 Production rate set at outlet: Inventory control opposite flow 75 Production rate set inside process 76 Where set the production rate? • Very important decision that determines the structure of the rest of the control system! • May also have important economic implications 77 Optimal: Set production rate at bottleneck! • "A bottleneck is an extensive variable that prevents an increase in the overall feed rate to the plant" • If feed is cheap: Optimal to set production rate at bottleneck • If the flow for some time is not at its maximum through the bottleneck, then this loss can never be recovered. 78 Reactor-recycle process: Given feedrate with production rate set at inlet 79 Reactor-recycle process: Given feedrate with production rate set at inlet Bottleneck: max. vapor rate in column 80 Reactor-recycle process with production rate set at inlet Want to maximize feedrate: reach bottleneck in column Alt.1: Loss Bottleneck: max. vapor rate in column Vs 81 FC Vmax V Vmax-Vs=Back-off = Loss Reactor-recycle process with increased feedrate: Optimal: Set production rate at bottleneck Alt.2 “long loop” MAX 82 Reactor-recycle process with increased feedrate: Optimal: Set production rate at bottleneck Alt.3: reconfigure MAX 83 Reactor-recycle process: Given feedrate with production rate set at bottleneck Alt.3: reconfigure (permanently) F0s 84 Alt.4: Multivariable control (MPC) • Can reduce loss • BUT: Is generally placed on top of the regulatory control system (including level loops), so it still important where the production rate is set! 85 Conclusion production rate manipulator • Think carefully about where to place it! • Difficult to undo later 86 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 87 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) 88 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: – – – – 89 Liquid level condenser (MD) Unstable (Integrating) + No steady-state effect Liquid level reboiler (MB) Disturbs (“destabilizes”) other loops Pressure (p) Holdup of light component in column (temperature profile) Almost unstable (integrating) Step 5. Regulatory control layer • Purpose: “Stabilize” the plant using local SISO PID controllers • Enable manual operation (by operators) • Main structural issues: • What more should we control? (secondary cv’s, y2) • Pairing with manipulated variables (mv’s u2) y1 = c y2 = ? 90 Cascade control distillation ys y X C Ts T TC Ls L 91 X C FC z 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 92 K u2 G y1 y Original DOF 2 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 93 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 94 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 95 B. “Practical extended stabilization” (avoid “drift” due to disturbance sensitivity): • Intuitive: y2 located close to important disturbance • Or rather: Controllable range for y2 is large compared to sum of optimal variation and control error • More exact tool: Partial control analysis Recall 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 96 Want large What should we control (y2)? Rule: Maximize the scaled gain • • Scalar case. Minimum singular value = gain |G| Maximize scaled gain: |Gs| = |G| / span – |G|: gain from independent variable (u) to candidate controlled variable (y) – span (of y) = optimal variation in c + control error for y • Note optimal variation: This is generally NOT the same as the optimal variation used for selecting primary controlled variables (c) because we at the “fast” regulatory time scale have that the “slower” (unused) inputs (u1) are constant. – 97 For each disturbance find optimal input change (u2) that keeps primary variables c=y1 closest to setpoint (with u1 constant), and from this obtain optimal variation (copt) 2. “y2 is easy to control” • Main rule: y2 is easy to measure and located close to manipulated variable u2 • Statics: Want large gain (from u2 to y2) • Dynamics: Want small effective delay (from u2 to y2) 98 Aside: Effective delay and tunings • PI-tunings from “SIMC rule” • Use half rule to obtain first-order model – Effective delay θ = “True” delay + inverse response time constant + half of second time constant + all smaller time constants – Time constant τ1 = original time constant + half of second time constant – NOTE: The first (largest) time constant is NOT important for controllability! 99 Summary: Rules for selecting y2 1. y2 should be easy to measure 2. Control of y2 stabilizes the plant 3. y2 should have good controllability, that is, favorable dynamics for control 4. y2 should be located “close” to a manipulated input (u2) (follows from rule 3) 5. The (scaled) gain from u2 to y2 should be large • 10 0 Additional rule for selecting u2: Avoid using inputs u2 that may saturate (should generally avoid saturation in lower layers) Exercise level control (10.1 in Seborg) • Consider control of liquid condenser level (M1) in a distillation column. – – – Should we use L or D to control M1? What is your answer if L/D=5? What is your answer if it is important to avoid disturbing downstream process? 10 1 LV-configuration preferred in practice for most columns (even when L and V are large) ys y X C Ts T TC Ls L 10 2 X C FC z Exercise distillation (10.3 in Seborg) • Consider a column design to separate methanol and water. The desired distillate composition (xD) is methanol with only 5 ppm of water. Because a composition analyzer is not available, it is proposed to control XD indirectly by measuring and controlling a temperature at one of the following locations (a) the reflux stream (b) the top tray (stage) of the column (c) an intermediate tray in the top section (where?) Discuss the relative advantages and disadvantages of each choice based on both steady-state and dynamic considerations 10 3 More exact: Selecting stage for temperature control (y2) in distillation • • • Consider controlling temperature (y=T) with reflux (u=L) – Avoid V because it may saturate (i.e. reach maximum) – This is generally NOT the same as the optimal variation used for selecting primary controlled variables (c) because we have to assume that the “slower” variables (e.g. u 1=V) are constant. Here: We want to control product compositions. The optimal variation in T will be small towards the end of the column and largest toward the feed stage G= “Controllable range”: Given by gain T/L (“sensitivity”). This will be largest where temperature changes are the largest, that is, toward the feed stage for a binary separation Topt = “Optimal variation” for disturbances (in F, zF, etc.): – • • Terr = “Control error” (=implementation error = static measurement error) – This will typically be 0.5 C and the same on stages Rule: Select location corresponding to max. value of – • • 10 4 G / (Topt + Terr) Binary separation: This will have a max. in the middle of the top section and middle of bottom section Multicomponent separation: Will have a max. towards column ends Distillation example columnn A. u=L. Which temperature (c) to control? 1. Nominal simulation (gives x0) 2. One simulation: Gain with constant inputs (u) – Make small change in input (L) with the other inputs (V) constant Find gain = xi/ L 3. From process gains: Obtain “optimal” change for candidate measurements to disturbances, (with input L adjusted to keep both xD and xB close to setpoint, i.e. min ||xD-0.99; xb-0.01|| , with V=constant). w=[xB,xD]. Then (- Gy pinv(Gw) Gwd + Gyd) d (Note: Gy=gain, d=F: Gyd=gainf etc.) Find xi,opt (yopt) for the following disturbances 1. 2. 3. 4. 4. 5. 10 5 F (from 1 to 1.2; has effect!) zF from 0.5 to 0.6 qF from 1 to 1.2 xB from 0.01 to 0.02 yoptf yoptz yoptq yoptxb=0 (no effect) Control (implementation) error. Assume=0.05 on all stages Find scaled-gain = gain/span where span = abs(yoptf)+abs(yoptz)+abs(yoptq)+0.05 “Maximize gain rule”: Prefer stage where scaled-gain is large >> res=[x0' gain' gainf' gainz' gainq'] res = 0.0100 0.0143 0.0197 0.0267 0.0355 0.0467 0.0605 0.0776 0.0982 0.1229 0.1515 0.1841 0.2202 0.2587 0.2986 0.3385 0.3770 0.4130 0.4455 0.4742 0.4987 0.5265 0.5578 0.5922 0.6290 0.6675 0.7065 0.7449 0.7816 0.8158 0.8469 0.8744 0.8983 0.9187 0.9358 0.9501 0.9617 0.9712 0.9789 0.9851 0.9900 1.0853 1.5396 2.1134 2.8310 3.7170 4.7929 6.0718 7.5510 9.2028 10.9654 12.7374 14.3808 15.7358 16.6486 17.0057 16.7628 15.9568 14.6955 13.1286 11.4148 9.6930 11.0449 12.2975 13.3469 14.0910 14.4487 14.3766 13.8797 13.0098 11.8545 10.5187 9.1066 7.7071 6.3866 5.1876 4.1314 3.2233 2.4574 1.8211 1.2990 0.8747 0.5862 0.8311 1.1397 1.5247 1.9990 2.5734 3.2542 4.0392 4.9126 5.8404 6.7676 7.6202 8.3133 8.7659 8.9194 8.7524 8.2872 7.5832 6.7215 5.7872 4.8542 5.4538 6.0007 6.4473 6.7478 6.8669 6.7871 6.5135 6.0724 5.5060 4.8635 4.1929 3.5346 2.9184 2.3624 1.8756 1.4592 1.1098 0.8208 0.5848 0.3938 1.1195 1.5893 2.1842 2.9303 3.8539 4.9789 6.3205 7.8779 9.6244 11.4975 13.3931 15.1675 16.6530 17.6861 18.1436 17.9737 17.2098 15.9597 14.3776 12.6286 10.8586 12.1996 13.4225 14.4211 15.0929 15.3588 15.1800 14.5676 13.5807 12.3136 10.8764 9.3765 7.9044 6.5261 5.2829 4.1942 3.2631 2.4816 1.8355 1.3077 0.8805 1.0930 1.5506 2.1285 2.8513 3.7437 4.8273 6.1155 7.6055 9.2694 11.0449 12.8301 14.4857 15.8509 16.7709 17.1311 16.8870 16.0758 14.8058 13.2280 11.5021 9.7680 11.1051 12.3410 13.3727 14.0989 14.4397 14.3528 13.8438 12.9654 11.8051 10.4677 9.0566 7.6602 6.3443 5.1505 4.1000 3.1975 2.4368 1.8053 1.2875 0.8670 u=L >> Gw Gw = 1.0853 0.8747 Gwf = 0.5862 0.3938 >> yoptf = (-gain'*pinv(Gw)*Gwf + gainf')*0.2 >> yoptq = (-gain'*pinv(Gw)*Gwq + gainq')*0.2 >> yoptz = (-gain'*pinv(Gw)*Gwz + gainz')*0.1 10 6 >> [yoptf yoptq yoptz span] ans = 0.0077 0.0108 0.0146 0.0192 0.0246 0.0309 0.0379 0.0456 0.0536 0.0612 0.0678 0.0724 0.0742 0.0726 0.0673 0.0584 0.0467 0.0332 0.0190 0.0052 -0.0076 -0.0242 -0.0412 -0.0578 -0.0728 -0.0851 -0.0938 -0.0984 -0.0988 -0.0954 -0.0891 -0.0807 -0.0711 -0.0610 -0.0512 -0.0419 -0.0335 -0.0261 -0.0197 -0.0142 -0.0095 0.0014 0.0019 0.0027 0.0036 0.0047 0.0061 0.0077 0.0096 0.0118 0.0141 0.0164 0.0186 0.0204 0.0217 0.0222 0.0220 0.0211 0.0196 0.0177 0.0155 0.0134 0.0102 0.0066 0.0029 -0.0008 -0.0042 -0.0072 -0.0095 -0.0111 -0.0119 -0.0120 -0.0115 -0.0107 -0.0095 -0.0083 -0.0070 -0.0057 -0.0045 -0.0035 -0.0025 -0.0017 0.0011 0.0016 0.0025 0.0038 0.0056 0.0082 0.0117 0.0163 0.0222 0.0294 0.0379 0.0474 0.0575 0.0676 0.0769 0.0847 0.0906 0.0945 0.0964 0.0966 0.0955 0.0915 0.0858 0.0784 0.0696 0.0596 0.0491 0.0387 0.0288 0.0202 0.0129 0.0072 0.0030 0.0001 -0.0017 -0.0027 -0.0030 -0.0029 -0.0025 -0.0020 -0.0013 0.0601 0.0644 0.0698 0.0765 0.0849 0.0951 0.1073 0.1215 0.1375 0.1546 0.1720 0.1884 0.2022 0.2119 0.2164 0.2151 0.2085 0.1973 0.1831 0.1673 0.1665 0.1758 0.1837 0.1892 0.1932 0.1990 0.2001 0.1965 0.1887 0.1775 0.1640 0.1494 0.1347 0.1206 0.1112 0.1016 0.0923 0.0835 0.0756 0.0686 0.0626 have checked with nonlinear simulation. OK! u=L: max. on stage 15 (below feed stage) In practice (because of dynamics): Will use tray in top (peak at 25) 80 70 60 50 40 30 20 10 10 7 5 10 15 20 25 30 35 40 >> span = abs(yoptf)+abs(yoptz)+abs(yoptq)+0.05; >> plot(gain’./span) NOT QUITE CORRECT: Using scalings from selection of primary variables stage 31 120 100 80 60 40 20 TOP 0 5 10 15 20 25 30 variation=yoptz+yoptq+yoptxb+0.05 plot(gain./variation) 10 8 35 40 Another tool 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 10 9 11 0 11 1 Example: Tennessee Eastman challenge problem 11 2 11 3 11 4 11 5 11 6 11 7 11 8 11 9 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 y 1 = P 1 u 1 + P r1 (y2s -n 2 ) + P d1 d P 1 = G 11 – G 12 G 22 -1 P d1 = G d1 – G 12 G 22 P r1 = G 12 G 22 12 0 -1 G 21 -1 G d2 - W A N T S M A L L 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 12 1 Limitations of partial control? • Cascade control: Closing of secondary loops does not by itself impose new problems – Theorem 10.2. 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 12 2 12 3 12 4 12 5 12 6 12 7 12 8 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. Control configuration elements: • Cascade controllers • Decentralized controllers • Feedforward elements • Decoupling elements 12 9 • • • 13 0 Cascade control arises when the output from one controller is the input to another. This is broader than the conventional definition of cascade control which is that the output from one controller is the reference command (setpoint) to another. In addition, in cascade control, it is usually assumed that the inner loop K2 is much faster than the outer loop K1. Feedforward elements link measured disturbances to manipulated inputs. Decoupling elements link one set of manipulated inputs (“measurements”) with another set of manipulated inputs. They are used to improve the performance of decentralized control systems, and are often viewed as feedforward elements (although this is not correct when we view the control system as a whole) where the “measured disturbance” is the manipulated input computed by another decentralized controller. Why simplified configurations? • Fundamental: Save on modelling effort • Other: – – – – – – 13 1 easy to understand easy to tune and retune insensitive to model uncertainty possible to design for failure tolerance fewer links reduced computation load Cascade control (conventional; with extra measurement) The reference r2 is an output from another controller General case (“parallel cascade”) Special common case (“series cascade”) 13 2 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 n onlinear 13 3 Design: • First design K2 (“fast loop”) to deal with d2 • Then design K1 to deal with d1 Tuning cascade • • Use SIMC tuning rules K2 is designed based on G2 (which has effective delay 2) – then y2 = T2 r2 + S2 d2 where S2 ¼ 0 and T2 ¼ 1 ¢ e-(2+c2)s • • • • T2: gain = 1 and effective delay = 2+c2 SIMC-rule: c2 ¸ 2 Time scale separation: c2 · c1/5 (approximately) K1 is designed based on G1T2 • 13 4 y2 = T2 r2 + S2d2 same as G1 but with an additional delay 2+c2 Exercise: Tuning cascade 1. (without cascade, i.e. no feedback from y2). Design a controller based on G1G 2. (with cascade) Design K2 and then K1 13 5 Exercise: Tuning cascade 13 6 Extra inputs • Exercise: Explain how “valve position control” fits into this framework. As en example consider a heat exchanger with bypass 13 7 Exercise • Exercise: (a) In what order would you tune the controllers? (b) Give a practical example of a process that fits into this block diagram 13 8 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 ? (primary CV’s) (self-optimizing control) Step 4: Where set production rate? II Bottom Up • Step 5: Regulatory control: What more to control (secondary CV’s) ? • Step 6: Supervisory control • Step 7: Real-time optimization • Case studies 13 9 Step 6. Supervisory control layer • 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? 14 0 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 14 1 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 - 14 2 Requires multivariable dynamic model Tuning may be difficult Less transparent “Everything goes down at the same time” 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 14 3 Step 7. Optimization layer (RTO) • Purpose: Identify active constraints and compute optimal setpoints (to be implemented by supervisory control layer) • Main structural issue: Do we need RTO? (or is process selfoptimizing) • RTO not needed when – Can “easily” identify change in active constraints (operating region) – For each operating region there exists self-optimizing var 14 4 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 • Conclusion / References 14 5 Summary: Main steps 1. What should we control (y1=c=z)? • Must define optimal operation! 2. Where should we set the production rate? • At bottleneck 3. What more should we control (y2)? • Variables that “stabilize” the plant 4. Control of primary variables • • 14 6 Decentralized? Multivariable (MPC)? Conclusion Procedure plantwide control: I. Top-down analysis to identify degrees of freedom and primary controlled variables (look for self-optimizing variables) II. Bottom-up analysis to determine secondary controlled variables and structure of control system (pairing). 14 7 References • • • • • Halvorsen, I.J, Skogestad, S., Morud, J.C., Alstad, V. (2003), “Optimal selection of controlled variables”, Ind.Eng.Chem.Res., 42, 3273-3284. Larsson, T. and S. Skogestad (2000), “Plantwide control: A review and a new design procedure”, Modeling, Identification and Control, 21, 209-240. Larsson, T., K. Hestetun, E. Hovland and S. Skogestad (2001), “Self-optimizing control of a large-scale plant: The Tennessee Eastman process’’, Ind.Eng.Chem.Res., 40, 4889-4901. Larsson, T., M.S. Govatsmark, S. Skogestad and C.C. Yu (2003), “Control of reactor, separator and recycle process’’, Ind.Eng.Chem.Res., 42, 1225-1234 Skogestad, S. and Postlethwaite, I. (1996), Multivariable feedback control, Wiley • Skogestad, S. (2000). “Plantwide control: The search for the self-optimizing control structure”. J. Proc. Control 10, 487-507. • Skogestad, S. (2003), ”Simple analytic rules for model reduction and PID controller tuning”, J. Proc. Control, 13, 291-309. • Skogestad, S. (2004), “Control structure design for complete chemical plants”, Computers and Chemical Engineering, 28, 219-234. (Special issue from ESCAPE’12 Symposium, Haag, May 2002). … + more….. • See home page of S. Skogestad: 14 8 http://www.chembio.ntnu.no/users/skoge/

1/--страниц