Préciser l’étendue et le type de données Stateflow
Les types de données définissent le format dans lequel les informations sont stockées dans la mémoire de l’ordinateur. Les types de données influencent trois aspects clés de votre diagramme Stateflow® :
La quantité d’espace de stockage attribuée aux données.
La manière dont une valeur de donnée est convertie dans une configuration binaire.
L’ensemble des opérations pouvant être effectuées sur les données.
Utilisez les types de données pour optimiser l’utilisation des ressources de vos diagrammes et vous assurer que les applications logicielles manipulent correctement les données des diagrammes.
Dans Stateflow, vous pouvez définir les données selon leur type, leur étendue et leur mode. Le type de données correspond à la manière spécifique dont les données sont stockées dans le système. Par exemple, vous pouvez avoir un type de données double ou single. L’étendue correspond à la manière dont les données fonctionnent dans le diagramme Stateflow. Par exemple, les données d’entrée sont des données que Simulink® saisit dans Stateflow, alors que les données locales sont des données qui ont pour origine Stateflow et qui y restent. Le mode précise le sous-ensemble de type que vous pouvez choisir. Par exemple, si le mode est Inherited, alors les données tirent leurs informations de Simulink, mais si le mode est Expression, alors les informations de données dépendent d’une expression que vous saisissez. Le mode ne peut être précisé que lorsque vous utilisez Data Type Assistant.
Vous pouvez préciser le type de données dans le Property Inspector. Dans le champ Type, sélectionnez un type dans la liste déroulante, ou saisissez une expression qui donne un type de données. Pour plus d’informations, veuillez consulter Set Data Properties.
Hériter des types de données d’après les objets Simulink
Lorsque vous définissez la liste déroulante Type à Inherit: Same as Simulink, les objets de données de l’étendue Input, Output, Parameter et Data Store Memory héritent de leurs types de données d’après les objets Simulink. Si vous souhaitez que vos données aient un type précis, ne définissez pas le Type à Inherit: Same as Simulink.
| Étendue | Description |
|---|---|
Input | Hérite du type d’après le signal d’entrée Simulink connecté au port d’entrée correspondant dans le diagramme. |
Output | Hérite du type d’après le signal de sortie Simulink connecté au port de sortie correspondant dans le diagramme. |
Parameter | Hérite du type d’après la variable de l’espace de travail de base MATLAB® correspondant, l’entrée du dictionnaire de données Simulink ou le paramètre Simulink dans un sous-système masqué. |
Data Store Memory | Hérite du type d’après le datastore Simulink correspondant. |
Pour déterminer les types de données dont héritent les objets :
Construisez le modèle Simulink.
Ouvrez le Model Explorer.
Dans le volet Contents, étudiez la colonne CompiledType.
Dériver les types de données d’après d’autres objets de données
Vous pouvez utiliser l’opérateur type pour dériver les types des données d’après d’autres objets de données Stateflow. Par exemple, le modèle sf_bus_demo utilise le type de données de la structure d’entrée inbus afin de définir le type de données de la structure locale counterbus_struct. La structure est définie à l’aide de cette expression :
type(inbus)

Le type de inbus dérivant de l’objet Simulink.Bus COUNTERBUS, le type de données de counterbus_struct dérive également de COUNTERBUS.
Pour plus d’informations sur cet exemple, veuillez consulter Integrate Custom Structures in Stateflow Charts.
Spécifier les types de données à l’aide d’un alias Simulink
Vous pouvez préciser le type de données Stateflow en utilisant un alias de type de données Simulink. Pour plus d’informations, veuillez consulter Simulink.AliasType (Simulink).
Par exemple, supposons que vous souhaitez définir un alias de type de données MyFloat correspondant au type de données prédéfini single. À l’invite de commande de MATLAB, saisissez :
MyFloat = Simulink.AliasType;
MyFloat.BaseType = "single";Pour utiliser cet alias pour préciser le type de données, ouvrez un diagramme Stateflow et, dans le volet Symbols, sélectionnez les données. Puis, dans le Property Inspector, définissez Type à MyFloat.
Après avoir construit votre modèle, la colonne CompiledType du Model Explorer affiche le type utilisé dans la simulation compilée.
Voir aussi
fixdt (Simulink) | Simulink.AliasType (Simulink) | Simulink.NumericType (Simulink)