Contenido principal

Crear un modelo simple

Puede utilizar Simulink® para modelar un sistema y luego simular su comportamiento dinámico. En este ejemplo, se crea un modelo simple, pero se pueden utilizar las mismas técnicas básicas para crear modelos complejos. Este ejemplo simula el movimiento simplificado de un automóvil. Un automóvil se desplaza cuando se acciona el acelerador. Cuando se suelta el acelerador, el automóvil disminuye la velocidad hasta detenerse por completo y queda en ralentí.

Un bloque de Simulink es un elemento de modelo que define una relación matemática entre su entrada y su salida. Para crear este modelo simple, necesita cuatro bloques de Simulink.

Nombre del bloqueFinalidad del bloqueFinalidad del modelo
Pulse GeneratorGenerar una señal de entrada para el modelo.Representar el acelerador.
GainMultiplicar la señal de entrada por un valor constante.Calcular cómo accionar el acelerador influye en la aceleración del automóvil.
Second-Order IntegratorIntegrar la señal de entrada dos veces.Obtener la posición a partir de la aceleración.
OutportDesignar una señal como salida del modelo.Designar la posición como salida del modelo.

A Simulink model with Pulse Generator, Gain, Second-Order Integrator block, and two Outport blocks.

Al simular este modelo, se integra un impulso breve dos veces para obtener una rampa. El impulso de entrada representa el accionamiento del acelerador: 1 cuando se acciona y 0 cuando no. La rampa de salida es la distancia ascendente a partir del punto de partida.

Abrir un modelo nuevo

Utilice Simulink Editor para construir modelos.

  1. Inicie MATLAB®. En la barra de herramientas de MATLAB, haga clic en el botón de Simulink .

    The Simulink start page shows two tabs, New and Examples. The New tab is selected and shows a list of templates you can open.

  2. Seleccione la plantilla Blank Model.

    Se abre Simulink Editor.

    Para evitar la sobreescritura o tener más de un modelo con el mismo nombre abierto a la vez, Simulink Editor comprueba los modelos y los archivos cargados en la ruta y crea un modelo con el siguiente nombre disponible untitled, untitled1, untitled2, y así sucesivamente.

    Empty Simulink Editor

  3. En la pestaña Simulation, seleccione Save > Save as. En el cuadro de texto File name, introduzca un nombre para el modelo, por ejemplo, simple_model. Haga clic en Save. El modelo se guarda con la extensión de archivo .slx.

Abrir Simulink Library Browser

Simulink proporciona un conjunto de bibliotecas de bloques organizadas por funcionalidad en Library Browser. Estas bibliotecas son comunes para la mayoría de los flujos de trabajo:

  • Continuous: bloques para sistemas con estados continuos

  • Discrete: bloques para sistemas con estados discretos

  • Math Operations: bloques que implementan ecuaciones algebraicas y lógicas

  • Sinks: bloques que almacenan y muestran las señales que se conectan a ellos

  • Sources: bloques que generan los valores de señal que impulsan el modelo

Para abrir Library Browser, en la barra de herramientas de Simulink, en la pestaña Simulation, haga clic en Library Browser.

Library Browser

Para examinar las bibliotecas de bloques, en la estructura de bibliotecas, expanda una biblioteca y sus subbibliotecas.

Para buscar en todas las bibliotecas de bloques disponibles, introduzca un término de búsqueda. Por ejemplo, busque el bloque Pulse Generator. En el cuadro de búsqueda, introduzca pulse y presione Enter. El software busca en las bibliotecas los bloques con la palabra pulse en su nombre o descripción y los despliega en la pestaña Search Results de Library Browser. Puede volver a examinar la estructura de bibliotecas haciendo clic en la pestaña Library.

The Simulink Library Browser displays the results for the search term pulse, which include Pulse Generator and Continuous Pulse Generator blocks.

Añadir bloques a un modelo

Para empezar a construir un modelo, añada bloques al área de diseño del modelo. Para añadir bloques, utilice Library Browser o el menú de inserción rápida.

  1. Añada un bloque Pulse Generator. En la estructura de árbol de Library Browser, expanda la biblioteca de Simulink. Expanda la subbiblioteca Sources. Arrastre el bloque Pulse Generator al área de diseño del modelo.

    Pulse Generator block

  2. Añada un bloque Gain. Haga doble clic en el área de diseño del modelo. En el menú de inserción rápida que aparece, introduzca gain. Aparecerá una lista de bloques.

    Quick insert menu showing search results for "gain"

    Múltiples bloques diferentes pueden tener el mismo nombre, siempre que estén almacenados en diferentes archivos de bibliotecas. Las bibliotecas a las que pertenece un bloque se enumeran debajo del nombre del bloque. Compruebe que el bloque Gain de la biblioteca de Simulink esté seleccionado. Si no lo está, seleccione el bloque mediante las teclas de dirección o haciendo clic en el nombre del bloque.

    Para obtener información sobre el bloque seleccionado, lea la descripción en el panel de detalles situado a la derecha de los resultados de búsqueda. Para ver la documentación completa del bloque, haga clic en Documentation. Para consultar ejemplos relacionados con el bloque, haga clic en los enlaces de Examples. Para ocultar o mostrar el panel de detalles, haga clic en la flecha situada en la parte superior derecha.

    Añada el bloque seleccionado al modelo pulsando Enter o haciendo doble clic en la selección.

    Gain block

  3. Añada estos bloques al modelo mediante Library Browser o el menú de inserción rápida.

    BloqueBiblioteca
    Out1Biblioteca de Simulink, subbiblioteca Sinks
    Second-Order IntegratorBiblioteca de Simulink, subbiblioteca Continuous

  4. Añada un segundo bloque Out1 copiando el existente y pegándolo en otro punto utilizando los accesos directos del teclado Ctrl+C y Ctrl+V (en macOS, utilice comando+C y comando+V). Ahora el modelo tiene los bloques necesarios.

Conectar bloques

Conecte:

  • El bloque Pulse Generator al bloque Gain.

  • El bloque Gain al bloque Second-Order Integrator.

  • El bloque Second-Order Integrator a los dos bloques Out1.

Por ejemplo, para conectar el bloque Pulse Generator al bloque Gain:

  1. Haga clic en el puerto de salida a la derecha del bloque Pulse Generator.

    El puerto de salida y todos los puertos de entrada aptos para una conexión se indican con una comilla angular de apertura azul (>).

  2. Para ver el indicador de conexión, apunte al símbolo de comilla angular de apertura (>).

  3. Haga clic en el indicador para conectar los bloques con una línea y una flecha que indican la dirección del flujo de señales.

Para más información sobre cómo conectar bloques, consulte Connect Blocks.

An animation shows how to connect the Pulse Generator block to the Gain block.

Cuando haya conectado los bloques, alinee los bloques Pulse Generator, Gain y Second-Order Integrator arrastrando cada uno de ellos. Para cambiar el tamaño de un bloque, arrastre una esquina del bloque.

Para modelos grandes, en lugar de arrastrar los bloques individuales, puede mejorar el diseño del modelo mediante organización automática. Haga clic con el botón secundario en el área de diseño del modelo. Aparece el menú contextual Top Model. En los menús contextuales de Simulink, las opciones de formato, como el cambio de los colores o la fuente, o la organización automática del modelo, están situadas en la barra de formato. Para expandir la barra de formato, en la parte superior del menú, haga clic en la flecha . Luego, haga clic en el botón Auto Arrange .

Top Model context menu with the format bar expanded

Sugerencia

Para ver la ayuda contextual que explica qué acciones se pueden ejecutar al pulsar un botón del menú contextual, coloque el puntero sobre el icono del botón.

The Top Model context menu is open with the format bar expanded. The pointer is paused on the Auto Arrange button, and next to the button is a tooltip with the text "Auto Arrange".

La opción de organización automática alinea los bloques y endereza las líneas de conexión.

Block diagram after auto-arrange

Editar los valores de los parámetros de bloque

Los bloques tienen valores de parámetros que se pueden modificar. Para descubrir qué parámetros se pueden modificar en un bloque y qué tipo de valores adoptan los parámetros, abra la documentación del bloque. Haga clic con el botón secundario del ratón y, en la esquina superior derecha del menú contextual, haga clic en el botón Open help documentation .

Para algunos bloques, como los bloques Constant o Gain, puede cambiar un valor de parámetro directamente en la parte visible del bloque. Cambie el valor de ganancia del bloque Gain del modelo de ejemplo a 2. Seleccione el bloque, haga clic en su valor, introduzca el valor nuevo y, después, pulse Enter.

También puede cambiar el valor de ganancia en el cuadro de diálogo Block Parameters. Para abrir el cuadro de diálogo Block Parameters, haga doble clic en el bloque. Alternativamente, haga clic con el botón secundario en el bloque y, después, haga clic en el botón Block Parameters . En el cuadro de diálogo que se abre, cambie el valor Gain a 2 y pulse Enter.

Block parameters dialog box with the Gain value set to 2

Una tercera opción es utilizar Property Inspector. Seleccione el bloque Gain. Para abrir Property Inspector, pulse Ctrl+Mayús+I (en macOS, presione comando+opción+O). Alternativamente, haga clic con el botón secundario en el bloque y, después, haga clic en el botón Property Inspector . En Property Inspector, en la pestaña Parameters, cambie el valor Gain a 2.

Para cambiar los valores de parámetros no mostrados en el icono de bloque, utilice el cuadro de diálogo Block Parameters o Property Inspector. Si no ve el nombre de un parámetro cuyo valor desea cambiar en el cuadro de diálogo Block Parameters, consulte Property Inspector y viceversa.

Ejecutar la simulación

Especifique el tiempo de detención de la simulación. Luego, simule el modelo.

  1. En la pestaña Simulation, establezca el tiempo de detención de la simulación. En la barra de herramientas de Simulink, en la pestaña Simulation, introduzca el valor en el cuadro de texto Stop Time.

    Simulation stop time is displayed on the Simulation tab of the toolstrip

    El tiempo de detención predeterminado de 10.0 es adecuado para este modelo. Este valor de tiempo no tiene unidades. La unidad de tiempo en una simulación de Simulink depende de cómo se construyan las ecuaciones. Este ejemplo simula el movimiento simplificado de un automóvil durante 10 segundos, pero otros modelos pueden representar las unidades de tiempo en milisegundos o en años.

  2. Para simular el modelo, pulse Ctrl+T (en macOS, pulse comando+T). Alternativamente, en la barra de herramientas, en la pestaña Simulation, haga clic en Run .

Ver datos de simulación

Para ver los resultados de simulación en Simulation Data Inspector, haga clic con el botón secundario en una de las líneas de conexión y, después, haga clic en el botón View in Data Inspector .

Para representar datos en Simulation Data Inspector, seleccione señales de la lista de comprobación a la izquierda. Por ejemplo, para representar la posición del automóvil, seleccione la señal denominada Out1:1.

The Simulation Data Inspector shows the position of the car in a time plot.

Ajustar el modelo

Puede perfeccionar un modelo cambiando los parámetros de bloque, añadiendo bloques nuevos, realizando nuevas conexiones y anotando líneas de conexión.

Cambiar los parámetros de un bloque

Este ejemplo modela un sensor de proximidad basado en un modelo de movimiento existente denominado moving_car.

En esta situación, un sensor digital mide la distancia entre el automóvil y un obstáculo a 10 m (30 pies) de distancia. El modelo genera la medición del sensor y la posición del automóvil, teniendo en cuenta las siguientes condiciones:

  • El automóvil frena cuando alcanza el obstáculo.

  • En el mundo físico, un sensor mide la distancia de forma imprecisa, lo que genera errores numéricos aleatorios.

  • Un sensor digital funciona a intervalos de tiempo fijos.

Abra el modelo moving_car.

open_system("moving_car.slx");

Primero debe modelar el tope rígido cuando la posición del automóvil alcanza 10. El bloque Integrator, Second-Order tiene un parámetro para ese fin.

  1. Haga doble clic en el bloque Integrator, Second-Order. Aparece el cuadro de diálogo Block Parameters.

  2. Seleccione Limit x e introduzca 10 para Upper limit x. El color de fondo del parámetro cambia para indicar una modificación que no se aplica al modelo. Haga clic en OK para aplicar los cambios y cierre el cuadro de diálogo.

Añadir nuevos bloques y conexiones

Modifique el modelo para añadir un sensor que mida la distancia desde el obstáculo. Amplíe la ventana del modelo para incluir los nuevos bloques si es necesario.

  • Para encontrar la distancia entre la posición del obstáculo y la del vehículo, añada un bloque Constant de la biblioteca Sources y establezca el valor del bloque en 10. Para encontrar la distancia entre la posición del obstáculo y la del vehículo, añada el bloque Subtract de la biblioteca Math Operations.

  • Para simular las mediciones imperfectas de un sensor real, añada ruido al modelo utilizando el bloque Band-Limited White Noise de la biblioteca Sources. Haga doble clic en el bloque para establecer el parámetro Noise power en 0.001. Añada el ruido a la medición de distancia utilizando un bloque Add de la biblioteca Math Operations.

  • En Simulink, el muestreo de una señal a cada intervalo dado requiere un muestreo y retención. Añada el bloque Zero-Order Hold de la biblioteca Discrete. Después, haga doble clic en el bloque para cambiar el parámetro Sample Time a 0.1.

  • Para registrar la salida del sensor, conecte el bloque Zero-Order Hold a otro bloque Outport.

Conecte los nuevos bloques. La salida del bloque Second-Order Integrator ya está conectada a otro puerto. Para crear una rama en esa señal, haga clic con el botón izquierdo en la señal para resaltar los puertos que se pueden conectar y, a continuación, haga clic en el puerto que corresponda.

The original model connected to a sensor to measure the distance between the car and an obstacle.

Anotar señales

Añada nombres de señales al modelo.

  1. Haga doble clic en la señal y agréguele un nombre.

    A highlighted signal is labeled pedal position

  2. Para finalizar, haga clic fuera del cuadro de texto.

  3. Repita estos pasos para añadir los nombres como se muestra.

    Model with named signals. The signal between Pulse Generator block and the Gain block is named pedal position. The signal between the Gain block and the Integrator, Second-Order block is named acceleration. The signal between the Subtract block and the Add block is named actual distance. The signal between the Zero-Order Hold block and the Outport block is named measured distance. The signal between the first output port of the Integrator, Second-Order block and the first Outport block is named position. The signal between the second output port of the Integrator, Second-Order block and the second Outport block is named velocity.

Ver múltiples señales

Compare la señal actual distance con la señal measured distance. La señal measured distance se registra como salida. Para registrar la señal actual distance, puede marcarla para el registro de señales. Haga clic con el botón secundario en la línea de conexión y, después, haga clic en el botón Log Signals . Un símbolo de registro indica que la señal se ha marcado para su registro.

Simule el modelo. Para ver los resultados de simulación en Simulation Data Inspector, haga clic con el botón secundario en la línea de conexión y, después, haga clic en el botón View in Data Inspector . Expanda las listas de comprobación Outports y Signals. Para representar ambas señales en la misma gráfica de tiempo, seleccione las señales actual distance y measured distance.

The Simulation Data Inspector shows the actual distance and the measured distance values.

La gráfica muestra que la medición puede desviarse del valor real en hasta 0,3 m. Esta información resulta útil al diseñar funcionalidades de seguridad, como una advertencia de colisión.

Ver señales en subgráficas separadas

También puede analizar resultados visualizando las señales en subgráficas separadas. Por ejemplo, puede añadir subgráficas para las señales pedal position y velocity para ver la relación entre la posición del pedal, la velocidad del automóvil y la distancia entre el automóvil y el obstáculo.

Marque la señal pedal position para incorporarla al registro de señales. Haga clic con el botón secundario en la línea de conexión pedal position y, después, haga clic en el botón Log Signals .

Simule el modelo. Cuando la simulación finalice, en Simulation Data Inspector, haga clic en Visualizations and layouts . Luego, cree un diseño de 3 por 1 especificando el número de filas y columnas de la cuadrícula.

The Visualizations and layouts menu. In the Grid section, the number of rows is specified as 3 and the number of columns is specified as one.

Añada la señal velocity a la subgráfica central y la señal pedal position a la subgráfica inferior. Para añadir una señal a una subgráfica, seleccione la subgráfica y, después, seleccione la señal de la tabla de señales.

The Simulation Data Inspector with three vertically aligned subplots. The top subplot shows the actual and measured distance of the car from the obstacle. The middle subplot shows the velocity. The bottom subplot shows the gas pedal position.

Si visualiza los datos en tres subgráficas, se puede observar cómo el accionamiento del acelerador afecta a la velocidad del automóvil y su distancia al obstáculo. Para seguir explorando este tema, puede cambiar el comportamiento del acelerador ajustando los parámetros del bloque Pulse Generator. Para abrir el cuadro de diálogo Block Parameters para el bloque Pulse Generator, haga doble clic en el bloque. Por ejemplo, modele el accionamiento del acelerador durante un segundo dos veces estableciendo Period en 5 y Pulse Width en 20.

Simule el modelo. En Simulation Data Inspector, pulse la barra espaciadora para ajustar las señales a la vista.

The Simulation Data Inspector with three vertically aligned subplots with data from a simulation that models pressing the gas pedal for one second twice. The top subplot shows the actual and measured distance of the car from the obstacle. The middle subplot shows the velocity. The bottom subplot shows the gas pedal position.

En Simulation Data Inspector, puede seguir inspeccionando los datos personalizando el aspecto de las gráficas y las señales, haciendo zoom y desplazándose, y añadiendo cursores de datos. Para obtener más información, consulte Create Plots Using the Simulation Data Inspector.

Consulte también

Bloques

Herramientas

Temas