Simulink Manual PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 33

Manual Bsico de Simulink

Antologa

Departamento de Ingeniera Elctrica

Manual de Simulink

Antologa

M.C. Juan Carlos Silva Chvez Octubre 2006

ITM

1/33

Manual Bsico de Simulink

Antologa

Qu es Simulink? SIMULINK es un paquete de Software que se ejecuta acompaando a MATLAB para modelar, simular y analizar sistemas dinmicos. Funciona sobre MATLAB, es decir, para iniciar SIMULINK es necesario entrar antes en MATLAB. Ambos programas estn desarrollados y comercializados por The MathWorks, Inc. SIMULINK es soportado en sistemas Windows, Unix o Macintosh Simulink puede simular cualquier sistema que pueda ser definido por ecuaciones diferenciales continuas y ecuaciones diferenciales discretas. Esto significa que se puede modelar sistemas continuos en el tiempo, discretos en el tiempo o sistemas hbridos SIMULINK puede trabajar con: - Sistemas lineales y no lineales - Sistemas en tiempo continuo, muestreados o un hbrido de los dos. - Sistemas multifrecuencia Simulink tiene dos fases de uso: la definicin del modelo y el anlisis del modelo. La definicin del modelo significa construir el modelo a partir de elementos bsicos construidos previamente, tal como, integradores, bloques de ganancia, etc... El anlisis del modelo significa realizar la simulacin, linealizacin y determinar el punto de equilibrio de un modelo previamente definido. Posee una interfaz de usuario grfica (GUI), con diagramas de bloques para construir los modelos utilizando operaciones con el ratn del tipo pulsar y arrastrar. De esta forma, podemos dibujar los modelos de la misma forma que lo haramos con lpiz y papel. Esto supone un cambio radical respecto a los anteriores paquetes de simulacin. Una vez construidos los diagramas de bloques, podemos ejecutar simulaciones y analizar los resultados, tambin de forma grfica. En SIMULINK podemos encontrar una amplia biblioteca de bloques de sumideros, fuentes, componentes lineales y no lineales y conectores. Tambin podemos personalizar y crear nuestros propios bloques. Los modelos son jerrquicos, de forma que podemos ver un sistema desde un nivel superior y entrando en los bloques podemos ir descendiendo a travs de los niveles para ver con ms detalle el modelo. Las libreras principales de SIMULINK son Sources (fuentes): Sirven para generar todo tipo de seales. Sinks (sumideros): Se usan como salida o para visualizar la seal. Discrete: elementos de sistemas lineales y en tiempo discreto (funciones de transferencia, diagramas de espacio-estado...)

ITM

2/33

Manual Bsico de Simulink

Antologa

Linear: elementos y conexiones para sistemas lineales y en tiempo contnuo (sumadores, multiplicadores...) Nonlinear: operadores no lineales (funciones arbitrarias, saturacin, retrasos...) Connections: Multiplexores, Demultiplexores, etc... Adems, existen una gran cantidad de Demos y de funciones complementarias. Despus de definir un modelo, se puede simular utilizando cualquiera de los mtodos de integracin disponibles, desde el men de rdenes de SIMULINK o introduciendo rdenes directamente desde la lnea de comando de MATLAB. Con los bloques de visualizacin podemos ver los resultados de la simulacin mientras se est ejecutando. Adems, los resultados de la simulacin se pueden transferir al espacio de trabajo de MATLAB para su posterior tratamiento. Tambin podemos usar las utilidades de los TOOLBOXES de aplicacin de MATLAB. Para iniciar SIMULINK podemos simplemente teclear >>simulink en la lnea de comandos de MATLAB, o tambin podemos acceder a travs del icono de acceso directo situado en la barra de herramientas:

Una vez hemos accedido a SIMULINK desde MATLAB nos encontramos dos ventanas. Una es una ventana en blanco, con la barra de mens de SIMULINK, donde crearemos nuestros modelos, y otra ventana con la librera principal de bloques: Ejecucin de un modelo de demostracin Antes de construir un modelo vamos a ver como funcionara la simulacin de un modelo ya existente, para poder comprender mejor el funcionamiento de SIMULINK.

ITM

3/33

Manual Bsico de Simulink

Antologa

En la librera principal de SIMULINK hacemos doble click en el bloque Demos.

Nos aparece el men de Demos, en el que elegimos el modelo termodinmico de una casa:

Esta demo muestra la termodinmica de una casa cuyo termostato se ha fijado a 70 grados Farenhait, y est afectada por la temperatura del exterior, que vara cuando le aplicamos una onda sinusoidal con una temperatura de 15 sobre una temperatura base de 50.

ITM

4/33

Manual Bsico de Simulink

Antologa

Podemos abrir cada subsistema para ver lo que contiene en su interior haciendo doble click en el bloque de subsistema. El subsistema House actualiza la temperatura interna, teniendo en cuenta las temperaturas interna y externa.

El subsistema Thermostat modela la operacin de un termostato, determinando cuando se conecta y desconecta el sistema de calentamiento.

ITM

5/33

Manual Bsico de Simulink

Antologa

Para iniciar la simulacin elegimos Start en el men Simulation.

Si abrimos los dos bloques Scope podemos observar las dos grficas de salida: Cuando se est suministrando calor se calculan y visualizan los costes del calentamiento en el bloque Scope Heat Cost ($). La temperatura interna se visualiza en el bloque Scope Indoor Temp.

ITM

6/33

Manual Bsico de Simulink

Antologa

Para parar la simulacin vamos al men Simulacin y escogemos la orden Stop. Al realizar la simulacin de esta Demos, podemos abrir cada bloque y ver lo que contiene en su interior, bien sea un subsistema o simplemente los parmetros que definen el bloque. Tambin vemos como los bloques Scope visualizan seales igual que lo hara un osciloscopio.

Creacin de un modelo

Para iniciar SIMULINK podemos simplemente teclear >>simulink en la lnea de comandos de MATLAB, o tambin podemos acceder a travs del icono de acceso directo situado en la barra de herramientas:

ITM

7/33

Manual Bsico de Simulink

Antologa

Una vez hemos accedido a SIMULINK desde MATLAB nos encontramos dos ventanas. Una es una ventana en blanco, con la barra de mens de SIMULINK, donde crearemos nuestros modelos, y otra ventana con la librera principal de bloques: Insercin de bloques Un modelo en SIMULINK es una coleccin de bloques interconectados que representan un sistema. Los bloques sirven para generar, modificar, combinar y visualizar seales. Las lneas sirven para transmitir las seales entre los bloques en la direccin de la flecha. El modelo que vamos a construir es el siguiente:

Se trata un sistema en que un bloque proporciona una onda senoidal, que es integrada. El bloque multiplexor forma una seal vectorizada (uniendo las dos seales) que visualizaremos en el bloque Scope. Para construir el modelo, comenzaremos por situar los bloques que lo forman. Los bloques del sistema los encontramos en la siguientes libreras: Bloque Sine Wave (Onda senoidal) Integrador Librera Sources Linear

ITM

8/33

Manual Bsico de Simulink

Antologa

Mux (Multiplexor) Scope (Osciloscopio)

Connections Sinks

En la librera principal elegimos el bloque Sources, donde encontramos las seales que podemos elegir como fuentes en nuestro modelo.

Dentro de Sources elegimos una onda senoidal:

ITM

9/33

Manual Bsico de Simulink

Antologa

Para situar el bloque en el documento nuevo simplemente pinchamos con el ratn y lo arrastramos. Al soltarlo queda perfectamente situado, y la librera de fuentes queda abierta, as que podemos dejarla minimizada o simplemente cerrarla. Para poder ver al mismo tiempo las libreras de bloques y el modelo que estamos construyendo podemos ajustar el tamao de las ventanas de forma que queden bien distribuidas en la pantalla y nos facilite el trabajo. Una vez que hayamos situado todos los bloques del sistema, el aspecto de la pantalla ser el siguiente:

En general, las entradas de un bloque se encuentran en el lado izquierdo, con un smbolo > apuntando al bloque. De la misma forma, las salidas se encuentran normalmente en el lado derecho, con el smbolo > apuntando hacia fuera del bloque. Si queremos invertir ese orden, existen varias formas de rotar el bloque (podemos hacerlo de 90 en 90 grados en sentido contrario a las agujas del reloj en el men Format Rotate Block. Tambin podemos girar 180 grados de una vez con la opcin Format Flip Block). Podemos observar que el bloque multiplexor posee tres entradas, de las cuales slo utilizaremos dos. Para modificar el nmero de entradas situamos el ratn sobre el bloque y hacemos doble click. Nos aparecer el cuadro de dilogo siguiente:

Solo tenemos que cambiar el nmero de entradas de 3 a 2, y aplicar los cambios. Este es el mtodo que usaremos para cambiar los parmetros de cualquier bloque. Adems del multiplexor, debemos definir los valores del bloque onda senoidal. Si hacemos doble click con el ratn en el bloque Sin Wave, nos aparece el siguiente cuadro de dilogo:

ITM

10/33

Manual Bsico de Simulink

Antologa

Vemos que los parmetros que hay que definir son la amplitud, la frecuencia, la fase y el tiempo de muestreo. El valor de la amplitud de la onda lo fijamos a 1, al igual que su frecuencia. A la fase y al tiempo de muestreo le damos un valor de cero. Aplicamos los cambios y cerramos el cuadro de dilogo. Para los dems bloques del modelo, no es necesario definir ningn parmetro. Conexiones entre bloques Ahora que ya tenemos los bloques situamos ha llegado el momento de conectarlos. Vamos a empezar conectando la salida del bloque de Onda Senoidal a la primera entrada del multiplexor. Si situamos el cursor encima de la salida de la onda senoidal podemos observar que el cursor del ratn pasa de ser la tpica flecha a convertirse en una cruz. As es como SIMULINK indica que vamos a realizar una conexin.

Cuando nos aparezca este smbolo presionamos el botn izquierdo del ratn y lo arrastramos hasta el puerto de entrada del multiplexor. Veremos como va apareciendo la lnea de conexin, y cuando nos situemos sobre el smbolo de entrada el puntero volver a cambiar de aspecto, y ahora aparecer como una cruz doble, para indicar que podemos terminar la conexin. Si soltamos el botn del ratn observamos que el extremo de la conexin que acabamos de realizar cambia para convertirse en una flecha.

ITM

11/33

Manual Bsico de Simulink

Antologa

Si soltamos la conexin antes del llegar al bloque de destino, la lnea se quedar flotando sin llegar a ningn sitio, aunque podemos volver a presionar sobre ella y alargarla hasta donde queramos. Podemos ir orientando las lneas en la direccin que queramos si mantenemos pulsada la tecla SHIFT al mismo tiempo que hacemos la conexin. Haremos lo mismo para conectar el bloque multiplexor al bloque Scope.

Podemos hacer lneas que partan de otras lneas y lleven su misma informacin, pero no podemos insertar el contenido una lnea en otra lnea. Para hacer que una lnea parta de otra lnea lo hacemos de la misma forma que si una lnea parte de un bloque, pero mientras picamos con el ratn en la lnea debemos tener presionada la tecla CTRL. Si nos olvidamos de presionarla, lo que haremos ser mover la lnea y arrastrarla.

Para completar las conexiones, unimos la salida del integrador a la entrada libre del multiplexor.

Seales Vectoriales Antes hemos hecho referencia a que la conexin entre el multiplexor y el bloque Scope era una seal vectorial. Una seal vectorial es la unin de varias seales. La lnea de conexin entre el multiplexor y el osciloscopio tiene que llevar las dos seales al mismo tiempo: la onda senoidal de la que partimos, y la integracin de esa esta. Del multiplexor slo parte una lnea, pero en el osciloscopio vemos representadas las dos. La mayora de los bloques de SIMULINK aceptan por igual las seales escalares y vectoriales. La representacin de las lneas de conexin escalares y vectoriales es idntica. Para saber si una seal es escalar o vectorial vamos al men y marcamos la opcin de "mostrar lneas vectoriales":

ITM

12/33

Manual Bsico de Simulink

Antologa

Vemos como el sistema nos muestra las lneas vectoriales con un trazo ms ancho.

Creacin de un modelo con SIMULINK Aadir Etiquetas al sistema

Se pueden escribir anotaciones en cualquier parte del diagrama de bloques. Para escribir una anotacin slo hay que hacer doble click con el ratn en el lugar donde queramos que aparezca. Aparecer un pequeo rectngulo y el cursor se transformar en una barra vertical. Podemos escribir varias lneas presionando la tecla ENTER. Cada lnea que escribamos es automticamente centrada en el rectngulo de escritura. Para terminar la anotacin, picamos con el ratn el cualquier otra parte de la ventana Podemos, por ejemplo, ponerle un ttulo a nuestro diagrama de bloques:

ITM

13/33

Manual Bsico de Simulink

Antologa

Las etiquetas podemos moverlas a cualquier parte del dibujo arrastrndolas con el ratn. Para cambiar el tipo y tamao de la letra, seleccionamos la anotacin y en el men "Format - Font" hacemos los cambio necesarios. Etiquetas de lnea Podemos aadir etiquetas a las lneas del diagrama para hacerlo ms comprensible. Para ello hacemos doble click sobre la lnea que queramos e insertamos el comentario.

Otras operaciones con bloques y lneas Existen otras operaciones a realizar con los bloques y lneas de Simulink, que no hemos usado en este primer ejemplo debido a su sencillez. Algunas de estas operaciones son: 1.- Manipulacin de bloques: Seleccin de objetos: Cuando seleccionamos un objeto, aparecen unos pequeos crculos negros en las esquinas (si se trata de un bloque), o en sus extremos (si hablamos de una lnea). Para seleccionar otro objeto basta con pulsar sobre l con el ratn, y cualquier objeto que estuviera seleccionado anteriormente dejar de estarlo. Si queremos seleccionar ms de un objeto podemos hacerlo de dos formas. Una es haciendo una ventana con el ratn que comprenda todos los objetos que queremos seleccionar. La otra es ir seleccionndolos de uno en uno mientras mantenemos pulsada la tecla SHIFT. Si queremos seleccionar todos los elementos de la ventana activa podemos hacerlo desde el men Edit con la opcin: Edit - Select All.

ITM

14/33

Manual Bsico de Simulink

Antologa

Copiar y mover bloques de una ventana a otra: Para copiar y mover bloques de una ventana a otra se hace de la misma forma que si los cogemos de las libreras. Para mover objetos, seleccionamos y arrastramos con el ratn. Para copiarlos, cortalos pegarlos o borrarlos, los seleccionamos y operamos desde el men Edit. Adems, siempre podemos utilizar las teclas de de acceso rpido (CTRL+C=copiar, CTRL+V=pegar, CTRL+X=Cortar, Delete=Borrar...). Podemos duplicar objetos pulsando y arrastrando con el botn derecho del ratn. Especificacin de los parmetros del bloque: Para ver o modificar los parmetros de cada bloque, hacemos doble click con el ratn sobre el bloque y nos aparece un cuadro de dilogo. Este cuadro ser distinto segn cual sea el tipo de bloque que estemos tratando. Anteriormente hemos visto un ejemplo con el bloque Multiplexor y el bloque Onda Senoidal. Desconectar bloques: Para desconectar un bloque del modelo sin suprimirlo, mantenemos pulsada la tecla SHIFT y seleccionamos y arrastramos el bloque desde su posicin original en el modelo. Esta tcnica es til, por ejemplo, para desconectar bloques Scope y convertirlos en bloques Scope flotantes. Cambiar la orientacin de los bloques: Los bloques se pueden rotar para cambiar el sentido en el que las seales fluyen a travs de l. Podemos hacerlo de 90 en 90 grados en sentido contrario a las agujas del reloj en el men Format Rotate Block. Tambin podemos girar 180 grados de una vez con la opcin Format Flip Block. Redimensionar los bloques: Podemos cambiar el tamao de los bloques seleccionndolos y arrastrando de las esquinas. Tambin podemos resaltar bloques aadindoles sombras con la opcin del men: Format Show Drop Shadow. Manipulacin de los nombres de los bloques: Los nombres de bloques en SIMULINK deben ser nicos y contener al menos un carcter. Si picamos con el ratn en el nombre del bloque podemos editarlo, y si lo arrastramos podemos cambiarlo de posicin. Para ocultar el nombre de un bloque vamos al men Format Hide name, y para situarlo en la posicin opuesta a la que est (si est arriba ponerlo abajo, o cambiarlo de izquierda a derecha) lo hacemos desde el men Format Flip name. 2.- Manipulacin de lneas: Mover segmetos de lnea: Para mover un segmento de lnea pulsamos con el ratn el segmento y lo arrastramos hasta la nueva posicin. No se pueden mover los segmentos de lneas que estn en contacto directo con los puertos de entrada y salida de los bloques. Dividir una lnea en segmentos: Podemos dividir una lnea en dos segmentos dejando fijos los extremos en sus posiciones originales. Para ello seleccionamos la lnea y picamos con el ratn, al mismo tiempo que mantenemos pulsada la tecla SHIFT (tambin podemos hacerlo pulsando al mismo tiempo los dos botones del ratn). Mover vrtices: Podemos mover los vrtices de lnea en cualquier direccin pulsando y arrastrando con el ratn, excepto los vrtices que estn en los extremos de lnea.

ITM

15/33

Manual Bsico de Simulink

Antologa

3.- Crear subsitemas: La creacin de subsistemas puede simplificar bastante nuestro diagrama de bloques, ya que consiste en agrupar varios bloques como si fueran uno solo. Para acceder a los elementos que forman el subsistema basta con hacer doble click con el ratn sobre el bloque subsistema. Existen dos formas de crear subsistemas: una es seleccionando los bloques que queremos que lo formen y eligiendo en el men Edit - Create Subsystem. Otra es escogiendo directamente de la librera Connections el bloque Subsystem. 4.- Redibujar el modelo Si cuando estemos haciendo un modelo nos encontramos con que las lneas o los bloques no se actualizan lo suficientemente rpido, tenemos la opcin "update diagram" en el men de edicin. tambin podemos hacerlo con las teclas CTRL+D:

Visualizar seales Simulink dispone de varios bloques distintos para la visualizacin de seales. Entre ellos estn el bloque Scope, el bloque XYGraph y el bloque Display. Nosotros utilizaremos para este ejemplo el bloque Scope:

ITM

16/33

Manual Bsico de Simulink

Antologa

En nuestro ejemplo, las seales de salida que obtendremos son las siguientes:

En color rosa podemos ver la seal que genera el bloque integrador, mientras que en color amarillo vemos la onda senoidal de la que partiamos. Con el botn podemos ajustar la escala del visualizador de forma automtica.

Adems, mediante el botn podemos acercar o alejar la escala de la grfica segn pulsemos con el botn derecho del ratn (acercar), o con el izquierdo (alejar).

ITM

17/33

Manual Bsico de Simulink

Antologa

Con los botones y actuaremos igual, pero se modificarn las escalas del eje X (primer botn) o del eje Y (segundo botn). Con el botn accedemos a un men en el que podemos cambiar la escala de los ejes de forma exacta, dando un valor para Ymax, Ymin y X:

Finalmente, con el botn que acabamos de ver.

transmitimos el valor de la escala actual, al cuadro de dilogo Guardar un modelo

Para guardar un modelo vamos al men File - Save , si el modelo ya tiene un nombre asignado, o File - Save As..., cuando es la primera vez que vamos a guardarlo. El modelo se guardar con extensin .mdl . Imprimir un modelo Podemos imprimir un diagrama de bloques seleccionando en el men File - Print o introduciendo la orden print en la lnea de rdenes de MATLAB. Si elegimos File - Print, se imprime el diagrama de bloques del sistema. Entre las opciones de impresin podemos elegir imprimir slo el sistema o subsistema actual, imprimir el actual y de nivel superior, el nivel inferior... No se imprime ninguno de los bloques Scope que est abierto. La orden Print de MATLAB puede dirigir su salida a la impresora o a un archivo PostScript o PostScript encapsulado (eps). Tampoco se imprime ningn bloque Scope abierto. No se puede controlar el tamao del sistema cuando el modelo a imprimir se enva directamente a la impresora. Si el diagrama es mayor que el tamao de pgina, SIMULINK lo reduce para que quepa en la pgina. Para controlar el tamao del modelo que queremos
ITM 18/33

Manual Bsico de Simulink

Antologa

imprimir, tenemos que hacerlo a travs de un archivo eps, o capturando pantallas en forma de bitmaps y manipulando posteriormente su tamao mediante un programa de procesamiento de imgenes.

Parmetros de simulacin

Podemos simular un sistema de dos formas: mediante el men de Simulink, o introduciendo rdenes desde la lnea de comandos de MATLAB. Si lo hacemos de una u otra forma, encontramos las siguientes diferencias: Desde Matlab: - Se pueden modificar las condiciones iniciales de los bloques - Se genera automticamente una grfica de las salidas o de las trayectorias de estado, si no indicamos lo contrario. - Se pueden especificar entradas externas (utilizando el parmetro ut). - Se puede ejecutar una simulacin desde un fichero-M, permitiendo que los parmetros en los bloques se cambien iterativamente.

ITM

19/33

Manual Bsico de Simulink

Antologa

- La simulacin se ejecuta ms rpido Desde Simulink: - Mientras se ejecuta la simulacin, se pueden cambiar los parmetros de un bloque o cualquier parmetro de simulacin, mtodo de simulacin, podemos ver la seal que transporta cada lnea, etc... Simulacin de un modelo desde SIMULINK Si escogemos en el men de Simulation - Parameters nos aparece el siguiente cuadro de dilogo:

Dentro de este cuadro nos encontramos varias pestaas. La primera pestaa Solver se ocupa de todo lo que se refiere al mtodo de resolucin. La segunda Workspace I / O se refiere a las entradas y salidas del espacio de trabajo. La tercera Diagnostics nos permite seleccionar el nivel de los mensajes de advertencia mostrados durante la simulacin. Ahora vamos a ver ms detenidamente que opciones tiene cada una de esas pestaas: Solver: Workspace I / O: Diagnostic Page:

Parmetros de simulacin

ITM

20/33

Manual Bsico de Simulink

Antologa

Simulacin de un modelo desde la lnea de comandos de MATLAB Introduciendo comandos en la lnea de rdenes de la ventana de MATLAB, o desde un archivo-M, podemos ejecutar simulaciones con las que en ese momento no estemos trabajando. Los comandos que usaremos para ello son el comando sim, el comando set param y el comando 'get param'. El formato general de la orden que comienza la simulacin es: >>[t,x,y]=comando(modelo,tfinal, x0,options,ut)

Comando SIM: Realiza la simulacin de un sistema. La sintaxis completa del comando simes: >>[t,x,y]=sim(modelo,timespan, x0,options,ut) donde: t x y modelo timespan options ut

devuelve el vector tiempo devuelve la matriz de estados (primero los continuos y luego los discretos) devuelve la matriz de salida nombre del modelo, archivo-M o funcin-S tiempos inicial y final de la simulacin parmetros opcionales entradas externas opcionales, expresados como una cadena o como una matriz de valores

El nico parmetro imprescindible es el nombre del modelo. Los parmetros que no proporcionemos en el comando se obtendrn del cuadro de dilogo Simulation - Parameters.

Comando SET_PARAM: Podemos usar este comando para iniciar, parar, pausar o continuar una simulacin, o actualizar un diagrama de bloques.

>>set_param(nombre,parmetro1,valor1,...parmetroN,val orN)

ITM

21/33

Manual Bsico de Simulink

Antologa

Comando GET_PARAM: Con el comando Get_param podemos comprobar el estado de una simulacin: >>get_param(nombre,SimulationStatus) Simulink devuelve el estado de la simulacin, que puede ser parado, inicializado, funcionando, pausada, terminada.. Solver

La pestaa Solver nos permite modificar los siguientes parmetros: tiempo de simulacin, mtodo de integracin, tamao de pasos mximo y mnimo, mrgenes de error (tolerancia relativa y absoluta), y opciones de salida: Tiempo de simulacin: Los parmetros Start time y Stop time especifican los valores de tiempo en los que la simulacin comienza y termina. Por defecto, el tiempo inicial es de 0 sg y el tiempo final de 10 sg, El tiempo de simulacin no es tiempo real, es decir, el verdadero tiempo empleado en una simulacin no es la diferencia entre el tiempo de inicio y de finalizacin, sino que depender de la complejidad del modelo, de los tamaos de paso mnimo y mximo, y del ordenador con el que realicemos la simulacin. Mtodo de integracin (Solver Options): Es el mtodo matemtico que utiliza SIMULINK para realizar la simulacin de modelos. Se hace a travs de modificaciones de ecuaciones diferenciales ordinarias (ODEs). Debido al
ITM 22/33

Manual Bsico de Simulink

Antologa

comportamiento de los distintos sistemas dinmicos, algunos mtodos pueden ser ms eficientes que otros, segn el sistema de que se trate. Podemos elegir entre mtodos de paso variable (Variable-step) o de paso fijo (Fixed-step). Los mtodos de paso variable permiten modificar el tamao del paso durante la simulacin, mientras que los de paso fijo mantienen el mismo paso durante toda la simulacin. Entre los mtodos de paso variable podemos elegir los siguientes mtodos de resolucin: ode45: Es un mtodo de un solo paso, es decir, para averiguar un punto slo se basa en el calculado anteriormente. En general, es el mtodo ms apropiado para solucionar la mayora de los problemas. Est basado en una frmula explcita de Runge-Kutta (4,5). ode23: Puede ser ms eficiente que el mtodo ode45 para altas tolerancias, o en presencia de sistemas stiff suaves (Los sistemas stiff son aquellos en que coexisten dinmicas lentas y rpidas, y stas ltimas alcanzan su estado estacionario. Un mtodo apropiado para un sistema stiff es capaz de tomar grandes pasos de integracin e ignorar las partes del sistema cuya respuesta ha alcanzado ya el estado estacionario). Est basado en la frmula explcita de Runge-Kutta (2,3). ode113: Puede ser ms eficaz que el mtodo ode45 para tolerancias ajustadas. Es un mtodo multipaso, es decir, necesita la conocer de varios puntos anteriores para calcular la solucin. Este es el mtodo variable de Adams-Bachforth-Moulton. ode15s: Como los mtodos ode45 y ode113, es un mtodo de varios pasos. Se puede usar cuando nos encontramos con un sistema stiff, o cuando el mtodo ode45 no es lo suficientemente eficaz. Es un mtodo de orden variable basado en las frmulas de diferenciacin numrica (NDFs). ode23s: Es un mtodo de un solo paso, por lo que puede ser ms eficaz que el mtodo ode15s para altas tolerancias. Puede resolver varias clases de sistemas stiff ms eficazmente que el mtodo ode15s. Est basado en la frmula modificada de Rosenbrock de orden 2. discrete: Es el mtodo que usa SIMULINK cuando detecta que el modelo no tiene estados continuos. Los mtodos de paso fijo que podemos usar son: ode5: Es la versin de paso fijo del mtodo ode45 (frmula de Dormand-Prince). ode4: Es la frmula de Runge-Kutta de orden 4. ode3: Es la versin de paso fijo del mtodo ode23 (frmula de Bogacki-Shampine). ode2: Es el mtodo de Heun, tambin conocido como frmula mejorada de Euler. ode1: Mtodo de Euler.

ITM

23/33

Manual Bsico de Simulink

Antologa

discrete: Es un mtodo de paso fijo que funciona sin integrar. Esta indicado para modelos sin estados continuos. Tamaos de paso mximo y mnimo: En los sistemas de paso variable podemos fijar el tamao de paso mximo y sugerir el tamao de paso mnimo. En los sistemas de paso fijo, podemos fijar el tamao de paso. Tamao de paso mximo (Max Step Size): Es el mayor tiempo de paso que utiliza el mtodo de resolucin. Por defecto, viene determinado por los tiempos de inicio y de finalizacin:

Generalmente, el valor del paso mximo que SIMULINK toma por defecto es suficiente, salvo que conozcamos con detalle el comportamiento del sistema. Tamao de paso minimo (Min Step Size): Por defecto, el mtodo de resolucin fija el tamao de paso inicial en relacin con el tiempo de inicio de la simulacin. Si nosotros fijamos el tamao de paso mnimo, pero no se cumple el error mnimo, SIMULINK reduce el tamao de paso mnimo. Margen de error: Podemos controlar en la simulacin el error en cada estado. Esto de mide en la tolerancia relativa y absoluta. Tolerancia relativa (Relative tolerance): Mide el error relativo de cada estado. La tolerancia relativa representa un porcentaje del valor de cada estado. Por defecto, la tolerancia relativa est establecida en 1e-3 . Esto significa que el valor tendr una exactitud del 0.1%. Tolerancia absoluta (Absolute tolerance): Es el valor del umbral de error. Representa como error aceptable el valor de la medida del estado ms prximo a cero. Opciones de salida: Mediante las opciones de salida podemos controlar cuntos puntos de salida queremos que genere la simulacin. Las opciones que nos ofrece el men emergente son: Refine output: El refinamiento de la salida proporciona puntos adicionales cuando la salida no es lo suficientemente exacta. Por ejemplo, un Factor Refine igual a 2 proporciona puntos de salida en el intermedio de los pasos de tiempo, adems de en los pasos. El factor de refinamiento por defecto es uno. Para conseguir una salida suave es ms rpido cambiar el factor de refinamiento en lugar de reducir el tamao del paso, adems de que as no cambia el nmero de pasos realizados. Se usa en mtodos de resolucin de varios pasos, y sobre todo con el mtodo ode45.

ITM

24/33

Manual Bsico de Simulink

Antologa

Salidas adicionales (Produce aditional outputs): Esta opcin nos permite especificar directamente los tiempos adicionales en los que queremos generar puntos de salida. Al igual que con el factor de refinamiento, con esta opcin no cambiamos el tamao de paso. Solo salidas especificadas (Produce specified outputs only): Con esta opcin slo obtenemos con la simulacin los puntos en los tiempos especificados. El tamao de paso no se ve afectado. Esta opcin es til cuando comparamos diferentes simulaciones, para ver las salidas de cada sistema en el mismo instante de tiempo. Workspace I / O Cuando pulsamos la pestaa de Workspace I / O , dentro del cuadro de Simulations Parmetres, nos aparece el siguiente cuadro de dilogo:

Las opciones que encontramos aqu son las siguintes: Load from Workspace: En el nivel ms alto del modelo, podemos usar bloques que representen entradas del exterior del sistema (bloques Inport). Para especificar una entrada externa, marcamos el cuadro Input dentro del rea Load from workspace. Las entradas externas pueden ser especificadas de dos formas: mediante cualquier comando de MATLAB expresado en funcin del tiempo de simulacin, o como una matriz que proporciona valores de entrada para todos los bloques Inport. Mediante comandos de MATLAB: Especificando el comando como una cadena de caracteres. Para cada instante de tiempo de la simulacin, MATLAB evala la cadena y

ITM

25/33

Manual Bsico de Simulink

Antologa

proporciona la entrada. Podemos especificar ms de una entrada, separndolas con una coma, por ejemplo: sin(t) sin(t), cos(t) introduce sin(t) en cada instante de tiempo proporciona dos entradas externas en cada instante de tiempo

Mediante una matriz de tiempo y valores de entrada: La primera columna ser un vector de tiempos en orden ascendente, y las restantes sern los valores de entrada, donde cada columna representa la entrada para un bloque Input (en orden secuencial), y cada fila es el valor de entrada en cada instante de tiempo. Por ejemplo, un ejemplo de matriz que podemos usar para proporcionar valores de entrada para tres bloques Input es: t=0:0.1:10; u=[cos(t), sin(t), tan(t)]; ut=[t,u]; Save to Workspace: Como variables de retorno a guardar, podemos seleccionar tres: el tiempo, los estados o la salida. Las escogemos marcndolo en su cuadro de seleccin. SIMULINK escribir valores en el espacio de trabajo para estas variables de retorno.Tambin podemos asignar valores a variables diferentes, especificando el nombre de la variable a la derecha de los cuadros de seleccin. Si queremos escribir las salidas para ms de una variable, se especifican los nombres de las variables separados por una coma.

Tenemos la opcin de restringir la cantidad de salidas que queremos guardar, limitando el nmero de filas. Para ello, en la casilla Limit rows to last ponemos el nmero de filas que queremos guardar. Tambin podemos aplicar un factor de decimacin, especificndolo en el cuadro Decimation. States: Load Initial and Save Final: Normalmente, las condiciones iniciales de que parte el sistema al iniciarse una simulacin estn indicados en los bloques. Sin embargo, podemos anular estas condiciones especificndolas en esta rea del cuadro de dilogo:

ITM

26/33

Manual Bsico de Simulink

Antologa

Tambin podemos guardar los estados finales de una simulacin y aplicarlos a otra simulacin. Esto es til cuando queremos guardar una solucin de estados continuos, y reiniciar la simulacin partiendo de este estado conocido. Para cargar estados ya existentes seleccionamos el cuadro de Load Initial, y especificamos el vector de estado en el campo adyacente: Si no activamos el cuadro de seleccin, o el vector de estado est vaco ( [ ] ), SIMULINK usa las condiciones iniciales definidas en los bloques. Para guardar el valor de los estados al final de la simulacin, seleccionamos el cuadro Save Final e introducimos una variable en el campo de edicin. Diagnostics En la pestaa de diagnsticos podemos especificar la accin que queremos que realice SIMULINK cuando se encuentre con cualquiera de los eventos especificados, por ejemplo, si nos encontramos con una lnea sin conexin, queremos que nos de un mensaje de advertencia:

Para cada tipo de evento, podemos elegir entre que no aparezca ningn mensaje, que aparezca un mensaje de advertencia, o que nos aparezca un mensaje de error. La diferencia entre estos dos tipos de mensaje es que el mensaje de advertencia no finaliza la simulacin, mientras que el de error s lo hace.

ITM

27/33

Manual Bsico de Simulink

Antologa

Mejora de la Precisin y Ejecucin de la Simulacin

La ejecucin y precisin de una simulacin puede verse afectada por varios factores, incluyendo el diseo del modelo y la eleccin de los parmetros de simulacin. Para la mayora de los modelos, los valores que presentan por defecto los mtodos de resolucin (solvers) son suficientes para obtener una velocidad y precisin aceptables. Sin embargo, algunos modelos pueden tener un mayor rendimiento si se ajustan bien los parmetros de simulacin. Asmismo, si tenemos ms informacin sobre el comportamiento del modelo, los resultados de la simulacin pueden ser mejores. Cmo acelerar la simulacin. Las causas de que la velocidad de simulacin sea demasiado lenta pueden ser: Que el modelo incluya bloques Fcn de MATLAB. Cuando estos bloques aparecen en un modelo, el intrprete de MATLAB es llamado en cada paso de tiempo, haciendo la simulacin mucho ms lenta. Que el modelo incluya un archivo-M o una funcin-S Que el modelo incluya un bloque Memory. Estos bloques causan que los mtodos de resolucin de orden variable (ode15s y ode113) vuelvan al orden 1 en cada paso de tiempo. Que el tamao de paso mximo sea demasiado pequeo. Si ocurre esto, prueba a repetir la simulacin con el valor de paso mximo por defecto. Que la tolerancia absoluta sea demasiado pequea. Normalmente, la tolerancia por defecto suele ser suficiente. Que el tiempo de simulacin sea demasiado grande. Prueba a reducirlo. Que el sistema sea un sistema "stiff" y no estemos usando un mtodo adecuado. Prueba a usar el mtodo ode15s. Que el modelo use tiempos de muestreo que no sean mltiplos de los otros. Esto provoca que se tomen pasos muy pequeos para poder cumplir el tiempo de muestreo. Que el modelo contenga lazos algebraicos. Las soluciones a estos lazos son calculadas iterativamente en cada paso. Por eso, empeora mucho la ejecucin de la simulacin. Que el modelo alimente bloques Random Number de un Integrador. Para sistemas continuos, es mejor usar bloques Band-Limited White Noise block (ruido blando limitado en banda), de la librera de fuentes.

Uso de mscaras para personalizar bloques Introduccin

ITM

28/33

Manual Bsico de Simulink

Antologa

El enmascaramiento es una poderosa herramienta de Simulink que permite personalizar el cuadro de dilogo y el icono de un subsistema. Con el enmascaramiento conseguimos:

Simplificar el manejo del modelo, reemplazando el cuadro de dilogo de cada bloque del subsistema por uno slo. En lugar de abrir cada bloque del modelo para introducir el valor de los parmetros, stos parmetros se introducen en el cuadro de dilogo de la mscara y pasan directamente a los bloques del sistema enmascarado. Usar una interfaz ms fcil y descriptiva, ya que incluimos nuestra propia definicin del sistema, texto de ayuda, e incluso podemos usar nuestras propias etiquetas de campo. Usar los valores de los parmetros de los bloques para definir nuevas variables. Crear un icono para el bloque que represente el propsito del subsistema Evitar modificaciones accidentales del subsistema, al ocultar su contenido bajo la mscara. Uso de mscaras para personalizar bloques Ejemplo de subsistema enmascarado

Para hacer un ejemplo de cmo enmascarar un subsistema, primero vamos a crear el subsistema. Para ello, partimos de un modelo sencillo, que representar la ecuacin de una recta. La ecuacin de la recta es: r = ax + b. Para representarla, usamos una seal "x", la cual multiplicamos por una pendiente "a". Esto lo llevamos a cabo con un bloque Gain. Finalmente, a ese producto "ax" le sumamos una constante "b". El resultado final es ax+b.

Una vez tenemos creado el modelo, para crear el subsistema seleccionamos con el ratn todos los bloques del modelo, y en el men Edit seleccionamos la opcin 'Create Subsystem':

ITM

29/33

Manual Bsico de Simulink

Antologa

Vemos que el subsistema se representa como un bloque en el que solo vemos las entradas y las salidas:

Si queremos ver otra vez el contenido del subsistema y acceder a sus bloques, hacemos doble click con el ratn vemos lo que hay en su interior:

Funciones S

ITM

30/33

Manual Bsico de Simulink

Antologa

Qu es una funcin S? Una Funcin S es una descripcin de un sistema dinmico. Las Funciones S pueden escribirse en lenguaje MATLAB o C. Las escritas en lenguaje MATLAB son compiladas como archivos MEX, y al igual que otros archivos MEX son enlazados dinmicamente dentro de MATLAB cuando se necesita. La forma de una Funcin S es muy general, y puede ajustarsde a sistemas contnuos, discretos o hbridos. De hecho, casi todos los modelos de Simulink pueden escribirse como una Funcin S. Si existe una Funcin S escrita en forma de archivo MEX (lenguaje C), y otra con el mismo nombre escrita en forma de archivo M, tiene preferencia el archivo C MEX, y es el que se ejecuta cuando llamemos a la funcin. Para insertar una Funcin S en un modelo de Simulink, disponemos del bloque S-Function, que se encuentra en la librera NONLINEAR.

ITM

31/33

Manual Bsico de Simulink

Antologa

El cuadro de dilogo de una Funcin S es el siguiente:

Si usamos el enmascaramiento de bloques, que hemos visto anteriormente, podemos personalizar el cuadro de dilogo y el icono de la Funcin Como funciona una Funcin S? Cada bloque dentro de un modelo de Simulink tiene las siguientes caractersticas: un vector de entrada, u, un vector de salida, y, y un vector de estados, x, tal como se muestra en este esquema:

El vector de estado puede consistir en estados continuos, estados discretos o una combinacin de ambos. Los estados continuos ocupan la primera parte del vector, y los estados discretos la segunda parte. Simulink hace repetidas llamadas a cada bloque del modelo durante fases especficas de la simulacin. Tambin se hacen llamadas adicionales al comienzo y final de la simulacin para realizar tareas de inicializacin y finalizacin.
ITM 32/33

Manual Bsico de Simulink

Antologa

Bibliografa Autor Inmaculada Olivares Olivares, 2003, Escuela Politcnica Superior. Avd Madrid 35;
23071-Jan (Espaa), Universidad de Jan

http://voltio.ujaen.es/jaguilar/matlab/Manual%20Matlab_Simulink/manual%20simuli nk/SIM_00%20-%20indi.htm

ITM

33/33

También podría gustarte