Ajouter des données Stateflow
Vous pouvez ajouter des données à un diagramme Stateflow® au moyen du volet Symbols ou de la barre d’outils.
Les données des diagrammes Stateflow sont accessibles depuis les états, les transitions, les fonctions MATLAB® et les tables de vérité. Pour examiner les données utilisées par un état ou une transition spécifique, faites un clic droit sur l’état ou la transition, puis cliquez sur Explore. Cette action ouvre un menu contextuel qui affiche toutes les données résolues dans l’état ou la transition sélectionnés, ainsi que leur nom et leur étendue. Lorsque vous sélectionnez une donnée dans ce menu, le Model Explorer s’ouvre et affiche les propriétés correspondantes. Si vous sélectionnez un événement de sortie, le sous-système Simulink® ou le diagramme Stateflow associé s’ouvre.
Remarque
Les données Stateflow ne sont pas disponibles pour les fonctions Simulink d’un diagramme Stateflow.
Ajouter des données au moyen du volet « Symbols »
Le volet « Symbols » affiche tous les objets de données de votre diagramme. Pour créer des données dans le volet Symbols :
Dans l’onglet Modeling, sous Design Data, sélectionnez le volet Symbols.
Cliquez sur l'icône Create Data
.Dans la ligne des nouvelles données, dans la colonne Type, cliquez sur l’icône et sélectionnez :
Input Data
Local Data
Output Data
Constant
Data Store Memory
Parameter
Temporary
Pour plus d’informations sur les types de données, consultez Set Data Properties.
Modifiez le nom des données en définissant la valeur dans la colonne Name.
Pour les données d’entrée et de sortie, vous pouvez modifier l’ordre des ports d’entrée ou de sortie en cliquant sur le champ Port et en choisissant un numéro de port.
Pour spécifier les propriétés des données, faites un clic droit sur la ligne correspondant au symbole et sélectionnez Explore.
Connecter des données à Simulink
Si vous créez des données d’entrée ou de sortie, vous pouvez les connecter à des blocs Simulink.
Pour connecter des données d’entrée :
Dans votre modèle Simulink, ajoutez un bloc Source. Consultez Sources (Simulink).
Connectez la sortie du bloc source au port d’entrée de votre diagramme Stateflow.
Lorsque vous cliquez sur Run, l’objet de données d’entrée reçoit les valeurs du bloc Simulink connecté.
Pour connecter des données de sortie :
Dans votre modèle Simulink, ajoutez un bloc Sink. Consultez Sinks (Simulink).
Connectez le port de sortie de votre diagramme Stateflow à l’entrée du bloc de destination.
Lorsque vous cliquez sur Run, l’objet de données de sortie envoie les valeurs au bloc Simulink connecté.
Bonnes pratiques concernant l’utilisation de données dans des diagrammes
Les propriétés des données de sortie Stateflow ne doivent pas être héritées à partir des signaux de sortie Simulink. En effet, les valeurs se propagent à partir des blocs Simulink et peuvent être imprévisibles.
Optimiser les performances du code généré avec des données in situ
Pour optimiser les performances et réduire l’utilisation de la mémoire par le code généré pour vos diagrammes Stateflow, vos tables de vérité et vos tables de transition d’état, utilisez des données in situ. Pour créer des données in situ, affectez des noms identiques aux entrées et à la sortie du diagramme. Les données in situ permettent au générateur de code de traiter les données comme un seul argument transmis par référence et non comme des variables distinctes. Cette approche réduit les opérations intermédiaires de copie de données et augmente ainsi l’efficacité du code généré.
Lorsque les données d’entrée et de sortie portent le même nom, vous pouvez uniquement modifier les propriétés des données d’entrée. Les propriétés des données de sortie correspondantes passent en lecture seule.