Resumen
Los sistemas dinmicos hbridos se caracterizan por
la interaccin entre dinmicas continuas y discretas.
Los sistemas de control hbrido aparecen en el
control por computador de procesos continuos, como
por ejemplo, en procesos qumicos y de fabricacin.
El estudio de los sistemas de control hbrido es
esencial, por ejemplo, en el diseo de controladores
supervisores para sistemas continuos, y su
simulacin ayudar a validarlos. Este trabajo
presenta un ejemplo de simulacin de este tipo de
sistemas utilizando dos entornos: Simulink/Stateflow
y Ecosim.
Palabras Clave : control hbrido [1] [2] [3], modelo
DES [2] [3], controlador DES [2] [3].
INTRODUCCIN
CONTROLADOR
u~[n ]
~
x [n ]
Actuador
INTERFAZ
u (t )
Generador
x (t )
PLANTA
TANQUES
ACOPLADOS:
MODELADO DEL SISTEMA
2.1
OBTENCIN
MATEMTICO
DEL
MODELO
2.2
MODELO
(DES)
EVENTOS
DISCRETOS
0.00 x 0.18
0.18 < x 0.34
0.34 < x 0.46
0.46 < x 0.54
0.54 < x < 0.60
u1
DE
x1
0
1
x2
0
1
2
3
4
2
3
4
2
x2 [m]
x1
u2
u3
x2
u4
0.60
04
14
24
34
44
03
13
23
33
43
02
12
22
23
42
01
11
21
31
41
00
10
20
30 40
0.54
0.46
0.34
0.18
x& 1 ( t ) = u1 q p u 2 c x1 ( t ) u 3 csign(x1 (t ) x 2 ( t) ) x1 ( t ) x2 ( t )
0.18
0.34
0.46
0.54 0.60
x1 [m]
(1)
donde c =
s 2g
A
y q p es el caudal mximo de
entrada al depsito 1.
Se supone que los datos numricos del sistema son:
- Superficie de cada depsito: A = 1 m 2
- Seccin de cada vlvula: s = 0. 01 m2
- Caudal de entrada al depsito 1: q p = 0.04 m 3 s
- Gravedad terrestre: g = 9 .806 m s2
Con estos datos resulta c =
s 2g
= 0 .0443 .
A
Las alturas mximas permitidas para cada depsito
son 0.6 m, de modo que se tiene las siguientes
restricciones:
0 x1 < 0.60 , 0 x2 < 0.60
(2)
04
14
24
34
44
03
13
23
33
43
02
12
22
32
42
01
11
21
31
41
00
10
20
30
40
(1
0 x 2 0.18 . Operando:
u q u c x1 u3 csign( x1 x2 ) x1 x2
0 ) 1 p 2
u3 csign( x1 x2 ) x1 x2 u4 c x2
2.3
>0
x 1 = 0. 18
0 x 2 0. 18
(3)
estado
00
se
verifica
Operando:
u1 q p u 2 c x1 u 3 csign( x1 x 2 ) x1 x 2
u 3 csign(x1 x 2 ) x1 x 2 u 4 c x 2
(0 1)
0. 0443u 3
>0
x2 =0. 18
0 x1 0 .18
0 x1 0.18
con
CONTROLADOR
DISCRETOS (DES)
DE
EVENTOS
14
24
34
44
03
13
23
33
43
02
12
22
32
42
01
11
21
31
41
00
10
20
30
40
(4)
1000
1000
1010
0100
1110
0100
0100
0000
11
21
31
41
42
32
33
23
13
3.1
SIMULACIN
MEDIANTE
Y STATEFLOW
SIMULINK
2;
0;
2;
4;
0;
1;
REAL A = 1.
REAL p0 = 101325.
REAL z_in2 = 0.
DECLS
REAL H
TOPOLOGY
PATH f_in2 TO f_out
DISCRETE
ASSERT ( H > z_in ) ERROR "Uncovered tank inlet"
ASSERT ( H > z_in2 ) ERROR "Uncovered tank inlet2"
ASSERT ( H > z_out ) ERROR "Uncovered tank outlet"
CONTINUOUS
-- Conservation of mass
H' = ( f_in2.w + f_in.w - f_out.w ) / rho / A
f_in.p = p0 + rho * g * ( H - z_in )
f_in2.p = p0 + rho * g * ( H - z_in2 )
f_out.p = p0 + rho * g * ( H - z_out )
s_level.signal = H
END COMPONENT
------------------------------------------------------------
TOPOLOGY
HYDRAULIC.valve valve_1 (
z_in = 0,
z_out = 0,
dp_lam = 0.001,
Avo = 0.01)
HYDRAULIC.valve valve_2 (
z_in = 0,
z_out = 0,
dp_lam = 0.001,
Avo = 0.01)
HYDRAULIC.valve valve_3 (
z_in = 0,
z_out = 0,
dp_lam = 0.001,
Avo = 0.01)
HYDRAULIC.tank2 tank2_A (
z_in = 0,
z_out = 0,
A = 1,
p0 = 101325)
HYDRAULIC.tank2 tank2_B (
z_in = 0,
z_out = 0,
A = 1,
p0 = 101325)
CONNECT tank2_A.f_out TO valve_1.f_in
CONNECT tank2_A.f_in2 TO valve_2.f_out
CONNECT tank2_B.f_out TO valve_2.f_in
CONNECT tank2_B.f_in2 TO valve_3.f_out
END COMPONENT
Por
ltimo
se
genera
el
componente
control_tanques.el, a partir del componente
tanques.el incorporando ya el controlador diseado
que se va a simular:
-- Estado 31
WHEN ( tank2_A.s_level.signal > 0.46 AND tank2_A.s_level.signal <= 0.54 AND
tank2_B.s_level.signal > 0.18 AND tank2_B.s_level.signal <= 0.34 ) THEN
tank2_A.f_in.w = 40
valve_1.s_position.signal = 0
valve_2.s_position.signal = 0
valve_3.s_position.signal = 0
END WHEN
-- Estado 41
WHEN ( tank2_A.s_level.signal > 0.54 AND tank2_A.s_level.signal <= 0.60 AND
tank2_B.s_level.signal > 0.18 AND tank2_B.s_level.signal <= 0.34 ) THEN
tank2_A.f_in.w = 40
valve_1.s_position.signal = 0
valve_2.s_position.signal = 1
valve_3.s_position.signal = 0
END WHEN
-- Estado 42
WHEN ( tank2_A.s_level.signal > 0.54 AND tank2_A.s_level.signal <= 0.60 AND
tank2_B.s_level.signal > 0.34 AND tank2_B.s_level.signal <= 0.46 ) THEN
tank2_A.f_in.w = 0
valve_1.s_position.signal = 1
valve_2.s_position.signal = 0
valve_3.s_position.signal = 0
END WHEN
-- Estado 32
WHEN ( tank2_A.s_level.signal > 0.46 AND tank2_A.s_level.signal <= 0.54 AND
tank2_B.s_level.signal > 0.34 AND tank2_B.s_level.signal <= 0.46 ) THEN
tank2_A.f_in.w = 40
valve_1.s_position.signal = 1
valve_2.s_position.signal = 1
valve_3.s_position.signal = 0
END WHEN
0.5
0.4
tank2_A.H
tank2_B.H
0.3
-- Estado 33
WHEN ( tank2_A.s_level.signal > 0.46 AND tank2_A.s_level.signal <= 0.54 AND
tank2_B.s_level.signal > 0.46 AND tank2_B.s_level.signal <= 0.54 ) THEN
tank2_A.f_in.w = 0
valve_1.s_position.signal = 1
valve_2.s_position.signal = 0
valve_3.s_position.signal = 0
END WHEN
-- Estado 23
WHEN (tank2_A.s_level.signal > 0.34 AND tank2_A.s_level.signal <= 0.46 AND
tank2_B.s_level.signal > 0.46 AND tank2_B.s_level.signal <= 0.54 ) THEN
tank2_A.f_in.w = 0
valve_1.s_position.signal = 1
valve_2.s_position.signal = 0
valve_3.s_position.signal = 0
END WHEN
-- Estado 13
WHEN ( tank2_A.s_level.signal > 0.18 AND tank2_A.s_level.signal <= 0.34 AND
tank2_B.s_level.signal > 0.46 AND tank2_B.s_level.signal <= 0.54 ) THEN
tank2_A.f_in.w = 0
valve_1.s_position.signal = 0
valve_2.s_position.signal = 0
valve_3.s_position.signal = 0
END WHEN
END COMPONENT
0.2
0
10
20
30
40
TIME
0.48
[3]
[4]
[5]
[6]
0.46
0.44
0.42
0.40
0.38
tank2_B.H
0.36
0.34
0.32
0.30
0.2
0.3
0.4
0.5
0.6
tank2_A.H
CONCLUSIONES
[2]
Modeling,