Servicios Personalizados
Revista
Articulo
Indicadores
- Citado por SciELO
- Accesos
Links relacionados
- Similares en SciELO
Compartir
Revista Técnica de la Facultad de Ingeniería Universidad del Zulia
versión impresa ISSN 0254-0770
Rev. Téc. Ing. Univ. Zulia v.26 n.3 Maracaibo dic. 2003
A fuzzy logic controller with fuzzy scaling factor calculator applied to a nonlinear chemical process
Alessandro Anzalone, Edinzo Iglesias, Yohn García and Carlos A. Smith
University of South Florida, Chemical Engineering Department. Tampa, FL 33620, USA
Abstract
A combined fuzzy controller, consisting of a conventional fuzzy logic controller (FLC) with a fuzzy output scaling factor calculator that modifies the scaling factor of the FLC, is proposed. The performance of this controller is compared to the performance of a PID controller and a conventional FLC for disturbance rejection in a nonlinear chemical process. The proposed controller maintains its robustness under conditions at which performance of the other controllers decay.
Key words: Fuzzy control, fuzzy scaling factor, nonlinear chemical process.
Controlador de lógica difusa con calculador difuso de factor de escalamiento aplicado a un proceso químico no lineal
Resumen
En este trabajo se presenta un controlador de lógica difusa (FLC) con factor de escalamiento de salida calculado por medio de lógica difusa. El rendimiento de este controlador es comparado con el rendimiento de un controlador PID y un controlador de lógica difusa estándar (FLC) para la compensación de perturbaciones en un proceso químico no lineal. El controlador propuesto mantiene su robustez bajo condiciones en las cuales el rendimiento de los otros se ve reducida.
Palabras clave: Control difuso, factor de escalamiento difuso, proceso químico no lineal.
Recibido el 07 de Octubre de 2002
En forma revisada el 1º de diciembre de 2003
1. Introduction
The well-known proportional-integral-derivative (PID) controller is still the most used in process applications. Its characteristics include simple structure, good control performance, and relatively ease of tuning. However, real systems often have nonlinearities, are of higher order, have dead time, etc., which diminish the performance and effectiveness of the PID controller [1].
Fuzzy logic provides means to deal with nonlinear systems and its flexibility and simplicity make fuzzy logic controllers suitable for many industrial applications [2].
Fuzzy logic is a relatively new technique that uses language and reasoning principles similar to the way humans solve problems. Its beginning is traced to Professor Lofti Zadeh when he proposed a mathematical way of looking at the intrinsic vagueness of human language. Observing that human reasoning often uses variables that are vague, Zadeh introduced the concept of linguistic variables. The values of these variables are words that describe a condition, such as high, small, big, etc [3].
These linguistic values are not single entities; they are a set of elements that have different degrees of membership in the set. This set of elements, is called a fuzzy set. In conventional sets, an element belongs to a set or it doesnt, while in fuzzy sets, an element can belong completely to the set, belong partially to the set or not belong to the set at all [4].
The practical applications for this theory are multiple. In the process control field the boom started when in 1974 Mamdani controlled a steam engine using fuzzy logic, from that moment the concepts of fuzzy theory are used in almost all modern control designs [5]. Several examples of the use of fuzzy logic in chemical processes exist in the literature. A fine example of practical application is presented in [6].
Zhao [7] developed a fuzzy gain scheduler for a PID controller obtaining better performance for the PID than a fixed tuning PID controller. A similar thought is used in the controller proposed in this paper but its implementation is completely different.
2. Process Description and Model
The process selected for this paper consists of a reactor, where the reaction A?2B+C takes place, and a preheating tank to increase the temperature of the mixture entering the reactor; Figure 1 shows the process.
This system has dynamics that make it a useful tool of study, since the variation of the process gain (Kp) makes it a nonlinear process. Figure 2 shows how Kp varies as a function of the signal to the valve, m(t), indicating the existence of nonlinearities in the process.
The curve was obtained by applying 11 steps of 1%CO each up and down from the steady state signal to the valve (50% CO), calculating the process gain for each step.
To develop a process model, the first approach is to do mass and energy balances for each component in the process. Other engineering relations such as kinetic reactions, heat transfer and valve equations are also used to complete the mathematical description of the process.
The process was divided in three sections: the preheating tank, the non-isothermal reactor, and the recycle stream. All equations that constitute the process model are shown below.
2.1. Preheating Tank
For this process section, fi(t), CAi(t) and Ti(t) are inputs and the outputs are f1(t), CA1(t), CB1(t), CC1(t), and T1(t). The dynamic model for the preheating tank is shown next:
Total mass balance:
2.2. Reactor
In this process section we have as inputs: T1(t), f1(t), and r1(t). The outputs are: CA(t), CB(t), CC(t), T(t) and f(t). The dynamic model for the reactor can then be obtained using the following equations:
The discharge pressure of the valve is assumed to be one atmosphere.
The density of the fluid in the reactor can be calculated as:
r(t) = r0 + a1CA(t) + a2CB(t) + a3CC(t) (16)
2.3. Recycle
_
The pump supplies a constant recycle stream, fr. Because of the length of pipe, the variables involved in this stream have a delay time, when they arrive to the preheating tank. The mathematical model for this section is written as follows:
Mole balance on component A:
CAR(t) = CA(t - t0) (17)
Mole balance on component B:
CBR(t) = CB(t - t0) (18)
Mole balance on component C:
CCR(t) = CC(t - t0) (19)
Density of the recycle stream:
rR(t) = r(t - t0) (20)
Temperature of the recycle stream:
TR(t) = T(t - t0) (21)
Dead time:
This completes the 22 equations that form the mathematical model for the process.
2.4. Steady state values
Steady state values and constants for the process variables are shown in Tables 1, 2, and 3.
Constants and steady state values for the preheating tank
Parameter | Value | Units |
fi | 80 | ft3/min |
fo | 30 | ft3/min |
fr | 30 | ft3/min |
W | 122 | lbm/min |
Pa | 14.7 | psia |
Px | 18 | psia |
r0 | 66 | lbm/ft3 |
CAi | 1.7 | lbmole/ft3 |
Cp | 0.95 | BTU/lbm°F |
Cv | 0.88 | BTU/lbm°F |
Ti | 125 | °F |
l | 966 | BTU/lbm |
rH2O | 62.4 | lbm/ft3 |
CVA | 35.6 | (ft3/min)psia0.5 |
AHT | 80 | ft2 |
U | 5.1 | BTU/(ft2.°F.min) |
Ac | 400 | ft2 |
Cm | 280 | BTU/lbm°F |
a1 | 2.4 | lbm/lbmolA |
a2 | 1.2 | lbm/lbmolB |
a3 | 1.8 | lbm/lbmolC |
h4 | 3 | ft |
Steady state values for the reactor
Parameter | Value | Units |
h3 | 2 | ft |
CVB | 30.5 | (ft3/min)psia0.5 |
k0 | 1.14 1010 | ft3/(lbmole.min) |
E | 27820 | BTU/lbmole |
R | 1.987 | BTU/lbmole.°R) |
DHr | 1200 | BTU/lbmoleA |
Cp | 0.95 | BTU/lbm.°F |
Cv | 0.88 | BTU/lbm.°F |
Px | 18 | psia |
Steady state values and constants for variables in the process
Parameter | Value | Units |
CA | 0.5322 | lbmole/ft3 |
CB | 2.4493 | lbmole/ft3 |
CC | 1.2246 | lbmole/ft3 |
CA1 | 1.3949 | lbmole/ft3 |
CB1 | 0.6398 | lbmole/ft3 |
CC1 | 0.3199 | lbmole/ft3 |
r | 72.42 | lbm/ft3 |
r1 | 70.69 | lbm/ft3 |
f | 52.83 | ft3/min |
h1 | 25.5 | ft |
h2 | 10.46 | ft |
T | 103.14 | °F |
T1 | 134.43 | °F |
Tw | 192.2 | °F |
AR | 60 | ft2 |
L1-2 | 120 | ft |
Apipe | 0.1 | ft2 |
The controlled variable is the output concentration of C, CC(t), and the manipulated variable is the input flow of reactant fi(t). The final control element is an equal percentage valve with a maximum flow of 7.5 times the steady state flow and a time constant of 0.2 min. The sensor/transmitter has first order dynamics with a time constant of 0.35 min. and a range from 0.4 to 2 lbmole/ft3.
3. Fuzzy Logic Controller
The fuzzy logic controller proposed in this work consists of a conventional fuzzy logic controller (FLC) with a fuzzy output scaling factor calculator (FSF); we refer to this controller as FLCVOSF. A block representation of the combined controller is shown in Figure 3. Both components use the same inputs (e and De). Both components of the FLCVOSF have the same input scaling factors (one for the error and another for the derivative of the error). These two scaling factors are two of the three tuning parameters for this controller. The output scaling factor of the FSF is the third tuning parameter.
The first component (FLC) gives the action and the size of the change in the output signal, Dm. The second component (FSF) calculates the output scaling factor of the first, s, making it more robust to changes in the process gain and less oscillatory.
The membership functions for the FLC for the error and the change of the error are standard with seven levels. The output membership functions for this controller has seven levels with a tighter grouping around zero to produce a smoother response (Figure 4). The membership functions for the inputs to the FSF are standard with five levels while the output membership functions were constructed to produce a higher output for numbers far from zero and very low response for numbers near zero (Figure 5).
The rules used in the FLC are standard (Table 4). The rules for the FSF are intended to vary the output scaling factor of the FLC depending on the value of the sensor signal and the change in error with respect to the set point, for example, for large positive e with large positive De the action needs to be fast because the error is growing further apart from zero. The same occurs for large negative e and De. For values around the set point the action needs to be small to avoid oscillations. These rules as well as the surface they produce together with the input and output membership functions are presented in Table 5 and Figure 6, respectively.
Fuzzy Rules FLC
e \ De | PB | PM | PS | Z | NS | NM | NB |
PB | PB | PB | PB | PB | PM | PS | Z |
PM | PB | PB | PB | PM | PS | Z | NS |
PS | PB | PB | PM | PS | Z | NS | NM |
Z | PB | PM | PS | Z | NS | NM | NB |
NS | PM | PS | Z | NS | NM | NB | NB |
NM | PS | Z | NS | NM | NB | NB | NB |
NB | Z | NS | NM | NB | NB | NB | NB |
Fuzzy Rules FSF
E \ De | PB | PS | Z | NS | NB |
PB | H | H | H | H | H |
PS | H | H | H | M | L |
Z | L | L | L | L | L |
NS | L | M | H | H | H |
NB | H | H | H | H | H |
4. Simulation Studies
The concentration of A into the preheating tank, CAi(t), has the greatest effect on the controlled variable CC(t). A series of step changes in CAi(t), shown in Figure 7, were produced to compare the performance provided by a PID controller, a conventional FLC, and the FLCVOSF controller. The IAEs for all three controllers are shown in Table 6. Figure 8 shows that the PID controller works well for changes close to the steady state values. When the disturbance forces the controller to close the valve too much this controller goes unstable. This behavior can be explained if we consider the high nonlinearity of the process for values of signal to the valve lower than 42% (Figure 2). The FLC works well for all changes but produces oscillatory behavior. The proposed controller performs as well for all the changes with no oscillations. All tuning parameters used and scaling factors are presented on Table 7.
Controller Performance Comparison
Controller | IAE |
PID | 1.50 104 |
FLC | 9.75 103 |
FLCVOSF | 9.58 103 |
Tunings used for simulation studies
PID | FLC | FLCVOSF | |||
Kc | 0.625 | Ke | 0.0338 | Ke | 0.0717 |
tI (min) | 90 | Kde | 20.8 | Kde | 27.833 |
td (min) | 40 | Km | 0.0633 | KFSF | 0.07 |
5. Conclusions
The proposed controller maintains its performance when facing high changes in process gain. The fuzzy output scale updating is able to compensate for the changes in process gain that occur when the signal to the valve is below 42% CO. The control surface for the FSF makes the controller to act very fast under the conditions that require so and slow for values towards the set point. The FLCVOSF is a general controller with only three tuning parameters.
References
1. Bateson, R., Introduction to Control System Technology, Prentice Hall, New Jersey, 1993. [ Links ]
2. Martins. A. and Carvalho A., Contribution of Fuzzy logic to Control an Industrial Process, IEEE Trans., vol 1, pp.105-110, 1997. [ Links ]
3. Zadeh. L., Fuzzy Sets, Inform. Control, vol. 8, pp.338-353, 1965. [ Links ]
4. Reznick, L., Fuzzy Controllers, Oxford, Newnes, 1997. [ Links ]
5. Visioli A., Fuzzy Logic Based Set-Point Weight Tuning of PID Controllers, IEEE Trans. Syst., Man, Cybern., vol 29, no 6, pp.587-592, 1999. [ Links ]
6. Zilouchian, A. and Jafar M., Automation and process control of reverse osmosis plants using soft computing methodologies, Desalination, vol 135, Nº 1-3, pp 51-59, 2001. [ Links ]
7. Zhao, Z., Tomizuka, M., Fuzzy Gain Scheduling of PID Controllers, IEEE Trans. Syst., Man, Cybern., vol 23, no 5, pp.1392-1398, 1993. [ Links ]