Está en la página 1de 22

ESCUELA ACADÉMICA DE INGENIERÍA QUÍMICA - UNICA

CONTROL DE PROCESOS INDUSTRIALES

Universidad Nacional “San Luis Gonzaga”

Facultad de Ingeniería Química y Petroquímica


Departamento de Ingeniería Química

Guía de Práctica de Laboratorio

ASIGNATURA:

Control de Procesos Industriales

Docente: Dr. Fernando E. Cano Legua

Aprobado en Consejo de Facultad mediante Resolución Decanal N°

2020

DOCENTE: DR. FERNANDO CANO LEGUAFERNANDO EDUARDO CANO LEGUA 1


ESCUELA ACADÉMICA DE INGENIERÍA QUÍMICA - UNICA
CONTROL DE PROCESOS INDUSTRIALES
LABORATORIO N° 1
APLICACIONES SIMPLES CON MATLAB
OBJETIVO
Hacer uso de los comandos de Matlab anteriormente vistos para familiarizarse con su uso.
MATLAB: Otras características importantes de Matlab están relacionadas con funciones
polinomiales como son:
Suma, resta, multiplicación, división y raíces de polinomios, así como la evaluación y derivada
de dichos polinomios.
Raíces de polinomios
En Matlab un polinomio se representa por un vector fila cuyos componentes son los
coeficientes del polinomio en orden descendente.
Como por ejemplo, el polinomio:

se representa en matlab por: p = [1 3 0 5 4]


Las raíces de este polinomio se determinan aplicando la orden “roots”

Las raíces, por convención, el Matlab los representa como vectores columna; el comando
“poly” se utiliza para la obtención del polinomio a partir de sus raíces, de esta manera, para las
raíces encontradas:

Producto de polinomios
Encontrar el producto de los dos polinomios mostrados a continuación:

El producto está determinado mediante el comando “conv” (convolución)

El polinomio obtenido se representa de la siguiente manera

DOCENTE: DR. FERNANDO CANO LEGUAFERNANDO EDUARDO CANO LEGUA 2


ESCUELA ACADÉMICA DE INGENIERÍA QUÍMICA - UNICA
CONTROL DE PROCESOS INDUSTRIALES

Suma de polinomios
No hay un comando para sumar polinomios, se opera con la suma normal de vectores.
Tomando los polinomios ya declarados, obtenfremos:
d =a + b

Cuando los polinomios son de diferente orden, deberán agregarse ceros para ajustar el orden
de los polinomios, por ejemplo, sumar c con d, que resulta:

Cuando los polinomios son de diferente orden, deberán agregarse ceros para ajustar el orden
de los polinomios, por ejemplo, al sumar c con d

Dividir polinomios
Si se tiene que dividir dos polinomios, utilizaremos el comando “deconv”.
Al dividir el polinomio c entre el polinomio b, como es de esperar, el resultado será el
polinomio a, ya que la división será exacta, sin resíduo.

Derivar un polinomio
Con el comando “polyder” se puede derivar un polinomio. Ejemplo, derivar los polinomios a y
b ya declarados.

DOCENTE: DR. FERNANDO CANO LEGUAFERNANDO EDUARDO CANO LEGUA 3


ESCUELA ACADÉMICA DE INGENIERÍA QUÍMICA - UNICA
CONTROL DE PROCESOS INDUSTRIALES

PRACTICA DE LABORATORIO Nº 02
TRABAJO CON FUNCIONES DE TRANSFERENCIA EN MATLAB
1. Para escribir una función de transferencia y visualizarla en pantalla se introducen como
vectores los polinomios del numerador (num = [an ... a2, a1 a0]) y del denominador (den =
[bn ... b2 b1 b0]), y a continuación se utiliza la instrucción tf(num,den).
Como ejemplo empleemos la siguiente función de transferencia:
s +1
H =
s + 3s 2 + 2 s
3

n = [1 1]; d = [1 3 2 0];
H = tf(n,d)
Transfer function:
s+1
---------------------
s^3 + 3 s^2 + 2 s

Si se usa punto y coma al final de la instrucción, el programa no muestra la función de


transferencia, sino que la guarda para su posterior uso. Para llamarla simplemente se
escribe su nombre. Si la función de transferencia tiene su numerador y su denominador
en forma factorizada, se emplea la instrucción conv(A, B). Sea la función de
transferencia:
n1= conv([1 1], [1 2]); d1= conv(conv([1 0], [1 5]), [1 10]);
G = tf(n1, d1);

G=
(s + 1)(s + 2)
s(s + 5)(s + 10)
2. Escriba las siguientes instrucciones, observe y analice los resultados:
[z, p, k] = tf2zp(n1, d1)
[p, z] = pzmap(n1, d1)
pzmap(n1, d1)
La primera da, como vectores columna, los ceros, los polos y la ganancia (K) del sistema
representado por la función de transferencia G(s). La segunda produce un par de
vectores columna con los polos y los ceros de la función de transferencia, y la tercera
dibuja el mapa de polos y ceros.
3. Se dice que una función de transferencia es coprima o irreducible cuando no tiene polos
y ceros que se puedan cancelar. Si la función es reducible (no coprima), se pueden
cancelar los términos comunes por medio de la instrucción: [nr, dr] = minreal(num, den,
tol), en donde tol es un parámetro opcional que indica la tolerancia para el nivel de
cancelación. Practique con los siguientes casos, observe y analice los resultados:
(s + 1)
a)
(s + 2)(s + 1) sin tolerancia

DOCENTE: DR. FERNANDO CANO LEGUAFERNANDO EDUARDO CANO LEGUA 4


ESCUELA ACADÉMICA DE INGENIERÍA QUÍMICA - UNICA
CONTROL DE PROCESOS INDUSTRIALES

(s + 1)(s + 2)
b) con tolerancias de 0.2, 0.4 y 0.3
(s + 3)(s + 4)(s + 1.3)
4. Si conoce la ubicación de los polos, la ubicación de los ceros y la ganancia, puede
obtener la función de transferencia con la instrucción zp2tf. Suponga que un sistema
tiene los siguientes polos y ceros:
z= [0 -2]; p = [-2 –6 –12]; y ganancia k = 5. Los polos y ceros deben expresarse como
vectores columna.
[num, den] = zp2tf(z’, p’, k)
H1 = tf(num, den)
Transfer function:

5 s^2 + 10 s
----------------------------
s^3 + 20 s^2 + 108 s + 144

5. A partir de una función de transferencia dada por su numerador y su denominador


usted puede descomponerla en fracciones parciales con la instrucción [r, p, k] =
residue(num, den), en donde r y p son los vectores columna que contienen los residuos
y los polos, y k es el cociente. Pruebe con las siguientes funciones de transferencia:
B ( s ) 2s 3 + 5s 2 + 3s + 6 5.63s 2 + 3s + 6
= 3 y G ( s ) =
A( s ) s + 6 s 2 + 11s + 6 s 3 + 6 s 2 + 11s + 6

6. El comando [num,den] = residue(r, p, k) convierte las fracciones parciales de regreso a la


función de transferencia en forma polinómica. Verifíquelo con los ejemplos anteriores.

DOCENTE: DR. FERNANDO CANO LEGUAFERNANDO EDUARDO CANO LEGUA 5


ESCUELA ACADÉMICA DE INGENIERÍA QUÍMICA - UNICA
CONTROL DE PROCESOS INDUSTRIALES
LABORATORIO Nº 03
RESOLUCION DE ECUACIONES DIFERENCIALES ORDINARIAS (EDO) EN MATLAB
La solución de una ecuación diferencial mediante el uso de la transformada de Laplace implica
básicamente cuatro pasos:
Paso 1. Transformación de la ecuación diferencial en una ecuación algebraica con la variable s
de la transformada de Laplace, lo cual se logra al obtener la transformada de Laplace de cada
miembro de la ecuación.

Paso 2. Despejar: Se emplea la ecuación algebraica que se resuelve para la variable de salida
Y(s), en términos de la variable de entrada y de las condiciones iniciales:

Paso 3. Expandir a Fracciones Parciales:


A partir de una función de transferencia dada por su numerador y su denominador usted
puede descomponerla en fracciones parciales con la instrucción [r, p, k] = residue(num, den),
en donde r y p son los vectores columna que contienen los residuos y los polos, y k es el
cociente. Pruebe con las siguientes funciones de transferencia:
B ( s ) 2s 3 + 5s 2 + 3s + 6 5.63s 2 + 3s + 6
= 3 y G ( s ) =
A( s ) s + 6 s 2 + 11s + 6 s 3 + 6 s 2 + 11s + 6
Paso 4. Inversión de la ecuación resultante para obtener la variable de salida en función del
tiempo y(t):

CASO 1: RAÍCES REALES NO REPETIDAS


Encontrar la función c (t) que satisface a la ecuación diferencial:
c’’ (t) + 3c’ (t) + 2 c (t) = 5 u (t). Las condiciones iniciales son cero.
1º Transformar la EDO:
s2 C(s) + 3s C(s) + 2 C(s) = 5/s (Utilizando Tabla)
2º Despejar la variable de salida:
C(s) = 5/s (s2 + 3s + 2) = 5/s(s+1) (s+2)
3º Expandir a fracciones parciales:
Con la orden [r,p,k]=residue(num,den)
4º Ordenar y aplicar la Transformada inversa (Utilizar Tabla).
Con la ayuda del MATLAB, resuelva las siguientes ecuaciones diferenciales:
a) c’’(t) + 3c’(t) + 2 c(t) = 5 u(t)
b) c’’(t) + 2c’(t) + 5 c(t) = 3 u(t)
c) c’’’(t) + 3c’’(t) + 3c’(t) + c(t) = 2 u(t)
d) c’’’(t) + 2c’’(t) + 3c’(t) + 4c(t) = 4 δ(t)
Escriba el resultado en su hoja reporte.

DOCENTE: DR. FERNANDO CANO LEGUAFERNANDO EDUARDO CANO LEGUA 6


ESCUELA ACADÉMICA DE INGENIERÍA QUÍMICA - UNICA
CONTROL DE PROCESOS INDUSTRIALES
LABORATORIO N° 04
RESPUESTA TRANSITORIA DE LA FUNCIÓN DE TRANSFERENCIA EN MATLAB

En MATLAB la función transferencia a lazo cerrado se puede calcular de dos formas:


• Utilizando SIMULINK (lo veremos más adelante).
• Utilizando las funciones de MATLAB series, parallel, feedback y cloop.
Para calcular la función transferencia a lazo cerrado G(s) sigamos los siguientes pasos:
1. Definimos los numeradores y denominadores de las funciones transferencia de cada bloque
de la siguiente forma:
numg1=0.4; deng1=1;
numg2=100; deng2=[1 2 0];
numh2=[1 0]; denh2=[1 20];
2. Calculamos la función transferencia de V(s) a Y(s):
[numvc,denvc]=feedback(numg2,deng2,numh2,denh2,-1);
3. Ahora calculamos la funci´on transferencia de E(s) a Y(s) con:
[numec,denec]=series(numg1,deng1,numvc,denvc);
4. Por último calculamos el lazo cerrado:
[num, den]=cloop(numec,denec,-1);
Lo que obtuvimos son los vectores numerador y denominador de la función transferencia por
separado. Recordemos que, para ingresarla como función de transferencia a MATLAB, debemos
utilizar tf.
Respuesta al impulso
Ahora que ya sabemos cómo pasar de la respuesta temporal a Laplace, verifiquemos que la
respuesta al impulso de la transformada de Laplace coincide con la respuesta temporal.
Para ello utilizaremos el comando de MATLAB impulse.
Ejemplo 6. Supongamos que tenemos una función transferencia de la siguiente forma:

DOCENTE: DR. FERNANDO CANO LEGUAFERNANDO EDUARDO CANO LEGUA 7


ESCUELA ACADÉMICA DE INGENIERÍA QUÍMICA - UNICA
CONTROL DE PROCESOS INDUSTRIALES

Si calculamos ahora la antitransformada, desarrollando en fracciones simples, resulta que y(t) =


e-t – e-2t. Ingresemos los vectores numerador y denominador y luego ejecutemos el comando:
impulse(num,den);
Veremos que este comando devuelve un gráfico. Como podemos ver, solo nos muestra los
primeros 6 segundos de la respuesta. Si quisiéramos que nos mostrara 12 segundos, debemos
definir un vector de tiempo. Para ello ingresemos, por ejemplo,
t=0:0.1:12;
El vector t tendrá como primer elemento el 0 y como último al 12. Cada elemento estará a una
distancia de 0.1 de su consecutivo. Si ahora introducimos este parámetro en el comando
impulse(num,den,t), el gráfico mostrará los primeros 12 segundos de la respuesta al impulso.
Notemos que este comando no fue asignado a ninguna variable; podríamos asignarle un vector,
es decir y=impulse(num,den,t), y así tendríamos los valores de la salida de la respuesta al
impulso en dicho vector. Podríamos también graficar este vector con el comando plot(t,y).
Respuesta al escalón
De la misma forma que anteriormente, podríamos querer graficar la respuesta al escalón
unitario. MATLAB posee un comando, llamado step, para calcular la salida temporal cuando la
entrada se trata de un escalón unitario. Lo único que necesita este comando es el numerador y
el denominador de la función de transferencia.
step(num,den);
y=step(num,den);
Si utilizamos el comando sin asignarle la salida a ninguna variable, MATLAB abre una ventana
gráfica mostrando el gráfico de la salida a la perturbación escalón unitario, de la misma forma
que antes. Sin embargo, al igual que vimos en el comando impulse, cuando éste es asignado a
una variable, los valores obtenidos se guardan en el vector y.
Ejemplo 7. Calculemos la respuesta al escalón unitario de la función transferencia:

Si ingresamos el comando step(num,den), veremos el gráfico correspondiente y característico


del escalón.
Si ahora queremos la respuesta a una entrada rampa unitaria, MATLAB no posee ning ´un
comando que lo resuelva. Por lo que veremos cómo con el comando step podemos obtener una
rampa. Si seguimos con el ejemplo anterior y excitamos al sistema con r(t) = t, es decir que R(s)
= 1/ s2 , tenemos lo siguiente:

Por lo que utilizando como denominador de la función de transferencia al polinomio s3 + 0.8s2 +


4s, es decir den=[1 0.8 4 0], y calculando la respuesta al escalón unitario con step(num,den),
obtenemos la respuesta a la rampa unitaria característica.

DOCENTE: DR. FERNANDO CANO LEGUAFERNANDO EDUARDO CANO LEGUA 8


ESCUELA ACADÉMICA DE INGENIERÍA QUÍMICA - UNICA
CONTROL DE PROCESOS INDUSTRIALES
Si deseamos analizar un sistema, con una entrada lo primero que debemos de definir es la
función transferencia del sistema, es decir la relación de las entradas al sistema y las salidas de
este con condiciones nulas, en la transformada de Laplace.
Para la cual debemos de definir primero el numerador Y(s) y el denominador U(s) los cuales
serán los coeficientes de los polinomios del numerador y del denominador en potencias
decrecientes de ‘s’. Por ejemplo, si deseamos
definir la función de transferencia:
En la ventana de comandos de Matlab
(Command Windows), declare los polinomios
numerador “y”, denominador “u” y la función transferencia “sistema1”:

Otro ejemplo seria calcular los ceros y los polos de la


siguiente función de transferencia:
Para ello declare los polinomios “num”, “den” y la
función de transferencia G(S) como “sistema2” y luego calcule las raíces del polinomio
numerador y del denominador.

Otra manera de visualizar la función de transferencia en forma de ceros, polos, y ganancia la


podemos realizar con el comando “zpk”. Calcule los ceros, polos y ganancia de la función de
transferencia “sistema1” y guarde el resultado en la variable “sistema3”.

Retroalimentación (Feedback)
Si deseamos obtener la función de transferencia de un sistema en lazo cerrado, es decir, dentro
de un lazo con retroalimentación unitaria, debemos emplear el comando “feedback”
definiéndola de la siguiente manera. Determinar

SERIES
Este comando nos brinda la posibilidad de poder multiplicar dos funciones de trasferencias o ser
manipuladas como bloque que se encuentran en serie y que pueden ser unidas originando una
sola.

DOCENTE: DR. FERNANDO CANO LEGUAFERNANDO EDUARDO CANO LEGUA 9


ESCUELA ACADÉMICA DE INGENIERÍA QUÍMICA - UNICA
CONTROL DE PROCESOS INDUSTRIALES
También lo podríamos haber realizado usando dos veces él comando “conv” que permite la
multiplicación de polinomios.

Lugar Geométrico de las Raíces


En teoría de control, el lugar de raíces o lugar de las raíces (del inglés, root locus) es el lugar
geométrico de los polos y ceros de una función de transferencia a medida que se varía la
ganancia del sistema K en un determinado intervalo.
El método del lugar de raíces permite determinar la posición de los polos de la función de
transferencia a lazo cerrado para un determinado valor de ganancia K a partir de la función de
transferencia a lazo abierto.
Para obtener el lugar de las raíces, Matlab dispone del
comando “rlocus”. Las diferentes sintaxis para utilizar
este comando son:
rlocus(num,den): calcula y dibuja el lugar de las raíces
donde ‘num’ y ‘den’ son los vectores de los coeficientes
en potencia decrecientes de ‘s’ de los polinomios del
numerador y denominador de la función de
transferencia.
rlocus(num,den,k): calcula y dibuja el lugar de las raíces cuando se trabaja con la función de
transferencia y ha sido previamente definido el rango de valores de K, ganancia del sistema. Por
ejemplo de 0 a 100 con incrementos de 10: k=0:10:100

En Matlab disponemos del comando rlocfind el cual permite determinar los polos del
sistema para un valor determinado de k. Su sintaxis es: [k,poles] = rlocfind(num,den)
que permite determinar los polos para un valor determinado de k. En el plano
complejo seleccionamos una localización y Matlab retornará el valor de k para esta
localización y los polos asociados a esta ganancia.

DOCENTE: DR. FERNANDO CANO LEGUAFERNANDO EDUARDO CANO LEGUA 10


ESCUELA ACADÉMICA DE INGENIERÍA QUÍMICA - UNICA
CONTROL DE PROCESOS INDUSTRIALES

Al ejecutar el comando ‘rlocfind’ con la función de transferencia anterior, se activara


la ventana de figuras en espera de seleccionar un punto del plano complejo mediante
el cursor. En este caso el punto seleccionado fue -5.00 en la parte real y +7.9193 en
la parte imaginaria.

DOCENTE: DR. FERNANDO CANO LEGUAFERNANDO EDUARDO CANO LEGUA 11


ESCUELA ACADÉMICA DE INGENIERÍA QUÍMICA - UNICA
CONTROL DE PROCESOS INDUSTRIALES

LABORATORIO N° 05
RESPUESTA DEL PROCESO DE PRIMER ORDEN A DIFERENTES
TIPOS DE FUNCIONES DE FORZAMIENT0

ENTRADA ESCALÓN
Para determinar la respuesta en el tiempo ante una entrada escalón unitario de algún
sistema usamos él comando ‘step’ indicando el vector del
numerador y del denominador con sus respectivos
paréntesis. step(num,den) o en haciendo uso de la función
transferencia, previamente declarada step(nombre de la
función transferencia). Matlab despliega la respuesta en
función el tiempo en la siguiente ventana:

Si la entrada escalón es de un
valor de 5 y se desea ver la salida
hasta un tiempo de 100
segundos, la instrucción será la
siguiente:

Si deseamos tener una


apreciación más amplia sobre
cómo se comporta nuestro
sistema en una visión más
panorámica, lo podemos hacer
introduciendo la letra “t” en la
sintaxis del comando la cual nos
mostrara la gráfica extendida según sean los segundos asignados por t.
Definimos a “t” como un vector con
argumentos, con elemento inicial 0,
su elemento final es 100 existiendo
elementos que van incrementándose
de 0.1 en 0.1.
Nótese que si usamos “;” en la línea de
“t”, para evitar el eco de la pantalla.
Al ejecutar el comando ‘step’ para el
sistema1 se obtiene en la ventana de
figuras la respuesta escalón para los
primeros 100 segundos.

DOCENTE: DR. FERNANDO CANO LEGUAFERNANDO EDUARDO CANO LEGUA 12


ESCUELA ACADÉMICA DE INGENIERÍA QUÍMICA - UNICA
CONTROL DE PROCESOS INDUSTRIALES
ENTRADA IMPULSO.
Si deseamos obtener la respuesta en el tiempo para una entrada
impulso unitario se usa el comando ‘impulse’, con la sintaxis idéntica a
la que anteriormente habíamos utilizado con el comando ‘step’,
Definimos en Matlab los polinomios del numerador y denominador de
la función de transferencia, por ejemplo:

Como hemos visto en Matlab podemos obtener la respuesta en el tiempo para una entrada
escalón o impulso, también podemos obtener respuesta para otras entradas como rampas o
sinusoides. El comando “lsim” permite obtener la respuesta en el tiempo
para un sistema con una entrada ‘u’, donde ‘u’ se define como una
función del tiempo. La sintaxis de este comando es: lsim(num,den,u,t)
donde ‘num’ y ‘den’ son correspondientes a la función de transferencia.
Para obtener la respuesta en el tiempo para una función rampa,
definimos ‘u’ de la siguiente manera:

Al hacer u=t se está definiendo la función rampa. t es


el vector de tiempo variando desde 0 hasta 10 seg,
num y den son los vectores de los coeficientes
decrecientes en potencia de ‘s’ de los polinomios del
numerador y del denominador respectivamente. En
la variable “y” se almacena la salida del sistema en
función del tiempo “t”. El comando plot permite
desplegar en la ventana de figuras la variable y
(salida) y la entrada u (rampa) en función del tiempo,
en donde la gráfica de color verde representa la
entrada y la azul la salida, obteniéndose:

Otro ejemplo es:

DOCENTE: DR. FERNANDO CANO LEGUAFERNANDO EDUARDO CANO LEGUA 13


ESCUELA ACADÉMICA DE INGENIERÍA QUÍMICA - UNICA
CONTROL DE PROCESOS INDUSTRIALES
PRACTICA N° 06
INTRODUCCIÓN AL SIMULINK

El simulink es un toolbox de matlab que permite simular sistemas de control por medio de
diagramas de bloque. Para arrancar simulink, entramos a matlab, y ahí se teclea simulink.
Al entrar al simulink, se nos muestra las bibliotecas que contiene, y que son:

La presentación de las bibliotecas


podría cambiar dependiendo de las
que se hayan instalado en cada
computadora. La figura también
nos muestra en la parte superior,
cuatro iconos: para crear un nuevo
modelo, para abrir un modelo ya
existente, para fijar la pantalla de
bibliotecas de forma que siempre
permanezca visible y por último, el
icono para búsqueda de
bibliotecas.

Cada una de las bibliotecas de


simulink contiene un cierto
número de bloques. Hay dos
formas de accesar los bloques
componentes de cada biblioteca, al
oprimir sobre el signo + de la biblioteca de simulink.

Esta misma biblioteca, pero con


otra presentación, se obtiene
oprimiendo el botón derecho del
ratón sobre la biblioteca de
simulink y después oprimiendo el
botón izquierdo del ratón sobre el
mensaje desplegado.

Cada bloque de la biblioteca


contiene un subconjunto de bloques que son usados para formar la simulación deseada. Al hacer
doble clic sobre cualquiera de ellos se nos muestran los componentes del bloque en cuestión,
por ejemplo, al seleccionar el bloque de Continuous, se obtiene.
Se observan los siguientes componentes de Continuous: Integrador, derivativo, espacio de
estado función de transferencia, etc.

Cerrar todas las ventanas y ahora llevaremos a cabo una


simulación simple para efecto de aplicar un poco de lo que
se ha visto, para ello, abrimos el menú File, New y
seleccionamos Model, para crear la ventana donde
efectuaremos la simulación mencionada anteriormente.

DOCENTE: DR. FERNANDO CANO LEGUAFERNANDO EDUARDO CANO LEGUA 14


ESCUELA ACADÉMICA DE INGENIERÍA QUÍMICA - UNICA
CONTROL DE PROCESOS INDUSTRIALES

En la biblioteca de simulink haga doble clic


sobre Sources para tener accesibles sus
componentes, arrastre con el ratón el
componente de Sine Wave (Señal senoidal)
a la ventana del modelo. Luego Haga clic en
Sinks, para arrastrar el componente Scope
(Osciloscopio) hacia la ventana del modelo,
hasta ahora se tiene lo siguiente.

Conecte los dos componentes haciendo


clic sobre cualquiera de los puntos de
conexión y mantenga oprimido el botón
izquierdo del ratón mientras se mueve
hacia el otro punto de conexión del
componente.

Una vez conectados, inicie la


simulación, oprimiendo el icono
indicado en la figura y haga doble clic
sobre el osciloscopio para abrir la
pantalla, donde aparecerá la señal
correspondiente.

La siguiente figura se obtiene al oprimir el icono de autoescala del osciloscopio, icono en forma
de binoculares.
Para cambiar las características de la onda senoidal, haga doble clic sobre el componente de Sine
Wave sobre la ventana del modelo, pueden realizarse cambios en la frecuencia, amplitud, fase
etc.
Use y observe los iconos del osciloscopio para aumentar y disminuir el tamaño de la gráfica,
cambiar los ajustes del osciloscopio, imprimir y mantener los ejes.
Realizaremos ahora la simulación de la función de transferencia de un sistema de lazo abierto.
Abra la ventana de un nuevo modelo y arrastre los componentes de las bibliotecas
correspondientes, de forma que se tenga lo siguiente.

DOCENTE: DR. FERNANDO CANO LEGUAFERNANDO EDUARDO CANO LEGUA 15


ESCUELA ACADÉMICA DE INGENIERÍA QUÍMICA - UNICA
CONTROL DE PROCESOS INDUSTRIALES

Haga doble clic sobre el componente Transfer Fcn y


realice los cambios siguientes para obtener la función
de transferencia deseada

Al ejecutar la simulación deberá


observar la siguiente señal en el
osciloscopio

Cambiemos ahora los parámetros de la


simulación para que la señal se inicie en cero.
Haga doble clic sobre el componente Step y
cambie el Step time a 0, como se muestra en la figura siguiente.

Oprima el botón OK y ejecute de


nuevo la simulación y observe los
cambios en la señal dada por el
osciloscopio, la cual debe ser de la
siguiente forma.
Salve la simulación del modelo
abriendo File – Save del menú de la
ventana del modelo.

Abra uno nuevo para crear el siguiente diagrama, arrastrando los componentes apropiados.
Utilice otras bibliotecas y abra los componentes haciendo doble clic sobre ellos para ajustarlos.

Cambie los parámetros de la simulación para ajustar el eje del tiempo de acuerdo a las
siguientes figuras:

DOCENTE: DR. FERNANDO CANO LEGUAFERNANDO EDUARDO CANO LEGUA 16


ESCUELA ACADÉMICA DE INGENIERÍA QUÍMICA - UNICA
CONTROL DE PROCESOS INDUSTRIALES

REPORTE
1. Arme el sistema que se
muestra en la figura utilizando el Simulink y simúlelo con una entrada escalón unitario que
inicie en el tiempo cero, obtenga su respuesta en el tiempo y verifique que sea igual a la que
se muestra en la fig.1, cambie el tiempo de respuesta de 0 a 5, para que se muestre como en
la fig.2, cambie la entrada escalón por una entrada rampa y simúlelo, verifique que se obtiene
la respuesta de la fig.3.

DOCENTE: DR. FERNANDO CANO LEGUAFERNANDO EDUARDO CANO LEGUA 17


ESCUELA ACADÉMICA DE INGENIERÍA QUÍMICA - UNICA
CONTROL DE PROCESOS INDUSTRIALES
LABORATORIO N° 07:
SOLUCIÓN DE ECUACIONES DIFERENCIALES EN SIMULINK
Construir un modelo en Simulink que resuelva la siguiente ecuación diferencial:

• Condiciones iniciales = 0
• El input f(t) es una función escalón con magnitud 2
• Parámetros: m = 0.4,c = 0.6,k = 1
SOLUCIÓN:
1) Primero, expresar la ecuación en términos de la derivada de mayor
orden:
2) Crear un bloque de suma al lado izquierdo de la ventana de trabajo

3) Agregar un bloque “gain” (multiplicador) para


eliminar el coeficiente m y así despejar la
derivada de mayor orden:
4) La constante m=0.4 , luego 1/m = 2.5
5) Agregar los bloques “integrator” para obtener la variable deseada

6) Las condiciones iniciales son cero, el bloque “integrator” viene por defecto con este valor
por lo que no es necesario modificarlo en este caso. Conectar las señales integradas con
bloques multiplicadores (Gain) para crear los términos del lado derecho de la ecuación
diferencial:

7) Doble clic en los bloques Gain para modificar los parámetros: C =0.6; K = 1

DOCENTE: DR. FERNANDO CANO LEGUAFERNANDO EDUARDO CANO LEGUA 18


ESCUELA ACADÉMICA DE INGENIERÍA QUÍMICA - UNICA
CONTROL DE PROCESOS INDUSTRIALES
8) Unir todas las señales al bloque “sum” fijándose en los signos Agregar f(t) = step

9) Doble clic en el bloque “Step” para cambiar los parámetros. Para un paso de magnitud 2,
cambiar el “Final Value” a 2.

Correr la simulación y analizar los resultados.

DOCENTE: DR. FERNANDO CANO LEGUAFERNANDO EDUARDO CANO LEGUA 19


ESCUELA ACADÉMICA DE INGENIERÍA QUÍMICA - UNICA
CONTROL DE PROCESOS INDUSTRIALES
LABORATORIO N° 08
ANÁLISIS TEMPORAL DE SISTEMAS EN SIMULINK (MATLAB)

El objetivo principal de esta práctica es el análisis de sistemas en el dominio del tiempo. Es decir,
el estudio del comportamiento temporal de un sistema cuando es perturbado por una señal
cualquiera.
Para realizar este tipo de análisis, se utilizan señales tipo o patrón como señales de perturbación
y se caracterizará su respuesta en el tiempo. Esta respuesta temporal consta de dos partes: la
parte transitoria, que desaparece en el tiempo, y la parte permanente, que en sistemas de
control se define como la respuesta cuando ha transcurrido un tiempo suficientemente grande
como para que la parte transitoria haya desaparecido (aunque esto no significa que la respuesta
permanente deba ser constante).
𝑦𝑦(𝑡𝑡) = 𝑦𝑦𝑡𝑡 (𝑡𝑡) + 𝑦𝑦𝑝𝑝 (𝑡𝑡); lim 𝑦𝑦𝑡𝑡 (𝑡𝑡) = 0
𝑡𝑡→∞
Se tiene el sistema tanque con descarga por rebosadero
de la figura.
Interesa conocer cómo varía la concentración de la
corriente de salida, C1 ante cambios en la concentración
de la corriente de entrada, Ce.
El modelo linealizado alrededor de un
punto de operación, expresado en
variables de desviación, que representa el comportamiento dinámico del sistema alrededor del
punto de operación es:
dónde: Ce y C1
representan las variables de desviación y τ = V1/Fe
Aplicando la Transformada de Laplace a condiciones iniciales nulas (suponiendo que el sistema
parte del punto de operación) se obtiene la siguiente función de transferencia:
Por tanto, la concentración a la salida del tanque responde
como un sistema de primer orden puro, ya que tiene un sólo
polo y no tiene ceros.
En general, un sistema de primer orden puro viene dado por la función de transferencia
siguiente: G(s) = K/τs + 1; donde K es la denominada ganancia del proceso (caracteriza la
precisión del sistema) y τ la constante de tiempo del proceso (caracteriza la rapidez de
respuesta).
Responde y justifica la respuesta a las siguientes preguntas, utilizando SIMULINK:
Para los siguientes datos de proceso: V1=4 m3; caudal nominal = 2 m3/min; concentración
nominal= 1 mol/m3
• Calcular la respuesta temporal C1 (t) a una variación escalón de 1 mol/m3 en la
concentración Ce.
• ¿Cuál es el valor de la salida para t = τ, 2τ, 3τ?
• ¿Cuál es el valor de la salida en régimen permanente?
• ¿Cómo variaría la forma de respuesta si el volumen del tanque fuera 2 m3?

DOCENTE: DR. FERNANDO CANO LEGUAFERNANDO EDUARDO CANO LEGUA 20


ESCUELA ACADÉMICA DE INGENIERÍA QUÍMICA - UNICA
CONTROL DE PROCESOS INDUSTRIALES
SOLUCIÓN:
1. Abrir el simulink y crear un nuevo archivo model que se guardará con el nombre de
“tanque”.
2. Construya el siguiente diagrama de bloques:

3. La función de transferencia representa el sistema del tanque; los valores de V1 y Fe se


tendrán que declarar en la ventana de comandos del Matlab antes de correr la simulación.
4. Haciendo doble-click en el bloque Step, se define la amplitud del escalón y el instante en
que se aplica. Por ejemplo, para un escalón de amplitud 1 en t = 0, habrá que introducir los
siguientes parámetros: Step Time: 0; Initial Value: 0; Final Value: 1
5. 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.
6. 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, para el sistema que estamos editando, cuya constante
de tiempo es V1/Fe=2 min., debemos elegir un paso de integración tal que en esos 2 min.
nos calcule el número de puntos en función de la precisión deseada. Con un paso de 0.01
calculará 200, con un paso de integración de 0.1 calculará 20. Por otro lado, se debe elegir
un tiempo final que asegure que el sistema ha llegado al estacionario pero que no sea

DOCENTE: DR. FERNANDO CANO LEGUAFERNANDO EDUARDO CANO LEGUA 21


ESCUELA ACADÉMICA DE INGENIERÍA QUÍMICA - UNICA
CONTROL DE PROCESOS INDUSTRIALES
demasiado largo, porque si lo es, el transitorio prácticamente no se distinguirá. Por tanto,
teniendo en cuenta que un sistema de primer orden en respuesta a un escalón alcanza el
95% de su valor final en un tiempo t = 3τ, tomaremos como tiempo final t=10 min.
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.
Todos estos parámetros se definen en la opción Solver del menú Configuration Parameters
de la ventana que hemos creado. Aparecerá la ventana de parámetros, con
unos valores por defecto, que tendremos que fijar de acuerdo con la simulación que
deseemos realizar.
7. Si ahora seleccionamos la opción Start del menú Simulation, comenzará la simulación y se
detendrá en el instante definido en Stop Time (previamente es necesario dar valores a las
variables V1 y Fe definidas en el modelo en la ventana de comandos Matlab).
8. Si queremos representar gráficamente la entrada Ce y la salida c1 del sistema 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). Nótese que la
gráfica representará la desviación de Ce y C1 respecto a sus valores en el punto de
operación: >> plot (t,Ce,’g’,t,C1,’b’)
9. Para completar el gráfico, se puede dar un título a la gráfica:
>> title (‘CONCENTRACIÓN A LA SALIDA DEL TANQUE’), así como etiquetar los ejes:
>> xlabel (‘tiempo (minutos)’)
>> ylabel (‘Ce(t) verde, C1(t) azul’)
Si se quiere capturar el gráfico para llevarlo a un documento, en la misma ventana del
gráfico, seleccionar: edit  copy figure, y en el documento word: edit; paste
10. 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
que mantendrá las gráficas mientras no se ejecute el comando hold off.
En el sistema de 1er orden anterior variar la constante de tiempo (que es función de V1 y
Fe) manteniendo constante la ganancia, dándole ahora valores doble y mitad:
Simular el nuevo sistema comparando la respuesta con la obtenida anteriormente para τ=2
minutos (dibujarla sobre la misma gráfica).
11. ¿Qué efecto tiene sobre la respuesta del sistema el aumento del volumen V1? ¿y el
aumento del caudal Fe? Realizar varias simulaciones variando τ y viendo que cuanto más
pequeña es, más rápido responde el sistema.

DOCENTE: DR. FERNANDO CANO LEGUAFERNANDO EDUARDO CANO LEGUA 22

También podría gustarte