simulink basics tutorial

23
I T C M Control de Procesos Ing. Secundino Arteaga Rivera 1 Simulink Basics Tutorial Comenzando Simulink Modelos de Archivos Elementos Básicos Ejecución de Simulación Construcción de Sistemas Simulink es una parte grafica de MATLAB para modelación y simulación de sistemas. El simulink los sistemas son dibujos en pantalla como diagrama de bloque. Muchos elementos del diagrama de bloques son utilizados, tales como funciones de transferencia, sumadores, uniones, etc .,Así como entradas y salidas virtuales de aparatos tales como generadores osciloscopios. Simulink esta integrado con MATLAB y los datos pueden ser fácilmen5e transferidos entre programas. En estos tutoriales, aplicaremos Simulink para los ejemplos del tutorial de MATLAB para modelar los sistemas, construir controladores y simular sistemas. Simulink es soportado en ambientes como Unix , Macintosh y Windows; y está incluido en la versión MATLAB para estudiantes para pc´s. La idea detrás de estos tutoriales es que puedas tener una vista de ellos en una ventana mientras Simulink se corre en otra ventana. Los archivos de modelos de sistemas pueden ser bajados de los tutoriales y abiertos en Simulink. No confundas las ventanas, íconos y menús de los tutoriales con tu ventana actual de Simulink. La mayoría de las imágenes en los tutoriales no suceden – simplemente muestran lo que deberías ver en tu propia ventana-. Todas las operaciones del Simulink deben ser hechas en la ventana del Simulink.

Upload: julianeiza

Post on 04-Jul-2015

336 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Simulink Basics Tutorial

I T C M Control de Procesos

Ing. Secundino Arteaga Rivera 1

Simulink Basics Tutorial

Comenzando Simulink Modelos de Archivos Elementos Básicos Ejecución de Simulación Construcción de Sistemas

Simulink es una parte grafica de MATLAB para modelación y simulación de sistemas. El simulink los sistemas son dibujos en pantalla como diagrama de bloque. Muchos elementos del diagrama de bloques son utilizados, tales como funciones de transferencia, sumadores, uniones, etc .,Así como entradas y salidas virtuales de aparatos tales como generadores osciloscopios. Simulink esta integrado con MATLAB y los datos pueden ser fácilmen5e transferidos entre programas. En estos tutoriales, aplicaremos Simulink para los ejemplos del tutorial de MATLAB para modelar los sistemas, construir controladores y simular sistemas. Simulink es soportado en ambientes como Unix , Macintosh y Windows; y está incluido en la versión MATLAB para estudiantes para pc´s. La idea detrás de estos tutoriales es que puedas tener una vista de ellos en una ventana mientras Simulink se corre en otra ventana. Los archivos de modelos de sistemas pueden ser bajados de los tutoriales y abiertos en Simulink. No confundas las ventanas, íconos y menús de los tutoriales con tu ventana actual de Simulink. La mayoría de las imágenes en los tutoriales no suceden –simplemente muestran lo que deberías ver en tu propia ventana-. Todas las operaciones del Simulink deben ser hechas en la ventana del Simulink.

Page 2: Simulink Basics Tutorial

I T C M Control de Procesos

Iniciando Simulink

Simulink se inicia desde la pantalla de comandos del MATLAB escribiendo el siguiente comando: simulink Alternativamente, puedes presionar en nuevo botón de Simulink en la barra de comandos, como se muestra a continuación:

Cuando inicia, Simulink muestra dos ventanas. La primera es la ventana principal la cual aparece como:

La segunda ventana es una ventana de modelado en blanco y sin título. Esta es la ventana en la cual un nuevo modelo puede ser dibujado.

Ing. Secundino Arteaga Rivera 2

Page 3: Simulink Basics Tutorial

I T C M Control de Procesos

Archivos de Modelos

En Simulink, un modelo es una colección de bloques que, en general, representa un sistema. A parte de poder dibujar un nuevo proceso en una hoja en blanco, archivos previamente guardados pueden ser cargados desde el menú FILE o desde la hoja de comandos del MATLAB. Como un ejemplo, abra el archivo simple.mdl en Simulink escribiendo el siguiente comando en la hoja de comandos del MATLAB (alternativamente, se puede cargar esta archivo usando la opción Open en el menú File en Simulink ó tecleando Ctrl+O en Simulink. simple La siguiente ventana de modelos debe aparecer.

Un Nuevo modelo puede ser creado seleccionando New del menú File en cualquier ventana de Simulink (o tecleando Ctrl+N).

Elementos Básicos

Hay dos clases de artículos especializados en Simulink: bloques y líneas. Los bloques son usados para generar, modificar, combinar, sacar y desplegar señales. Las líneas son usadas para transferir señales de un bloque a otro.

Bloques

Hay varias clases generales de bloques:

• Fuentes: Usadas para generar varias señales. • Sinks: Usados para sacar o desplegar señales. • Discreto: Lineal, elementos de sistemas de tiempo discreto (funciones

de transferencia, modelos de estado espacio, etc.)

Ing. Secundino Arteaga Rivera 3

Page 4: Simulink Basics Tutorial

I T C M Control de Procesos

• Linear: Lineal, continuous-time system elements and connections (summing junctions, gains, etc.)

• No lineal: Operadores no lineales (funciones arbitrarias, saturación, retraso, etc.)

• Conexiones: Multiplexor, Demultiplexor, Sistemas Macros, etc.

Los bloques tienen de cero a muchas terminales de entrada y de cero a muchas terminales de salida Los términos de la entrada sin usar son indicados por un triángulo abierto pequeño. Los términos de salida sin usar son indicados por un punto triangular pequeño. El bloque mostrado debajo tiene un término de la entrada sin usar en la izquierda y un término de salida sin usar en el derecho.

Líneas

Las líneas transmiten señales en la dirección indicada por la flecha. Las líneas siempre deben transmitir las señales de la terminal de salida de un bloque a la terminal de entrada de otro bloque. En la excepción a esto es una línea puede separarse a otra línea, mandando la señala cada uno de dos bloques destino, como se muestra (pulse el botón la figura para transmitir el archivo del ejemplo llamado split.mdl).

Las líneas nunca pueden inyectar señales en otra línea; las líneas deben combinarse a través del uso de un bloque como una unión sumando.

Ing. Secundino Arteaga Rivera 4

Page 5: Simulink Basics Tutorial

I T C M Control de Procesos

Una señal puede ser una señal escalar o una señal vectorial. Para Entrada-Simple, Sistemas del Salida-Simple, generalmente se usan señales escalares. Para el Multi-entrada, sistemas de Multi-Salida, se usan a menudo las señales vectoriales, consistiendo en dos o más señales escalares Las líneas para transmitir señales escalares y vectoriales son idénticas. El tipo de señal llevado por una línea es determinado por los bloques en cualquier extremo de la línea. Ejemplo ‘Simple’

El modelo 'Simple' (de la sección de archivos de modelos) consiste en tres bloques: Escalón, Función deTransferencia, y Scope. El Escalón es un bloque de fuente del que una señal de entrada escalón es originada. Este signo es transferido a través de la línea en la dirección indicada por la flecha al bloque de la Función de Transferencia lineal. La Función de Transferencia modifica la señal de entrada y arroja una nueva señal en una línea al Scope. El Scope es un bloque usado para desplegar una señal muy similar a un osciloscopio.

Hay muchos más tipos de bloques disponible en Simulink algunos de los cuales se discutirá después. Ahora mismo, nosotros examinaremos simplemente los tres que nosotros hemos usado en el modelo 'Simple'.

Modificando Bloques

Un bloque puede modificarse haciendo doble click en él. Por ejemplo, si usted pulsa el bloque de "Función de Transferencia" en el modelo Simple, usted verá la caja del diálogo siguiente.

Ing. Secundino Arteaga Rivera 5

Page 6: Simulink Basics Tutorial

I T C M Control de Procesos

Esta caja del diálogo contiene campos para el numerador y el denominador del bloque de la función de transferencia. Entrando un vector que contiene los coeficientes del numerador deseado o polinomio del denominador, la función de transferencia puede ser introducida. Por ejemplo, para cambiar el denominador a s^2+2s+1, introduzca lo siguiente en el campo del denominador: [1 2 1] y cierre la ventana, la ventana del ejemplo cambiará a lo siguiente,

el cual refleja el cambio en el denominador de la función de transferencia.

El bloque del Escalón también puede pulsarse, accesando a la caja del diálogo siguiente.

Ing. Secundino Arteaga Rivera 6

Page 7: Simulink Basics Tutorial

I T C M Control de Procesos

Los parámetros predefinidos en este diálogo generan una función escalón que

ocurre al tiempo=1, de un nivel inicial de cero a un nivel de 1. (en otros términos, un escalón de magnitud 1 a t=1). Cada uno de estos parámetros

puede cambiarse. Cierre este diálogo antes de continuar.

El más complicado de estos tres bloques es el bloque del Scope. El pulsando en el bloque, esto desplega una pantalla de osciloscopio en blanco.

Cuando una simulación ha realizado, la señal que alimenta el Scope se desplegará en esta ventana. El funcionamiento detallado del Scope no se cubrirá en esta guía didáctica. La única función que nosotros usaremos son las autoescalas, que aparecen como un par de binoculares en la parte superior de la ventana.

Ing. Secundino Arteaga Rivera 7

Page 8: Simulink Basics Tutorial

I T C M Control de Procesos

Corriendo Simulaciones

Para correr la simulación, trabajaremos con el siguiente modelo: simple2.mdl

Se debe ver la siguiente ventana con el modelo. Antes de ejecutar una simulación de este sistema, primero abra la ventana del Scope pulsando el bloque del Scope. Después, para empezar la simulación, seleccione Start del menú de Simulación (como es mostrado debajo) o presione Ctrl-T en la ventana del ejemplo.

La simulación correrá muy rápido y la pantalla del Scope aparecerá como

sigue:

l

Note que la salida de la simulación (mostrado en amarillo) está a un nivel muy bajo a los ejes del scope. Para arreglar esto, presione el botón autoscale (los binoculares) que reescalará los ejes como se muestra debajo.

Ing. Secundino Arteaga Rivera 8

Page 9: Simulink Basics Tutorial

I T C M Control de Procesos

Note que la respuesta del escalón no empieza hasta el t=1. Esto puede cambiarse haciendo doble en el bloque del escalón. Ahora, cambiaremos los parámetros del sistema y simularemos el sistema de nuevo. Pulse el bloque de "Función de Transferencia" en la ventana y cambie el denominador a [1 20 400]

Re-ejecute la simulación (presione Ctrl-T) y usted debe ver lo que aparece como una línea llana en la ventana del scope. Presione el botón de autoscale, y

usted debe ver lo siguiente en la ventana del scope.

Ing. Secundino Arteaga Rivera 9

Note que el botón del autoscale sólo cambia el eje vertical. Desde que la

Page 10: Simulink Basics Tutorial

I T C M Control de Procesos

nueva función del traslado tiene una contestación muy rápida, el scope comprimió una parte muy estrecha de la ventana. Éste realmente no es un problema con el scope, pero con la propia simulación. Simulink simuló el sistema durante un diez segundos completos aunque el sistema había alcanzado el estado firme poco después un segundo.

Para corregir esto, usted necesita cambiar los parámetros de la propia simulación. En la ventana del ejemplo, seleccione Parameters del menú Simulation. Usted verá la caja del diálogo siguiente.

Hay muchas opciones de parámetros de simulación; nosotros sólo tendremos relación con los tiempos de inicio y paro, que le dicen a Simulink de qué periodo de tiempo realizar la simulación. Cambia el tiempo de inicio de 0.0 a 0.8 (desde que el escalón no ocurre hasta t=1.0). Cambie el tiempo paro de 10.0 a 2.0 que sólo deben ser poco después el sistema se estabiliza. Cierre la caja del diálogo y vuelva a correr la simulación. Después de presionar el botón autoscale, la ventana del scope debe proporcionar un mucho mejor despliegue de la respuesta del escalón como es mostrado debajo.

Ing. Secundino Arteaga Rivera 10

Page 11: Simulink Basics Tutorial

I T C M Control de Procesos

Construyendo Sistemas

En esta sección, usted aprenderá a construir sistemas en Simulink usando los bloques de construcción en las Bibliotecas de Bloques de Simulink. Usted construirá el sistema siguiente.

Primero usted recogerá todos los bloques necesarios de las bibliotecas del bloque. Después usted modificará los bloques para que ellos correspondan a los bloques en el modelo deseado. Finalmente, usted conectará los bloques con las líneas para formar el sistema completo. Después de esto, usted simulará el sistema completo para verificar que funciona. Recogiendo Bloques

Ing. Secundino Arteaga Rivera 11Siga los pasos debajo para recolectar los bloques necesarios:

Page 12: Simulink Basics Tutorial

I T C M Control de Procesos

• Cree a un nuevo modelo (Nuevo del menú del Archivo o Ctrl-N). Usted conseguirá una ventana en blanco.

• Presione en el ícono de Fuentes de la la ventana principal de Simulink.

Esto abre la ventana de Fuentes la cual contiene la librería de bloques de fuentes. Las fuentes son usadas para generar señales.

Ing. Secundino Arteaga Rivera 12

Page 13: Simulink Basics Tutorial

I T C M Control de Procesos

• Arrastra el bloque del Escalón al lado izquierdo de la ventana de modelo.

Ing. Secundino Arteaga Rivera 13

Page 14: Simulink Basics Tutorial

I T C M Control de Procesos

• Haz doble click en el icono Lineal en la ventana principal de Simulink para abrir la ventana de Biblioteca de Bloque Lineal.

• Arrastre los bloques de Suma, Ganancia, y dos casos de Función de Transferencia (arrástrelo dos veces) en su ventana de modelo colocada aproximadamente como mostrada debajo. La alineación exacta no es importante ya que puede cambiarse después. Simplemente intente conseguir las posiciones relativas correctas. El segundo bloque de Función de Transferencia tiene un 1 después de su nombre. Dos bloques no pueden tener el mismo nombre, Simulink añade números automáticamente a los nombres de los bloques para diferenciar entre ello

• Haga doble click en el icono de los Sinks en la ventana principal de

Simulink para abrir la ventana de los Sinks. • Arrastre el bloque del Scope en el lado correcto de su ventana de

modelo.

Ing. Secundino Arteaga Rivera 14

Page 15: Simulink Basics Tutorial

I T C M Control de Procesos

Modificar Bloques

Siga estos pasos para modificar los bloques propiamente en su modelo.

• Haga doble click en su bloque de la Suma. para la segundo entrada que va a sustraerse, entre +-en la lista de tipos de señales. Cierre la caja del diálogo.

• Haga doble click en su bloque de Ganancia. Cambie la ganancia a 2.5 y cierre la caja del diálogo.

• Haga doble click en el bloque izquierdo de FunciónTransferencia . Cambie el numerador a [1 2] y el denominador a [1 0]. Cierre la caja del diálogo.

• Haga doble click en el bloque derecho de FunciónTransferencia . Deje el numerador [1], pero cambia el denominador a [1 2 4]. Cierre la caja del diálogo. Su modelo debe aparecer como:

• Cambie el nombre del primer bloque de Función de Transferencia pulsando el botón en las palabras "Transfiera Fcn". Una caja y un cursor editor aparecerá en el nombre del bloque como mostrado debajo. Use el teclado (el ratón también es útil) para borrar el nombre existente y teclear en el nuevo nombre, "Controlador PI". Pulse el botón en cualquier parte fuera de la caja del nombre para terminar la corrección.

Ing. Secundino Arteaga Rivera 15

Page 16: Simulink Basics Tutorial

I T C M Control de Procesos

• · Similarmente, cambie el nombre del segundo bloque de Función de Transferencia de "Transfer Fcn1" a "Planta". En todos los bloques ahora, se llaman apropiadamente. Su modelo debe aparecer como:

Conectando Bloques con Líneas

Ahora que los bloques propiamente etiquetados, usted los conectará entre sí. Siga estos pasos.

• Arrastre el ratón desde la salida del bloque del Escalón al superior (positivo) la entrada del bloque de la Suma. Suelte el botón del mouse solo cuando esta correctamente acomodado en la entrada del siguiente bloque. No se preocupe por el camino que usted sigue mientras arrastra el conector, la línea se dirigirá. Usted debe ver a lo siguiente.

Ing. Secundino Arteaga Rivera 16

Page 17: Simulink Basics Tutorial

I T C M Control de Procesos

La línea resultante debe tener una punta de flecha llena. Si la punta de flecha está abierta, como mostrado debajo, significa no se conecta a nada.

• Usted puede continuar la línea parcial que usted dibujó tratando la punta de flecha abierta como un término de salida y dibujando simplemente así como antes. Alternativamente, si usted quiere volver a dibujar la línea, o si la línea se conectó a un término equivocado, usted debe anular la línea y debe volverla a dibujar. Para anular una línea (o cualquier otro objeto), simplemente pulse el botón en él para seleccionarlo, y oprima suprimir.

• Dibuje una línea que conecte la salida del bloque de Suma a la entrada del bloque de Ganancia. También dibuje una línea de la Ganancia al

Controlador PI,y una línea al Controlador PI de la Planta, y una línea de

Ing. Secundino Arteaga Rivera 17

Page 18: Simulink Basics Tutorial

I T C M Control de Procesos

la Planta al scope. Usted debe tener lo siguiente ahora.

· La línea que queda sin ser dibujada es la realimentación que conecta la salida de la Planta a la entrada negativa del bloque de la Suma. Esta línea es diferente en dos maneras. Primero, esta línea al ser dibujada debiera seguir el camino mas corto (correctamente angulada) mas no sucede por lo cual debe ser dibujada en varias fases. Segundo, no hay ningún término de salida de dónde empezar, para que la línea salga de una línea existente.

Para dividir la línea de salida, sostenga los Ctrl mientras arrastra el ratón del punto en la línea existente dónde usted quiere separarlas. En este caso, simplemente empiece al derecho de la Planta. Arrastre hasta que usted consiga a la esquina inferior izquierda de la línea de realimentación deseada como es mostrado debajo.

Ing. Secundino Arteaga Rivera 18

Page 19: Simulink Basics Tutorial

I T C M Control de Procesos

Ahora, la punta de flecha abierta de esta línea parcial puede tratarse como un término de salida. Dibuje una línea de él al término negativo del bloque de la Suma de la manera usual.

• Ahora, usted hará coincidir los bloques entre sí para una mejor apariencia. Una vez conectado, a las posiciones reales de los bloques no causará problemas, pero es más fácil leer si ellos se alinean. Para mover cada bloque, arrástrelo con el ratón. Las líneas se quedarán conectado y la realimentación. También pueden arrastrarse los medios y esquinas de líneas a posiciones diferentes. Empezando a la izquierda, arrastra cada bloque para que las líneas que los conectan estén completamente horizontales. También, ajuste el espacio entre los bloques dejar el espacio para las etiquetas de las señales. Usted debe tener algo como:

Ing. Secundino Arteaga Rivera 19

Page 20: Simulink Basics Tutorial

I T C M Control de Procesos

• · Finalmente, usted pondrá las etiquetas en su modelo para identificar las señales. Para poner una etiqueta en cualquier parte en su modelo, haga doble clic al punto que usted quiere la etiqueta. Empiece haciendo doble click sobre la línea que lleva del bloque del Escalón. Usted conseguirá una caja del texto en blanco con un cursor de edición mostrado debajo:

• Teclee un r en esta caja, etiquetando la señal de la referencia y pulse el

botón fuera de él para acabar la corrección. • Etiquete la señal del error (e) , la señal del controlador (u), y la señal de

salida (y) de la misma manera. Su modelo final debe aparecer como:

• • Para guardar a su modelo, seleccione Save As en el menú del Archivo y

teclee en cualquier nombre.

Ing. Secundino Arteaga Rivera 20

Page 21: Simulink Basics Tutorial

I T C M Control de Procesos

Simulación

Ahora que el modelo está completo, usted puede simularlo. Seleccione Start del menú de la Simulación para ejecutar la simulación. Haga doble click en el bloque del Scope para ver su salida. Utilice los autoscale (los binoculares) y usted debe ver a lo siguiente.

Tomando Variables desde MATLAB

En algunos casos, pueden calcularse parámetros, como la ganancia, en MATLAB para ser usado en un modelo de Simulink. Si éste es el caso, no es necesario entrar en el resultado del cálculo de MATLAB directamente en Simulink. Por ejemplo, suponga que calculamos la ganancia en MATLAB en la variable K. Dele el valor desde la hoja de comandos del MATLAB tecleando lo siguiente. K=2.5 Esta variable puede usarse ahora en el bloque de Ganancia de Simulink. En su modelo del simulink, haga doble click en el bloque de Ganancia y entre lo siguiente en el campo de Ganancia.

Ing. Secundino Arteaga Rivera 21

Page 22: Simulink Basics Tutorial

I T C M Control de Procesos

K

Cierre esta caja del diálogo. Note ahora que el bloque de Ganancia en el Simulink muestra el término K en lugar de un número.

Ahora, usted puede re-ejecutar la simulación y puede ver la salida en el Scope. El resultado debe ser igual que antes.

Ing. Secundino Arteaga Rivera 22

Page 23: Simulink Basics Tutorial

I T C M Control de Procesos

Ahora, si cualquier cálculo se hace en MATLAB para cambiar cualquiera de las variables usadas en el modelo de Simulink, la simulación usará los nuevos valores la próxima vez que se ejecuta. Para probar esto, en MATLAB, cambie la ganancia, K, entrando en lo siguiente a la hoja de comandos. K=5 Empiece la simulación en Simulink de nuevo, abra la ventana del Scope, y use el botón del autoscale. Usted verá la salida siguiente que refleja la nueva y más alta ganancia.

Además de variables, señales, e incluso sistemas enteros pueden intercambiarse entre MATLAB y Simulink.

Ing. Secundino Arteaga Rivera 23