Main Content

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. Los resultados se muestran en la ventana Scope. El impulso de entrada representa el accionar 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 el editor de Simulink para construir modelos.

  1. Inicie MATLAB®. En la barra de herramientas de MATLAB, haga clic en Simulink .

    The Simulink start page has two tabs, New and Examples, from which you can open a new template or an example.

  2. Haga clic en la plantilla Blank Model.

    Se abre el editor de Simulink.

    Para evitar la sobreescritura, el editor de Simulink 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. Las siguientes 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 pulse 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 (Pestaña Library).

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 (Buscar resultados), haga clic con el botón secundario en el bloque Pulse Generator (Pulsar generador) y, a continuación, seleccione Help for the Pulse Generator block (Ayuda para el bloque Pulse Generator). Se abrirá el navegador de ayuda y se mostrará la página de referencia para el bloque.

Los bloques suelen tener varios parámetros. Puede acceder a todos los parámetros de un bloque haciendo doble clic en este.

Añadir bloques a un modelo

Para empezar a construir el modelo, examine la biblioteca y añada los bloques.

  1. Desde la biblioteca Sources, arrastre el bloque Pulse Generator al editor de Simulink. Aparece una copia del bloque Pulse Generator en su modelo con un cuadro de texto para el valor del parámetro Amplitude. Introduzca 1.

    The Pulse Generator block with a value of 1 entered in the text box prompt to specify the Amplitude parameter.

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

  2. Añada estos bloques al modelo utilizando el mismo método.

    BloqueBibliotecaParámetro
    GainSimulink/Math Operations

    Ganancia: 2

    Second-Order IntegratorSimulink/Continuous

    Condición inicial: 0

    OutportSimulink/Sinks

    Número de puerto: 1

    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.

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

    Arranged blocks from left to right.

Conectar bloques

Conecte los bloques creando líneas entre puertos de salida y puertos de entrada.

  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.

    Five unconnected blocks include, from left to right, a Pulse Generator block, a Gain block, a Second Order Integrator block, and two Outport blocks. The output port of the Pulse Generator block and the input ports of the other blocks display blue chevron port hint symbols.

  2. Apunte a port hint symbol para ver el indicador de conexión.

    A connection cue is displayed between the Pulse Generator block and the Gain block.

    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.

    An arrow represents the connection between the Pulse Generator block and the Gain block.

  3. Conecte el puerto de salida de Gain block al puerto de entrada en el bloque Second-Order Integrator.

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

  5. Guarde su modelo. En la pestaña Simulation, haga clic en Save.

    All the blocks are connected.

Añadir visor de señales

Para ver los resultados de la simulación, conecte la primera salida a un bloque Signal Viewer.

Haga clic en la señal. En la pestaña Simulation, en Prepare, haga clic en Add Viewer. Seleccione Scope. Aparece un icono de visor en la señal y se abre una ventana scope.

A viewer icon appears on the signal between the Second-Order Integrator block and Outport block for output 1.

Puede abrir un scope en cualquier momento haciendo doble clic en el icono.

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 campo 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 Simulink depende de cómo se construyan las ecuaciones. Este ejemplo simula el movimiento simplificado de un automóvil durante 10 segundos. Otros modelos pueden representar las unidades de tiempo en milisegundos o en años.

  2. Para ejecutar la simulación, haga clic en Run .

La simulación se ejecuta y genera la salida en el visor scope.

A scope viewer shows the output of the simulation.

Ajustar el modelo

Cambiar los parámetros de un bloque

Este ejemplo toma un modelo existente, moving_car.slx, y modela un sensor de proximidad basado en este modelo de movimiento.

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.

Para empezar, abra el modelo moving_car. En la línea de comandos de MATLAB, introduzca:

open_system('moving_car.slx');

Primero debe modelar la parada 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

Añada un sensor que mida la distancia desde el obstáculo.

  1. Modifique el modelo. Amplíe la ventana del modelo para incluir los nuevos bloques si es necesario.

    • Encuentre la distancia real. 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. Añada también el bloque Constant de la biblioteca Sources para establecer el valor constante de 10 para la posición del obstáculo.

    • Modele la medición imperfecta que es habitual en un sensor real. Genere ruido utilizando el bloque Band-Limited White Noise de la biblioteca Sources. Establezca el parámetro Noise power en 0.001. Añada el ruido a la medición utilizando un bloque Add de la biblioteca Math Operations.

    • Modele un sensor digital que se dispare cada 0,1 segundos. 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 de añadir el bloque al modelo, cambie el parámetro Sample Time a 0.1.

    • Añada otro bloque Outport para conectar a la salida del sensor. Conserve el valor predeterminado del parámetro Port number.

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

    With the signal between the Second-Order Integrator block and the Outport block selected, the software suggests connecting the signal line to the minus input port of the Subtract block.

Anotar señales

Añada nombres de señales al modelo.

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

    Highlighted signal is called 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 called pedal position. The signal between the Gain block and the Integrator, Second-Order block is called acceleration. The signal between two Subtract blocks is called actual distance. The signal between the Zero-Order Hold block and the Outport block is called measured distance.

Comparar varias señales

Compare la señal actual distance con la señal measured distance.

  1. Cree y conecte un bloque Scope Viewer a la señal actual distance. Haga clic con el botón secundario en la señal y seleccione Create & Connect Viewer > Simulink > Scope. El nombre de la señal aparece en el título del visor.

  2. Añada la señal measured distance al mismo visor. Haga clic con el botón secundario en la señal y seleccione Connect to Viewer > Scope1. Asegúrese de que se está conectando al visor que creó en el paso anterior.

    Window after right clicking a signal. Scope 1 is selected.

  3. Simule el modelo. El visor scope muestra las dos señales, actual distance en amarillo y measured distance en azul.

    The scope viewer shows the actual distance and the measured distance values.

  4. Haga zoom en la gráfica para observar el efecto del ruido y el muestreo. Haga clic en Zoom. Haga clic con el botón izquierdo y arrastre un cuadro por la región que desea ver más de cerca.

    A rectangular box in the scope viewer window shows the region selected to zoom.

    Puede repetir esta acción según sea necesario para observar los detalles.

    The zoomed region in the scope viewer

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.

Consulte también

Bloques

Temas relacionados