Contenu principal

Créer un modèle simple

Vous pouvez utiliser Simulink® pour modéliser un système, puis simuler le comportement dynamique de ce système. Dans cet exemple, vous allez créer un modèle simple, mais vous pouvez utiliser les mêmes techniques de base pour créer des modèles complexes. L’exemple simule le mouvement simplifié d’un véhicule. Un véhicule est généralement en mouvement lorsque la pédale d'accélérateur est enfoncée. Une fois la pédale relâchée, le véhicule ralentit jusqu’à l’arrêt et tourne au ralenti.

Un bloc Simulink est un élément de modèle qui définit une relation mathématique entre son entrée et sa sortie. Pour créer ce modèle simple, vous avez besoin de quatre blocs Simulink.

Nom du blocObjectif du blocObjectif du modèle
Pulse GeneratorGénérer un signal d’entrée pour le modèle.Représenter la pédale d’accélérateur.
GainMultiplier le signal d’entrée par une valeur constante.Calculer l’impact de l’appui sur la pédale d’accélérateur sur l’accélération du véhicule.
Second-Order IntegratorIntégrer le signal d’entrée deux fois.Obtenir la position à partir de l’accélération.
OutportDésigner un signal comme sortie du modèle.Désigner la position comme sortie du modèle.

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

La simulation de ce modèle intègre une brève impulsion deux fois pour obtenir une rampe. L’impulsion d’entrée représente un appui sur la pédale d’accélérateur : 1 lorsque la pédale est enfoncée et 0 lorsqu’elle ne l’est pas. La rampe de sortie correspond à la valeur croissante de la distance au point de départ.

Ouvrir un nouveau modèle

Utilisez Simulink Editor pour créer vos modèles.

  1. Démarrez MATLAB®. Dans la barre d’outils MATLAB, cliquez sur le bouton 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. Sélectionnez le modèle Blank Model.

    L'éditeur Simulink s'ouvre.

    Pour éviter les doublons ou l’ouverture simultanée de plusieurs modèles portant le même nom, l’éditeur Simulink vérifie les modèles chargés et les fichiers du chemin, et crée un modèle en lui attribuant le prochain nom disponible : untitled, untitled1, untitled2, etc.

    Empty Simulink Editor

  3. Dans l’onglet Simulation, sélectionnez Save > Save as. Dans la zone de texte File name, saisissez un nom pour votre modèle, par exemple simple_model. Cliquez sur Save. Le modèle est enregistré avec l'extension de fichier .slx.

Ouvrir l'explorateur de bibliothèques Simulink

Simulink propose un ensemble de bibliothèques de blocs organisées par fonctionnalité dans Library Browser. Les bibliothèques suivantes sont communes à la plupart des workflows :

  • Continuous — Blocs pour les systèmes à états continus

  • Discrete — Blocs pour les systèmes à états discrets

  • Math Operations — Blocs qui implémentent des équations algébriques et logiques

  • Sinks — Blocs qui stockent et affichent les signaux qui y sont connectés

  • Sources — Blocs qui génèrent les valeurs des signaux qui pilotent le modèle

Pour ouvrir l'explorateur de bibliothèques, accédez à Simulink Toolstrip et dans l'onglet Simulation, cliquez sur Library Browser.

Library Browser

Pour parcourir les bibliothèques de blocs, développez une bibliothèque et ses sous-bibliothèques dans l’arborescence.

Pour faire une recherche dans toutes les bibliothèques de blocs disponibles, saisissez un terme de recherche. Par exemple, recherchez le bloc Pulse Generator. Saisissez pulse dans la zone de recherche puis appuyez sur Entrée. Le software recherche dans les bibliothèques les blocs dont le nom ou la description contient pulse. Il les affiche ensuite dans l'onglet Search Results de l'explorateur de bibliothèques. Pour parcourir à nouveau l’arborescence de bibliothèques, cliquez sur l’onglet Library.

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

Ajouter des blocs à un modèle

Pour commencer à créer le modèle, ajoutez des blocs à la trame du modèle. Vous pouvez ajouter des blocs au moyen de l’explorateur de bibliothèques ou en recourant au menu d’insertion rapide.

  1. Ajoutez un bloc Pulse Generator. Dans l’arborescence de l’explorateur de bibliothèques, développez la bibliothèque Simulink. Développez la sous-bibliothèque Sources. Faites glisser le bloc Pulse Generator jusqu’à la trame du modèle.

    Pulse Generator block

  2. Ajoutez un bloc Gain. Double-cliquez sur la trame du modèle. Dans le menu d’insertion rapide qui apparaît, tapez gain. La liste des blocs apparaît.

    Quick insert menu showing search results for "gain"

    Plusieurs blocs différents peuvent avoir le même nom, à condition qu’ils soient stockés dans des fichiers de bibliothèque distincts. Les bibliothèques auxquelles le bloc appartient sont répertoriées sous son nom. Vérifiez que le bloc Gain de la bibliothèque Simulink est sélectionné. Dans le cas contraire, sélectionnez le bloc en utilisant les touches fléchées ou en cliquant sur son nom.

    Pour en savoir plus sur le bloc sélectionné, lisez sa description dans le volet des détails à droite des résultats de recherche. Pour consulter la documentation complète du bloc, cliquez sur Documentation. Pour consulter des exemples qui contiennent ce bloc, cliquez sur le lien sous Examples. Pour masquer ou afficher le volet des détails, cliquez sur la flèche  en haut à droite.

    Ajoutez le bloc sélectionné au modèle en appuyant sur Entrée ou en double-cliquant sur la sélection.

    Gain block

  3. Ajoutez ces blocs au modèle en utilisant l’explorateur de bibliothèques ou le menu d’insertion rapide.

    BlocBibliothèque
    Out1Bibliothèque Simulink, sous-bibliothèque Sinks
    Second-Order IntegratorBibliothèque Simulink, sous-bibliothèque Continuous

  4. Ajoutez un deuxième bloc Out1 en copiant le bloc existant et en le collant à un autre emplacement à l’aide des raccourcis clavier Ctrl+C et Ctrl+V (sous macOS, utilisez command+C et command+V). Votre modèle dispose désormais des blocs dont vous avez besoin.

Connecter les blocs

Connectez :

  • Le bloc Pulse Generator au bloc Gain.

  • Le bloc Gain au bloc Second-Order Integrator.

  • Le bloc Second-Order Integrator aux deux blocs Out1.

Par exemple, pour connecter le bloc Pulse Generator au bloc Gain :

  1. Cliquez sur le port de sortie à droite du bloc Pulse Generator.

    Le port de sortie et tous les ports d’entrée pouvant être connectés sont indiqués par un symbole de chevron bleu (>).

  2. Pour voir le repère de connexion, pointez sur le symbole de chevron (>).

  3. Cliquez sur ce repère pour connecter les blocs avec une ligne et une flèche indiquant la direction du flux du signal.

Pour plus d’informations sur la façon de connecter des blocs, consultez Connect Blocks.

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

Une fois les blocs connectés, alignez les blocs Pulse Generator, Gain et Second-Order Integrator en les faisant glisser. Pour redimensionner un bloc, tirez sur un de ses coins.

Dans les grands modèles, au lieu de faire glisser chacun des blocs, vous pouvez améliorer la disposition avec la réorganisation automatique. Faites un clic droit sur la trame du modèle. Le menu contextuel Top Model s’affiche. Dans les menus contextuels Simulink, les options de mise en forme, telles que la modification des couleurs ou des polices ou encore la réorganisation automatique du modèle, se trouvent dans la barre de mise en forme. Pour développer la barre de mise en forme, cliquez sur la flèche  en haut du menu. Cliquez ensuite sur le bouton « Auto Arrange » .

Top Model context menu with the format bar expanded

Conseil

Pour afficher une info-bulle qui explique quelle action vous pouvez effectuer en appuyant sur un bouton du menu contextuel, passez le pointeur sur l’icône du bouton.

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 réorganisation automatique consiste à aligner les blocs et à redresser les lignes de signaux.

Block diagram after auto-arrange

Modifier les valeurs des paramètres de bloc

Les blocs comportent des valeurs de paramètres modifiables. Pour connaître les paramètres possibles à modifier pour un bloc et les types de valeurs qu'ils acceptent, ouvrez la documentation du bloc. Faites un clic droit sur le bloc et dans le coin supérieur droit du menu contextuel, cliquez sur le bouton « Open help documentation » .

Pour certains blocs tels que Constant ou Gain, vous pouvez changer directement la valeur d’un paramètre sur la face du bloc. Modifiez la valeur de gain du bloc Gain dans l’exemple de modèle en la définissant à 2. Sélectionnez le bloc, cliquez sur la valeur affichée sur celui-ci, saisissez la nouvelle valeur, puis appuyez sur Entrée.

Vous pouvez également modifier la valeur de gain dans la boîte de dialogue « Block Parameters ». Pour ouvrir la boîte de dialogue « Block Parameters », double-cliquez sur le bloc. Vous pouvez également faire un clic droit sur le bloc, puis cliquer sur le bouton « Block Parameters » . Dans la boîte de dialogue qui s’affiche, définissez la valeur Gain à 2 et appuyez sur Entrée.

Block parameters dialog box with the Gain value set to 2

Une troisième option consiste à utiliser le Property Inspector. Sélectionnez le bloc Gain. Pour ouvrir le Property Inspector, appuyez sur Ctrl+Maj+I (sous macOS, appuyez sur command+option+O). Vous pouvez également faire un clic droit sur le bloc, puis cliquer sur le bouton « Property Inspector » . Dans le Property Inspector, accédez à l’onglet Parameters et définissez la valeur de Gain à 2.

Pour modifier les valeurs de paramètres qui ne sont pas affichées sur l’icône du bloc, utilisez la boîte de dialogue « Block Parameters » ou le Property Inspector. Si vous ne voyez pas le nom d’un paramètre dont vous souhaitez modifier la valeur dans la boîte de dialogue « Block Parameters », vérifiez le Property Inspector, et vice versa.

Exécuter la simulation

Spécifiez le temps d'arrêt de la simulation. Ensuite, simulez le modèle.

  1. Dans l'onglet Simulation, définissez le temps d'arrêt de la simulation. Dans Simulink Toolstrip, accédez à l’onglet Simulation et saisissez une valeur dans la zone de texte Stop Time.

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

    Le temps d'arrêt par défaut de 10.0 est approprié pour ce modèle. Cette valeur de temps n'a pas d'unité. L’unité de temps d’une simulation Simulink dépend de la façon dont les équations sont construites. Cet exemple simule le mouvement simplifié d’une voiture pendant 10 secondes mais d’autres modèles peuvent avoir des unités de temps en millisecondes ou en années.

  2. Pour simuler le modèle, appuyez sur Ctrl+T (sous macOS, appuyez sur command+T). Vous pouvez également accéder à l’onglet Simulation de la barre d’outils et cliquer sur Run  .

Afficher les données de simulation

Pour afficher les résultats de simulation dans Simulation Data Inspector, faites un clic droit sur l’une des lignes de signaux, puis cliquez sur le bouton « View in Data Inspector » .

Pour tracer les données dans Simulation Data Inspector, sélectionnez des signaux dans la checklist située à gauche. Par exemple, pour tracer la position de la voiture, sélectionnez le signal nommé Out1:1.

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

Affiner le modèle

Il est possible d’affiner un modèle en modifiant les paramètres de bloc, en ajoutant de nouveaux blocs, en créant de nouvelles connexions et en annotant les lignes de signaux.

Modifier les paramètres de bloc

Cet exemple modélise un capteur de proximité basé sur un modèle de mouvement existant nommé moving_car.

Dans ce scénario, un capteur numérique mesure la distance entre le véhicule et un obstacle à 10 m. Le modèle génère la mesure du capteur et la position du véhicule, en tenant compte des conditions suivantes :

  • Le véhicule s'arrête immédiatement lorsqu'il atteint l'obstacle.

  • Dans le monde physique, un capteur mesure la distance de façon imprécise, ce qui entraîne des erreurs numériques aléatoires.

  • Un capteur numérique fonctionne à intervalles de temps fixes.

Ouvrez le modèle moving_car.

open_system("moving_car.slx");

Vous devez d'abord modéliser l'arrêt immédiat lorsque la position de la voiture atteint 10. Le bloc Integrator, Second-Order dispose d'un paramètre à cet effet.

  1. Double-cliquez sur le bloc Integrator, Second-Order. La boîte de dialogue Block Parameters s'affiche.

  2. Sélectionnez Limit x, puis saisissez 10 pour Upper limit x. La couleur d'arrière-plan du paramètre change pour indiquer une modification qui n'est pas appliquée au modèle. Cliquez sur OK pour appliquer les modifications et fermer la boîte de dialogue.

Ajouter de nouveaux blocs et connexions

Modifiez le modèle pour ajouter un capteur qui mesure la distance à l’obstacle. Élargissez la fenêtre du modèle pour afficher les nouveaux blocs si nécessaire.

  • Pour déterminer la distance entre la position du véhicule et de l’obstacle, ajoutez le bloc Constant de la bibliothèque Sources et définissez sa valeur à 10. Pour déterminer la distance entre la position de l’obstacle et la position du véhicule, ajoutez le bloc Subtract de la bibliothèque Math Operations.

  • Pour simuler les mesures imparfaites d’un vrai capteur, ajoutez du bruit au modèle avec le bloc Band-Limited White Noise de la bibliothèque Sources. Double-cliquez sur le bloc pour définir le paramètre Noise power à 0.001. Ajoutez le bruit à la mesure de distance avec un bloc Add de la bibliothèque Math Operations.

  • Dans Simulink, l'échantillonnage d'un signal à un intervalle donné nécessite un échantillonneur-bloqueur. Ajoutez le bloc Zero-Order Hold de la bibliothèque Discrete. Double-cliquez ensuite sur le bloc pour définir le paramètre Sample Time à 0.1.

  • Pour enregistrer la sortie du capteur, connectez le bloc Zero-Order Hold à un autre bloc Outport.

Connectez les nouveaux blocs. La sortie du bloc Second-Order Integrator est déjà connectée à un autre port. Pour créer une branche dans ce signal, cliquez sur le signal pour mettre en surbrillance les ports potentiels pour la connexion, puis cliquez sur le port approprié.

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

Annoter les signaux

Ajoutez des noms aux signaux du modèle.

  1. Double-cliquez sur le signal et saisissez le nom du signal.

    A highlighted signal is labeled pedal position

  2. Pour terminer, cliquez en dehors de la zone de texte.

  3. Répétez ces étapes pour ajouter les noms comme indiqué.

    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.

Visualiser plusieurs signaux

Comparez le signal de actual distance avec le signal measured distance. Le signal measured distance est enregistré en tant que sortie. Pour enregistrer le signal actual distance, vous pouvez le marquer pour enregistrement. Faites un clic droit sur la ligne de signal, puis cliquez sur le bouton « Log Signals » . Un badge d’enregistrement  indique que le signal est marqué pour enregistrement.

Simulez le modèle. Pour afficher les résultats de simulation dans Simulation Data Inspector, faites un clic droit sur la ligne de signal, puis cliquez sur le bouton « View in Data Inspector » . Développez les checklists Outports et Signals. Pour représenter les deux signaux sur le même tracé temporel, sélectionnez les signaux actual distance et measured distance.

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

Le tracé indique que la mesure peut dévier de la valeur réelle de 0,3 m. Ces informations sont utiles lors du design de fonctionnalités de sécurité telles qu’un avertissement de collision.

Visualiser les signaux dans des sous-tracés distincts

Il est également possible d’analyser les résultats en visualisant les signaux dans des sous-tracés distincts. Par exemple, vous pouvez ajouter des sous-tracés pour les signaux pedal position et velocity afin de visualiser la relation entre la position de la pédale, la vitesse de la voiture et la distance entre la voiture et l’obstacle.

Marquez le signal pedal position pour enregistrement. Faites un clic droit sur la ligne de signal pedal position, puis cliquez sur le bouton Log Signals .

Simulez le modèle. Une fois la simulation terminée, accédez à Simulation Data Inspector et cliquez sur « Visualizations and layouts » . Ensuite, créez une disposition 3 × 1 en spécifiant le nombre de lignes et de colonnes de la grille.

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.

Ajoutez le signal velocity au sous-tracé du milieu et le signal pedal position à celui du bas. Pour ajouter un signal à un sous-tracé, sélectionnez le sous-tracé puis sélectionnez le signal dans le tableau des signaux.

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.

La visualisation des données dans trois sous-tracés vous permet de voir comment le fait d’appuyer sur la pédale d’accélérateur affecte la vitesse de la voiture et sa distance à l’obstacle. Pour approfondir cette question, vous pouvez modifier le comportement de la pédale d’accélérateur en ajustant les paramètres du bloc Pulse Generator. Pour ouvrir la boîte de dialogue « Block Parameters » pour le bloc Pulse Generator, double-cliquez sur ce dernier. Par exemple, modélisez le fait d’appuyer deux fois sur la pédale d’accélérateur pendant une seconde en définissant Period à 5 et Pulse Width à 20.

Simulez le modèle. Dans Simulation Data Inspector, appuyez sur la barre d’espace pour ajuster les signaux à la vue.

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.

Simulation Data Inspector vous permet d’inspecter plus en détail les données en personnalisant l’apparence du tracé et des signaux, en utilisant les options de zoom et de panoramique ainsi qu’en ajoutant des curseurs de données. Pour plus d’informations, consultez Create Plots Using the Simulation Data Inspector.

Voir aussi

Blocs

Outils

Rubriques