Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Práctica 1
Sistemas no lineales y modelos linealizados.
Sistemas sobreamortiguados.
1 INTRODUCCIÓN
Se conoce el modelo no lineal que relaciona la altura h(t) con el caudal de entrada Fe(t):
dh(t )
A = Fe (t ) − K h(t )
dt
Control e Instrumentación de Procesos Químicos. 2
Curso 2007-2008, Marga Marcos, Eva Portillo
Práctica 1: Modelos no lineales y modelos linealizados. Sistemas sobreamortiguados.
l
Siendo K = 10 y A = 1m
2
min⋅ m
PREPARACIÓN DE LA PRÁCTICA
REALIZACIÓN EN EL LABORATORIO
Introducción a Simulink
Vamos a utilizar el entorno Simulink, ejecutable desde Matlab, para crear un fichero
simulink que contenga el diagrama de bloques del modelo no lineal y el del modelo
linealizado considerados en el apartado anterior. En concreto, el diagrama de bloques que
se va a construir es el presentado en la Figura 2.
>> simulink
Incremento Fe
dh(t)/dt
Fe(l/min) h(m)
1
1/1 hNL
s
1/A Integrator To Workspace
PO 10
Fe=10
PO Fe 10 sqrt
K Math Modelo
Function
no lineal
Fe(l/min)
1 Modelo
h(m)
s+5
hL
linealizado
Transfer Fcn
PO To Workspace1
1
h=1
PO h
modelo en variables
de desviación
2. Seleccionar la opción New→Model del menú File para abrir una ventana nueva vacía en
la que se va a construir el modelo. La nueva ventana se llamará ‘Untitled’; el nombre se
asignará cuando salvemos el fichero simulink en el disco.
3. Haciendo click en una librería de bloques se abre una nueva ventana que muestra los
bloques que la componen. A continuación abrimos la librería Continuous y presionando
con el ratón en el bloque Transfer Fcn lo arrastramos hasta copiarlo en la nueva
ventana.
4. Haciendo doble-click en el bloque Transfer Fcn, aparece una ventana que permite
introducir los coeficientes del numerador y denominador de la función de transferencia
que se desee, siempre como vectores (entre corchetes) cuyos elementos representan
los coeficientes del polinomio y en orden decreciente de potencias de s. Por ejemplo,
como se muestra en la Figura 6, para la función de transferencia del modelo
linealizado, los coeficientes a introducir son: numerador [1] y denominador [ 1 5 ].
6. Para almacenar los datos de la simulación en variables del entorno Matlab se utiliza el
bloque To Workspace que se encuentra en la librería Sinks. Si conectamos este nuevo
bloque a la salida del bloque función de transferencia, el resultado de la simulación (en
nuestro caso la salida del sistema a respuesta escalón) se almacena en una variable (en
este caso un vector) del espacio de trabajo de Matlab. Haciendo doble-click sobre el
bloque aparecerán varios campos. En uno de ellos se da nombre a la variable que
almacenará el vector, y en el segundo se indica el nº máximo de puntos que tendrá ese
vector columna. Para que los datos se guarden en forma de vector, se deberá elegir en
el campo Save Format la opción Array.
7. Una vez que se tienen definidos los bloques que forman el modelo, es necesario
conectarlos para formar el diagrama de bloques que se desea. Para dibujar las líneas
que conectan los bloques se debe situar el puntero del ratón en la salida de un bloque,
presionar el botón izquierdo del ratón y arrastrarlo hasta la entrada del bloque al que
se desea conectar.
8. Por cada vector que deseemos almacenar en memoria para una posterior visualización
gráfica, es necesario un bloque To Workspace. Así, vamos a almacenar en el espacio de
trabajo de Matlab cuatro vectores: el vector salida del modelo no lineal, el vector
salida del modelo linealizado, el vector de entrada que lo obtendremos a la salida del
bloque step, y el vector de tiempo, ya que tanto las simulaciones en Matlab como el
análisis temporal se hace en base a un vector de tiempos. Este vector de tiempo se
puede definir en la opción Data Import/Export del menú Configuration Parameters de
la ventana que hemos creado (ver Figura 7). Para no limitar el número de valores de
tiempo a almacenar en el vector, se debe quitar la selección de Limit data points to
last, tal y como aparece marcado por una circunferencia en la Figura 7. El nombre del
vector de tiempos, se puede definir en la zona recuadrada de la Figura 7.
Para salvar el modelo editado en un fichero de extensión .mdl se debe elegir la opción
save as del menú file.
9. Otros bloques utilizados, como por ejemplo, gain, integrator, etc, se pueden buscar
fácilmente, tal y como se muestra en la Figura 8. Concretamente, el operador raiz
cuadrada, sqrt, se encuentra en la librería math functions.
10. Antes de pasar a simular el comportamiento del sistema, vamos a ver cuáles son los
parámetros a definir para realizar una correcta simulación. El tiempo de simulación
quedará fijado mediante los parámetros tiempo de inicio y tiempo de fin de la misma.
Por otra parte, debido a que la simulación de modelos Simulink implica la integración
numérica de un conjunto de ecuaciones diferenciales, habrá que elegir, dependiendo
del tipo de sistema y de la dinámica del mismo, un algoritmo o método de integración
de entre los disponibles en Simulink (para sistemas lineales se recomienda utilizar
ode45 (Dormand-Prince)). En el caso de utilizar este método conviene seleccionar un
paso de integración fijo (Fixed-step) y un tamaño de paso fijo con un valor que se
selecciona dependiendo de la dinámica del sistema. Por ejemplo, si la constante de
tiempo de 3,5 min., debemos elegir un paso de integración tal que en esos 3,5 min. nos
calcule el número de puntos en función de la precisión deseada. Con un paso de 0.01
calculará 350, con un paso de integración de 0.1 calculará 35. Por otro lado, se debe
elegir un tiempo final que asegure que el sistema ha llegado al estacionario pero que no
sea demasiado largo, porque si lo es, el transitorio prácticamente no se distinguirá. Por
tanto, se deberá calcular el tiempo de establecimiento con el objetivo de seleccionar
como tiempo final un valor superior pero no alejado de dicho valor. Observar que una
vez definido el tiempo de inicio y el tiempo final, el número de puntos que se generará
con paso de integración fijo será:
En este caso, si tomamos como paso de integración 0.01 min y como tiempo final 10 min,
el número de puntos que se generarán será de 1001. Por tanto, este es el número de
puntos que deben contener los vectores ToWorkspace. Alternativamente, se puede
fijar el parámetro Limit Data Points To Last al valor inf, en cuyo caso se almacenan
todos los puntos de la simulación.
11. Si ahora seleccionamos la opción Start del menú Simulation, comenzará la simulación y
se detendrá en el instante definido en Stop Time.
12. Una vez finalizada la simulación, podemos dibujar los vectores que interesen en función
del tiempo. Las gráficas se dibujan en la ventan gráfica mediante el comando plot(). Si,
por ejemplo, quisiéramos representar gráficamente la entrada Fe y la salida del
modelo no lineal, hNL, respecto al tiempo, debemos ir a la ventana de comandos de
Matlab y ejecutar el comando plot() (para más información utilizar el comando help
plot desde la ventana Matlab.
Este comando matlab dibuja los vectores Fe (en verde) y hNL (en azul) en el eje de
ordenadas y el vector t en el eje de abscisas.
13. Si variamos algún parámetro de este sistema y volvemos a simular para comparar el
nuevo resultado con el anterior, podemos mantener las gráficas anteriores. Para ello es
necesario ejecutar en la pantalla de comandos de Matlab la siguiente orden:
>> hold on
Este comando mantendrá las gráficas mientras no se ejecute el comando hold off. El
comando clc borra la pantalla gráfica.
Fe, ce
K
G( s) =
τs + 1
PREPARACIÓN DE LA PRÁCTICA
Sabiendo que los datos de proceso son: V1=4 m3 ; caudal nominal = 2 m3/min ;
concentración nominal= 1 mol/m3, responda y justifique la respuesta a las siguientes
cuestiones:
Suponga ahora que el sistema está formado por dos tanques, tal y como se indica en
la figura.
Fe, ce
F1, c1
F2, c2
ETAPA 1
ETAPA 2
Sabiendo que en condiciones de operación los datos de proceso son los siguientes:
REALIZACIÓN EN EL LABORATORIO
¿Qué efecto tiene sobre la respuesta del sistema el aumento del volumen V1? ¿y el
aumento del caudal Fe?
¿Cómo se calcularía la constante de tiempo y la ganancia del sistema partiendo de la
curva experimental?
• Suponga ahora que la entrada ce varía en forma de pulso, tal y como se indica en
la figura.
c e(t)( mol/m 3)
1 1
t ( min)
15 25
Nota: Para salvar el modelo editado en Simulink en disco, seleccionar la opción save
as del menú file dando un nombre al fichero. Para recuperar un fichero de
modelo de disco seleccionar la opción open del menú file.
Para recuperar un fichero de modelo desde disco, existe otra posibilidad que
consiste en escribir el nombre del fichero en la línea de comandos (escribir el
nombre sin añadirle la extensión .mdl). Para ello el fichero se ha debido
guardar en el directorio de trabajo:
>> fichero