Contenido principal

Crear un modelo simple

Puede utilizar Simulink® para modelar un sistema y luego simular su comportamiento dinámico. Las técnicas básicas utilizadas para crear un modelo simple en este tutorial son las mismas que se utilizan para modelos más 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 y finalmente se detiene.

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 modeloRepresentar el acelerador
GainMultiplicar la señal de entrada por un valor constanteCalcular cómo accionar el acelerador influye en la aceleración del automóvil
Second-Order IntegratorIntegrar la señal de entrada dos vecesObtener la posición a partir de la aceleración
OutportDesignar una señal como salida del modeloDesignar 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 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. Haga clic en la plantilla Blank Model.

    Se abre el editor de Simulink.

    Para evitar la sobreescritura, 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 árbol de la biblioteca, expanda una categoría y, a continuación, un área funcional.

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.

Sugerencia

Puede volver a examinar la estructura de árbol de la biblioteca haciendo clic en Library Tab.

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

Obtenga información detallada sobre un bloque. En la pestaña Search Results, haga clic con el botón secundario en el bloque Pulse Generator y, después, seleccione Help for the Pulse Generator block. Se abrirá la documentación y se mostrará la página de referencia del bloque.

Los bloques suelen tener varios parámetros. En la mayoría de los bloques, puede acceder a sus parámetros haciendo doble clic en el bloque.

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. En primer lugar, añada un bloque Pulse Generator desde Library Browser.

    Desde la biblioteca Sources, arrastre el bloque Pulse Generator al editor de Simulink. Se añade al modelo un bloque Pulse Generator con el valor predeterminado de 1 para el parámetro Amplitude.

    The Pulse Generator block with a default value of 1 for the Amplitude parameter.

    Los valores de los parámetros se mantienen a lo largo de la simulación.

  2. Añada un bloque Outport con el menú de inserción rápida.

    Double-click anywhere in the model canvas. In the quick insert menu that appears, enter out. A list of blocks appears. Verify that the Outport block from the Simulink library is selected. Check the library name listed under the block name and the block description in the details pane to the right of the search results.

    Sugerencia

    Para ocultar el panel de detalles, haga clic en la flecha . Para mostrar el panel de detalles, vuelva a hacer clic en la flecha.

    Quick insert menu with the keyword "out" displayed in the search text box

    Añada el bloque Outport al modelo pulsando Enter.

    Para obtener más información sobre el menú de inserción rápida, consulte Add Blocks to Models Using Quick Insert Menu.

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

    BloqueBibliotecaParámetro
    GainSimulink/Math Operations

    Ganancia: 2

    Second-Order IntegratorSimulink/Continuous

    Condición inicial: 0

    Añada un segundo bloque Outport copiando el existente y pegándolo en otro punto utilizando accesos directos del teclado.

    Ahora el modelo tiene los bloques necesarios.

  4. Organice los bloques haciendo clic y arrastrando cada uno. Para cambiar el tamaño de un bloque, arrastre una esquina del bloque.

    Arranged blocks from left to right.

Conectar bloques

Conecte los bloques creando líneas entre puertos de salida y puertos de entrada. Luego, guarde el modelo.

  • Conecte el puerto de salida del bloque Pulse Generator al puerto de entrada en el bloque Gain.

  • Conecte el puerto de salida del bloque Gain al puerto de entrada en el bloque Second-Order Integrator.

  • Conecte las dos salidas del bloque Second-Order Integrator a los dos bloques Outport.

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 port hint symbol.

  2. Para ver el indicador de conexión, apunte al símbolo de comilla angular de apertura port hint symbol.

  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.

Esta animación muestra cómo conectar bloques en el modelo.

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

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, haga clic en Run .

Ver datos de simulación

Para ver los resultados de la simulación en Simulation Data Inspector, haga clic en Data Inspector .

Para representar datos en Simulation Data Inspector, seleccione señales de la tabla 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

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

  1. Seleccione la señal en el modelo.

  2. En la pestaña Simulation, haga clic en 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 la simulación en Simulation Data Inspector, haga clic en Data Inspector . Seleccione las señales actual distance y measured distance para representar ambas en la misma gráfica de tiempo.

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 .

En Simulation Data Inspector, haga clic en Visualizations and layouts . Luego, cree un diseño de 3×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