Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INFORME
INFORME
El reactor de tanque agitado continuo (CSTR) consta de un tanque con una agitación
tanque se produzca una buena mezcla de los materiales, con el fin de asegurar que
todo el volumen del recipiente se utilice para llevar cabo la reacción, y que no
centésima del tiempo promedio que le toma al mismo elemento para entrar y salir del
reactor.
Para remover el calor de la reacción, el reactor es rodeado por una cámara (camisa
calentamiento)
• Volúmenes Constantes V, Vc
Por lo general, los reactores continuos de tanque agitado (CSTR) se operan cerca
del proceso [1]. Aun cuando el punto de equilibrio sea estable a lazo abierto, este
puede ser muy sensible a cambios de carga (e:g:; cambios en las condiciones de
proceso químico completo, el control de la operación del CSTR ha sido uno de los
controladores PI clásicos [1,2]. Existen muchas razones para esto, incluyendo sus
manuales de emergencia.
12
trabajo de Aris y Amundson [3] en los cincuentas, y ha dado lugar, desde entonces,
preguntas teóricas importantes que todavía están abier as. Una de ellas, la cual es el
objetivo de esta parte del proyecto, es la posibilidad de optimizar una ley de control
exactitud del seguimiento a una consigna (set point); así como la capacidad de
Adaptivos.
Para remover el calor de la reacción, el reactor es rodeado por una cámara a través
del cual fluye un líquido refrigerante. Para efectos de nuestro estudio [4,5] debemos
ü Volúmenes Constantes V, Vc
13
Perturbaciones medibles :
c Ai 14.38771178 Kgmole / m3
cA 1.285011818 Kgmole / m3
f 0.037846848 m3 / min
fc 0.024839472 m3 / min
T 383.3333 ºK
Ti 321.1111 ºK
Tc 311.1111 ºK
Tci 300 ºK
15
V. MATERIAL Y METODOS
Veamos:
∂
f (t )cAi(t ) − V rA (t ) − f (t )cA (t ) = V cA (t ) ( 5.1 )
∂t
donde:
rA (t ) = Ko . e − E / RT ( t ) . c A (t ) ( 5.2 )
Γ (t ) = T (t ) − T F (t ) = f (t ) − f
17
Γi (t ) = Ti (t ) − T i F c(t ) = fc (t ) − fc
Γc(t ) = Tc (t ) − T c Γ ci (t ) = T ci (t ) − T c i
f (t )cA(t ) ≅ f c A + c ( f (t ) − f )
A + f (cA(t ) − c A ) (5.6)
∂ ∂
r A (t ) ≅ r A + rA (T (t ) − T ) + rA ( c A (t ) − c A )
∂T T ,C A
∂c A T ,C A
−E Eko R−E −E
rA(t ) ≅ koe R c A +
T
2
e c A(T (t ) − T ) + koe R (cA (t ) − c A)
T T
RT
Eko −R E −E
r A (t ) ≅ r A + 2
e c A (T ( t ) − T ) + k o e R ( c A ( t ) − c A )
T T
(5 .7 )
RT
Reac to r Químico
De la ecuación (5.3): [
f r cpT i − Vr A ∆Hr − UA T − T c − f cpT = 0 ] (5.10 )
De la ecuación (5.4): [ ]
fc r ccpcT ci − UA T − T c − fc r c cpcT c = 0 (5.11)
diferencial (5.1):
18
∂
c AiF (t) + fCAi(t) − VK1 . Γ(t ) − VK2 . CA(t ) − c AF (t ) − fCA (t ) = V (cA(t) − cA )
∂t
∂
V CA(t) ≅ − (VK2 + f )CA(t) − VK 1 . Γ + (c Ai − c A)F (t) + f CAi(t) ( 5.13)
∂t
f (t )T (t ) = f .T + T ( f (t ) − f ) + f (T (t ) − T ) (5.15)
en la ecuación (5.3):
∂
− UA[T (t ) − Tc (t )] − r cp ( fT + T F (t ) + f .Γ(t ) ) = V r cv T (t ) (5.16)
∂t
∂
V r cv Γ (t ) = ( −VK 2 ∆ Hr )C A (t ) − ( VK 1 ∆ Hr + UA + r c p f )Γ (t ) +
∂t
+ r c p (T i − T ) F (t ) + r cp f Γ i (t ) + UA Γ c (t ) (5. 17 )
f c (t )T ci ( t ) = f c T ci + T ci F c ( t ) + f c Γ ci (t ) ( 5 .18 )
19
f c ( t )T c ( t ) = f c T c + T c F c ( t ) + f c Γ c ( t ) ( 5 . 19 )
[ ]
r c c pc f c T ci + T ci F c ( t ) + f c Γ ci ( t ) − UA [T ( t ) − T c ( t ) ]K
∂ T c( t )
K − r c c pc [f c T c + T c F c ( t ) + f c Γ c ( t ) ]= V c r c c vc ( 5 . 20 )
∂t
∂
Vcr c cvc Γc (t ) = − UA. Γ(t ) + ( UA − r cpcfc ) Γc (t ) + r c cpc(T ci − T c ) Fc (t ) K
∂t
K + ( r c cpcfc ) Γci (t ) (5.21)
∂ ∂ ∂
CA (t ) = C& A(t ) T (t ) = T& (t ) T c(t ) = T&c (t )
∂t ∂t ∂t
f cAi − cA f
C&A(t) = − ( K 2 + )CA(t) − ( K1 )Γ(t ) + ( ) F (t ) + ( )CAi(t )
1 2 3
1424V3 a12 142 V43 12 V3
a11 b11 e11
K ∆ Hr VK ∆ Hr + UA + r cp f r c p(T i − T )
Γ& (t )= − ( 2 ) C A( t ) − ( 1 )Γ (t )+ ( ) F (t ) + K
r cv V r cv Vr cv
14243 14444244443 1442443
a 21 a22 b21
r cp f UA
K+ ( ) Γ i( t ) + ( ) Γc ( t )
V r cv V r cv
1424 3 1424 3
e 22 a 23
20
UA UA − r cpcf c r ccpc (T ci − T c )
Γ& c(t ) = − ( )Γ (t ) + ( ) Γc ( t ) + F c (t ) + K
Vcr cc vc
14243 14
V cr cc vc
4244 3
1442443
Vcr ccvc
a 32 a33 b32
r ccpcfc
K+ ( )Γci (t )
Vcr ccvc
14243
e33
Sean:
Para efectos de un estudio simplificado, tendríamos que tener en cuenta que las
Por tanto, las variaciones de las variables anteriores serán iguales a cero, con lo
e11 0 0 0
+ 0 e 22 0 0
0 0 e 33 Γ ci(t )
CA (t )
0
Γ(t ) = [0 1 0]Γ(t ) + [0 0]
Γc (t ) Fc
control: u(t)
CA (t )
Fc (t )
Γ(t ) = [0 1 0]Γ(t ) + [0 0]
Γci (t )
Γc (t )
una de ellas, el flujo del liquido refrigerante de la ra del reactor (Fc), fue
refrigerante (Tci), el cual definimos al inicio de nuestro análisis del proceso, como
modelo lineal de estados, así como también realizar un sistema de control para
dicha variable, por la influencia que ejerce en el com ortamiento del proceso. En una
convierta la señal del sensor de temperatura en una se que regule por ejemplo
una válvula de apertura y cierre del flujo del líquido refrigerante que ingresa a la
al programa Matlab, a fin de poder realizar varios análisis adicionales, tales como de
misma del modelo del reactor químico, por ello a fin de no detenernos sólo en la
parte matemática es que utilizamos como herramienta fu damental para esta tarea,
nombre ModCSTR.m.
0.9990 0 0 0 0
G = 0 0.9516 0.0473 ; H = - 0.0572 0.0001
1.3054 - 2.8847 0.0064
0 - 0.3117
23
Las matrices C y D del modelo discretizado son las mis as que las del modelo
continuo.
ModCSTR.m).
Los requerimientos del diseño del controlador de temperatura del producto, son:
5.3 Dis eño de la es trateg ia de Contro l Optimo Dis creto para el CSTR
J , que permita obtener una ley de Control Óptima u(k) actuante sobre el proceso a
fin de lograr que la salida controlada siga perfectame te a una referencia, en nuestro
J =
1 ∞ T
[
∑ x (k ) Q x (k ) + u T (k ) R u ( k )
2 k =0
] (5.22)
Donde R es una matriz simétrica definida positiva que pondera la señal de control
u (k), mientras que la matriz Q es una matriz simétrica definida positiva o semi-
óptimo estacionario, empleando una ley de control óptima cuadrática que emplea
señales del proceso medidas directamente. La configura ón usada para éste diseño
para sistemas multivariables, específicamente los sistemas M.I.S.O, por ello nuestro
u i( k ) = − k 1 x 1 ( k ) − k 3 x 3 − K − k n x n ( k ) + k 2 r ( k ) − k 2 x 2 ( k )
ui( k ) = − kx ( k ) + k 2 r (k ) (5.23)
−1 z
y ( z ) = C ( zI − G + HK ) Hk 2 R m( z ); m ( z) = (5.25)
z −1
z −1
lím y (k ) = lím y ( z ) = C ( I − G + HK ) −1 Hk 2 R (5.26)
k →∞ z →1 z
cumple. Por lo cual se hace necesario afectar la señal de referencia por una
De tal modo que el error estacionario sea nulo; es decir, la salida sigue
un poco el diseño, ya que el orden del modelo se incre ntaría en 1. Una tercera
figura 5.3. Se debe recordar que el mencionado esquema debe aplicarse plantas
que tienen integrador; requisito que no cumple el modelo de nuestro proceso; sin
5.3.1 Dis eño del Contro l Optimo Pro po rc ional Dis creto de l CSTR utilizando
(Fc)
1 0 0
Q = 0 100 0 ; R = (10 )
0 0 1
Con lo cual nos permite obtener la matriz ganancia del controlador óptimo discreto,
dado por:
5.3.2 Dis eño del Contro l Optimo Pro po rc ional Dis creto de l CSTR utilizando
1 0 0
Q = 0 100 0 ; R = (0.1)
0 0 1
Con lo cual nos permite obtener la matriz ganancia del controlador óptimo discreto,
dado por:
proceso. Por el contrario, los sistemas de control fijos se car rizan por la
xˆ qˆ ESTIMADOR DE
ESTIMADOR DE PARÁMETROS
ESTADOR
U
ESTIMACIÓN DE MODELO
U LINEAL
Y Y
CONTROLADOR CON PROCESO NO
AUTOSINTONIZACIÓN LINEAL
u
U
DISTURBIOS
estados (el filtro de Kalman), una representación lineal del modelo del proceso, y
29
una ley de control (el controlador proporcional integral óptimo c rático con
referencia.
proceso y por la salida Y del mismo. Luego, los elementos de qˆ se usan para
recuperar el modelo lineal del proceso, lo cual permite estimar el vector de estado
U =U +u
X = f ( X ,U (t ), v ( X , t ), t ) (5.28 )
Donde X (de orden n) y U(t) (de orden uno) es el vector de estado y la ley de control,
X (t ) = [A + ∆A ]X (t ) + [B + ∆B]U (t ) + v( X , t )
Y (t ) = [C + ∆C ]X + w( X , t ) (5.29)
dimensión nx1, (en nuestro caso tendremos dos matrices B1 y B2 y los trabajaremos
30
X (k + 1) = GX (k ) + HU ( k ); Y (k ) = CX ( k ) (5.30 )
toma la forma:
A( z −1 ) y ( z ) = B( z −1 )u ( z ) (5.31)
A( z −1 ) = 1 + a1 z −1 + KK + a d z − d
B ( z −1 ) = b1 z −1 + KK + bd z −d (5.32 )
x (k + 1) = Gx (k ) + Hu ( k ); y ( k ) = Cx ( k ) (5.33 )
A( z −1 )Y (k ) = B( z −1 )U (k ) + C (5.34)
C = (1 + a1 + K + a n )Y − (b1 + K + bn )U (5.35)
los parámetros y los estados del modelo del proceso, por ello usaremos el método
31
controlador autosintonizado.
Para estimar los parámetros del modelo del proceso usa emos las señales actuales
espacio de estado dada por la ecuación (5.34) tiene que ser reordenada para tomar
la forma siguiente:
Y (k ) = y T
(k )qˆ(k ) (5.36)
y T (k ) = [Y (k − 1) LY ( k − n ) U (k − 1) KU (k − n) 1 ] (5.37 )
Podemos ver que en la ecuación (5.36), el orden del vector de información y el orden
incrementado su orden en uno. La ecuación (5.34) con z=1 (propiedad del valor
&&& + C
A(1)Y = B(1) U (5.39)
5) Computar: r (k ) = max(1, y (k ) ; y n = y r (k )
N ( k ) N (k ) T = P (k )
8) Computar:
PS (k ) = S (k ) P(k ) S (k )
y = [S (k )]−1y
nS n
r ( k ) = 1 + y TnS ( k ) PS ( k − 1)y nS (k )
4 P (k − 1)y nS ( k ) 2
1
l (k ) = 1 − r (k ) − r 2 ( k ) − S
2 tr PS ( k − 1)
en ( k ) = Y (k ) / r (k ) − y nT (k )qˆ( k − 1)
[
j (k ) = y T (k + 1) P ( k )y
nS S nS
(k + 1) + l ( k ) ]
qˆ(k + 1) = qˆ(k) + S −1(k )PS (k)y nS(k )en(k +1) / j(k)
33
H (k + 1) = PS (k )y nS (k + 1) × y TnS ( k + 1) PS (k )y TnS ( k + 1) + l (k ) −1
nS
[ ]
T (k + 1) P ( k ) / l ( k )
PS ( k + 1) = I − H nS (k + 1)y nS S
max eig ( P )
tt = abs S
min eig ( PS )
relación PS = N new N T
new ),calcular los elementos nnew jj (valor absoluto
x (k + 1) = Gx( k ) + Hu ( k ) + v ( k )
y (k ) = Cx (k ) + w( k ) (5.40 )
[
xˆ ( k ) = x ( k ) + Ko( k ) y ( k ) − Cˆ (k ) x ( k ) ] (5.41)
x (k + 1) = Gˆ (k ) xˆ ( k ) + Hˆ ( k )u (k ) (5.42)
[
Ko( k ) = Po( k )Cˆ T ( k ) C ( k ) Po(k )Cˆ T (k ) + Ro ]−1 (5.43)
disturbios v y w, respectivamente.
∞
x T (k )Qx( k ) + u 2 (k ) R
I = ∑ (5.45)
k =0
x (k + 1) = Gx (k ) + Hu (k )
K = ( R + H T SH ) − 1 H T SG (5.46)
x
35
0 = Q − GT S G + GT S H K x (5.47 )
dicho controlador. Definiendo la variable z(k) como la integral (sumatoria) del error:
k −1 k −1 k
z (k ) = ∑ [Y ( k ) − Y (k ) ]= ∑ [ − y (k ) ] z ( k + 1) = ∑ [ − y (k ) ]
i =0 i =0 i =0
entonces:
z (k + 1) = z (k ) − y (k ) = z (k ) − Cx (k ) (5.48)
la forma siguiente:
x a (k + 1) = G a x a (k ) + H a u (k )
a a
y (k ) = C x (k ) (5.49 )
poseen la forma:
x (k ) G 0
x a (k ) = G a (k ) =
1
;
z (k ) − C
H
Ha = ; C a = [C 0]
0
{ [ ]
K a = R + H a T PaH a
−1 a T a a
H P G }[ ] (5.51)
36
[ ]T P a G a − [G a ]T P a H a K a
Pa = Q a + Ga (5.52 )
u (k ) = − K a x a (k ) (5.53)
VI RES ULTADOS
6.1 Res ultado s de l Sis tema de Co ntro l Optimo Propo rcio nal co ntro lado po r
Fig ura 6.1: Temperatura del reactor controlado por el flujo del
líquido refrigerante utilizando un controlador óptimo cuadrático.
En la primera gráfica de dicha figura se puede ver la temperatura del CSTR en lazo
abierto, que presenta una respuesta inestable; sin embargo, en la segunda gráfica
6.2 Res ultado s de l Sis tema de Co ntro l Optimo Propo rcio nal co ntro lado po r
lazo abierto, presenta una respuesta inestable; sin em go, en la segunda gráfica
controlador óptimo.
39
6.3 Res ultado s de l Sis tema de Co ntro l Adaptivo Auto s into nizado contro lado
En la primera de la parte superior de dicha figura, nos muestra dos curvas, la curva
de trazo continuo nos muestra a la señal de referencia del sistema (T=383.33 ºK), la
6.4 Res ultado s del S is tema de Control Adaptivo Auto s intonizado co ntro lado
en la figura 6.4.
En la figura 6.4 podemos apreciar dos gráficas, la primera de la parte s perior nos
muestra al igual que el caso anterior dos curvas super uestas, una es la referencia y
que sufre la variable de control (la temperatura del líquido refrigerante), cuando se
41
aplicación, sea utilizando el flujo del líquido refrigerante o la temperatura del líquido
anotar:
c ontro lar la te mpe ratura del reacto r a niveles de referenc ia des eado s , con
43
producto.
Robusto; así como estrategias que no necesitan del modelo del proceso; sino se
basan en la experiencia del experto, esto es, usar est gias de Control Fuzzy y
Control Neuronal.
44
VIII. REFERENCIAS
[1] Dochain, D., Babary, J.P., & Tali-Maamar, N. “Modelling and adaptive control of
[2] Ng, Ch.-On, & Mei, Ch.C. (1996). “Aggregate diffusion model applied to soil
32, 1289-1297.
[3] Clement, T.P., Hooker, B.S., & Skeen, R.S. “Numerical modeling of biologically
[4] Andersen & Wenzel. “Introduction to Chemical Engineeri g”. McGraw-Hill, 1994.
Process Control”. Segunda Edición. Ediciones John Wiley & Sans, Inc 1997.
[7] Ogata, Katsuhiko. “S is te m as d e Control e n Tie m p o Dis cre to”. Segunda edición,
[8] Rojas Moreno, Arturo. “Con trol Avanz ado-Dis e ñ o y Aplicacion e s e n Tie m p o
[9] Aguado Behar, Alberto. “Ide ntificac ión y Contro l Adaptativo ”, Pearson
[11] Math Works, Inc. “Matlab Reference Guide”. Prentice Hall, Englewood Cliffs,
APENDICE A
Prog rama en Matlab de la Res pues ta del Modelo del Pro ces o en Lazo abierto
% Programa ModCSTR.m
% MODELO MATEMATICO DEL REACTOR QUIMICO EXOTERMICO
clear all
% PARAMETROS DEL PROCESO
V=0.37548342; E=64705147; ko=1.73515*(10^13); R=8319.1716;
d=880.913; dc=999.43584; Cp=3684.384; Cpc=4186.8; Hr =-27956717;
U=1533153.75; A=3.344508; Vc=0.04417452;
% VALORES EN EL PUNTO DE OPERACION
T=383.3333; Ti=321.1111; Tc=311.1111; Tci=300;
CAi=14.38771178; f=0.037846848; fc=0.024839472;
CA=1.285011818;
% CONSTANTES ASUMIDAS PARA SIMPLIFICAR EXPRESIONES
K1=E*ko*CA/(R*T^2)*exp(-E/(R*T));
K2=ko*exp(-E/(R*T)); m=(Hr*K2)/(d*Cp); n=(U*A)/(V*Cp*d);
p=(Hr*K1)/(Cp*d); q= f/V; s=(U*A)/(Vc*dc*Cpc); t=(fc/Vc);
a11=-f/V-K2; a12=-K1;
a21=-m; a22= -(n+p+q); a23= n;
a32=-s; a33= s-t;
b11=(CAi-CA)/V;
b21=(Ti-T)/V; b32=(Tci-Tc)/Vc;
e33= fc/Vc;
% DEFINIENDO LAS MATRICES DE ESTADO DEL SISTEMA
A=[ a11 a12 0
a21 a22 a23
0 a32 a33];
B = [ 0 0
0 0
b32 e33];
Cc = [0 1 0]; Dc = [0 0];
% VERIFICACIÓN DE LA CONTROLABILIDAD Y OBSERVABILIDAD
M = [B A*B A^2*B]; N = [Cc' A'*Cc' (A')^2*Cc'];
% rank(M)=rank(N)=n=3 => c.c y c.o.
% DISCRETIZACIÓN DEL MODELO MATEMATICO
Ts = 0.01; % PERIODO DE MUESTREO SELECCIONADO
[G,H,C,D] = c2dm(A,B,Cc,Dc,Ts,'zoh'); % CONVERSION A DISCRETO
eigG= eig(G); % CALCULO DE LOS EIGENVALORES
% eigG = 0.9999
% 0.9998
% 1.2572
% EL SISTEMA ES INESTABLE, DADO QUE UN EIGENVALOR ESTA
% FUERA DEL CIRCULO UNITARIO
%G = %H =
% 0.9990 -0.0000 -0.0000 0.0000 -0.0000
% 0.0000 0.9516 0.0473 -0.0572 0.0001
% -0.0000 -0.3117 1.3054 -2.8847 0.0064
%RESPUESTAS AL ESCALON UNITARIO
[Y,X,t]= step(A,B,Cc,Dc);
[YY,XX]= dstep(G,H,C,D);
tt=linspace(0,size(YY,1)*Ts,size(YY,1));
subplot(221);
plot(t,Y(:,1),'k'); grid
title('Modelo Continuo')
xlabel('Tiempo en Minutos ')
ylabel('T(t) para Fc=1, Tci=0')
subplot(223)
plot(t,Y(:,2),'k'); grid
47
APENDICE B
Prog rama en Matlab del S is tema de Contro l Óptimo Pro po rcional contro lado
% Programa CtrlOptCSTR_Fc
% CONTROL DE TEMPERATURA DEL REACTOR QUIMICO EXOTERMICO
% EN FUNCION DEL FLUJO DE ENTRADA DEL REFRIGERANTE ( Fc )
% ********** UTILIZANDO UN CONTROLADOR ÓPTIMO **********
clear all
t = linspace(0,Ts*N,N);
subplot(3,1,2)
plot(t,Temp,'k'); ylabel('T(K) (ºK) Closed'); grid;
subplot(3,1,3)
plot(t,Fc,'k'); ylabel('Fc (m^3/min)'); grid;
xlabel('Tiempo (min) Ts= 0.01')
print -deps -f CtrlOptReactor_fc
APENDICE C
Prog rama en Matlab del S is tema de Contro l Óptimo Pro po rcional contro lado
po r la te mperatura del líqu ido refrig erante (Tci) (Au o ría pro pia)
% Programa CtrlOptCSTR_Tci
% CONTROL DE TEMPERATURA DEL REACTOR QUIMICO EXOTERMICO
% EN FUNCION DE LA TEMPERATURA DE ENTRADA DEL LIQUIDO
% REFRIGERANTE (Tci)
clear all
% PARAMETROS DEL PROCESO
V=0.37548342; E=64705147; ko=1.73515*(10^13); R=8319.1716;
d=880.913; dc=999.43584; Cp=3684.384; Cpc=4186.8; Hr =-27956717;
U=1533153.75; A=3.344508; Vc=0.04417452;
% VALORES EN EL PTO DE OPERACION
T=383.3333; Ti=321.1111; Tc=311.1111; Tci=300;
CAi=14.38771178; f=0.037846848; fc=0.024839472;
CA=1.285011818;
a11=-f/V-K2; a12=-K1;
a21=-m; a22= -(n+p+q); a23= n;
a32=-s; a33= s-t;
b11=(CAi-CA)/V;
b21=(Ti-T)/V; b32=(Tci-Tc)/Vc;
e33= fc/Vc;
for k=1:Nm
r=383.3333*g;
%r=383.3333;
Tci(k) = -K*x + k2*r;
x = G*x + H*Tci(k);
Temp(k) = x(2);
end
% GRAFICOS
r = linspace(0,Ts*Nm,size(Temp_Rpta,1));
subplot(3,1,1)
plot(r,Temp_Rpta,'k'); ylabel('Temp_Rpta (ºK ) Open'); grid;
title('Simulación del Controlador Optimo aplicado al Reactor u2= Tci')
t = linspace(0,Ts*Nm,Nm);
subplot(3,1,2)
plot(t,Temp,'k'); ylabel('Temp (ºK ) Closed'); grid;
subplot(3,1,3)
plot(t,Tci,'k'); ylabel('Tci (ºK )'); grid;
xlabel('Tiempo (min)')
print -deps -f CtrlOptReactor_Tci
APENDICE D
c ontro lado por e l flujo del líquido refrig erante (Fc) (Auto ría propia)
% Programa CtrlAdapCSTR_Fc.m
% CONTROL DE TEMPERATURA DEL REACTOR QUIMICO EXOTERMICO
% ***** EL METODO DE CONTROL ADAPTIVO AUTOSINTONIZADO *****
% UTILIZANDO EL CONTROL DEL FLUJO DEL REFRIGERANTE (Fc)
clear all
% PARAMETROS GENERALES
nn = 3; % nn: ORDEN DEL PROCESO;
r=1; % r: NUMERO DE SALIDAS
NN = 7; % ORDEN DEL VECTOR ESTIMADO DE PARAMETROS
a11=-f/V-K2; a12=-K1;
a21=-m; a22= -(n+p+q); a23= n;
a32=-s; a33= s-t;
b11=(CAi-CA)/V;
b21=(Ti-T)/V; b32=(Tci-Tc)/Vc;
e33= fc/Vc;
B1 = [0; 0; b32];
Cc = [0 1 0]; Dc = [0];
% MODELO LINEAL DISCRETO
Ts = 0.01; % PERIODO DE MUESTREO
[G1,H1,C,D] = c2dm(A,B1,Cc,Dc,Ts,'zoh');% CONVERSION A DISCRETO
[num1,den1] = ss2tf(G1,H1,C,D);
% CONDICIONES INICIALES
Ref = 383.3333; % MAGNITUD DE LA SEÑAL DE
% REFERENCIA: Yo = Ref
Ce = (1 + a1 + a2 + a3)*Ref; % Uo = 0 (ARBITRARIO)
thi = [-a1 -a2 -a3 b1 b2 b3 Ce]';
alfa=1000; Pi = alfa*eye(NN); % MATRIZ P INICIAL
lamb=0.98; lamb0 = 0.99; % FACTOR DE MEMORIA
Y(1) = 0; Y(2) = 0; Y(3) = 0; y(1)=0; y(2)=0; y(3)=0;
U(1 )= 0; U(2) = 0; U(3) = 0; u(1)=0; u(2)=0; u(3)=0;
xmenos = zeros(nn,1); % VECTOR DE OBSERVACION INICIAL
z=0; % ACCION INTEGRAL INICIAL
% SEÑAL DE REFERENCIA
Yo(t+3)= 383.3333;
% MODELO LINEAL DEL PROCESO
Y(t+3) = [Y(t+2) Y(t+1) Y(t) U(t+2) U(t+1) U(t)]*...
[-a1 -a2 -a3 b1 b2 b3]';
y(t+3) = Y(t+3) - Yo(t+3); % SALIDA RESIDUAL (DESVIACION)
% ACTUALIZANDO ESTADOS
xmenos = GE*xmas + HE*u(t+3);
AE = 1 + ae1 + ae2 + ae3; BE = be1 + be2 + be3;
Uin = inv(BE)*(AE*Yo(t+3) - Ce);
% GRAFICOS
ejex = linspace(0,MM*Ts,MM);
subplot(2,1,1)
plot(ejex,Yo(3:MM+2),'-',ejex,Y(3:MM+2)); grid
xlabel('Ts= 0.01 min')
ylabel(' T Reactor (ºK)')
title(' Temperatura del Reactor aplicando el Controlador Adaptivo u1=
Fc');
subplot(2,1,2)
plot(ejex,U(3:MM+2)); grid
xlabel('Tiempo en min')
ylabel('Fc ( m^3/min )')
print -deps -f CtrlAdapReactor_Fc
55
APENDICE E
Prog rama en Matlab del S is tema de Co ntro l Adaptivo Aut nto nizado
c ontro lado por la temperatura del líquido refrigerante (Tci) (Autoría pro pia
% Programa CtrlAdapCSTR_Tci.m
% CONTROL DE TEMPERATURA DEL REACTOR QUIMICO EXOTERMICO
% ***** METODO DE CONTROL ADAPTIVO *****
% UTILIZANDO EL CONTROL DE TEMPERATURA DE ENTRADA DEL
% REFRIGERANTE (Tci)
clear all
% PARAMETROS GENERALES
nn = 3; % nn: ORDEN DEL PROCESO;
r=1; % r: NUMERO DE SALIDAS
NN = 7; % ORDEN DEL VECTOR ESTIMADO DE PARAMETROS
a11=-f/V-K2; a12=-K1;
a21=-m; a22= -(n+p+q); a23= n;
a32=-s; a33= s-t;
b11=(CAi-CA)/V;
b21=(Ti-T)/V; b32=(Tci-Tc)/Vc;
e33= fc/Vc;
% CONDICIONES INICIALES
Ref = 383.3333; % MAGNITUD DE LA SEÑAL DE REFERENCIA: Yo = Ref
Ce = (1 + a1 + a2 + a3)*Ref; % Uo = 0 (ARBITRARIO)
thi = [-a1 -a2 -a3 b1 b2 b3 Ce]';
alfa=1000; Pi = alfa*eye(NN); % MATRIZ P INICIAL
lamb=0.98; lamb0 = 0.99; % FACTOR DE MEMORIA
Y2(1) = 0; Y2(2) = 0; Y2(3) = 0; y2(1)=0; y2(2)=0; y2(3)=0;
U2(1)= 0; U2(2) = 0; U2(3) = 0; u2(1)=0; u2(2)=0; u2(3)=0;
xmenos = zeros(nn,1); % VECTOR DE OBSERVACION INICIAL
z=0; % ACCION INTEGRAL INICIAL
end
% RECUPERACION DE LA ECUACION CANONICA CONTROLABLE
ae1 = -th(1); ae2 = -th(2); ae3 = -th(3);
be1 = th(4); be2 = th(5); be3 = th(6); Ce = th(7);
ae11 = 0; ae12 =1; ae13 = 0; ae21 = 0; ae22 = 0;
ae23 = 1; ae31 =-ae3; ae32 = -ae2; ae33 = -ae1;
GE = [ae11 ae12 ae13;ae21 ae22 ae23;ae31 ae32 ae33];
be11 = 0; be21 = 0; be31 = 1; HE = [be11;be21;be31];
ce11 =be3; ce12 = be2; ce13 = be1;
CE = [ce11 ce12 ce13]; DE = [0];
% ACTUALIZANDO ESTADOS
xmenos = GE*xmas + HE*u2(t+3);
AE = 1 + ae1 + ae2 + ae3; BE = be1 + be2 + be3;
Uin = inv(BE)*(AE*Y2o(t+3) - Ce);
% GRAFICOS
ejex = linspace(0,MM*Ts,MM);
subplot(2,1,1)
plot(ejex,Y2o(3:MM+2),'-',ejex,Y2(3:MM+2)); grid
xlabel('Ts= 0.01 min')
ylabel(' T Reactor (ºK)')
title(' Temperatura del Reactor aplicando el Controlador Adaptivo u2=
Tci');
subplot(2,1,2)
plot(ejex,U2(3:MM+2)); grid
xlabel('Tiempo en min')
ylabel('Tci Reactor (ºK)')
print -deps -f CtrlAdapReactor_Tci.m