PLANTWIDE CONTROL Sigurd Skogestad Department of Chemical Engineering Norwegian University of Science and Tecnology (NTNU) Trondheim, Norway August/September/December 2006
Summary and references We have developed a systematic procedure for plantwide control. An important part is the selection of controlled variables based on self-optimizing control. These are the controlled variables for the "supervisory" control layer. In addition, we need a regulatory control system to stabilize the plant and avoid drift. The following paper summarizes the procedure: S. Skogestad, ``Control structure design for complete chemical plants'', Computers and Chemical Engineering, 28 (1-2), 219-234 (2004). There are many approaches to plantwide control as discussed in the following review paper: T. Larsson and S. Skogestad, ``Plantwide control: A review and a new design procedure'' Modeling, Identification and Control, 21, 209-240 (2000).
Main message 1. Control for economics (Top-down steady-state arguments) Primary controlled variables c = y1 : Control active constraints For remaining unconstrained degrees of freedom: Look for “self-optimizing” variables 2. Control for stabilization (Bottom-up; regulatory PID control) Secondary controlled variables y2 (“inner cascade loops”) Control variables which otherwise may “drift” Both cases: Control variables with a large gain!
How we design a control system for a complete chemical plant? Where do we start? What should we control? and why? etc.
Main simplification: Hierarchical structure RTO Need to define objectives and identify main issues for each layer MPC PID
Objectives of layers: MV’s and CV’s RTO Min J (economics); MV=y1s cs = y1s CV=y1; MV=y2s MPC y2s PID CV=y2; MV=u u (valves)
Summary: The three layers Optimization layer (RTO; steady-state nonlinear model): Identifies active constraints and computes optimal setpoints for primary controlled variables (y1). Supervisory control (MPC; linear model with constraints): Follow setpoints for y1 (usually constant) by adjusting setpoints for secondary variables (MV=y2s) Regulatory control (PID): Stabilizes the plant and avoids drift, in addition to following setpoints for y2. MV=valves (u). Design starts from the bottom. A good example is bicycle riding: Regulatory control: First you need to learn how to stabilize the bicycle Supervisory control: Then you need to follow the road. Usually a constant setpoint policy is OK, for example, stay y1s=0.5 m from the right hand side of the road (in this case the "magic" self-optimizing variable self-optimizing variable is y1=distance to right hand side of road) Optimization: Which road (route) should you follow?
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?
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: Optimal operation for given d: minuss J(uss,x,d) subject to: Model equations: f(uss,x,d) = 0 Operational constraints: g(uss,x,d) < 0 J = cost feed + cost energy – value products
Optimal operation distillation column Distillation at steady state with given p and F: N=2 DOFs, e.g. L and V Cost to be minimized (economics) J = - P where P= pD D + pB B – pF F – pV V Constraints Purity D: For example xD, impurity · max Purity B: For example, xB, impurity · max Flow constraints: min · D, B, L etc. · max Column capacity (flooding): V · Vmax, etc. Pressure: 1) p given, 2) p free: pmin · p · pmax Feed: 1) F given 2) F free: F · Fmax Optimal operation: Minimize J with respect to steady-state DOFs cost energy (heating+ cooling) value products cost feed
Optimal operation minimize J = cost feed + cost energy – value products Two main cases (modes) depending on marked conditions: Given feed Amount of products is then usually indirectly given and J = cost energy. Optimal operation is then usually unconstrained: Feed free Products usually much more valuable than feed + energy costs small. Optimal operation is then usually constrained: “maximize efficiency (energy)” Control: Operate at optimal trade-off (not obvious how to do and what to control) “maximize production” Control: Operate at bottleneck (“obvious”)
Step 3: 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(u,d) = 0 CONTROL ACTIVE CONSTRAINTS! cs = value of active constraint Implementation of active constraints is usually simple. WHAT MORE SHOULD WE CONTROL? Find “self-optimizing” variables c for remaining unconstrained degrees of freedom u.
What should we control? – Sprinter Optimal operation of Sprinter (100 m), J=T One input: ”power/speed” Active constraint control: Maximum speed (”no thinking required”)
What should we control? – Marathon Optimal operation of Marathon runner, J=T No active constraints Any self-optimizing variable c (to control at constant setpoint)?
Self-optimizing Control – Marathon Optimal operation of Marathon runner, J=T Any self-optimizing variable c (to control at constant setpoint)? c1 = distance to leader of race c2 = speed c3 = heart rate c4 = level of lactate in muscles
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
Step 4. Where set production rate? 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
Production rate set at outlet: Inventory control opposite flow
Production rate set inside process
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
Often optimal: Set production rate at bottleneck! “A unit is a bottleneck if maximum throughput is obtained by operating this unit at maximum flow If feed is cheap and available: Optimal with maximum throughput If the flow for some time is not at its maximum through the bottleneck, then this loss can never be recovered. To reduce “back-off”: Optimal to set throughput (production rate) at bottleneck Throughput manipulator = Bottleneck flow
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
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 = ?
Objectives regulatory control layer 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) Allow for “slow” control in layer above (supervisory control) Make control problem easy as seen from layer above Implications for selection of y2: Control of y2 “stabilizes the plant” y2 is easy to control (favorable dynamics)
Cascade control distillation ys y Ts T Ls L z With flow loop + T-loop in top y XC Ts T TC Ls L FC z XC
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?
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 self-optimizing) RTO not needed when Can “easily” identify change in active constraints (operating region) For each operating region there exists self-optimizing var
Summary: Main steps What should we control (y1=c=z)? Must define optimal operation! Where should we set the production rate? At bottleneck What more should we control (y2)? Variables that “stabilize” the plant Control of primary variables Decentralized? Multivariable (MPC)?
References http://www.nt.ntnu.no/users/skoge/ 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, 2005), 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: http://www.nt.ntnu.no/users/skoge/