Timing dans les modèles d’interface hardware
Temps de simulation
Lorsque les blocs de votre modèle Simulink® doivent s’interfacer avec des dispositifs hardware, il peut être nécessaire d’examiner la durée d’exécution de la simulation en temps réel par rapport au temps de simulation, ainsi que la fréquence et le nombre d’exécutions des blocs d’interface hardware pendant la simulation. En général, les fréquences de communication du hardware se rapportent au temps réel, ou durée chronométrée. Vous pouvez ajuster la durée de simulation, la fréquence d’exécution des blocs et la cadence de la simulation en fonction des exigences hardware. Cette rubrique examine les concepts de base du timing dans les modèles d’interface hardware en utilisant des pas fixes pour l’exécution des blocs.
Une simulation a une durée définie par une heure de début et une heure de fin. La durée par défaut est de 10 unités de temps de simulation (ou secondes simulées). Ces secondes de simulation ne sont pas nécessairement équivalentes aux secondes de temps réel mesurées par un chronomètre.
Pour ajuster la durée du modèle, ouvrez sa boîte de dialogue « Configuration Parameters ». Accédez à Simulink Toolstrip et dans l’onglet Modeling, cliquez sur Model Settings. Dans le volet de gauche, sélectionnez Solver. Les paramètres Start time et Stop time définissent la durée. Dans la plupart des cas, Start time doit être à 0.0. Vous pouvez définir Stop time en fonction de la durée de simulation souhaitée.
Pendant l’exécution d’une simulation, le chronométrage de l’exécution des blocs s’effectue selon une série de pas de temps. Lorsqu’un solveur automatique est configuré avec des tailles de pas de temps fixes, Simulink calcule lors de la compilation la fréquence de pas de temps nécessaire en fonction des paramètres Sample time de tous les blocs du modèle. Par exemple, si tous les blocs chronométrés du modèle ont un pas d’échantillonnage défini à 0,01 ou un multiple de cette valeur, une taille de pas de temps de 0,01 convient à l’ensemble du modèle.
Pas d’échantillonnage des blocs
Pour les modèles qui s’interfacent avec des dispositifs hardware, vous préférerez peut-être des pas de temps fixes pour une fréquence spécifiée. Par exemple, vous aurez peut-être besoin d’une résolution d’une milliseconde pour contrôler la relation de timing de vos blocs. Définissez les options de timing comme suit :
Start time:
0.0Stop time:
10.0Type:
Fixed-stepSolver:
discreteFixed-step size:
0.001
L’image présente la boîte de dialogue avec ces paramètres.

Dans ce modèle, un bloc avec un paramètre Sample time défini par défaut à 0.01 s’exécute tous les 10 pas de temps, soit 1 001 fois au cours d’une simulation de 10 secondes. Une autre bloc qui doit s’exécuter deux fois plus souvent doit avoir un paramètre Sample time défini à 0.005.
Remarque
Dans la plupart des cas, vous pouvez laisser le paramètre Fixed-step size sur auto pour permettre à Simulink de calculer le pas d’échantillonnage fondamental approprié en fonction de tous les paramètres de bloc.
Comme la durée de simulation est de 10 secondes simulées et que la période Sample time du bloc est de 0,01 seconde simulée, le bloc s’exécute 1 001 fois au cours d’une simulation complète (en comptant le premier et le dernier pas). La simulation s’exécute aussi vite que les performances des blocs le permettent, si bien que ces 1 001 exécutions peuvent prendre beaucoup moins de temps que la durée chronométrée de 10 secondes. La durée de la simulation en temps réel dépend donc de la vitesse à laquelle elle peut exécuter les blocs du modèle pour le nombre d’itérations requis. Souvent, le but de la simulation est de modéliser un comportement en moins de temps qu’il ne le faudrait en situation réelle. Dans un tel cas, la séquence et la répétition de l’exécution des blocs sont importantes alors que le temps réellement écoulé ne l’est pas forcément.
Cadencer la simulation du modèle
Vous avez peut-être besoin qu’un modèle interagisse avec un dispositif hardware en répétant une certaine opération à des intervalles de temps réel fixes. Par exemple, un bloc peut lire les données d’un thermomètre de manière répétée ou envoyer des déclencheurs pour qu’un générateur de signaux externe produise un train d’impulsions en sortie.
La définition du paramètre Sample time du bloc à 0.1 contrôle la fréquence d’exécution du bloc par rapport au temps de simulation uniquement. Pour corréler le temps de simulation avec le temps réel, vous pouvez cadencer la simulation pour la ralentir afin qu’elle s’exécute à la vitesse du temps réel. Pour ouvrir la boîte de dialogue « Simulation Pacing Options », accédez à Simulink Toolstrip et dans l’onglet Simulation, cliquez sur le bouton fléché Run, puis sélectionnez Simulation Pacing.
Pour cadencer la simulation, sélectionnez Enable pacing to slow down simulation. Par défaut, le rapport entre le temps de simulation et le temps réel est égal à 1, ce qui signifie que la simulation d’un modèle pendant une seconde de temps de simulation est cadencée pour prendre environ une seconde de temps réel.

Avec ce paramètre de cadence, un paramètre Sample time égal à 0.1 pour un bloc est à peu près égal à une durée chronométrée de 0,1 seconde, ce qui donne 10 exécutions de bloc par seconde. Par conséquent, un bloc qui génère une impulsion en sortie d’un dispositif toutes les 0,1 secondes de simulation génère 10 impulsions par seconde chronométrée.
Pour plus d’informations sur les cas qui nécessitent une cadence plus précise par rapport à la durée chronométrée, consultez Real-Time Simulation and Testing.
Voir aussi
Outils
- Simulation Pacing Options (Simulink)
Rubriques
- Introduction au pas d'échantillonnage (Simulink)