Informática
Simulink
-
¿Qué es SIMULINK?
SIMULINK es un paquete de software para modelar, simular y analizar sistemas dinámicos. Soporta sistemas lineales y no lineales, modelados en tiempo continuo, muestreados o un híbrido de los dos. Los sistemas pueden ser también multifrecuencia, es decir, tienen diferentes partes que se muestrean o actualizan con diferentes velocidades.
Para modelar, SIMULINK proporciona una interfaz de usuario gráfica (GUI) para construir los modelos como diagramas de bloques, utilizando operaciones con el ratón del tipo pulsar y arrastrar. Con esta interfaz, puede dibujar los modelos de la misma forma que lo haría con lápiz y papel (o como lo representan la mayoría de los libros de texto). Esto es un cambio radical respecto a los paquetes de simulación previos que requieren que formule las ecuaciones diferenciales y las ecuaciones en diferencia en un lenguaje o programa. SIMULINK incluye una amplia biblioteca de bloques de sumideros, fuentes, componentes lineales y no lineales y conectores. Puede también personalizar y crear sus propios bloques.
Los modelos son jerárquicos, es decir, puede construir modelos utilizando una metodología descendente y ascendente. Puede visualizar el sistema en un nivel superior, desde donde mediante un doble clic sobre los bloques puede ir descendiendo a través de los niveles para ver con más detalle el modelo. Esto le proporciona una comprensión de cómo se organiza un modelo y cómo interactúan sus partes.
Después de definir un modelo, puede simularlo utilizando cualquiera de los métodos de integración que tiene a su disposición o bien desde el menú de SIMULINK o introduciendo órdenes desde la ventana de órdenes de MATLAB. Los menús son apropiados para un trabajo interactivo; mientras que el enfoque de línea de orden es muy útil para ejecutar un lote de simulación (por ejemplo, si está haciendo simulaciones de Monte Carlo o necesita barrer un parámetro a través de un rango de valores). Utilizando bloques Scopes y otros bloques de visualización, puede ver los resultados de la simulación mientras se está ejecutando. Además, puede cambiar los parámetros y ver de forma inmediata lo que sucede en exploraciones del tipo "que sucede si". Los resultados de la simulación se pueden transferir al espacio de trabajo de MATLAB para su posterior postprocesamiento y visualización.
Las herramientas de análisis de modelo que incluyen linealización y determinación de estados estacionarios pueden ser accedidas desde la línea de orden de MATLAB, así como las muchas utilidades que MA TLAB y sus toolboxes de aplicación poseen. y como MATLAB y SIMULINK están integrados, pueden simular, analizar y revisar sus modelos en uno u otro entorno en cualquier momento.
-
Arranque rápido
Este capítulo muestra cómo comenzar a utilizar SIMULINK ejecutando un modelo demostración y construyendo un modelo sencillo desde el principio.
Ejecución de un modelo de demo
Un programa de demostración interesante que se proporciona con SIMULINK modela la termodinámica de una casa. Para ejecutar este demo, siga los pasos siguientes:
1. Arranque la Edición de Estudiante de MATLAB efectuando un doble clic sobre el icono de MATLAB.
2. Arranque SIMULINK escribiendo simulink desde la ventana de órdenes. Aparece la ventana de SIMULINK Block Library .
3. Acceda al demo abriendo la biblioteca de Extras. Realícelo haciendo un doble clic sobre el icono de la biblioteca de Extras que se encuentra a la derecha de la ventana de SIMULINK Block Library .Abra la subblioteca de Demos y efectúe un doble clic sobre el cuadro House Thermostat. SIMULINK crea una nueva ventana y visualiza el modelo en esa ventana. También abre dos bloques de tipo Scope.
4. Cargue los datos utilizados en la simulación haciendo un doble clic en el bloque Load Data que se encuentra cerca del ángulo inferior derecho del modelo.
5. Para comenzar la simulación, despliegue hacia abajo el menú Simulation y escoja la orden Start.
SIMULINK visualiza la salida de la temperatura de la casa en el bloque Scope Indoor Temp y la salida acumulativa del coste de calentamiento en el bloque Scope Heat Cost.
6. Para parar la simulación, despliegue otra vez el menú Simulation y escoja la orden Stop.
7. Cierre el modelo escogiendo Close en el menú File.
Descripción del demo
El demo modela la termodinámica de una casa utilizando un modelo sencillo. El termostato se fija a 70 grados Fahrenheit y está afectada por la temperatura del exterior que varía al aplicársele una onda sinusoidal con una amplitud de 15 grados sobre una temperatura base de 50 grados.
Las temperaturas internas y externas se alimentan en el subsistema House que actualiza la temperatura interna. Haga doble clic sobre el bloque House para ver lo que contiene dicho bloque.
El subsistema Thermostat modela la operación de un termostato, determinando cuándo se conecta y desconecta el sistema de calentamiento. Haga doble clic en el bloque para ver lo que contiene.
Ambas temperatura, exterior e interior, se convierten de grados Fahrenheit a grados centígrados mediante los subsistemas:
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.
Algunas cosas a realizar
A continuación se indican algunas cosas que se pueden intentar para ver cómo el modelo responde a diferentes parámetros.
-
Abra el bloque Floating Scope. Este tipo de bloque le permite examinar la señal que pasa a través de cualquier línea seleccionada. Para ver cómo trabaja este bloque, arranque la simulación, a continuación seleccione diferentes líneas para ver sus señales visualizadas.
-
Amplíe un bloque Scope para ver cómo puede modificar sus parámetros. El bloque contiene un área de visualización de señal y controles que le permiten seleccionar el rango de la señal visualizada. El eje horizontal representa el tiempo y el eje vertical el valor de la señal.
-
El bloque etiquetado Set Point (en la parte superior izquierda del modelo) fija la temperatura interna deseada. Abra este bloque y coloque el valor a 80 grados mientras se está ejecutando la simulación. Observe cómo difieren la temperatura interior y los costes de calentamiento. Alternativamente, ajuste la temperatura exterior y vea cómo afecta a la simulación.
-
Ajuste la variación de la temperatura diaria abriendo el bloque etiquetado Daily Temp Variation y cambie la amplitud. Vuelva a ejecutar la simulación y observe las diferencias.
2.1.3 Lo que este demo enseña
Este demo ilustra algunas tareas que se utilizan normalmente cuando se construyen modelos:
-
La ejecución de la simulación requiere especificar parámetros y comenzar la simulación con la orden Start. En el Capítulo 4 se describe con detalle la especificación de los parámetros de simulación y de la ejecución de la simulación.
-
Se pueden utilizar subsistemas (tales como Thermostat, House y los bloques de conversión de temperatura) para "esconder" grupos complejos de bloques detrás de un bloque subsistema. Abra cada subsistema; SIMULINK visualiza sus bloques subyacentes en una nueva ventana. En el Capítulo ajs se describe en detalle la creación de subsistemas.
-
Los bloques Scope visualizan la salida gráfica de la misma forma que lo hace un osciloscopio. El bloque Scope visualiza la salida del bloque que tiene conectado a su entrada. El bloque Floating Scope, que no se conecta a ningún bloque en el modelo, le permite supervisar la señal en cualquier línea seleccionada.
-
Algunos parámetros del bloque se definen mediante variables del espacio de trabajo. A estas variables se le asignan valores cargando datos en el espacio de trabajo utilizando el subsistema Load Data, que utiliza la orden eval para definir las variables llamando al archivo M thermdat.m.
Otros demos útiles
Otros demos en la biblioteca de Extras ilustran conceptos útiles de modelado. Por ejemplo, el demo del Péndulo Invertido con Animación contiene tres bloques enmascarados que merece la pena examinar . El enmascaramiento le permite crear iconos personalizados para los bloques. También le permite diseñar un cuadro de diálogo para un bloque (introduce los parámetros de un bloque en su cuadro de diálogo).
Examine el enmascaramiento de algunos bloques enmascarados. El subsistema Péndulo, el subsistema Estimador de Estado Discreto y el bloque Animación son todos ellos bloques enmascarados. Seleccione uno ya continuación escoja Mask en el menú Options. Observe cómo la máscara maneja los parámetros de los bloques que contiene y cómo el bloque Animación personaliza su icono. En el Capítulo jjjjjjjj se describe en detalle el enmascaramiento.
Construcción de un modelo sencillo
Si SIMULINK no está en ejecución, arránquelo siguiendo los pasos descritos anteriormente en este capítulo.
Para crear un nuevo modelo, seleccione New en el menú File. SIMULINK crea una nueva ventana. Podría necesitar mover la ventana a la parte superior derecha de su pantalla de manera que pueda ver al mismo tiempo sus contenidos y los contenidos de las bibliotecas de bloques.
Abra la biblioteca Sources haciendo un doble clic sobre el icono Sources. SIMULINK visualiza una ventana que contiene todos los bloques de la biblioteca Sources; estos bloques son fuentes de señal. La ventana de la biblioteca Sources tiene el aspecto que se muestra en la figura.
Añada bloques a su modelo copiándolos desde una biblioteca de bloques o desde otro modelo. Para este ejercicio, necesitará copiar el bloque Signal Generator de la biblioteca Sources.
Para copiar el bloque Signal Generator desde la biblioteca de bloques Source, haga un clic sobre el bloque Signal Generator y arrástrelo a la ventana de su modelo. Cuando libera el botón del ratón, SIMULINK visualiza el icono del bloque.
Puede visualizar los parámetros de un bloque con un doble clic sobre el bloque y examinando el cuadro de diálogo que aparece. Inténtelo con el bloque Signal Generator . Verá un cuadro de diálogo parecido al que sigue (para sistemas Windows):
Este cuadro de diálogo muestra las formas de onda que puede escoger y los controles para especificar la amplitud y la frecuencia de la señal generada por el bloque. Cambie el valor visualizado en el campo Frequency a 6. En el cuadro Frecuency se puede escoger entre hercios y radianes por segundo ( velocidad angular en una onda de tensión o intensidad). Pulse el botón OK para aceptar el valor y cerrar el cuadro de diálogo.
Ahora copie el bloque Scope (de la biblioteca Sinks) en su modelo, a la derecha del bloque Signal Generator. Su modelo se debería parecer al que sigue:
Haga un doble clic sobre el bloque Scope para abrirlo. Observará que el bloque Scope es una representación gráfica de un osciloscopio.
Mueva la ventana Scope a una posición conveniente. Cambie el valor en el campo Horizontal Range, que representa el tiempo a 10.
Ahora conecte estos bloques. Para conectar los bloques, posicione el puntero sobre el puerto de salida del bloque Signal Generator, mantenga presionado el botón del ratón, desplace el puntero o bien al puerto de entrada del bloque Scope o simplemente sobre el propio bloque Scope y suelte el botón del ratón.
SIMULINK dibuja una línea que conecta a los dos bloques. Si la línea de conexión no es recta, puede mover uno u otro bloque hacia arriba o hacia abajo. La línea de conexión usa una flecha para mostrar la dirección del flujo de señal.
Cuando esté satisfecho con su modelo, puede comenzar la simulación. Para seleccionar el algoritmo de integración y los parámetros a utilizar durante la simulación seleccione Parameters en el menú Simulation. SIMULINK visualiza el cuadro de diálogo Control Panel que para Windows tiene la apariencia que se muestra a continuación:
Cambie el parámetro Maximum Step Size a 0.01. Todos los otros valores de parámetros son aceptables, como lo es el algoritmo de integración por defecto (ode45 (Dormand-Prince). Haga clic sobre el botón OK para cerrar el cuadro de diálogo. Comience la simulación seleccionando Start en el menú Simulation.
Si la ventana del bloque Scope no está abierta, haga doble clic sobre el bloque para abrirla. El bloque Signal Generator produce sin(6t) para cada paso de tiempo y el bloque Scope muestra su entrada como la traza de la onda sinusoidal.
Los controles en las ventanas de loS bloques Scope y Signal Generator están activos durante la simulación. Puede seleccionar una forma de onda diferente del bloque Signal generator y ver inmediatamente los resultados en el bloque Scope. Mueva las deslizaderas o cambie los valores de Signal Generator y de Scope para ver cómo afectan a la visualización.
La simulación finaliza cuando alcanza el tiempo de parada especificado en el cuadro de diálogo del Control Panel o cuando escoge Stop en el menú Simulation.
Para salir de SIMULINK, elija o Exit MATLAB en el menú File 0 escriba quit
en la ventana de orden de MATLAB.
3 Creación de un modelo
Este capítulo analiza las tareas y procedimientos que son útiles para construir modelos en SIMULINK . Incluye estos tópicos:
-
Ventanas y menús de SIMULINK.
-
Un ejercicio de construcción de un modelo.
-
Construcción de un modelo.
-
Guardar un modelo.
-
.Imprimir un diagrama de bloque.
-
Consejos para construir modelos.
Ventanas y menús en SIMULINK
Para comenzar SIMULINK, debe arrancar primero MATLAB. En el indicador de MATLAB, introduzca la orden simulink. Su computador incluye la ventana de órdenes de MATLAB y la ventana SIMULINK Block Library que se muestra a continuación.
La ventana SIMULINK Block Library visualiza los iconos de sus bibliotecas de bloque. Construye modelos copiando bloques de la biblioteca de bloques en una ventana de modelo. El SIMULINK Block Library y las otras bibliotecas de bloques accesibles desde esta ventana son todos modelos de SIMULINK dibujados con ninguno de los bloques conectados.
Cuando ejecuta una simulación y analiza sus resultados, puede utilizar las órdenes de MATLAB que introduce desde la ventana de órdenes de MATLAB. En el Capítulo jhjhjhj se tratan la ejecución de una simulación y el análisis de sus resultados.
SIMULINK utiliza ventanas separadas para visualizar una biblioteca de bloques, un modelo o la salida de una simulación gráfica. Estas ventanas no son ventanas de figuras de MATLAB y no se pueden manipular utilizando las órdenes del Entorno Gráfico de MATLAB.
Las ventanas de SIMULINK se dimensionan de manera que se puedan acomodar a las resoluciones disponibles de las pantallas más comunes. Sin embargo, si dispone de un monitor con una resolución excepcionalmente alta o baja, puede encontrar las dimensiones de las ventanas demasiado grandes o pequeñas. Puede redimensionar la ventana arrastrando los bordes ya continuación escogiendo la orden Save del menú File para preservar las dimensiones de la nueva ventana.
Acceda a las órdenes de SIMULINK desde los menús de SIMULINK.
-
En los sistemas Windows, aparece la barra de menús de SIMULINK cerca de la parte superior de cada ventana SIMULINK. Las órdenes del menú se aplican a los contenidos de esa ventana.
-
En los sistemas Macintosh, aparece la barra de menús de SIMULINK en la parte superior del escritorio. Las órdenes del menú se aplican a los contenidos de la ventana activa.
Un error frecuente de los nuevos usuarios de SIMULINK es comenzar una simulación mientras el SIMULINK Block Library es la ventana activa. Asegúrese de que la ventana de su modelo es la ventana activa antes de comenzar una simulación.
Finaliza una sesión de SIMULINK escogiendo:
-
Exit MATLAB en el menú File (en un sistema Windows).
-
Quit en el menú File (en un sistema Macintosh).
Un ejercicio de construcción de un modelo
Este ejemplo muestra cómo construir un modelo utilizando muchas de las órdenes y acciones que utilizará, posteriormente, para desarrollar sus propios modelos. Las instrucciones que describen las acciones empleadas para construir este modelo son concisas. Más adelante en este capítulo se presentan con más detalle todas las tareas.
El modelo genera una onda sinusoidal utilizando un bloque Signal Generator. Modifica una copia de la forma de onda pasándola a través de un bloque Gain.
Ambas señales, la original y la modificada, se combinan en una señal vectorial empleando un bloque Mux. Esa señal se visualiza utilizando un bloque Scope y enviándola a una variable del espacio de trabajo. El diagrama de bloques del modelo tiene el siguiente aspecto:
Los bloques utilizados en este modelo, se obtienen de las bibliotecas siguientes:
-
Biblioteca Sources (para el bloque Signal Generator).
-
Biblioteca Linear (para el bloque Gain).
-
Biblioteca Connections (para el bloque Mux) .Biblioteca Sinks (para los bloques Scope y To Workspace)
Genere una nueva ventana de modelo seleccionando New en el menú File.
Abra la biblioteca Sources para copiar el bloque Signal Generator.
Para copiar un bloque desde su biblioteca de bloques, arrástrelo dentro de la ventana del modelo. Para hacer esto, posicione el cursor sobre el bloque Signal Generator, a continuación presione el botón del ratón y manténgalo en esa posición. Observe cómo se desplaza el marco del bloque seleccionado.
Ahora, arrastre el bloque dentro de la ventana del modelo (denominada Untitled). Cuando mueva el bloque, observe que el marco del bloque y de su nombre se mueven con el puntero.
Cuando el puntero se encuentre dentro de la ventana del modelo, suelte el botón del ratón. Una copia del bloque Signal Generator se encuentra ahora en su ventana del modelo.
De la misma forma, copie el resto de los bloques dentro de la ventana del modelo. Puede mover un bloque, desde un lugar a otro dentro de la ventana del modelo, utilizando la misma técnica de arrastre que empleó para copiar el bloque.
Puede haberse dado cuenta que el bloque Mux tiene tres puertos de entradas pero sólo dos señales de entrada. Para ajustar el número de puertos de entrada, abra el bloque Mux dando un doble clic encima de él. SIMULINK visualiza su cuadro de diálogo. Cambia el valor del parámetro Number of inputs a 2, a continuación pulse en el botón OK. SIMULINK ajusta el número de puertos de entrada.
Con todos los bloques ya copiados en la ventana del modelo, el modelo debería tener un aspecto parecido al siguiente:
Ahora conecte los bloques. Si examina los iconos de los bloques, verá un signo en forma de ángulo a la derecha del bloque Signal Generator y dos a la izquierda del bloque Mux. El símbolo > apuntando hacia afuera de un bloque es un puerto de salida; si el símbolo apunta hacia el bloque es un puerto de entrada. Cuando los bloques se conectan, los símbolos del puerto desaparecen.
Conecte el bloque Signal Generator al bloque Mux. Posicione el puntero sobre el puerto de salida en el lado derecho del bloque Signal Generator.
Presione y mantenga pulsado el botón del ratón. Observe que el botón cambia a una forma de una cruz.
Manteniendo pulsado el botón del ratón, mueva el cursor al puerto de entrada superior del bloque Mux o sobre el propio bloque Mux. Observe que el cursor mantiene su forma de cruz y que una línea conecta el bloque Signal Generator con el puerto de entrada superior (el primero disponible) del bloque Mux.
Ahora libere el botón del ratón. Los bloques se conectan.
Si mira otra vez el modelo que hayal comienzo de esta sección, se dará cuenta que la mayoría de las líneas conectan puertos de salida de bloques a puertos de entrada de otros bloques. Sin embargo, dos líneas conectan líneas a puertos de entrada de otros bloques. Estas líneas conectan la salida de Signal Generator al bloque Gain, y la salida Mux al bloque To Workspace y llevan la misma señal que las líneas desde las cuales se originan. En otras palabras, el bloque Signal Generator saca la misma señal al bloque Mux y al bloque Gain y el bloque Mux también saca la misma señal a los bloques Scope y To Workspace.
Dibujar esta clase de línea es ligeramente diferente a dibujar la línea que acaba de dibujar. Para unir una conexión a una línea ya existente, siga estos pasos. En primer lugar posicione el cursor sobre la línea que hay entre los bloques Signal Generator y Mux.
presione el botón derecho del ratón y arrastre el cursor al puerto de entrada del bloque Gain o sobre el propio bloque Gain.
De forma análoga puede dibujar una línea similar entre la línea de salida del bloque Mux y el bloque To Workspace. Acabe de realizar las conexiones.
Cuando ha finalizado de conectar los bloques, necesita ajustar algunos de sus parámetros. En primer lugar, abra el bloque Gain y cambie el parámetro Gain a 2.
A continuación, abra el bloque To Workspace y modifique el parámetro Variable name a testmtx. Éste es el nombre de la variable del espacio de trabajo que mantendrá la salida de la simulación.
La salida por defecto del bloque Signal Generator es una onda sinusoidal con una amplitud de 1. Como esto es aceptable para este ejercicio, no hay necesidad de modificar ningún parámetro para ese bloque. Puede encontrar interesante abrir ese bloque para ver las otras formas de onda que genera.
Ejecute la simulación durante 10 segundos. Primero, ajuste los parámetros de simulación seleccionando Parameters del menú Simulation. En el cuadro de diálogo que aparece (debajo aparece el cuadro de diálogo llamado Control Panel de la versión Windows), ajuste el Stop Time a 10 y cambie el Maximum Step Size a 0.0001.
Abra el bloque Scope para visualizar la salida de la simulación. Antes de que comience la simulación, ajuste los parámetros de forma que pueda visualizar la simulación completa. Modifique los parámetros time Range (tiempo) al valor que desee, o simplemente déjelo en auto si quiere mantener el valor por defecto seleccionado en simulation parameters (10 segundos en este caso) y Default limits (que para esta simulación, corresponde a la amplitud de la onda sinusoidal) a 3.
Manteniendo abierta la ventana del bloque Scope, ejecute la simulación. Escoja Start en el menú Simulation y observe las trazas del vector de entrada al bloque Scope.
Para guardar este modelo, seleccione Save en el menú File y especifique el nombre y la localización del archivo-M que describe el modelo. Para finalizar SIMULINK y MATLAB escoja Exit MATLAB .
Este ejercicio mostró cómo efectuar las tareas más comunes de construir modelos. Éstas y otras tareas se describen con más detalle en el resto de este capítulo.
Construcción de un modelo
Esta sección analiza las tareas que se llevan a cabo durante la construcción de un modelo. Para crear un nuevo modelo, escoja la orden New en el menú File. SIMULINK crea una nueva ventana. Puede mover la ventana de la misma forma que hace con otras ventanas.
Para editar el diagrama de un modelo existente, haga una de las dos acciones siguientes:
-
Escoja la orden Open en el menú File y especifique el archivo-M que describe el modelo que desea editar.
-
Introduzca el nombre del modelo en la ventana de orden de MATLAB.
SIMULINK crea una nueva ventana y visualiza ese modelo en la ventana.
Seleccionar objetos
Muchas acciones de edición y construcción de modelos requieren que primero seleccione uno o más bloques y líneas (objetos).
Selección de un objeto
Para seleccionar un objeto, sitúe el cursor encima del objeto y pulse el botón del ratón Aparecen pequeñas "asas" en las esquinas del objeto. Por ejemplo, la figura que sigue ( muestra la selección de un bloque Sine Wave y de una línea:
Cuando selecciona un objeto pulsando encima de él, cualquier otro que lo estuviera deja de estarlo.
3.3.1.2 Selección de más de un objeto
Puede seleccionar más de un objeto seleccionándolos uno a uno o todos a la vez si están próximos utilizando un recuadro que los englobe.
3.3.1.2.1 Selección de objetos de uno en uno
Para seleccionar más de un objeto, haciéndolo de uno en uno, mantenga pulsada la tecla Shift y pulse sobre cada objeto que desea seleccionar. Para desactivar la selección de un objeto que está seleccionado, pulse otra vez sobre el mismo mientras mantiene pulsada la tecla Shift.
3.3.1.2.2 Selección de objetos utilizando un cuadro de delimitación
Una manera fácil de seleccionar más de un objeto en la misma área de la ventana es dibujar un cuadro de delimitación alrededor de los objetos. Para definir el cuadro de delimitación haga lo siguiente:
1. Defina la esquina de comienzo de un cuadro de delimitación posicionando el puntero en un ángulo del cuadro, a continuación pulse el botón del ratón (y manténgalo así).
2. Arrastre el puntero al ángulo opuesto del cuadro.
3. Libere el botón del ratón. Quedan seleccionados todos los bloques y líneas que están parcialmente encerrados por el cuadro de delimitación.
Selección del modelo completo
Para seleccionar todos los objetos en la ventana activa, escoja Select All en el menú Edit.
Manipulación de bloques
Esta sección presenta cómo efectuar acciones útiles para construir modelos en los que intervienen bloques.
3.3.2.1 Copiar y mover bloques de una ventana a otra
Cuando construya su modelo, con frecuencia copiará bloques desde las bibliotecas de bloques de SIMULINK u otras ventanas en la ventana de su modelo. Para hacer esto, siga estos pasos:
1. Abra la biblioteca de bloques apropiada o la ventana del modelo fuente.
2. Arrastre el bloque que desea copiar en la ventana de su modelo. Para arrastrar un bloque, posicione el cursor encima del icono del bloque, a continuación mantenga pulsado el botón del ratón. Mueva el cursor dentro de la ventana del modelo y suelte el botón del ratón. Si necesita obtener información acerca de cómo seleccionar más de un bloque, vea el apartado 3.3.1.2 "Seleccionar más de un objeto".
También puede copiar bloques utilizando las órdenes Copy y Paste en el menú Edit:
1. Seleccione el bloque que desea copiar.
2. Escoja Copy en el menú Edit.
3. Seleccione la ventana en el modelo de forma que sea la ventana activa.
4. Escoja Paste en el menú Edit.
SIMULINK asigna un nombre a cada bloque copiado. Si es el primer bloque de su tipo en el modelo, su nombre es el mismo que el que tiene en la ventana de la cuál se copió. Por ejemplo, si copia el bloque Gain de la biblioteca línea en la ventana de su modelo, el nombre del nuevo bloque es Gain. Si su modelo ya contiene un bloque denominado Gain, SIMULINK añade un número de secuencia al nombre del bloque (por ejemplo, Gain 1, Gain2, etc.). Puede renombrar los bloques, vea el apartado 3.3.2.9 "Manipulación de los nombres de los bloques".
Si copia un bloque que está conectado a otros bloques, SIMULINK no copia las líneas de conexión. Si copia bloques que están conectados, SIMULINK también copia las líneas de conexión.
Cuando copia un bloque, el nuevo bloque hereda todos los valores de los parámetros del bloque original.
SIMULINK utiliza una rejilla invisible de 5 pixels para simplificar el alineamiento de objetos. Todos los objetos dentro de una de las cuadrículas se alinean con una línea de la rejilla. Puede realizar un pequeño desplazamiento del bloque hacia arriba, hacia abajo, a la izquierda o a la derecha, seleccionando el bloque y utilizando las teclas marcadas con las flechas correspondientes.
Puede copiar o mover bloques entre aplicaciones que sean compatibles, empleando las órdenes Copy, Cut y Paste. Solamente se copia la representación gráfica de los bloques, no sus parámetros.
Mover uno o más bloques de una ventana a otra es análogo a copiar un bloque, excepto que hay que mantener pulsada la tecla Shift mientras selecciona el bloque o bloques.
Mover bloques en un modelo
Para mover un único bloque de un lugar a otro en una ventana de modelo, selecciónelo y arrástrelo a una nueva posición. SIMULINK, automáticamente redirecciona las líneas conectadas al bloque que se ha movido.
Para mover más de un bloque, incluyendo las líneas de conexión haga lo siguiente:
1. Seleccione los bloques y las líneas. Si necesita más información acerca de cómo seleccionar más de un bloque, vea la sección 3.3.1.2 .'Selección de más de un objeto".
Si selecciona más de un objeto, pero lo hace de uno en uno, no libere el botón del ratón después de que haya seleccionado el último objeto. Si no, cuando pulse sobre un objeto que ya seleccionó se deselecciona. Si selecciona más de un objeto definiendo un cuadro de delimitación que los englobe, defina el recuadro; a continuación pulse sobre un objeto seleccionado y arrástrelo para arrastrar todos los objetos que están recuadrados. No pulse sobre una línea, si lo hace sólo se selecciona esa línea. Si pulsa sobre un área no ocupada del modelo, se des seleccionan todos los objetos.
2. Arrastre los bloques y las líneas seleccionadas a sus nuevas posiciones y libere el botón del ratón.
Si mueve un bloque sobre una línea existente, puede redibujar la línea seleccionándola ya continuación escogiendo Reroute Lines en el menú Options. SIMULINK vuelve a dibujar la línea de manera que rodea al bloque.
Duplicar bloques en un modelo
La forma de duplicar bloques en un modelo depende del tipo de computador que esté utilizando:
Windows: Mantenga pulsada la tecla Ctrl, seleccione el bloque con el bot6n izquierdo del ratón y arrástrelo a una nueva localización. Puede también seleccionar el bloque pulsando el botón derecho del ratón mientras el puntero se encuentra sobre el bloque y lo arrastra a una nueva posición.
Macintosh: Mantenga pulsada la tecla Ctrl, seleccione el bloque y arrástrelo a una nueva localización.
3.3.2.4 Especificación de los parámetros del bloque
Ciertos aspectos de una función de bloque se definen a través de sus parámetros. Puede asignar valores a los parámetros de un bloque accediendo a su cuadro de diálogo. Abra el bloque (haciendo un doble clic). SIMULINK visualiza el cuadro de diálogo del bloque, que lista los parámetros y sus valores actuales. Puede cambiar estos valores o aceptar los valores visualizados.
3.3.2.5 Suprimir bloques
Para suprimir uno o más bloques, selecciónelos y pulse la tecla Delete o escoja del menú Edit la opción Clear o Cut. La orden Cut escribe el bloque o los bloques en el portapapeles dejándolos disponibles para que se puedan pegar en un modelo. La utilización de la tecla Delete o de la orden Clear no afecta a los contenidos del portapapeles.
3.3.2.6 Desconectar bloques
Para desconectar un bloque del modelo sin suprimirlo, mantenga pulsada la tecla Shift y seleccione y arrastre el bloque desde su posición original en el modelo. Esta técnica es útil para convertir bloques Scope conectados en bloques Scope flotantes.
3.3.2.7 Cambiar la orientación de los bloques
Por defecto, las señales fluyen a través de un bloque de izquierda a derecha. Las entradas están en el lado izquierdo y las salidas en el lado derecho. Puede cambiar la orientación de un bloque escogiendo una de estas órdenes:
-
La orden Rotate en el menú Options gira un bloque 90 grados en el sentido de las agujas de un reloj.
-
La orden Flip Block (en un sistema Windows) o la orden Flip (en un Macintosh) en el menú Options gira el bloque 180 grados.
-
La orden Orientation en el menú Style le permite seleccionar la orientación del bloque Left to Right, Right to Left, Up o Down.
La siguiente figura muestra cómo SIMULINK ordena los puertos después de cambiar la orientación de un bloque utilizando las órdenes Rotate y Flip. Los textos en los bloques indican su orientación.
3.3.2.8 Redimensionar los bloques
Para cambiar el tamaño de un bloque, selecciónelo y arrastre cualquiera de sus asaderas de selección. El tamaño mínimo de un bloque es de cinco por cinco pixels. El tamaño máximo está limitado por el tamaño de la ventana. La forma del cursor refleja la esquina y la dirección en la que está siendo arrastrada. Mientras el bloque está siendo redimensionado, un rectángulo punteado muestra el tamaño propuesto.
Por ejemplo, la siguiente figura muestra un bloque Signal Generator al que se está modificando el tamaño. Se seleccionó la asadera inferior derecha y se arrastró a la posición del cursor. Cuando se suelta el botón del ratón, el bloque asume su nuevo tamaño. La figura muestra la apariencia del redimensionamiento de un bloque en un Macintosh (la forma del cursor es ligeramente diferente en un sistema Windows).
3.3.2.9 Manipulación de los nombres de los bloques
Todos los nombres de bloques en un modelo deben ser únicos y deben contener al menos un carácter. Por defecto, estos nombres aparecen debajo de los bloques si los puertos están en los laterales y a la derecha de los bloques si están en la parte superior o inferior, tal como se muestra en la figura que viene a continuación. Puede cambiar los nombres de los bloques y sus localizaciones.
Cambiar los nombres de los bloques
Puede editar los nombres de los bloques de una de las tres formas siguientes:
-
Seleccione el recuadro en el que se visualiza el nombre e introduzca el nuevo.
-
Coloque el punto de inserción en el nombre e introduzca el nuevo texto.
-
Arrastre el ratón para seleccionar el trozo de texto a reemplazar e introduzca el nuevo texto.
Cuando pulsa el puntero sobre otro bloque o realiza cualquier otra acción, el nombre se acepta o se rechaza. Si intenta modificar el nombre de un bloque a un nombre que ya existe o a uno que no tiene caracteres, SIMULINK visualiza un mensaje de error.
Puede modificar las fuentes utilizadas en los nombres de los bloques seleccionando el bloque o los bloques y escogiendo un tipo de fuente del sub menú Fonts que está accesible desde el menú Style.
3.3.2.9.2 Cambiar la localización de un nombre de bloque
Puede cambiar la localización del nombre de un bloque y si aparece o no eligiendo una opción del submenú Title que está accesible desde el menú Style:
-
Displayed, que es el valor por defecto, visualiza el nombre.
-
Hidden no visualiza el nombre.
-
Top/Left coloca el nombre encima del bloque cuando su orientación es Left to Right o Right to Left o a la izquierda del bloque cuando su orientación es Up o Down.
Bottom/Right, que es el valor por defecto, coloca el nombre debajo del bloque cuando su orientación es Left to Right o Right to Left o a la derecha del bloque cuando su orientación es Up o Down.
La figura que sigue a continuación muestra la posición de los nombres de bloques Top/Left.
Para más información acerca de la orientación de bloques, vea .'Cambiar la orientación de los bloques" en la página sdfefrds.
3.3.2.10 Vectorización de los bloques
Casi todos los bloques incorporados en SIMULINK aceptan entradas escalares o vectoriales y le permiten especificar parámetros de uno u otro tipo. Las descripciones de los bloques en el Capítulo 6 presentan las características de sus entradas, salidas y parámetros.
Puede determinar qué líneas en un modelo llevan señales vectoriales eligiendo la opción Wide Vector LiDes en el menú Style. SIMULINK dibuja las líneas que llevan vectores más gruesas que las que contienen escalares. La figura de la siguiente sección muestra líneas anchas y normales.
Si cambia su modelo después de elegir esta opción, debe actualizar explícitamente la visualización seleccionando la opción Update Diagram en el menú Style. Comenzar la simulación también actualiza la visualización.
3.3.2.11 Expansión escalar de entradas y parárnetros
La expansión escalar es la conversión de un valor escalar en un vector de elementos idénticos. SIMULINK aplica expansión escalar a las entradas y parámetros de bloques.
3.3.2.11.1 Entradas
Cuando se utilizan bloques que poseen más de un puerto de entrada (p.ej., el bloque Sum o el Relational Operator), puede mezclar entradas vectoriales y escalares. En este caso, las entradas escalares se expanden en vectores que tienen la misma longitud que las entradas vectoriales. Este ejemplo de un bloque Sum muestra el resultado de expandir una entrada escalar para que concuerde con el tamaño de una entrada vectorial al bloque. Observe el ancho de las líneas vectoriales.
3.3.2.11.2 Parámetros
Puede especificar los parámetros para bloques vectorizados bien como vectores o como escalares. Cuando especifica parámetros, cada elemento se asocia con el correspondiente en el vector de entrada. Cuando especifica parámetros escalares, SIMULINK aplica expansión escalar para convertirlos automáticamente en vectores del tamaño adecuado.
Este ejemplo muestra que un parámetro escalar (Gain) se expande para coincidir con el tamaño de la entrada al bloque, un vector de tres elementos.
Manipulación de líneas
Las líneas conectan la salida de un bloque a la entrada de otro bloque. Las líneas también conectan otras líneas a la entrada de un bloque. Pueden conectarse cualquier número de líneas a un puerto de salida, pero solamente se puede conectar una línea a cada puerto de entrada. {El bloque Mux es útil para combinar algunas líneas en una única línea vectorial.
3.3.3.1 Dibujar líneas entre bloques
1. Posicione el cursor sobre el puerto de salida del primer bloque. No es necesario posicionar el cursor de forma precisa sobre el puerto.
2. Presione y mantenga pulsado el botón del ratón. El cursor cambia a una forma de cruz.
3. Arrastre el puntero al puerto de entrada del segundo bloque. Puede posicionar el cursor sobre o cerca del puerto o dentro del bloque. Si coloca el cursor en el bloque, la línea se conecta al primer puerto de entrada disponible. Para conectar la línea a un puerto específico, debe posicionar el cursor sobre ese puerto antes de soltar el botón del ratón.
4. Suelte el botón del ratón. SIMULINK sustituye los símbolos de los puertos por una línea de conexión con una flecha que muestra la dirección del flujo de señal. Puede crear líneas de conexión o desde la salida a la entrada o desde la entrada a la salida. En cualquiera de los dos casos, la flecha se dibuja en el puerto de entrada apropiado y la señal es la misma.
Encaminamiento de líneas alrededor de bloques
SIMULINK encamina automáticamente las líneas alrededor de los bloques en lugar de pasar a través de ellos. Sin embargo, puede indicar a SIMULINK que dibuje una línea exactamente como desee, manteniendo pulsada la tecla Shift mientras dibuja la línea, dibujando la línea del puerto de entrada al puerto de salida o dibujando una secuencia de segmentos de líneas.
La opción Reroute Lines es útil para limpiar zonas muy pobladas de su diagrama de bloques. Utilizando el cuadro de delimitación, seleccione un área del modelo y escoja Reroute Lines en el menú Options.
3.3.3.1.2 Dibujar líneas desde otras líneas
Puede añadir una línea que comience en cualquier punto de una línea existente. Ambas líneas transportan la misma señal a sus salidas.
Por ejemplo, en la siguiente figura el diagrama del lado izquierdo muestra una única línea que va desde el bloque Product al bloque Scope. El diagrama detallado derecho muestra una línea adicional que va desde el bloque Product al bloque To Workspace. La misma señal va a cada bloque.
Para añadir una línea desde otra línea, siga estos pasos:
1. Coloque el puntero en la línea donde desea comenzar la nueva línea.
2. Mientras mantiene pulsada la tecla Ctrl (en un sistema Windows) o la tecla Option (en un Macintosh), pulse y mantenga presionado el botón del ratón.
3. Arrastre el puntero al puerto destino y suelte el botón del ratón y la tecla Ctrl u Option. SIMULINK crea una nueva línea entre los puntos de comienzo y finalización.
En un sistema Windows, puede tambien utilizar el botón derecho del ratón en lugar de mantener pulsada la tecla Ctrl mientras utiliza el botón izquierdo del ratón.
3.3.3.1.3 Dibujar un segmento de línea
Para dibujar un segmento de línea, dibuje una línea que finaliza en una zona no ocupada del diagrama. Aparece una flecha en el final no conectado de la línea. Para añadir otro segmento de línea, pulse el botón del ratón mientras el puntero está sobre la flecha y repita el procedimiento.
Puede utilizar esta técnica para dibujar una línea con segmentos exactamente donde los desee o para dibujar líneas antes de copiar bloques a los cuales se conectan las líneas. Cuando comience una simulacjón, SIMULINK proporciona un mensaje de aviso si su modelo tiene algunas líneas que no están conectadas.
La figura que se muestra a continuación tiene un segmento de línea sin conectar.
3.3.3.1.4 Ángulos de líneas
SIMULINK dibuja líneas de conexión en múltiplos de 45 grados con estas excepciones:
-
Si el puntero se mueve cerca de un puerto que está disponible, la línea se conecta a ese puerto.
-
Si crea una línea mientras mantiene pulsada la tecla Shift, SIMULINK dibuja la línea tal como la crea.
Si crea una línea moviendo el puntero sobre el bloque y lo suelta, la línea va al puerto no usado en el bloque que está más arriba o más a la izquierda.
3.3.3.2 Suprimir líneas
Para suprimir una o más líneas, seleccione la línea o líneas que se van a eliminar y pulse la tecla Delete o escoja Clear o Cut en el menú Edit.
3.3.3.3 Mover segmentos de línea
Para mover un segmento de línea siga estos pasos:
1. Posicione el puntero sobre el segmento.
2. Pulse el botón del ratón y manténgalo así.
3. Arrastre el puntero a la posición deseada.
4. Suelte el botón del ratón
No puede mover los segmentos conectados directamente a los puertos de los bloques.
3.3.3.4 Mover vértices
Para mover un vértice de una línea, posicione el puntero sobre el vértice, pulse y manténgalo así el botón del ratón, arrastre el puntero a la posición deseada y suelte el botón del ratón. No puede mover los vértices que están en los extremos de la línea.
La figura que sigue muestra la forma del cursor y el movimiento del vértice cuando lo arrastra. Puede arrastrar el vértice en cualquier dirección.
3.3.3.5 Dividir una línea en segmentos
Puede dividir una línea en dos segmentos (o un segmento de línea en dos segmentos), dejando los extremos de la línea en sus posiciones originales. SIMULINK crea segmentos de línea y un vértice que los une. Para dividir una línea en segmentos, siga estos pasos:
1. Coloque el puntero sobre la línea donde desea el vértice.
2. Mientras mantiene pulsada la tecla Shift, pulse y mantenga presionado el botón del ratón. En un sistema Windows, en lugar de utilizar la tecla Shift, pude mantener pulsados ambos botones del ratón.
3. Arrastre el puntero a la posición deseada.
4. Suelte el botón del ratón y la tecla Shift.
Resumen de las acciones con el ratón y el teclado
Esta tabla resume la utilización del ratón y del teclado para manipular bloques y líneas.
Acción de construcción del modelo | Windows | Macintosh |
Seleccionar objeto | Botón izquierdo del ratón | Botón del ratón |
Seleccionar más de un objeto | Shift +botón izquierdo del ratón | Shift +botón del ratón |
Copiar objeto de otra ventana | Seleccionar objeto y arrastrar | Seleccionar objeto y arrastrar |
Mover objeto | Seleccionar objeto y arrastrar | Seleccionar objeto y arrastrar |
Duplicar objeto | Option +botón izquierdo del ratón | Option + botón del ratón y |
y arrastrar; o botón derecho del ra- | arrastrar | |
tón y arrastrar | ||
Conectar bloques | Botón izquierdo del ratón | Botón del ratón |
Desconectar bloques | Shift + arrastrar bloque | Shift + arrastrar bloque |
Encaminar líneas alrededor de bloques | Shift + dibujar línea | Shift + dibujar línea |
Dibujar línea desde otra línea | Ctrl + arrastrar línea | Option + arrastrar línea |
Mover segmento de línea | Seleccionar segmento y arrastrar | Seleccionar segmento y arrastrar |
Mover vértice | Seleccionar vértice y arrastrar | Seleccionar vértice y arrastrar |
Dividir línea en segmentos | Shift + arrastrar línea | Shift + arrastrar línea |
Añadir anotaciones de texto al diagrama del modelo
Puede añadir texto al diagrama del modelo posicionando el puntero donde desee colocarlo, pulsando el botón del ratón y escribiendo el texto. SIMULINK centra el texto ligeramente por debajo de donde ha pulsado el botón del ratón. El texto debe ser único en el modelo. La adición de texto es útil para etiquetar las líneas y fechar el modelo.
Es posible modificar las fuentes usadas en las anotaciones de los textos seleccionándolas mediante un cuadro de delimitación y escogiendo una fuente del submenú Fonts, que está accesible en el menú Style.
3.3.6 Crear subsistemas
Cuando su modelo aumenta en tamaño y complejidad, puede simplificarlo agrupando bloques en subsistemas. El agrupamiento es útil por una serie de razones:
-
Ayuda a reducir el número de bloques visualizados en la ventana de su modelo.
-
Permite mantener juntos a bloques que están funcionalmente relacionados.
-
Hace posible establecer un diagrama de bloques jerárquico ( donde los bloques del subsistema están en un nivel y los subsistemas en otro).
Puede crear un subsistema de dos maneras: en primer lugar añadiendo un bloque Subsystem a su modelo y luego disponiendo los bloques que contiene; en segundo lugar , añadiendo los bloques que constituyen el subsistema y posteriormente agrupándolos.
Para crear un subsistema antes de añadir los bloques que contiene, inserte un bloque Subsystem y cree los bloques que constituyen el subsistema de la forma siguiente:
1. Copie el bloque Subsystem de la biblioteca Connections en su modelo.
2. Abra el bloque Subsystem haciendo una doble pulsación sobre él.
3. En la ventana que está vacía del bloque Subsystem, cree el correspondiente subsistema.
Utilice bloques Inport para representar las entradas que vienen desde fuera del sub sistema y bloques Outport para las salidas externas. Por ejemplo, el bloque Sum que se muestra a continuación es el único bloque de un subsistema. El diagrama representa el bloque y sus bloques Inport y Outport asociados:
Si ya ha creado los bloques que desea convertir en un subsistema, haga lo siguiente:
1. Encierre los bloques y líneas de conexión que desea incluir en el subsistema dentro de un cuadro de delimitación. No puede especificar los bloques que se van a agrupar seleccionándolos individualmente. Por ejemplo, la figura que viene a continuación muestra un modelo que representa un contador. Los bloques Sum y Delay se seleccionan dentro de un cuadro de delimitación:
Cuando suelta el botón del ratón, se seleccionan los dos bloques y todas las líneas de conexión.
2. Escoja Group en el menú Options. SIMULINK reemplaza los bloques que están en el grupo por un único bloque Subsystem. La figura muestra el modelo después de escoger la orden Group:
Como con todos los bloques, puede cambiar el nombre del bloque Subsystem. También, puede personalizar el icono y el cuadro de diálogo del bloque utilizando una característica de SIMULINK llamada enmascaramiento. Para obtener más información vea el siguiente capítulo.
Si efectúa una doble pulsación sobre el bloque Subsystem, SIMULINK visualiza su modelo subyacente. La figura muestra el resultado de abrir el bloque Subsystem del modelo anterior:
3.3.7 Modelar ecuaciones
Uno de los temas más confusos para los nuevos usuarios de SIMULINK es cómo modelar ecuaciones. Algunos ejemplos le ayudarán a comprender cómo modelarlas.
3.3.7.1 Conversión de grados centígrados en Fahrenheit
Modelemos la ecuación que convierte grados centígrados a grados Fahrenheit:
En primer lugar, consideremos los bloques que se necesitan para construir el modelo:
-
Un bloque Gain de la biblioteca Linear, para multiplicar la señal de entrada por 9/5.
-
Un bloque Constant de la biblioteca Sources, para definir una constante de 32
-
Un bloque Sum de la biblioteca Linear, para sumar las dos cantidades.
-
Un bloque Sine Wave de la biblioteca Sources, para introducir la señal.
-
Un bloque Scope de la biblioteca Sinks, para visualizar la salida.
A continuación, reúna los bloques en la ventana de su modelo:
Asigne valores a los bloques Gain y Constant abriendo cada uno de ellos (mediante una doble pulsación) e introduciendo los valores apropiados. Pulse el botón OK. Ajuste la amplitud del bloque Sine Wave a 10 para conseguir una mayor variación de temperatura. Ahora, conecte los bloques.
El bloque Sine Wave representa la temperatura en grados centígrados. El bloque Gain genera 9/5(Tc). Ese valor se suma a la constante 32 mediante el bloque Sum. La salida de ese bloque es la temperatura en grados Fahrenheit. Abra el bloque Scope para visualizar la salida. Fije Time Range en algún pequeño valor de tiempo, por ejemplo 10 segundos. Fije Ymax e Ymin de forma que pueda visualizar todas las salidas. Mantenga abierto el bloque Scope.
Especifique los parámetros de simulación seleccionando Parameters en el menú Simulation. Especifique un tiempo de parada de 10 segundos y un tamaño de paso máximo de 0.1. Esos valores deberían ejecutar la simulación rápidamente. Ahora, escoja Start en el menú Simulation para ejecutar la simulación.
3.3.7.2 Modelar un sistema continuo sencillo
Modelemos la siguiente ecuación diferencial:
dx = -2x + u
El bloque Integrator integra su entrada y produce x. Otros bloques necesitados en este modelo incluyen un bloque Gain y un bloque Sum. Para generar una onda cuadrada, utilice un bloque Signal Generator. Otra vez, visualice la salida empleando un bloque Scope. Reúna los bloques y defina el valor de la ganancia del bloque Gain.
En este modelo, para invertir la dirección del bloque Gain, escoja Flip Block (en un sistema Windows) o Flip (en un Macintosh) en el menú Options. También, para crear la línea de la salida del bloque Integrator al bloque Gain mantenga pulsada la tecla Ctrl (en un sistema Windows) o la tecla Options (en un Macintosh) mientras dibuja la línea. Ahora puede conectar todos los bloques.
Un concepto importante en este modelo es el bucle que incluye al bloque Sum, al bloque Integrator y al bloque Gain. En esta ecuación, x es la salida del bloque Integrator así como la entrada a los bloques que calculan X, sobre el cual se basa. Esta relación se implementa utilizando un bucle.
El bloque Scope visualiza x en cada paso de tiempo. Para una simulación que dura 10 segundos y que el Time Range del bloque Scope es de 1, la salida que resulta se muestra en la figura.
La ecuación modelada en este ejemplo se puede expresar también como una función de transferencia. El modelo usa el bloque Transfer Fcn, que acepta como entrada a u y genera como salida x. Así, el bloque implementa x/u. Si sustituye sx por x en la ecuación diferencial anterior, obtiene:
sx = -2x + u
Resolviendo para x nos da:
x = u/(s + 2)
O,
x/u = I/(s+2)
.
El bloque Transfer Fcn usa parámetros para especificar el numerador y el denominador. En este caso, el numerador es 1 y el denominador es s + 2. Especifique ambos términos como vectores con los coeficientes de las potencias sucesivamente decrecientes de s; en este caso el numerador es [1] y el denominador es [1 2].
El modelo es ahora bastante simple:
Los resultados de la simulación son idénticos a los del modelo anterior.
3.4 Guardar el modelo
Puede guardar un modelo escogiendo la orden Save o Save As en el menú File. SIMULINK guarda el modelo generando un archivo.M que contiene las órdenes en MATLAB necesitadas para recrear el modelo.
Si está guardando un modelo por primera vez, utilice la orden Save para asignarle un nombre y una localización al archivo.M. Rellene el cuadro de diálogo que aparece y pulse el botón OK para guardar el archivo.
Si está guardando un modelo cuyo archivo.M fue guardado previamente, utilice la orden Save para sustituir el contenido del archivo.M o la orden Save As para guardarlo con un nombre nuevo o en una localización diferente. La orden Save es destructiva; es decir, eligiendo esta orden destruirá la versión previa del modelo.
3.5 Imprimir un diagrama de bloques
Puede imprimir un diagrama de bloques seleccionando Print en el menú File o introduciendo la orden print en la ventana de órdenes de MATLAB.
La orden Print en el menú File imprime el diagrama de bloques del sistema (o subsistema) actualmente abierto. Esta orden no imprime ningún bloque Scope que esté abierto.
La orden print de MATLAB puede dirigir su salida a la impresora o a un archivo Post. Script o PostScript encapsulado (eps). Esta orden no imprime ningun bloque Scope que esté abierto. El formato de la orden print es:
print -smodelo -ddispositivo nombrearchivo
donde los parárnetros son como sigue:
-
modelo: El nombre del sistema que se va a imprimir. Si se omite, se imprime el sistema actual. El sistema debe estar abierto. Si el nombre del sistema contiene espacios, utilice comillas simples alrededor del nombre. Represente los caracteres de nueva línea como 13 (vea el ejemplo que viene a continuación).
-
dispositivo: Uno de los siguientes dispositivos PostScript o Windows:
Los dispositivos PostScript incluyen:
-
ps: PostScript para impresoras en blanco y negro
-
psc: PostScript para impresoras en color
-
ps2: Nivel 2 de PostScript para impresoras en blanco y negro
-
psc2: Nivel 2 de PostScript para impresoras en color
-
eps: PostScript encapsulado (EPSF)
-
epsc: PostScript color encapsulado (EPSF)
-
eps2: Nivel 2 de PostScript encapsulado (EPSF)
-
epsc2:Nivel 2 de PostScript color encapsulado (EPSF)
Los dispositivos Windows incluyen:
-
win: Impresora actualmente instalada, imprime en monocromo
-
winc: Impresora actualmente instalada, imprime en color
-
meta: Portapapeles, en formato Metafile
-
bitmap: Portapapeles en formato bitmap
-
setup: Presenta el cuadro de diálogo Print Setup pero no imprime
-
nombrearchivo: El archivo PostScript en el que se guarda la salida. Si nombrearchivo ya existe se reemplaza. Si nombrearchivo no incluye una extensión, se añade una apropiada.
Cuando especifique una de las opciones del dispositivo EPS (eps, epsc, eps2 yepsc2) no de un nombre de archivo, la orden print automáticamente crea un archivo EPS. Por ejemplo, la siguiente orden imprime el modelo actual (sin título) y automáticamente escribe la salida en un archivo EPS llamado Untitled.eps:
print -sUntitled -deps
MATLAB crea un archivo con nombre después del modelo y emite el siguiente mensaje:
Encapsulated PostScript files cannot be sent to printer.
File saved to disk under name 'Untitled.eps'.
Si el nombre del sistema contiene espacios, estos se sustituyen por el carácter de subrayado. Por ejemplo, la orden siguiente imprime un archivo de nombre Untitled:
print -sUntitled
La siguiente orden imprime un sistema de nombre Two-Line System, un subsistema cuyo nombre aparece en dos líneas. La salida se escribe en un archivo llamado twoline.
print ( [ '-sTwo-line' 13 'System' ], 'twoline')
No puede controlar el tamaño del sistema cuando la salida a imprimir se envía directamente a la impresora. Si el diagrama es mayor que el tamaño de página, SIMULINK lo reduce para que quepa en la página. Para controlar el tamaño de la salida a imprimir, diríjala a un archivo eps o a un bitmap y manipule su tamaño utilizando un programa de procesamiento de texto.
Para obtener más información acerca de la orden print, vea la documentación de MATLAB.
3.6 Consejos para la construcción de modelos
A continuación damos algunos consejos que pueden ayudarle para conseguir que sea un buen usuario de SIMULINK:
-
Cuestiones relativas a la memoria
En general, cuanta más memoria tenga su computador mejor funciona SIMULINK. Menos memoria significa que la simulación no se puede ejecutar hasta su finalización antes de que necesite más memoria, para lo cual tiene que intercambiar zonas de memoria con el disco, retardando así la simulación.
-
Utilización de jerarquía
Los modelos más complejos se benefician a menudo de añadirle la jerarquía de los subsistemas. El agrupamiento de bloques simplifica el nivel superior del modelo y puede facilitar su lectura y comprensión.
-
Aceleración de la simulación
Una velocidad lenta de simulación puede tener muchos orígenes. Aquí están algunos:
- Bloque MATLAB Fcn -Cuando un modelo incluye un bloque MATLAB Fcn, el intérprete de MATLAB se llama en cada paso de tiempo. Esto reduce drásticamente la velocidad de simulación. Utilice, siempre que sea posible, el bloque Fcn que incorpora MATLAB.
- Pasos de tiempo o períodos de muestreo pequeños (o mezclar períodos muestreo que no son múltiplos unos de otros) - mantenga el tamaño del paso suficientemente pequeño para capturar los sucesos importantes durante la simulación. Sin embargo, un tamaño de paso demasiado pequeño puede producir más puntos de salida de los necesarios y hacer más lenta la simulación.
- Lazos algebraicos - Las soluciones de los lazos algebraicos son iterativas y se efectúan en cada paso de tiempo. Por lo tanto, degradan severamente la velocidad.
- No conecte como entrada de un bloque Integrator un bloque Random Number. Para sistemas continuos utilice el bloque Band-Limited White Noise de la biblioteca Sources.
-
Limpieza de los modelos
Modelos limpios y bien organizados son más fáciles de leer y de comprender. También las etiquetas pueden ayudarle a explicar lo que está aconteciendo en un modelo.
-
Estrategias de modelado
Generalmente, cuando se construye un modelo, primero se trabaja sobre papel y luego se construye utilizando el computador. Cuando comienza a colocar los bloques juntos utilizando SIMULINK, añádalos a la ventana del modelo sin incluir las líneas que los conectan (este concepto se llama "reunir, luego conectar"). De esta forma, puede reducir el número de veces que necesita abrir las bibliotecas de bloques.
-
Simulación y análisis
Este capítulo presenta modelos de simulación y análisis de los resultados. Se estudian los temas siguientes:
-
Cómo trabaja SIMULINK.
-
Simulación.
-
Linealización.
-
Determinación de puntos de equilibrio.
La sección sobre "Simulación" enseña cómo especificar los parámetros de simulación y cómo iniciar una simulación desde el menú Simulation y desde la ventana de órdenes de MATLAB. También expone los diferentes métodos de integración.
Las secciones de análisis estudian las herramientas que proporciona SIMULINK para la linealización y la determinación de puntos de equilibrio.
4.1 Cómo trabaja SIMULINK
Cada bloque dentro de un modelo SIMULINK tiene estas características generales: Un conjunto de entradas u, un conjunto de salidas y, y un conjunto de estados x:
El vector de estado puede constar de estados continuos, estados discretos o una combinación de ambos. Las relaciones matemáticas entre estas cantidades se expresan mediante las ecuaciones siguientes:
La simulación consta de dos fases: inicialización y simulación. Algunas acciones tienen lugar durante la fase de inicialización.
En primer lugar, los parámetros del bloque se pasan a MATLAB para su evaluación.
Los valores numéricos resultantes se utilizan como los parámetros actuales del bloque.
En segundo lugar, la jerarquía del modelo se reduce a su nivel inferior. Es decir, cada subsistema se sustituye por los bloques que contiene.
En tercer lugar, los bloques se disponen en el orden en que se necesita que se actualicen. El algoritmo de ordenación construye una lista tal que cualquier bloque con alimentación directa no se actualiza hasta que se calculan los bloques que excitan sus entradas. Es durante este paso cuando se detectan los lazos algebraicos. Para más información acerca de los lazos algebraicos vea la sección siguiente.
Finalmente, se comprueban las conexiones entre los bloques para asegurar que la longitud del vector de la salida de cada bloque coincide con la entrada que esperan los bloques a los que se conecta.
Ahora la simulación está ya preparada para poderse ejecutar. Un modelo se simula utilizando integración numérica. Cada uno de los integradores suministrados (métodos de simulación) depende de la capacidad del modelo para proporcionar las derivadas de sus estados continuos. Calcular estas derivadas es un proceso de dos pasos. Primeramente se calcula la salida de cada bloque en el orden determinado durante su ordenación. A continuación, en un segundo paso, cada bloque calcula su derivada basándose en el tiempo actual, sus entradas y sus estados. El vector derivado resultante se devuelve al integrador, que lo utiliza para calcular un nuevo vector de estado. Una vez que se ha calculado el nuevo vector de estado se actualizan los bloques de datos muestreados y los bloques de tipo "scope".
4.1.1 Lazos algebraicos
Lazos algebraicos o implícitos ocurren cuando dos o más bloques con alimentación directa de sus entradas forman un lazo de realimentación. Cuando esto ocurre, SIMULINK debe efectuar iteraciones en cada paso para determinar si existe una solución a este problema. Los lazos algebraicos reducen considerablemente la velocidad de una simulación y pueden ser no resolubles; evítelos siempre que sea posible.
Ejemplos de bloques con alimentación directa son:
-
Bloques Gain
-
La mayoría de los bloques no lineales (p. ej. Look-Up table, Rate Limiter).
-
Bloques Transfer Fcn, cuando el numerador y el denominador tienen el mismo orden.
-
Bloques Zero-Pole, cuando hay tantos ceros como polos
-
Bloques State-Space, cuando hay una matriz D distinta de cero
Éste es un ejemplo simple de un sistema con un lazo algebraico. El lazo consta de los bloques Sum, Transfer Fcn y Gain.
SIMULINK informa de un error cuando no puede resolver un lazo algebraico en 200 iteraciones de una rutina de Newton-Raphson.
Para romper lazos algebraicos en lugar de permitir a SIMULINK que los resuelva de forma iterativa, inserte un bloque Memory entre dos bloques cualesquiera incluidos en el lazo. El bloque Memory aplica un retardo de un paso de integración. Cuando se utiliza para romper un lazo algebraico es siempre el primer bloque dentro del lazo que se evalúa. Puede también emplear un bloque Transfer Fcn o un bloque Zero-Pole. Si un bloque Transfer Fcn forma parte del lazo, puede romperlo añadiendo un polo de alta frecuencia de magnitud relativamente pequeña.
4.2 Simulación
Puede ejecutar una simulación seleccionando órdenes desde los menús de SIMULINK o introduciéndolas desde la ventana de órdenes de MATLAB.
Seleccionar órdenes desde los menús es rápido de aprender, simple de utilizar y puede proporcionar resultados rápidos. Puede visualizar gráficamente la conducta del sistema con bloques tipo scope. Trabajar de esta forma es más útil cuando está creando y depurando un sistema.
La introducción de órdenes de simulación y análisis desde la ventana de órdenes de MATLAB o desde los propios programas le permite visualizar los efectos de cambiar los bloques o los parámetros de integración. Puede efectuar análisis de tipo Monte- Carlo modificando aleatoriamente los parámetros y ejecutando simulaciones en un lazo.
Cada uno de estos métodos puede resultar apropiado en diferentes etapas del desarrollo del modelo.
4.2.1 Parámetros de simulación
Antes de que ejecute una simulación, debería especificar los parámetros de simulación y elegir el método de integración. Los parámetros de simulación incluyen:
-
Tiempo de comienzo y finalización.
-
Tamaño del paso mínimo.
-
Tamaño del paso máximo.
-
Tolerancia o error relativo.
-
Variables de retorno.
Cuando ejecuta la simulación utilizando órdenes del menú, asigna los parámetros de simulación seleccionando Parameters en el menú Simulation, después selecciona un método de integración y rellena los parámetros en el cuadro de diálogo de Control Panel (Windows) o Simulation parameters (Macintosh).
Cuando ejecuta la simulación utilizando la ventana de órdenes, especifica los parámetros con la orden que invoca el método de integración y arranca la simulación.
4.2.1.1 Tiempos de comienzo y finalización
Los parámetros Start Time y Stop Time especifican los valores de t en los que la simulación comienza y termina. El tiempo de simulación y el tiempo del reloj de pared no son iguales. Por ejemplo, si se ejecuta una simulación durante 10 segundos, normalmente no se emplearán 10 segundos. La cantidad de tiempo que lleva ejecutar una simulación depende de muchos factores, entre los que se incluyen la complejidad del modelo, los tamaños de paso mínimo y máximo y la velocidad del reloj del computador.
4.2.1.2 Tamaño de paso mínimo
El parámetro Minimun Step Size es el tamaño de paso utilizado al comienzo de una simulación. Los integradores no emplean un tamaño de paso por debajo de este valor cuando generan un punto de salida a menos que el sistema contenga bloques discretos con períodos de muestreo más pequeños que el tamaño de paso mínimo. Un punto de salida es un punto generado en un bloque tipo sumidero (sink), tales como los bloques Scope o To Workspace o devuelto en una trayectoria de estado o de salida. Un punto de salida se genera después que se han completado las iteraciones del método de integración.
Generalmente, el tamaño de paso mínimo se debería fijar a un valor pequeño (p. ej., 1e-6). Sin embargo, cuando hay discontinuidades en el sistema, si se asigna un valor muy pequeño al tamaño de paso mínimo puede originar que se genere un número enorme de puntos. Esto podría malgastar la memoria y los recursos de cálculo disponibles. Por otra parte, si se asigna un valor grande a este parámetro puede producir una simulación poco precisa, ya que es posible que no se consideren sucesos que son significativos.
4.2.1.3 Tamaño de paso máximo
Asigne el tamaño de paso máximo bastante pequeño para que la simulación no deje de tomar en cuenta detalles importantes. Un tamaño de paso relativamente grande puede originar que algunos modelos se hagan inestables.
Algunas veces una simulación produce resultados que son precisos pero que no son buenos para generar gráficas suaves. En tal caso, puede ser necesario limitar el tamaño de paso máximo de forma que los resultados gráficos tengan una apariencia regular .Por ejemplo, es a menudo necesario limitar el tamaño de paso en linsim cuando el sistema es lineal y las entradas son lineales a tramos, debido a que este método es capaz de tomar pasos arbitrariamente grandes sin perder precisión.
4.2.1.4 Tolerancia o error relativo
El parámetro Tolerance (Windows) o Relative Error (Macintosh) controla el error relativo aceptable de la integración en cada paso. En general, este parámetro se debería fijar en el rango que va desde 0.1 a 1e-6. Cuanto más pequeño sea el valor, más pasos de integración hay que utilizar, lo que origina una simulación más precisa. No obstante, cuando la tolerancia se fija a un valor muy pequeño (1e-10) puede producir un paso tan pequeño que el error de redondeo aumenta muy significativamente.
4.2.1.5 Variables de retorno
Puede especificar nombres de variables en este campo para conseguir que SIMULINK escriba valores para el tiempo y las trayectorias de estado y de salida en el espacio de trabajo. La primera variable almacena el tiempo, la segunda el estado y la tercera la salida.
4.2.2 Simulación desde el menú
La ejecución de una simulación desde el menú permite efectuar ciertas operaciones de forma interactiva durante una simulación:
-
Cambiar los parámetros de un bloque, a condición de que no origine un cambio en el número de estados, entradas o salidas para ese bloque.
-
Cambiar cualquier parámetro de simulación excepto las variables de retorno y el tiempo de comienzo.
-
Cambiar el método de simulación.
-
Simular al mismo tiempo otro sistema.
-
Pulsar sobre una línea para ver la señal que transporta esa línea sobre un bloque Scope de tipo flotante (no conectado).
Cambios en la estructura del modelo durante una simulación, tales como añadir o suprimir líneas o bloques, originan que se pare la simulación. Seleccione otra vez Start para ver el resultado del cambio.
Asigne los parámetros de simulación escogiendo Parameters en el menú Simulation. SIMULINK visualiza el cuadro de diálogo Simulation parameters (Macintosh) o Control Panel (Windows) que se muestra a continuación.
Este cuadro de diálogo le permiten escoger el método de integración y definir los parámetros de simulación. Puede especificar parámetros como valores numéricos, nombres de variables o expresiones válidas en MATLAB. Si utiliza variables, SIMULINK obtiene los valores del espacio de trabajo.
Cuando ha definido los parámetros de simulación, está ya todo preparado para iniciar la simulación. Ejecuta una simulación seleccionando Start del menú Simulation. Puede emplear también las teclas Ctrl-T en un sistema Windows o ....-T en un Macintosh.
Puede suspender una simulación que está en ejecución escogiendo Pause en el menú Simulation y proseguir con una simulación que ha quedado en suspenso seleccionando Continue.
4.2.3 Visualización de las trayectorias de salida
Las trayectorias de salida de SIMULINK se pueden representar gráficamente utilizando uno de los tres métodos siguientes:
-
Bloques Scope
-
Variables de retorno y las órdenes de representación gráfica de MATLAB
-
Bloques To Workspace y las órdenes de representación gráfica de MATLAB
4.2.3.1 Utilización del bloque Scope
El bloque Scope se puede utilizar para visualizar trayectorias de salida mientras la simulación está en ejecución. El modelo sencillo que se muestra a continuación es un ejemplo del uso del bloque Scope.
La visualización en el bloque Scope es bastante básica; muestra la trayectoria de salida sin ninguna anotación. Los bloques Scope de tipo Graph, tales como el bloque AutoScale Graph Scope, el bloque Graph Scope y el bloque xy Graph Scope proporcionan ejes y tipos de líneas con colores pero se ejecutan más lentamente que el bloque Scope.
4.2.3.2 Utilización de las variables de retorno
Devolviendo el tiempo y las historias de las salidas a MATLAB , puede utilizar las órdenes de representación gráfica de MATLAB para visualizar y poner anotaciones a dichas trayectorias.
El bloque etiquetado y es un bloque Outport de la biblioteca Connections. La trayectoria de salida y se devuelve por la función de integración. Por ejemplo, llamando al sistema tfout e invocando a la simulación desde la línea de orden:
[t, x, y] = linsim ('tfout', 2);
produce historias temporales. Podría también ejecutar esta simulación desde el menú Simulation especificando [t, x, y] como el parámetro Return Variables. Puede entonces representar gráficamente estos resultados utilizando:
plot (t, y)
4.2.3.3 Utilización del bloque Workspace
El bloque To Workspace se puede utilizar para devolver trayectorias de salida al espacio de trabajo de MATLAB. El modelo que se muestra a continuación ilustra este método:
Las variables y, y t aparecen en el espacio de trabajo cuando se completa la simulación. El vector de tiempos se almacena alimentando un bloque Clock en el bloque To Workspace. El vector de tiempos se puede obtener también introduciendo t en el campo Return Variables para simulaciones conducidas por menú o retornándola desde la función de integración:
t = linsim ('tfout', 2);
El bloque To Workspace puede aceptar una entrada vectorial donde cada trayectoria de los elementos de entrada se almacena como un vector columna en la variable del espacio de trabajo resultante.
5 Utilización de máscaras para personalizar los
bloques
Utilizando las funciones de enmascaramiento de SIMULINK, puede personalizar los bloques o los subsistemas creando un nuevo cuadro de diálogo y opcionalmente un nuevo icono del bloque. En este capítulo se estudian los temas siguientes:
-
Una visión general del proceso de enmascaramiento.
-
Creación de un bloque con máscara.
-
Creación de iconos para bloques con máscaras
Una visión general del proceso
El enmascaramiento proporciona estos beneficios:
-
Protege a los usuarios de su modelo de complejidades innecesarias.
-
Proporciona una interfaz de usuario descriptiva y útil.
-
Protege los contenidos de los bloques de alteraciones no intencionadas.
Un uso importante del enmascaramiento es que le permite crear un cuadro de diálogo simple para aceptar parámetros para más de un bloque en un subsistema. Como consecuencia de esto, en lugar de tener que proporcionar valores de parámetros para algunos bloques en muchos cuadros de diálogo, puede combinar todos esos bloques en un subsistema y definir un cuadro de diálogo simple que acepte valores para esos parámetros.
La creación de una máscara para este uso lleva consigo los pasos siguientes:
1. Abrir cada bloque, asignando nombres de variable a los parámetros cuyos valores desea proporcionar en el nuevo cuadro de diálogo.
2. Crear el subsistema.
3. Seleccionar el bloque del subsistema y elegir Mask en el menú Options.
4. Rellenar el cuadro de diálogo del enmascaramiento. La próxima sección presenta este paso con más detalle.
5. Pulsar el botón OK para crear el bloque con máscara. El bloque del subsistema visualiza el icono que definió en el cuadro de diálogo del enmascaramiento. Si abre el bloque del subsistema con máscara, SIMULINK visualiza el nuevo cuadro de diálogo que ha creado.
5.2 Creación de un bloque con máscara
La orden enmascarar sólo funciona sobre un bloque subsystem. Por otra parte, un bloque subsystem debe contener dos bloques en su interior como mínimo. No tiene sentido crear un bloque subsystem con un solo bloque
Construyamos un sencillo modelo utilizando como entrada un bloque Sine Wave, un bloque Transfer Fcn y un bloque Scope. En el cuadro de diálogo del bloque Transfer Fcn, defina el numerador como [Wn^2] y el denominador como [1 2*zeta*Wn Wn^2]. Cuando conectamos los bloques el modelo es similar al que se muestra a continuación:
Podemos crear un subsistema agrupando el bloque Sin Wave y Transfer Fcn, para enmascararlo posteriormente. Quedaría algo así:
5.2.1 Rellenar el cuadro de diálogo de la máscara
Para enmascarar el bloque Subsystem , seleccione el bloque y escoja Mask Subsystem del menú Edit. El cuadro de diálogo del enmascaramiento, que se muestra a continuación, le permite describir el bloque con máscara definiendo sus campos de parámetros, las órdenes de inicialización, el icono y el texto de ayuda. El título del cuadro de diálogo y el nombre y tipo del bloque se derivan del bloque que está siendo enmascarado.
SIMULINK crea un nuevo cuadro de diálogo y un icono para el bloque con máscara utilizando la información que se le proporciona en este cuadro de diálogo: el tipo de bloque, su título, sus etiquetas del campo de parámetros del cuadro de diálogo, como se inicializa el bloque, como es el icono del bloque y el texto visualizado cuando pulsa el botón Help en el cuadro de diálogo del bloque.
Las secciones que vienen a continuación presentan cada campo de parámetro en el cuadro de diálogo del enmascaramiento.
5.2.1.1 El campo Mask Type
Especifique el tipo de bloque para el bloque con máscara en el campo Mask type. El tipo de bloque es una descripción del bloque arbitraria que no tiene efecto sobre el comportamiento del bloque. Aparece en el cuadro de diálogo del bloque como el título y como el texto en el campo Mask type.
5.2.1.2 El campo Drawing commands
En este campo se definirá el aspecto que presentará el bloque. Se pueden introducir ordenes de Matlab como plot, disp, ...
Para más información consulte el capítulo 5.3
5.2.1.3 El campo órdenes de inicialización
Especifica como se inicializa el bloque en el campo Initialization Las órdenes de inicialización pueden usar valores introducidos en los campos de parámetros en el nuevo cuadro de diálogo de la máscara.
Para introducir un nuevo valor, pulsamos la casilla add, e introducimos una descripción de la variable en la casilla prompt, y le indicamos la variable a la que queremos hacer referencia en la casilla variable.
5.2.1.4 Especificar la descripción del bloque
La descripción del bloque aparece como texto informativo en el cuadro debajo del nombre y tipo del bloque.
5.2.1.5 El campo Block Help
Puede opcionalmente especificar una entrada de ayuda para el bloque con máscara en el campo Block Help. El texto que introduce se visualiza cuando pulsa el botón Help en el cuadro de diálogo del bloque con máscara.
Para incluir rotura de líneas en el texto de ayuda, incluya '\n' donde desea romper la línea. No es necesario incluir espacios en blanco antes o después de '\n'.
5.2.1.6 Especificar una orden de MATLAB
Si desea que SIMULINK evalúe una orden de MATLAB en lugar de abrir el cuadro de diálogo del bloque, especifique esa orden en este campo. Para especificar una orden de MATLAB, inclúyala en una sentencia eval ( y no especifique la descripción del bloque y las etiquetas del campo de parámetro.
Por ejemplo, introduciendo la orden siguiente en el campo Initialization commands en la pestaña Initialization del cuadro de diálogo de la máscara dibuja la gráfica de una línea recta cada vez que se efectúa una doble pulsación sobre el bloque:
eval ('plot (1:10)')
5.2.2 Enmascaramiento de subsistemas que contienen bloques
con máscaras
En SIMULINK puede crear máscaras complejas, multiniveles, pasar variables a través de muchos niveles de enmascaramiento. Para crear estas máscaras, simplemente enmascare el subsistema que contiene el bloque o los bloques con máscara utilizando los mismos nombres de variable en cada nivel. SIMULINK pasa esos parámetros al bloque apropiado cuando el usuario introduce valores en el cuadro de diálogo de bloque con máscara.
5.2.3 Desenmascaramiento de un bloque con máscara
Puede desenmascarar un bloque con máscara seleccionando el bloque, y eligiendo Unmask del menú Options. SIMULINK visualiza el bloque (o el subsistema) con su icono por defecto.
Importante. Para retener la información de enmascaramiento acerca de un bloque que ha desenmascarado, debe enmascarar ese bloque antes de que desenmascare otro bloque. Si no, se pierde la información de enmascaramiento.
La figura que se muestra a continuación ilustra la relación entre el bloque original sin máscara y el nuevo bloque con máscara.
5.2.4 Modificación de la información de enmascaramiento para
un bloque
Para modificar la información de enmascaramiento de un bloque siga los pasos siguientes:
1. Seleccione el bloque.
2. Escoja Mask en el menú Options. Aparece el cuadro de diálogo de la máscara actual.
3. Modifique la información y pulse en el botón OK.
5.3 Creación de iconos para bloques con máscaras
Puede proporcionar un icono más distintivo o descriptivo para su bloque con máscara especificando información en el campo Drawing commands en el cuadro de diálogo Mask. Utilizando este campo, puede crear iconos que muestran texto descriptivo, ecuaciones de estado o gráficos.
5.3.1 Visualización de texto en el icono
Para visualizar texto, introduzca el texto en el campo Drawing commands. Para insertar una ruptura de línea en la etiqueta del icono, introduzca '\n'. No es necesario añadir un espacio en blanco antes o después de '\n'. Por ejemplo, la figura que se muestra a continuación presenta dos ejemplos de textos introducidos en el campo Drawing commands y los iconos resultantes.
5.3.2 Visualización de funciones de transferencia en el icono
Para visualizar una función de transferencia continua en el icono de bloque, introduzca la siguiente orden en el campo Drawing commands:
dpoly (num, den)
Cuando crea la máscara, el icono del bloque visualiza la función de transferencia. Cuando ejecute el modelo e introduzca valores para los parámetros Natural Frequency y Damping Coefficient, SIMULINK evalúa la función de transferencia y visualiza la ecuación resultante en el icono. Por ejemplo, si introduce 2 y 0.707 para los parámetros, el icono del bloque tendría la apariencia siguiente:
Para visua1izar una función de transferencia discreta en potencias descendentes de z, introduzca:
dpoly (num, den, 'z')
Para visualizar una función de transferencia discreta en potencias ascendentes de 1/z, introduzca:
dpoly (num, den, 'z-')
Para visualizar una función de transferencia en el formato ganancia-ceros-polos, introduzca esta orden:
droots (z, p, k)
Cuando introduzca cualquiera de estas órdenes y pulse en el botón OK, SIMULINK visualiza mensajes de error que indican que un parámetro no está definido. SIMULINK es incapaz de generar la ecuación de la función de transferencia hasta que se introducen los valores para los parámetros en el cuadro de diálogo del bloque con máscara. Hasta entonces, el icono del bloque visualiza tres interrogaciones. Cuando el usuario introduce valores, el icono cambia para reflejar el dibujo resultado de la orden.
5.3.3 Visualización de gráficos en el icono
Puede visualizar una gráfica en el icono del bloque con máscara introduciendo la orden plot en el campo Drawing commands. Esta orden plot es similar a la orden plot de MATLAB excepto que no se especifican tipos de líneas y que debe especificar vectores en parejas x, y a menos que los datos sean complejos. No hay límite al número de parejas x, y ,y la gráfica es autoescalada.
A continuación detallamos el conjunto de órdenes necesarias para definir el icono del bloque House2
Para examinar las órdenes de dibujo utilizadas para generar gráficas en los bloques con máscaras de SIMULINK siga el procedimiento siguiente:
1. Copie el bloque en la ventana de su modelo.
2. Seleccione el bloque y escoja Mask en el menú Options. SIMULINK visualiza el cuadro de diálogo de Mask. Examine el campo Drawing commands.
3. Para retener el bloque como un bloque con máscara, pulse en el botón OK.
Si la gráfica es dependiente de variables definidas en la máscara, el icono del bloque visualizará tres interrogaciones hasta que se introduzcan los valores para esas variables.
5.3.4 Utilización de iconedit para crear el icono
La utilidad iconedit proporciona una forma fácil de generar gráficas simples para un icono. Para utilizar iconedit, escriba iconedit en la ventana de orden de MATLAB. MATLAB le pide que identifique la ventana del modelo y el bloque cuyo icono desea crear y visualiza una ventana de figura con unos ejes y unas líneas de rejilla.
Para comenzar a dibujar la gráfica, realice las siguientes acciones:
1. Posicione el cursor en forma de cruz donde desea que comience la gráfica y pulse el botón del ratón.
Aparece un asterisco en la rejilla en la posición del cursor. Si pulsa el botón del ratón en el lugar erróneo, escriba 'd' para suprimir ese punto.
2. Mueva el cursor donde desea que aparezca el siguiente punto y pulse el botón del ratón. iconedit conecta las líneas y dibuja otro asterisco en el segundo punto.
3. Continúe moviendo el cursor y pulsando el botón del ratón. Escriba 'q' cuando acabe. iconedit visualiza la orden que genera la gráfica en la ventana de órdenes, introduce la orden en el campo Display commands del cuadro de diálogo de la máscara del bloque y genera el icono.
Descargar
Enviado por: | Sin datos |
Idioma: | castellano |
País: | España |