Está en la página 1de 67

1 ¿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.

2.1 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.


2.1.1 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.

2.1.2 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.

2.2 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.

2.3 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.

3.1 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).


3.2 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.
3.3 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.

3.3.1 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).

3.3.1.1 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.

3.3.1.2.3 Selección del modelo completo

Para seleccionar todos los objetos en la ventana activa, escoja Select All en el
menú Edit.

3.3.2 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.
3.3.2.2 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.

3.3.2.3 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.

3.3.2.9.1 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.

3.3.3 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.

3.3.1.2.3 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.

3.3.2 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
Windows Macintosh
del modelo
Seleccionar objeto Botón izquierdo del ratón Botón del ratón
Seleccionar más de un Shift +botón izquierdo
Shift +botón del ratón
objeto del ratón
Copiar objeto de otra Seleccionar objeto y Seleccionar objeto y
ventana arrastrar arrastrar
Seleccionar objeto y Seleccionar objeto y
Mover objeto
arrastrar arrastrar
Option +botón izquierdo
Duplicar objeto Option + botón del ratón y
del ratón
y arrastrar; o botón
arrastrar
derecho del ra-
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
Shift + dibujar línea Shift + dibujar línea
de bloques
Dibujar línea desde otra línea Ctrl + arrastrar línea Option + arrastrar línea
Seleccionar segmento y Seleccionar segmento y
Mover segmento de línea
arrastrar arrastrar
Seleccionar vértice y Seleccionar vértice y
Mover vértice
arrastrar arrastrar
Dividir línea en segmentos Shift + arrastrar línea Shift + arrastrar línea
3.3.3 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
∂x
El bloque Integrator integra su entrada y produce x. Otros bloques
∂t
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

5.1 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.