Sincronización en modelos de interfaz de hardware
Tiempo de simulación
Cuando los bloques de su modelo de Simulink® deben interactuar con dispositivos de hardware, es posible que tenga que considerar cuánto tiempo tarda la simulación en ejecutarse en tiempo real en comparación con el tiempo de simulación, y con qué frecuencia y cuántas veces se ejecutan los bloques de interfaz de hardware durante una simulación. Por lo general, las velocidades de comunicación de su hardware son relativas al tiempo real o al tiempo cronológico. Puede ajustar la duración de la simulación, la velocidad de ejecución de los bloques y el ritmo de la simulación para adaptarla a los requisitos de su hardware. Este tema analiza conceptos básicos de temporización en modelos de interfaz de hardware, utilizando pasos fijos para la ejecución de bloques.
Una simulación tiene una duración definida por una hora de inicio y una hora de finalización. La duración predeterminada es de 10 unidades de tiempo de simulación (o segundos simulados). Estos segundos de simulación no son necesariamente equivalentes a los segundos en tiempo real medidos por un reloj de pared.
Para ajustar la duración del modelo, abra el cuadro de diálogo Parámetros de configuración del modelo. En la barra de herramientas Simulink, en la pestaña Modeling, haga clic en Model Settings. En el panel izquierdo, seleccione Solver. Los ajustes Start time y Stop time definen la duración. En la mayoría de los casos, Start time debe ser 0.0, y puede configurar Stop time para reflejar la duración que desea que tenga la simulación.
A medida que se ejecuta una simulación, la sincronización para la ejecución de bloques se realiza mediante una serie de pasos de tiempo. Con una configuración para un solucionador automático con tamaños de paso de tiempo fijos, durante la compilación Simulink calcula la frecuencia del paso de tiempo para acomodar la configuración de parámetros Sample time de todos los bloques en el modelo. Por ejemplo, si todos los bloques temporizados del modelo tienen un ajuste de tiempo de muestreo de 0,01 o un múltiplo de este, entonces un tamaño de paso de tiempo de 0,01 funciona para todo el modelo.
Tiempo de muestreo del bloque
Para modelos que interactúan con dispositivos de hardware, es posible que prefiera pasos de tiempo fijos a una velocidad específica. Por ejemplo, es posible que necesite una resolución de milisegundos para controlar la relación de temporización de sus bloques. Configure las opciones de temporización de la siguiente manera:
Start time:
0.0Stop time:
10.0Type:
Fixed-stepSolver:
discreteFixed-step size:
0.001
La imagen muestra el cuadro de diálogo con estas configuraciones.

En este modelo, un bloque con una configuración predeterminada Sample time de 0.01 se ejecuta cada diez pasos de tiempo, o 1001 veces en una simulación de 10 segundos. Otro bloque que deba ejecutarse al doble de velocidad debe tener Sample time configurado como 0.005.
Nota
En la mayoría de los casos, puede dejar la configuración Fixed-step size en auto, lo que permite que Simulink calcule el tiempo de muestreo fundamental apropiado en función de todas las configuraciones del bloque.
Debido a que la duración de la simulación es de 10 segundos simulados, y el período Sample time del bloque es de 0,01 segundos simulados, ese bloque se ejecuta 1001 veces en una simulación completa (incluidos el primer y el último paso). La simulación se ejecuta tan rápido como lo permiten sus bloques, y esas 1001 ejecuciones podrían tardar bastante menos de 10 segundos de tiempo real. Por lo tanto, la simulación en tiempo real viene determinada por la rapidez con la que puede ejecutar los bloques del modelo durante el número de iteraciones requerido. A menudo, el objetivo de la simulación es modelar el comportamiento de una manera que requiera menos tiempo que en una situación del mundo real. En estos casos, la secuencia y la repetición de la ejecución de los bloques son importantes, mientras que el lapso real de tiempo en el mundo real puede no serlo.
Simulación de modelo de estimulación
Es posible que necesite que un modelo interactúe con un dispositivo de hardware repitiendo alguna operación a intervalos fijos de tiempo real. Por ejemplo, un bloque podría leer repetidamente datos de un termómetro o enviar señales de activación a un generador de señales externo para que este emita una secuencia de pulsos.
Cuando se establece el bloque Sample time en 0.1, se controla la velocidad de ejecución del bloque solo en tiempo de simulación. Para correlacionar el tiempo de simulación con el tiempo real, puede utilizar el control de ritmo de la simulación para ralentizarla y que se ejecute al ritmo del tiempo real. Para acceder al cuadro de diálogo Opciones de ritmo de simulación, en la barra de herramientas Simulink, en la pestaña Simulation, haga clic en la flecha del botón Run y luego seleccione Simulation Pacing.
Para controlar el ritmo de la simulación, seleccione Enable pacing to slow down simulation. Por defecto, la relación entre el tiempo de simulación y el tiempo real es 1, lo que significa que simular un modelo durante un segundo de tiempo de simulación está programado para tomar aproximadamente un segundo de tiempo real.

Con esta configuración de ritmo, un bloque Sample time de 0.1 es aproximadamente igual a 0,1 segundos de reloj de pared, lo que resulta en diez ejecuciones de bloques por segundo. Así, un bloque que genera un pulso de salida del dispositivo cada 0,1 segundos de simulación, ahora genera 10 pulsos por segundo de reloj.
Para obtener información sobre los casos que requieren una sincronización más precisa con el tiempo real, consulte Real-Time Simulation and Testing.
Consulte también
Herramientas
- Simulation Pacing Options (Simulink)
Temas
- ¿Qué es el tiempo de muestreo? (Simulink)