Está en la página 1de 12

Notas sobre SIMULINK 1

UTN Fac. Reg. La Rioja - Ctedra de Control Aplicado - Ao Acadmico 2006

Notas sobre SIMULINK


Estas notas han sido originalmente escritas para MATLAB Versin 5. Consideramos que no requerir un excesivo
esfuerzo para el lector adaptar los conceptos a la versin que utilice.

SIMULINK es una importantsima herramienta de MATLAB para la simulacin de sistemas


dinmicos. Es un programa grfico, manejado mediante mouse, que permite modelizar un sistema
dibujando en pantalla un diagrama de bloques que son manipulables dinmicamente. Trabaja con
sistemas lineales, nolineales, continuos o discretos. Daremos a continuacin una breve descripcin
de su uso.
En la Ventana de Comandos de MATLAB invocamos simulink o activamos el icono New
SIMULINK Model con lo que aparece la imagen

Comenzamos estudiando la Biblioteca de Bloques de SIMULINK. Accionando Linear obtenemos

Notas sobre SIMULINK 2


UTN Fac. Reg. La Rioja - Ctedra de Control Aplicado - Ao Acadmico 2006

Pasamos ahora a Sources (fuentes de seal = funciones de excitacin) y Sinks (dispositivos de


representacin de seales), de las que slo mostramos las ms importantes para nuestro Curso.
Queda a cargo de los interesados el anlisis de los elementos que no hemos traducido.

Vemos a continuacin los principales elementos no-lineales

De los bloques de "conexin", resultan de nuestro inters el multiplexor y el demultiplexor

Notas sobre SIMULINK 3


UTN Fac. Reg. La Rioja - Ctedra de Control Aplicado - Ao Acadmico 2006

Finalmente los bloques discretos que ms nos interesan, son los siguientes:

Trabajando con Simulink


Para comprender el trabajo con Simulink, es necesario que nos detengamos un minuto a considerar
el funcionamiento de los modelos simblicos. Un modelo simblico representa el modelo
matemtico de un fenmeno mediante componentes elementales, que llamaremos bloques
operacionales. Cada bloque operacional implementa una operacin matemtica (simple o
compleja) y posee variables de entrada, variables de salida y parmetros internos ajustables.
As, en un multiplicador, tendremos dos variables de entrada (x e y) y una variable de salida (z),
cuyo valor es igual al producto de las variables de entrada
x
y

Multiplic

z=x.y

En un integrador habr una variable de entrada (dx/dt), una variable de salida (x=(dx/dt).dt) y por
lo menos un parmetro interno para la condicin inicial (x(0)=xt=0).
x(0)

x'

Integrador

x(t)

De la misma manera podemos concebir bloques operacionales que efecten la multiplicacin por un
coeficiente, la generacin de una funcin del tiempo, la suma algebraica de variables o cualquier
otra funcin matemtica.
La conexin de dos bloques operacionales, indicar -simblicamente- que la variable de salida del
primero ha de considerarse como variable de entrada del segundo y as sucesivamente.

Notas sobre SIMULINK 4


UTN Fac. Reg. La Rioja - Ctedra de Control Aplicado - Ao Acadmico 2006

Captulo aparte merece la consideracin de cmo se realizan los bloques operacionales.


Antiguamente dichos bloques se implementaban mediante circuitos electrnicos que materializaban
fsicamente tales elementos en las computadoras analgicas; en la actualidad los bloques
operacionales se implementan como algoritmos integrados en un entorno grfico-numrico como el
que nos brinda Simulink.
Pasemos ahora a resolver un modelo sencillo, como lo es la ecuacin logstica de un ecosistema de
una sola especie:

x = k (1

x2
)x = k(x
)
x max
x max
x

para

x 0 = 10; k = 0.1 x max = 1000

Observando la ecuacin diferencial constatamos que necesitamos los siguientes bloques


operacionales:
 Un integrador para obtener x a partir de dx/dt
 Un bloque de coeficiente para implementar k
 Otro bloque de coeficiente para 1/xmax
 Un multiplicador de variables para generar x2
 Un sumador para implementar la suma algebraica del parntesis

El razonamiento es el siguiente: si tenemos x'=dx/dt a la entrada de un integrador, a su salida


tendremos x si el integrador proporciona la condicin inicial correcta (10); a x la hacemos pasar a
travs de un bloque de coeficiente que la multiplique por 1/1000, a la salida tendremos x/1000, la
cual multiplicada por x en el bloque producto nos da x2/1000. Restada de x en el bloque sumador y
multiplicando el resultado por k en el siguiente bloque de coeficiente, nos reproduce el valor de x' a
la entrada del integrador.
Para interpretar la secuencia de clculo, debemos tener en cuenta que, para tiempo cero (0), la salida
del integrador es igual al valor proporcionado por la condicin inicial. A partir de este valor se
hacen todos los clculos en los restantes bloques y el tiempo se incrementa en t (paso de
integracin), repitindose la secuencia de clculos para el nuevo valor del tiempo y as
sucesivamente, con lo cual la variable x tomar instante por instante el valor correspondiente a la
solucin de la ecuacin diferencial propuesta.

Notas sobre SIMULINK 5


UTN Fac. Reg. La Rioja - Ctedra de Control Aplicado - Ao Acadmico 2006

Pasemos ahora a operar con Simulink: en la Ventana de Comandos de MATLAB invocamos


simulink. Se abren la biblioteca principal de Simulink y una Ventana de Modelo (que es nuestra
pantalla de trabajo) con el nombre Untitled. Abrimos la biblioteca Linear y arrastramos mediante
el mouse, los bloques Sum, Integrator y Gain a la pantalla de trabajo. De la biblioteca Nonlinear
arrastramos el bloque Product. Como necesitamos dos bloques de coeficientes (Gain), copiamos
mediante Ctrl-C y Ctrl-V el bloque correspondiente, con lo que nos aparece el elemento Gain1.
A esta altura de los acontecimientos, la apariencia de nuestra pantalla de trabajo es la siguiente:

Si ahora modificamos la distribucin de


los bloques, y los orientamos convenientemente mediante la opcin Flip Block o el par de teclas
Ctrl-F llegamos a la situacin

Clickeando con el mouse sobre las salidas de cada bloque y arrastrando la lnea hasta la entrada del
bloque pertinente producimos el conexionado de los elementos operacionales.

Notas sobre SIMULINK 6


UTN Fac. Reg. La Rioja - Ctedra de Control Aplicado - Ao Acadmico 2006

Corresponde ahora que asignemos los signos correctos al boque Sum, los valores pertinentes a Gain
y Gain1 y el valor inicial al bloque Integrator

Para que los valores sean asumidos, en cada caso debemos oprimir el botn Apply antes de hacer
Close.
Como somos sumamente prolijos y, adems, hablamos castellano, haciendo doble clic en cualquier
lugar de la pantalla y -en especial- sobre los nombres de los bloques, podemos introducir leyendas
aclaratorias. Si deseamos hacer desaparecer el nombre de un bloque, utilizamos la opcin Hide
Name del men Format.

Notas sobre SIMULINK 7


UTN Fac. Reg. La Rioja - Ctedra de Control Aplicado - Ao Acadmico 2006

Todo precioso y muy bonito, pero nos hemos olvidado de algo... Necesitamos agregar a nuestro
diagrama un dispositivo para visualizar la variable de nuestro inters, es decir, la evolucin de la
poblacin x. Para ello, desde la biblioteca Sinks arrastramos a la ventana de trabajo el bloque
Scope y lo conectamos a la variable x. Ya que estamos, cambiamos nombre al bloque y lo
llamamos "Visualiza Poblacin".

Para que el programa calcule la simulacin del modelo, debemos elegir Start Simulation en el
men Simulation. Despus de algunas pruebas, descubrimos que el valor Stop Time de Set
Parameters debe ajustarse a 150. Por otra parte, Y-max del visualizador ha de ajustarse a 1000 con
Y-min en 0.

Notas sobre SIMULINK 8


UTN Fac. Reg. La Rioja - Ctedra de Control Aplicado - Ao Acadmico 2006

A fin de disponer de este modelo para ulteriores simulaciones, con diversos valores de k y de xmax
mediante la opcin Save as del men Files lo archivamos en nuestro directorio como
sim_pobl_logistico y Simulink agrega el sufijo .mdl en forma automtica, para indicar que se trata
de un archivo correspondiente a un modelo.

Otro Ejemplo Aplicativo.


Como ejemplo adicional del mtodo general a seguir para resolver un modelo con Simulink, y
utilizar diferentes modos de graficacin para visualizar los resultados, proponemos un sistema
caracterizado por una ecuacin diferencial de segundo orden a coeficientes variables,

x + 2[1 4sen(16t )] x + 4 x = 0


con las condiciones iniciales

x(0) = 0 ; x (0) = 1
para el cual queremos visualizar en pantalla (Scope) simultneamente la variable solucin y su
derivada. Asimismo deseamos obtener una representacin que muestre x(t) en abscisas y su
derivada en ordenadas.
Para realizar el modelo simblico, despejamos la derivada de mayor orden de la ecuacin
diferencial, obteniendo
x = 2[1 4sen(16t )] x 4 x = 0
dibujamos el diagrama simblico en borrador y constatamos que son necesarios para la simulacin
los elementos siguientes:
2 integradores
Linear, Integrator
1 multiplicador
Nonlinear, Product
1 bloque de constante (para generar 1)
Sources, Constant
2 sumadores
Linear, Sum
1 generador de funcin senoidal
Sources, Sine Wave
1 graficador x-y
Sinks, XY Graph
1 pantalla de visualizacin
Sinks, Scope
1 multiplexor para combinar seales
Connections, Mux
En la segunda columna del listado, hemos consignado los nombres de los bloques Simulink, como
as tambin la designacin de las bibliotecas correspondientes.
Orientando convenientemente los bloques e interconectndolos mediante el mouse, obtenemos en la
pantalla de trabajos de Simulink el modelo simblico siguiente, al que hemos agregado leyendas
aclaratorias para facilitar su interpretacin.

Notas sobre SIMULINK 9


UTN Fac. Reg. La Rioja - Ctedra de Control Aplicado - Ao Acadmico 2006

Asignando a cada bloque operacional los parmetros internos correspondientes y luego de algunos
intentos, adoptamos los siguientes valores para la opcin Set Parameters del men Simulation y los
ajustes de los bloques XY-Graph y Scope

Notas sobre SIMULINK 10


UTN Fac. Reg. La Rioja - Ctedra de Control Aplicado - Ao Acadmico 2006

Con lo que obtenemos las representaciones grficas:

Notas sobre SIMULINK 11


UTN Fac. Reg. La Rioja - Ctedra de Control Aplicado - Ao Acadmico 2006

Reconocemos x(t) y x'(t) por las condiciones iniciales de las curvas.


Los valores graficados por el dispositivo Scope pueden almacenarse en una matriz mediante la
opcin Settings de Scope.

Notas sobre SIMULINK 12


UTN Fac. Reg. La Rioja - Ctedra de Control Aplicado - Ao Acadmico 2006

Con los comandos


plot(Datos(:,1),Datos(:,2))
hold on
grid on
plot(Datos(:,1),Datos(:,3),'LineWidth',2)
title('Ecuacin Diferencial de 2o. Orden a Coeficientes Variables')
xlabel('Tiempo (t)')
ylabel('Funciones')
text(0.3,1.2,'dx/dt')
text(1.2,0.3,'x(t)')

se puede generar el grfico:


Ecuacin Diferencial de 2o. O rden a Coeficientes Variables
2

1.5
dx/dt

F unciones

0.5
x(t)
0

-0.5

-1

3
4
T iempo (t)

Y as, cerramos este breve instructivo sobre el empleo de Simulink.

También podría gustarte