Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
17 de abril de 2019
1
Índice
1. Introduccion 3
2. Prodecidimiento 4
3. Prodecidimiento experimental 4
3.5. Cuestiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4. Conclusiones,observaciones y dificultades 13
5. Apendice I 14
2
1. Introduccion
de autosintonía.
El proceso a controlar se trata de una planta de laboratorio preparada para emular proce-
siguiente figura, que como se puede observar no es más que un circuito cerrado de agua.
3
2. Prodecidimiento
En la practica hemos eguido una serie de pasos logicos en la realizacion de las pruebas de la
planta y los controladores diseñados que quedan sintetizados en los siguientes pasos: //
3. Prodecidimiento experimental
Basandonos en los datos proporcionados por el scada y con la ayuda de Matlab los uti-
lizaremos para analizar las respuestas de los controladores diseñados intentando sacar unas
Una vez equilibrado el llenado y el vaciado co la apertura de la valvula (..) ya tenemos nues-
tro modelo, para ello partiendo de un estacionario aumentamos la apertura de la valvula y ve-
4
En este caso la identificacion la hemos hecho de forma analitica, como se pued ever la res-
puesta del sistema se asemeja a un sistema de 1º orden con un retardo de 6s una ganancia de
Kp 205
G(s)= · exp(−6t ) = · exp(−6t )
+1 57s + 1
5
3.2. Sintonia analitica
Las tecnicas euristicas son formulas de los parametros del pid ya predeterminadas, hay mu-
chos metodos el ams fasamos seguramente sea el de nicols pero hay otros, unos son mas agre-
primer termino es la banda de gananacia por lo que el resultado habra que dividirlo entre K, los
Hemos cogido y hemos reado un pid en matlab lo hemos puesto en serie con la funcion de
tranferencia de la planta teorica y hemos hecho el lazo de realimentacion unitario para obtener
la respuesta de nuestra planta ya controlada para hacernos una idea clara de la respuesta de
6
Como vemos el controlador de Nicols es menos agresivo, tiene un sobre paso de 0.2 L y
agresivo, presenta un sobre paso de 0.5 L que es algo importante ya pero sim embargo un ts de
2.5 minutos.
A continuacion, en la soguiente figure esta la comparacion entre los pids toricos d ematlab y la
Parece que no tienen nada que ver pero lo que pasa es que es un sistema muy muy lento
entonces no hay tiempo suficiente para que el sistema se estabilize claramente y por supuesto
7
el ruido ya que estos datos no estan filtrados.
Por otro lado, introducimos perturbaciones ne el sistema para ver el rechazo de estas, aunque
en lo teorico los pids heuristicos den buenr esultado es caso es que a la hra d eimplementarlo
en la planta no da esos resultados tan buenos y apenas rechazan perturbaciones o muy lenta-
8
3.3. Auto-sintonia del pid de ABB
Ahora en este caso se va a utilizar la sintonia automatica del controlador PID de la empresa
ABB.
Este controlador se puede ajustar mediante las flechas y con ayuda del dysplay para que
se ajuse automaticamente, para ello hace una identificacion del modelo utilizando diferentes
puntos de operacion,finalmente despues de calcular los parametros nso pregunta si los acep-
9
Como se puede ver lo que hace el controlador es oscilar la valvula para ver que resouesta da
dor de ABB.
Como se puede ver este controlador ya si que no hay duda que controla l planta, vemos co-
mo en 60 segundos el nivel pasa del maximo (110 L) a 60 sin apenas variacion, tambien vemos
que rechaza las perturbaciones. Si nos fijamos en la señal de control vemos que tiene un ran-
10
3.4. Sintonia mediante MF con la herramienta SISO
Por ultimo, en este partado se va a implementar el ultimo controlador, este estara caculado
mos utilizar la funcion de sintonia. Los resultados que hemos obtenido son los siguientes:
Este con-
mente 60 segundos y como vemos tambien rechaza las perturbaciones, pues podemos ver co-
3.5. Cuestiones
¿Qué diferencia principal existe en el sistema con un control P y otro PI? La diferencia
fundamental la hace la accion integradora que no cesa hasta que el area del error el 0 y
¿Cómo se comportan ambos ante una perturbación (echar agua o abrir ligeramente la
11
válvula manual que comunica los dos depósitos)? Como se a indicado antes, el control
proporcional de una planta de primer orden da un sistema tipo 0 por lo que no rechaza
las perturbaciones, sin embargo, si el controlador tiene un integrador (propio del PI) el
12
4. Conclusiones,observaciones y dificultades
Como conclusion, decir que habria que hacer mas pruebas con los controladores heuris-
Por otro lado la constante de tiempo de la planta es aprox 200 segundos lo que lo hace
muy muy lento,estamos hablando de que una simulacion bien hecha habria que estar
sobre unos 800 segundos que es aproximadamente 15 min hora y si queremos hacer 4
hablamos hora y media lo que el tiempo se queda un poco justo para tomar losdatos de
forma fiable.
Por utimo decir que tuvimos un problema a la hora de tomar los datos en el scadaya que
en vez de tomar los datos para cada prueba en una archivo diferente, tomamos las casi
13
5. Apendice I
1 clc
2 close a l l
3 clear a l l
4 % % % ( : , 1 ) =tiempo − − −(: ,2)=sp−−−−(:,3)= n i v e l
5 datos1=importdata ( ’ pr04 ’ ) ;
6 % % % ( : , 1 ) =tiempo − − −(: ,2)=sp−−−−(:,3)=control −−−−(:,4)= n i v e l
7 datos2=importdata ( ’ pr4 ’ ) ;
8 % % % ( : , 1 ) =tiempo − − −(: ,2)=sp−−−−(:,3)=control −−−−(:,4)= n i v e l
9 datos3=importdata ( ’pr4m ’ ) ;
10
11 t =linspace (0 ,1000 ,771) ;
12 % % tiempo =[ datos1 ( : , 1 ) ; datos2 ( : , 1 ) ; datos3 ( : , 1 ) ] ;
13 % % % Vectores de SP % % % %
14 sp =[ datos1 ( : , 2 ) ; datos2 ( : , 2 ) ; datos3 ( : , 2 ) ] ;
15 sp_LA=sp (600:1370)−sp (600) ;
16 sp_valvula=sp (1400:2100)−sp (1400) ;
17 sp_ABB=sp (3400:3570) ;
18 sp_pid=sp (2300:3400)−sp (2300) ;
19 sp_siso=sp ( 3 5 7 0 :end ) ;
20 % % % Vectores de valvula % % % %
21 control =[ datos2 ( : , 3 ) ; datos3 ( : , 3 ) ] ;
22 U_pid=control ( 2 0 0 : 8 0 0 )−control (200) ;
23 U_ident=control (900:1300)−control (900) ;
24 U_ABB=control (1235:1410) ; % % −control ( ) ;
25 U_siso=control ( 1 4 8 0 : ( end ) ) ; % % control (1500) ;
26
27 % % % Vectores de n i v e l % % % %
28 n i v e l =[ datos1 ( : , 3 ) ; datos2 ( : , 4 ) ; datos3 ( : , 4 ) ] ;
29 nivel_LA= n i v e l (600:1370)−n i v e l (600) ;
30 n i v e l _ v a l v u l a = n i v e l (1400:2020) ;
31 n i v e l _ i d e n t = n i v e l (3000:3400)−n i v e l (3000) ;
32 nivel_pid= n i v e l (2330:3000)−n i v e l (2330) ;
33 nivel_ABB= n i v e l (3400:3570) ;
34 n i v e l _ s i s o = n i v e l ( 3 5 7 5 :end ) ;
35 % % % Funcion de t r a n s f e r e n c i a planta % % %
36 G= t f ( [ 5 7 / 2 ] , [ 2 0 5 1 ] , ’ inputdelay ’ , 6 ) ;
37 n i v e l _ t e o =lsim (G, sp_LA , t ) ;
14
38 % % % Funcionde t r a n s f e r e n c i a pid h e u r i t i c o % % %
39 % % Parametros
40 kp=[0.288 0 . 3 8 7 ] ;
41 t i =[68.57 3 8 . 6 ] ;
42 % % Nicols
43 pid1= t f ( kp ( 1 ) * [ t i ( 1 ) 1 ] , [ t i ( 1 ) 0 ] ) ;
44 LC_1=feedback ( pid1 *G, 1 ) ;
45 n i c o l s =lsim ( LC_1 , sp_LA , t ) ;
46 % % IDT de carga
47 pid2= t f ( kp ( 2 ) * [ t i ( 2 ) 1 ] , [ t i ( 2 ) 0 ] ) ;
48 LC_2=feedback ( pid2 *G, 1 ) ;
49 IDT=lsim ( LC_2 , sp_LA , t ) ;
50 % % Comparacion r e a l vs t e o r i c a
51 nicols2 =lsim ( LC_1 , sp_pid ( 1 : 7 7 1 ) , t ) ;
52 IDT2=lsim ( LC_2 , sp_pid ( 1 : 7 7 1 ) , t ) ;
53 % % % % % % % % % % % %
54 % % % Lineas datos % % %
55 y=linspace ( 0 , 1 2 0 , 5 ) ;
56
57 x4=linspace (600 ,600 ,5) ;
58 plot ( x4 , y , ’−− ’ , ’ linewidth ’ , 2 )
59 x5=linspace (1370 ,1370 ,5) ;
60 plot ( x5 , y , ’−− ’ , ’ linewidth ’ , 1 . 5 )
61 x=linspace (2100 ,2100 ,5) ;
62 plot ( x , y , ’−− ’ , ’ linewidth ’ , 2 )
63 x2=linspace (2300 ,2300 ,5) ;
64 plot ( x2 , y , ’−− ’ , ’ linewidth ’ , 2 )
65 x3=linspace (2530 ,2530 ,5) ;
66 plot ( x3 , y , ’−− ’ , ’ linewidth ’ , 2 )
67 x6=linspace (3400 ,3400 ,5) ;
68 plot ( x6 , y , ’−− ’ , ’ linewidth ’ , 1 . 5 )
69 % % % % % % % % % % % % % % % % % % % %
70 % % % % % VISUALIZACIONES % % % % % %
71 % % % % % % % % % % % % % % % % % % %
72 % % % % DATOS DEL SCADA % % % %
73 f i g u r e ( 1 )
74 subplot ( 2 , 1 , 1 )
75 plot ( sp , ’ linewidth ’ , 1 )
76 hold on
77 plot ( nivel , ’ linewidth ’ , 1 )
78 gr i d on
15
79 t i t l e ( ’ Datos p r a c t i c a ’ )
80 x l a b e l ( ’ tiempo ( s ) ’ )
81 y l a b e l ( ’ Nivel tanque (0 −110) ’ )
82
83 control2 =[ zeros (2092 ,1) ; control ] ;
84
85 subplot ( 2 , 1 , 2 )
86 plot ( control2 , ’ linewidth ’ , 1 )
87 gr i d on
88 t i t l e ( ’ Apertura de l a valvula ’ )
89 x l a b e l ( ’ tiempo ( s ) ’ )
90 y l a b e l ( ’ Porcentaje valvula a b i e r t a ’ )
91 % % % RESPUESTA LAZO ABIERTO % % %
92 f i g u r e ( 3 )
93 plot ( sp_LA , ’ linewidth ’ , 2 )
94 hold on
95 plot ( nivel_LA , ’ linewidth ’ , 2 )
96 gr i d on
97 t i t l e ( ’ Respuesta en lazo abieto ’ )
98 x l a b e l ( ’Tiempo ’ )
99 y l a b e l ( ’ Apertura valvula ( %) Nivel tanque ( L ) ’ )
100 % % % Respuesta t e o r i c a % % %
101 f i g u r e ( 4 )
102 plot ( nivel_teo , ’ linewidth ’ , 1 . 5 )
103 hold on
104 plot ( sp_LA , ’ linewidth ’ , 1 . 5 )
105 plot ( nivel_LA , ’ linewidth ’ , 1 . 5 )
106 t i t l e ( ’ Comparacion respuesta r e a l y t e o r i c a ’ )
107 x l a b e l ( ’Tiempo ( s ) ’ )
108 y l a b e l ( ’ Nivel ( L ) ’ )
109 gr i d on
110 % % % PID h e u r i s t i c o s % % %
111 f i g u r e ( 5 )
112 plot ( sp_LA ( 1 : 3 0 0 ) , ’ linewidth ’ , 1 . 5 )
113 hold on
114 plot ( t ( 1 : 3 0 0 ) , n i c o l s ( 1 : 3 0 0 ) , ’ linewidth ’ , 1 . 5 )
115 plot ( t ( 1 : 3 0 0 ) ,IDT ( 1 : 3 0 0 ) , ’ linewidth ’ , 1 . 5 )
116 t i t l e ( ’ Respuesta PIDs h e u r i s t i c o s ’ )
117 x l a b e l ( ’Tiempo ( s ) ’ )
118 y l a b e l ( ’ Nivel ( L ) ’ )
119 gr i d on
16
120 legend ( ’ Referencia ’ , ’ Nicols ’ , ’IDT de carga ’ )
121 % % % Respuesta pids h e u r i s t i c o s datos % % %
122 f i g u r e ( 6 )
123 plot ( sp_pid ( 1 : 6 0 0 ) , ’ linewidth ’ , 1 . 5 )
124 hold on
125 plot ( nivel_pid ( 1 : 6 0 0 ) , ’ linewidth ’ , 1 . 5 )
126 t i t l e ( ’ Respuesta PIDs h e u r i s t i c o s de l a planta ’ )
127 x l a b e l ( ’Tiempo ( s ) ’ )
128 y l a b e l ( ’ Nivel ( L ) ’ )
129 gr i d on
130 hold o f f
131 % % % Respuesta datos ypid Heuristicos y accion de control datos
132 f i g u r e
133 subplot ( 2 , 1 , 1 )
134 plot ( sp_pid ( 1 : 6 0 0 ) , ’ linewidth ’ , 1 . 5 )
135 hold on
136 plot ( nicols2 ( 1 : 6 0 0 ) , ’ linewidth ’ , 1 . 5 )
137 plot ( IDT2 ( 1 : 6 0 0 ) , ’ linewidth ’ , 1 . 5 )
138 plot ( nivel_pid ( 1 : 6 0 0 ) , ’ linewidth ’ , 1 . 5 )
139 t i t l e ( ’ Comparacion repuesta r e a l vs t e o r i c a ’ )
140 x l a b e l ( ’Tiempo ( s ) ’ )
141 y l a b e l ( ’ Nivel ( L ) ’ )
142 legend ( ’ Referencia ’ , ’ Nicols ’ , ’IDT de carga ’ , ’ Datos del scada ’ )
143 gr i d on
144
145 subplot ( 2 , 1 , 2 )
146 plot ( sp_pid ( 1 : 6 0 0 ) , ’ linewidth ’ , 1 . 5 )
147 hold on
148 plot ( U_pid ( 1 2 : end ) , ’ linewidth ’ , 1 . 5 )
149 t i t l e ( ’ Accion de control PIDs Heuristicos ’ )
150 x l a b e l ( ’Tiempo ( s ) ’ )
151 y l a b e l ( ’ Nivel ( L ) ’ )
152 gr i d on
153 % % % Sintonia ABB y respuesta % % %
154 f i g u r e
155 subplot ( 2 , 1 , 1 )
156 plot ( U_ident , ’ linewidth ’ , 1 . 5 )
157 t i t l e ( ’ Accion de control ( estimulo ) ’ )
158 x l a b e l ( ’Tiempo ( s ) ’ )
159 y l a b e l ( ’ Porcentaje valvula ( %) ’ )
160 gr i d on
17
161
162 subplot ( 2 , 1 , 2 )
163 plot ( nivel_ident , ’ linewidth ’ , 1 . 5 )
164 t i t l e ( ’ Nivel en e l proceso de i d e n t i i c a c i o n ( respuesta ) ’ )
165 x l a b e l ( ’Tiempo ( s ) ’ )
166 y l a b e l ( ’ Nivel ( L ) ’ )
167 gr i d on
168 % % % Respuesta y accion de control controlador de ABB
169 f i g u r e
170 subplot ( 2 , 1 , 1 )
171 plot ( nivel_ABB , ’ linewidth ’ , 1 . 5 )
172 hold on
173 plot ( sp_ABB , ’ linewidth ’ , 1 . 5 )
174 t i t l e ( ’ Nivel planta PID de ABB ’ )
175 x l a b e l ( ’Tiempo ( s ) ’ )
176 y l a b e l ( ’ Nivel ( L ) ’ )
177 gr i d on
178
179 subplot ( 2 , 1 , 2 )
180 plot (U_ABB, ’ linewidth ’ , 1 . 5 )
181 t i t l e ( ’ Accion de control ’ )
182 x l a b e l ( ’Tiempo ( s ) ’ )
183 y l a b e l ( ’ Valvula ( %) ’ )
184 gr i d on
185
186 f i g u r e
187 subplot ( 2 , 1 , 1 )
188 plot ( n i v e l _ s i s o , ’ linewidth ’ , 1 . 5 )
189 hold on
190 plot ( sp_siso , ’ linewidth ’ , 1 . 5 )
191 t i t l e ( ’ Nivel planta con controlador por MF’ )
192 x l a b e l ( ’Tiempo ( s ) ’ )
193 y l a b e l ( ’ Nivel (0−110 L ) ’ )
194 gr i d on
195
196 subplot ( 2 , 1 , 2 )
197 plot ( U_siso , ’ linewidth ’ , 1 . 5 )
198 t i t l e ( ’ Accion de control ’ )
199 x l a b e l ( ’Tiempo ( s ) ’ )
200 y l a b e l ( ’ Valvula (0−100 %’ )
201 gr i d on
18