Está en la página 1de 12

INTRODUCCION A SIMULINK

Matlab (Matrix Laboratory) es un sistema basado en matrices para realizar cálculos


matemáticos y de ingeniería. Entre las múltiples herramientas que presenta este programa se encuentra
Simulink que es una librería de MATLAB que permite la simulación de procesos mediante diagramas de
bloques.

1. Acceso a la librería de bloques de Simulink:

Para acceder a la librería de Simulink se debe abrir inicialmente la ventana principal de Matlab
(Matlab Command Window). En esta se puede ejecutar el comando “simulink” o hacer clic en
el símbolo correspondiente en la barra de herramientas en la parte superior de esta ventana.

Al hacer esto aparecerá el listado de las librerías correspondientes a simulink, donde se podrá
tener acceso a todos los bloques que brinda esta herramienta. Para abrir una nueva hoja de
trabajo se deberá acceder a través de: File à New à Model, o hacer clic en el símbolo de “hoja
nueva”.

Figura 1. Simulink Library Browser

La librería “Simulink” contiene los bloques necesarios para simular un sistema mediante técnicas
convencionales, las demás librerías son herramientas adicionales que se utilizan para aplicaciones
específicas de control avanzado. En la Figura 2 se muestra el contenido de la librería Simulink.
Figura 2. Librería Simulink.

En la figura 3 se pueden observar los bloques mas utilizados en la simulación de procesos. Estos
se encuentran en hacer clic en el signo (+) de cada librería. Pueden ser utilizados al hacer clic sobre ellos
y arrastrándolos sobre la hoja de trabajo. Igualmente en la tabla 1 se pueden observar una descripción
mas detalladas de algunas de estas funciones.

Figura 3. Bloques mas utilizados en la librería Simulink


Tabla 1. Detalles de algunos bloques de la librería Simulink.

Bloque Función Librería Parámetros requeridos

Constante Asigna un valor constante a la Sources Valor de la constante.


entrada.

Entrada escalón Introduce un escalón de magnitud Sources Tiempo del escalón


específica en un tiempo dado. Valor inicial del escalón,
Valor Final del Escalón

Entrada Rampa Introduce una rampa en un tiempo Sources Tiempo de la rampa,


especificado. pendiente

Entrada Senoidal Introduce una señal senoidal Sources Amplitud de la onda,


específicada por el usuario. Fase.

Workspace Almacena datos de la señal que llega Sinks Nombre y tipo de la


al bloque y la convierte en vector. Si variable (Save format:
se conecta al reloj se almacena el Matrix)
vector tiempo.
Entradas
Scope Grafica la señal que se introduzca Sinks
con respecto al tiempo.
Sinks
XYgraph Grafica la entrada superior en el eje Rango de los ejes
x y la inferior en el eje y

Función de Representa la función de Contin. Numerador y


Transferencia transferencia a lazo abierto. Denominador de la FT

Integrador Integra una señal en función del Contin. Valor inicial desde el
tiempo cual se va a integrar

Retardo de transporte Introduce un retardo en el tiempo en Contin. Valor del retardo (Debe
el cual aparece la señal. ser un número positivo)

Ganancia Multiplica la señal por cualquier Math Valor de la ganancia


valor de ganancia que se introduzca.

Sumador Suma dos señales. Math Número de entradas a


sumar

Multiplicador Multiplica dos señales. Math Número de entradas a


multiplicar

Matlab-Function Aplica cualquier función matemática Functions and Función a utilizar


conocida por Matlab a la señal. Tables

PID Es un controlador donde se puede Blocksets & Proporcional: K, Integral:


introducir una parte proporcional, Toolbox.: K/Ti, Derivativo: K.Td
una integral y una derivativa
Simulink-extras:
Aditional linear

Mux Permite representar dos señales Signals &System. Número de entradas


distintas en una misma gráfica.
Obs. Colocando el nombre del bloque de interés en el buscador (Simulink library browser), se puede
ubicar directamente en la librería de bloques.

Notas sobre el uso de Matlab.

- Los bloques pueden ser movidos al arrastrase con el botón izquierdo del mouse y pueden ser
copiados al hacer clic sobre ellos con el botón izquierdo del mouse y arrastrando la copia creada.

- Los bloques se deben unir mediante flechas. Esto se logra haciendo clic en la flecha de salida
del bloque deseado y conectándola (sin soltar el botón), a la flecha del bloque que se desea unir.

- Para que las modificaciones en el programa hagan efecto este deberá ser grabado después de
realizar los cambios.

- Al hacer clic con el botón derecho sobre una señal, se podrá obtener una “línea” de esta señal
para llevarla o conectarla a un bloque deseado.

- Al barrer el mouse sobre un grupo de bloques se podrán mover estos a la vez y copiarlos en
grupo.

- El “save format” de los “workspace” debe ser colocado en “array” para poder “graficar” las
variables deseadas posteriormente.

2. Ejemplos de Uso de Simulink

Modelos Matemáticos no Linealizados.

a) Simular la siguiente ecuación diferencial y encontrar su respuesta ante una entrada escalón.

d ( x)  − 60 
+ 5 exp  * X (t ) = 1 Donde, X0 = 0 en T=500
dt  T 

Solución:

- Seleccionar los bloques necesarios para representar el modelo y llevarlos a la hoja de


trabajo. Para ello debe buscar los bloques en las librerías correspondientes (Ver tabla 1 y
figuras 2 y 3), seleccionar cada uno haciendo "click" sobre él para marcarlo y arrastrarlo con
el "mouse" hasta la ventana.

Figura 4. Bloques necesarios para la representación de la ecuación.


- Armar el modelo. Las ecuaciones diferenciales pueden representarse en bloques de
"Simulink" como función del tiempo sin linealizarlas ni llevarlas al dominio de Laplace. En
primer lugar, se debe despejar la derivada temporal para expresarla en función de los demás
términos de la ecuación:

d ( x)  − 60 
= 1 − 5 exp  * X (t ) (1)
dt  T 
Luego, se debe establecer qué valores en la ecuación son constantes y cuáles son función del
tiempo, en este caso, la conversión X depende del tiempo, pero la temperatura T es constante.

El primer término del lado derecho de la ecuación (1) se puede representar como un escalón
unitario o como una entrada constante.

En el segundo término [5exp(-60/T).X(t)], la temperatura se representa, igualmente, como una


entrada escalón o como una entrada constante, luego se invierte con un bloque Matlab Function, donde se
especifica la función 1/u, se multiplica por una ganancia de –60 con un bloque Gain, y se introduce
nuevamente en una Matlab Función para obtener la exponencial, que va a ser multiplicada por 5 con otro
bloque Gain, como se muestra en la figura 5.

La variable X(t) no se conoce porque es el resultado de integrar el lado derecho de la ecuación,


esta variable debe multiplicarse con la exponencial con un bloque producto para formar el segundo
término de la ecuación diferencial, luego ambos términos se combinan con un bloque Sum para obtener la
ecuación (dX(t)/dt) completa que pasa por un integrador para obtener la variable X(t), que se realimenta
al bloque producto.

Se debe colocar igualmente un bloque de reloj para que el simulador contabilice el tiempo.
Todas las señales que se deseen guardar o ser posteriormente llamadas para graficar, deben ser
alimentadas a un bloque workspace (Save format : Array)

Figura 5. Diagrama de bloques de la simulación de la ecuación diferencial.

Haciendo clic en cada bloque se pueden cambiar sus parámetros y sus nombres. En este caso se
colocan los siguientes:

Matlab Function
Entrada Escalón (T) Integrador Matlab Function (1/T)
Exp(E/KT)

Step Time = 0
Valor Inicial = 500 Inicial Value = 0 Fuction = 1/u Fuction = exp
Valor Final = 500
De esta forma tenemos:

Figura 6. Diagrama de Bloques con sus parámetros.


- A continuación se abre el menú Simulation à Simulation Parameters y se modifica el
tiempo de parada. En este caso se pondrá 8 seg. Posteriormente se simula la ecuación
diferencial apretando el botón o símbolo de “play” en la parte superior de la pantalla y se
espera a que la maquina realice el calculo (indicado en la parte inferior derecha de la
ventana)

- Después de realizar la simulación se regresa a la ventana principal de Matlab y se grafican


los resultados colocando el comando: plot(T,X) y se obtiene:

Figura 7. Simulación de la respuesta de la ecuación diferencial.

Para observar la respuesta del sistema ante una perturbación se coloca:

Entrada Escalón (T)

Step Time = 4
Valor Inicial = 500
Valor Final = 1000

Para que el simulador acepte el cambio, el archivo debe ser guardado (no debe aparecer un
“asterisco” al lado del nombre del programa en la parte superior de la ventana). Después de simular
y graficar, se obtiene:
Figura 8. Respuesta del sistema de la ecuación diferencial ante entrada escalón.

Se observa la perturbación del sistema en el tiempo = 4 seg.

Ecuaciones Diferenciales Acopladas

b) Simular el siguiente sistema de ecuaciones diferenciales.

dT
= A(T − To1) * Fo − B(T − Ta) A = 0.08 B = 0.05
dt

dTa
= C (Ta − To 2) * Fp + D(Ta − T ) C = 0.5 D = 0.01
dt

Donde Fo, To1 y To son posibles perturbaciones cuyos valores son:

Fo = 0.01 m3/min, To1 = 280K, To2 = 350K

Solución:

- Los Bloques seleccionados son:

Figura 9. Bloques usados para la representación del sistema.


- Armar el modelo. Las ecuaciones diferenciales se "escriben en bloques de Simulink" como
función del tiempo sin realizar ninguna modificación de las mismas para linealizarlas o
llevarlas al dominio de Laplace.

Figura 10. Diagrama de bloques del proceso con sus parámetros.

Los parámetros iniciales de los bloques y simulación serán:

Entrada Escalón Entrada Escalón Integrador Stop


Entrada Escalón (Fo) Integrador (T)
(T01) (T02) (Ta) Time

Step Time = 0 Step Time = 0 Step Time = 0


Initial Value = Initial Value =
Valor Inicial = 280 Valor Inicial = 350 Valor Inicial = 0.01 200
280 350
Valor Final = 280 Valor Final = 350 Valor Final = 0.01

- Después de Simular y Graficar usando: Plot(t,[T,Ta]) se obtiene,

Figura 11. Simulación del sistema de ecuaciones diferenciales


Funciones de transferencia a lazo abierto y lazo cerrado

c) Dada la siguiente función de trasferencia obtenga la respuesta del sistema a lazo abierto ante
una entrada escalón.

1
FT =
s + 4s + 2
2

Solución:

- Los Bloques seleccionados son:

Figura 12. Bloques usados para la representación del sistema.

- Armar el modelo.

Figura 13. Diagrama de bloques del proceso con sus parámetros.

Los parámetros iniciales de los bloques y simulación serán:

Función de Parámetros
Entrada Escalón
Trasferencia Simulación

Step Time = 0
Numerador = [1]
Valor Inicial = 0 Stop Time = 20
Denominador = [1 4 2]
Valor Final = 1
- Después de Simular y Graficar usando: Plot(T,X) se obtiene,

Figura 14. Respuesta temporal de la función de transferencia.

d) Compare la respuesta a lazo cerrado obtenida para la función de transferencia del ejemplo
anterior con la respuesta obtenida al aumentar 5 veces la ganancia y con la respuesta obtenida al
usar un controlador de función de transferencia:

 1
Gc1 = K 1 +  Donde, K = 1 y Ti = 0.5
 Ti 

Solución:

- Los Bloques seleccionados son:

Figura 15. Bloques usados para la representación del sistema.


- Armar el modelo.

Figura 16. Diagrama de bloques del proceso con sus parámetros.

Los parámetros de los bloques son:

Entrada Escalón Ganancia Mux PID Stop Time

Step Time = 0 Proporcional = 1


Number of inputs
Valor Inicial = 0 Gain = 5 Integral = 1/0.5 20
=3
Valor Final = 1 Derivative = 0

- Después de Simular y Graficar usando: Plot(T,s) se obtiene,

Figura 17. Respuesta temporal de la función de transferencia.