Академический Документы
Профессиональный Документы
Культура Документы
4 de abril de 2019
1
Índice
1. Introduccion 3
1.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2. Procedimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Procedimiento experimental 5
2.1. Programacion automata Siemens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. Respuesta planta en lazo abierto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3. Identificacion del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4. Calculo de los parametros de los controladores . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5. Implementacion del controlador en el sistema y obtencion de los datos de la salida de la
planta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.6. Codigo matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3. Conclusiones,observaciones y dificultades 14
2
1. Introduccion
En este informe se va a explicar el trabajo realizado el dia 1/1/1 en la laboratorio de control
de procesos del aula da vinci.
Aquel dia el grupo realizo la practica numero 6 que consta del control del nivel de un taque me-
diante una servo valvula con un control PID diseñado en la herramienta SISO y identificacion
del modelo real.
3
1.1. Objetivos
Mas halla del objetivo dicho anteriormente para ello hemos tenido que hacer (y aprender)
varias cosas, como por ejemplo:
Comunicacion PC-PLC-SCADA
1.2. Procedimiento
Introduccion del hardware en el PLC y comunicacion mediante la tarjeta PROFIBUS con
el pc, para que lo que programemos en el Simatic manager se transfieraa un plc real que
a su vez actuara sobre los elementos de nuestra planta (sensores de caudal, de nivel y
actuadores).
Comunicacion SCADA-PC.
Identificacion proceso
Diseño de 3 controladores PID cada uno con unas especificaciones de MF=40,60 y 80 me-
diante la herramienta SISO proporcionada en la practica
4
2. Procedimiento experimental
2.1. Programacion automata Siemens
Una vez hechas todas las comunicaciones
vamos a programar el controlador PID en el automata, para ellos crearemos un nuevo pro-
yecto, insertaremos un bloque de arranque OB100 y un FB45 que es un bloque que se ejecuta
cada cierto tiempo (que ajustemos en la cpu en el apartado de hardware) y en ella llamamos a
la SFB–. Se nos desplegaran una serie de parametros que rellenamos de la siguiente forma.
Por ultimo dentro del OB1 ponemos el siguiente codigo. Guardamos y compilamos en el plc
y ya esta listo.
5
2.2. Respuesta planta en lazo abierto
Abrimos el Scada, encendemos el automata , abrimos la valvula V–,configuramos la obte-
cion de datos del scada, le damos a RUN y ponemos la servo-valvula en punto de trabajo (50) y
observamos a donde se va el nivel. Pasado un tiempo ponemos el Scada en stop y ya tenemos
nuestros datos para poder identificarlos y poder trabajar con un modelo en formato Funcion
de transferencia.
6
2.3. Identificacion del modelo
Ahora con los datos de la planta en lazo cerrado nos vamos a Matlab y utilizando la funcion
proporcionada en la practica ’leedatos’ de la forma -con parametros de salida: tiempo (t), aper-
tura de la valvula (val), nivel del tanque (nivel) y los set-points (sp).
Posteriormente abriremos la herramienta de Matlab Ident escribiendo ident en la ventana de
comandos. Una vez ahi como vemos en la figura elegimos dominio del tiempo y en la ventana
que se despliega como entrada elegimos el vector de valvula y como salida el vector nivel (los
datos quedan representados en la primera grafica empezando por la izquierda) luego elegimos
estimar funcion de tranferencia y ponemos en la ventana que se despliega 1 polo y ningun zero
y retardo que busque el adecuado, quedando un sistema de primer orden (segunda figura). Lo
llamamos G y arrasramos la funcion de transferencia al recuadro de to workspace.
Finalmente nuestra resouesta queda de la siguiente forma con una exactitud del 80:
7
2.4. Calculo de los parametros de los controladores
Ahora una vez obtenida nuestra funcion de transferencia vamos a ejecutar la herramienta
SISO proporcionada en la practica. Una vez ahi elegimos las especificaciones de MF deseadas
y el tipo de controlador y nos da los parametros que calcula mediante un metodo analitico.
Los parametros finalmente calculados son:
3ª
2ª
1ª
8
2.5. Implementacion del controlador en el sistema y obtencion de los datos de la salida de
la planta
Una vez calculados los 3 controladores nos dirigimos al Scada y configuramos la obtencion
de los datos. Posteiormente en la pestaña del controlador introducimos los parametros del pri-
mer controlador, le damos a run y hacemos un salto en la valvula a ver como varia ahora el
nivel. Una vez hecho esto introducimos los parametros del segundo controlador y vemos la res-
puesta, igual con el tercer controlador.
Una vez hecho eso vamos a Matlab y tal como hicimos antes haciendo uso de la funcion leeda-
tos pasamos los datos al workpace de Matlab, los arreglamos y esta es la respuesta obtenida.
Como se puede ver el caudal no llega a la referencia por que no le da tiempo, el tiempo de
asentamiento del caudal con cualquier controlador es mayor de 60 pero nuestras referencias
apenas llegan a los 40 segundos por lo que parece que el sistema tiene mucho ruido y no se
pueden comparar las respuestas, habria de haber utilizado un tiempo de 400 segundos minimo
para poder dejar al caudal estabilizarse. Por otro lado vemos como la señal de control tampoco
puede extraerse nada debido al ruido que tiene y que no llega a estabilizarse, en la respuesta del
modelo identificado veremos que podemos sacar alguna conclusion mas que de esta grafica.
9
Esta grafica que nos muestra la respues de nuestro modelo identificado, el porcentaje de aper-
tura de la valvula (señal de control) y el error, que lo que entra en el controlador.
Para la salida se puede ver como sucede mas o menos lo de antes, el caudal no llega a estabili-
zarse en la referencia ya que no le hemos dado tiempo suficiente pero se puede ver la compara-
cion de los 3 ontroladores, vemos como el controlaodr de MF=80º presenta la mejor respuesta
ya que aunque el ts sea similar a los demas presenta menos oscilaciones. que las demas. Para
la señal de control vemos como los minimos de las 3 señales son iguales, pero a la hora de los
maximos vemos como el de MF=80º va entre 4 a 10 y el de MF=45º va dede 7.5 a 12.5.
10
2.6. Codigo matlab
Aqui podmeos ver el codigo utilizado en Matlab que realiza lo siguiente:
1 clc
2 close a l l
3 G= t f 1 ;
4 % % Funcion que l e e l o s datos de l a planta en lazo abierto
5 % % del f i c h e r o t x t generado por e l scada
6 [ t , caudal , valvula , sp ]= lee_datos ( ’ alvaro . t x t ’ ) ;
7 % % Grafica datos en LA
8 figure (1)
9 subplot ( 2 , 1 , 1 )
10 plot ( t , caudal , ’ linewidth ’ , 1 )
11 t i t l e ( ’ Variacion n i v e l LA ’ )
12 gr i d on
13 subplot ( 2 , 1 , 2 )
14 plot ( t , valvula , ’ linewidth ’ , 1 )
15 t i t l e ( ’ Apertura v alvu la ’ )
16 gr i d on
17 % % Eliminamos l o s 60 primeros valores
18 caudal=caudal ( 6 0 : end ) ;
19 v a l v u l a = v a l v u l a ( 6 0 : end ) ;
20 t = t ( 6 0 : end ) ;
21 % % Centramos en 0
22 caudal2=caudal−mean( caudal ( 1 : 2 0 ) ) ;
23 valvula2=valvula −20;
24 % % Evolucion del caudal de l a planta i d e n t i f i c a d a
25 caudal_mod=lsim (G, valvula2 , t ) ;
26 % % DATOS PLANTA EN LC CON PID CON MF=40 ,60 ,80.
27 [ t3 , caudal3 , valvula3 , sp3 ]= lee_datos ( ’ a l v a r o l c . t x t ’ ) ;
28 % % Centramos l o s datos
29 caudal4=caudal3−caudal3 ( 1 ) ;
30 valvula4=valvula3−mean( valvula3 ( 1 : 3 0 ) ) ;
31 % % Controladores calculados en SISO
32 kp1=11;
33 ti1 =5.11;
34 pid_45= t f ( kp1 * [ t i 1 1 ] , [ t i 1 0 ] ) ;
35 kp2 =11.5542;
36 t i 2 =6 . 7 07 ;
37 pid_60= t f ( kp2 * [ t i 2 1 ] , [ t i 2 0 ] ) ;
38 kp3 =12.508;
39 t i 3 =10.2184;
40 pid_80= t f ( kp3 * [ t i 3 1 ] , [ t i 3 0 ] ) ;
41 pid =[ pid_45 pid_60 pid_80 ] ;
42 % % Controlaodor en s e r i e con l a planta i d e n t i f i c a d a
43 pid_G=pid *G;
44 % % Cerramos e l lazo con daca controlador
45 G_45=feedback ( pid_G ( 1 ) , 1 ) ;
46 G_60=feedback ( pid_G ( 2 ) , 1 ) ;
47 G_80=feedback ( pid_G ( 3 ) , 1 ) ;
48 % % Evolucion del caudal de l a planta controlada
49 [ caudal_45 , t2 ]= step ( G_45 , 1 5 0 ) ;
50 [ caudal_60 , t2 ]= step ( G_60 , 1 5 0 ) ;
51 [ caudal_80 , t2 ]= step ( G_80 , 1 5 0 ) ;
52 [ caudal_G , t4 ]= step (G, 1 5 0 ) ;
53 % % Respuesta f i n a l
54 caudal_fin1=lsim ( G_45 , sp3 −3, t3 ) ;
55 caudal_fin2=lsim ( G_60 , sp3 −3, t3 ) ;
56 caudal_fin3=lsim ( G_80 , sp3 −3, t3 ) ;
57 % % Error
58 error1 =( sp3−3)−caudal_fin1 ;
59 error2 =( sp3−3)−caudal_fin2 ;
60 error3 =( sp3−3)−caudal_fin3 ;
61 % % S e al de control
11
62 v a l v u l a _ f i n 1 =lsim ( pid_45 , error1 , t3 ) ;
63 v a l v u l a _ f i n 2 =lsim ( pid_60 , error1 , t3 ) ;
64 v a l v u l a _ f i n 3 =lsim ( pid_80 , error1 , t3 ) ;
65 % % % % % VISUALIZACIONES % % % % %
66 % % Evolucion del caudal en funcion apertura de l a valvula en lazo cerrado
67 figure (2)
68 subplot ( 2 , 1 , 1 )
69 plot ( t , caudal2 , ’ linewidth ’ , 1 )
70 t i t l e ( ’ Variacion n i v e l LA ’ )
71 gr i d on
72 subplot ( 2 , 1 , 2 )
73 plot ( t , valvula2 , ’ linewidth ’ , 1 )
74 t i t l e ( ’ Apertura v alvu la ’ )
75 gr i d on
76 % % Comparacion modelo r e a l vs modelo t e o r i c o en LA
77 figure (3)
78 plot ( t , caudal_mod , t , caudal2 , ’ linewidth ’ , 1 )
79 t i t l e ( ’Modelo r e a l vs Modelo t e o r i c o ’ )
80 y l a b e l ( ’ Caudal ( l / s ) ’ )
81 % % Variacion caudal en LC ( experimental ) pids
82 figure (4)
83 subplot ( 2 , 1 , 1 )
84 plot ( t3 , caudal4 , t3 , sp3 −3, ’ linewidth ’ , 1 )
85 t i t l e ( ’ Evolucion planta + controlador experimental ’ )
86 y l a b e l ( ’ Caudal ( l / s ) ’ )
87 gr i d on
88 subplot ( 2 , 1 , 2 )
89 plot ( t3 , valvula4 , ’ linewidth ’ , 1 )
90 y l a b e l ( ’ Apertura valvula ( %) ’ )
91 gr i d on
92 % % Caudal controlado
93 figure (5)
94 plot ( t2 , caudal_45 ( 1 : end−1) , t2 , caudal_60 ( 1 : end−5) , t2 , caudal_80 , ’ linewidth ’ , 1 )
95 t i t l e ( ’ Respuesta t e o r i c a controlada ’ )
96 x l a b e l ( ’ tiempo ( s ) ’ )
97 y l a b e l ( ’ caudal ( l / s ) ’ )
98 legend ( ’MF=45 ’ , ’MF=60 ’ , ’MF=80 ’ )
99 gr i d on
100 % % Respuesta f i n a l , S e al de control y Error
101 figure (6)
102 subplot ( 3 , 1 , 1 )
103 plot ( t3 , caudal_fin1 , t3 , caudal_fin2 , t3 , caudal_fin3 , t3 , sp3 −3, ’ linewidth ’ , 1 )
104 t i t l e ( ’ Evolucion planta + controlador t e o r i c a ’ )
105 x l a b e l ( ’Tiempo ( s ) ’ )
106 y l a b e l ( ’ Caudal ( l / s ) ’ )
107 legend ( ’MF=45 ’ , ’MF=60 ’ , ’MF=80 ’ )
108 gr i d on
109 subplot ( 3 , 1 , 2 )
110 plot ( t3 , v a l v u l a _ fi n1 , t3 , v al v u l a_ fi n2 , t3 , v al v u l a _fi n3 , ’ linewidth ’ , 1 )
111 t i t l e ( ’ S e al de control PIDs ’ )
112 x l a b e l ( ’Tiempo ( s ) ’ )
113 y l a b e l ( ’ Apertura de l a valvu la ’ )
114 legend ( ’MF=45 ’ , ’MF=60 ’ , ’MF=80 ’ )
115 gr i d on
116 subplot ( 3 , 1 , 3 )
117 plot ( t3 , error1 , t3 , error2 , t3 , error3 , ’ linewidth ’ , 1 )
118 t i t l e ( ’ Error ’ )
119 x l a b e l ( ’Tiempo ( s ) ’ )
120 y l a b e l ( ’ Caudal ( l / s ) ’ )
121 legend ( ’MF=45 ’ , ’MF=60 ’ , ’MF=80 ’ )
122 gr i d on
12
A continuacion se va explicar el codigo realiza en matlab donde hemos hecho los calculos
necesarios y las braficas utilizadas en este documento.
En primer lugar de la linea 1 a la 5 limpiamos las venatanas y el editor de comandos, asignamos
el nombre de G al modelo identificado con la herramienta de matlab ident.
De la 18 a 19 arreglamos los datos para que podamos identificarlo (bajamos a cero y nos
quedamos con un ciclo solo).
Linea 25 estimulamos nuestro modelo de la planta con los datos de la valvula2 y lo llama-
mos caudalm od .
De la 32 a la 41 creamos los pid’s teoricos con los parametros de SISO y el comando tf.
De la 43 a la 56 ponemos ens erie cada controlador con la planta y cerramos el lazo, poste-
riormente damos un salto escalon y escitamos el sistema con el sp3 centardo en cero es decir
sp3-3.
13
3. Conclusiones,observaciones y dificultades
14