Réserver une Démo
Pré. Proc.

Exemple d'humidificateur

Pour cet exemple, nous allons parcourir la création d'un modèle SysPhS d'un humidificateur d'ambiance pour illustrer l'utilisation des flux de signaux et Statemachines . Les signaux de cet exemple reflètent des quantités physiques, mais diffèrent de l'interaction physique dans le sens de substances physiques avec des débits et des potentiels.

L'exemple d'humidificateur complet est un ensemble complexe de modèles SysML, mais il contient une section qui nécessite l'utilisation de Stateflow de MATLAB pour la simulation. Nous utiliserons cette section de l'exemple pour travailler sur l'utilisation de la Statemachine SysML et voir comment elle est configurée et exécuter dans MATLAB à l'aide de Stateflow, ainsi que dans Modelica.

Prérequis

L'exécution de cette simulation nécessite :

  • OpenModelica ou
  • Simulink et StateFlow de MATLAB

Aperçu

L'exemple de simulation complet est disponible dans le modèle WebEA . Consultez les liens sous En savoir plus à la fin de cette rubrique.

Le diagramme Statemachine SysML est :

Pour MATLAB, le diagramme Stateflow généré se compose de :

Pour Modelica, le diagramme généré ressemble à ceci :

Créer Modèle Statemachine SysML

Ce tableau montre comment nous pouvons construire le modèle SysML Statemachine pour représenter les états de commutation.

Note : les fonctionnalités complètes de SysML Statemachine ne sont que partiellement prises en charge dans Stateflow et Modelica de MATLAB. Par conséquent, pour créer diagrammes State pour la simulation dans ces produits, il est nécessaire que les types de connecteurs et les types d'objets utilisés dans le modèle Statemachine d' Enterprise Architect contiennent uniquement les fonctionnalités correspondantes prises en charge dans Stateflow et Modelica.

Étape

Description

Blocs

Dans SysML, en utilisant SysPhS, les composants principaux de l'humidificateur sont représentés par des blocs. Pour cet exemple, où nous créons une simulation Statemachine , l'accent est mis sur le Bloc « Contrôle ». Le diagramme de définition Bloc (BDD) appelé « Composants de l'humidificateur », qui inclut le Bloc « Contrôle », n'est qu'un des nombreux BDD définissant l'humidificateur.

Le Bloc « Contrôle » contient la Statemachine « ControlStateMachine » sous forme de diagramme composite ; ceci est illustré dans le premier diagramme de la section Présentation au début de cette rubrique.

Le Bloc « Contrôle » est l'endroit où sont définis les ports et une constante PhS pour le contrôle de l'humidificateur. Les ports sont de type RealInSignal, qui sont des flux de signaux.

Types courants

Pour commencer tous les modèles SysPhS, vous devez vous assurer que les types communs SysPhS sont chargés dans le référentiel et référencés dans le nouveau modèle à l'aide du connecteur Paquetage 'Import'. Pour plus d'informations, consultez Référencement des bibliothèques SysPhS Rubrique d'aide.

Ports Phs

Les types de valeur utilisés pour les ports sont prédéfinis dans les bibliothèques Simulation SysPhS. Le type de clé utilisé est le RealInSignal ValueType (RealInSignalElement). Celui-ci peut être glissé sur le Bloc en tant que port, puis renommé.

À titre d’exemple de définition d’un port sur le Bloc , dans ce cas le port fanPowerOut , vous faites glisser un RealInSignalElement sur le Bloc et le définissez comme port.

Note :

  • Ces ports peuvent être définis à la fois sur Modelica et Simulink en ajoutant le stéréotype de l'autre type de port

Création de la Statemachine

Pour définir une Statemachine en tant que diagramme enfant composite du Bloc :

  • Sélectionnez « Nouveau Diagramme enfant > Statemachine » dans le menu contextuel du Bloc , puis
  • Sélectionnez « Nouveau Diagramme enfant > Sélectionner un composite » dans le menu contextuel du Bloc , puis sélectionnez le diagramme qui vient d'être créé.

Créer les States et les transitions

Dans le diagramme Statemachine enfant, vous ajoutez l'élément initial, quatre States et un élément final. Nommez-les ensuite de manière appropriée.

Note : en appuyant sur la barre d'espace lorsque le diagramme est sélectionné, vous pouvez sélectionner un object initial dans le menu contextuel, puis utiliser le Quick Linker pour ajouter les objets restants.

Gardes de transition

Les Transitions entre les States contiennent des conditions dans leurs Gardes. Ces conditions sont définies dans l'onglet 'Contraintes' de la fenêtre Propriétés .

Les variables utilisées sont la constante Phs et les ports du Bloc « Contrôle ». Voir l'image dans la ligne Blocs précédente.

Comportements

Chaque State contient un script définissant le mode et l'état du ventilateur. Ces scripts sont définis dans l'opération « Entrée ».

Pour modifier le script, sélectionnez la Statemachine racine et appuyez sur Alt+7.

Configurer le comportement Simulation

Ce tableau montre les étapes détaillées de la configuration de SysMLSim.

Étape

Action

Créer un artefact SysMLSimConfiguration

  • Ouvrez le diagramme de définition Bloc
  • Cliquez sur l'espace ouvert dans le diagramme
  • Appuyez sur la barre d'espace
  • Dans le sous-menu « Artefacts », sélectionnez « Configuration SysMLSim »
    Cela crée un nouvel artefact de configuration SysMLSim

Définir le Paquetage

  • Double-cliquez sur l'artefact de configuration SysMLSim
    Cela ouvre la fenêtre Configurer la Simulation SysML
  • Dans le champ « Paquetage », cliquez sur le bouton [...] et sélectionnez le Paquetage contenant le diagramme SysML

Configurer Modelica ou Simulink

Dans la liste déroulante supérieure, sélectionnez l’outil de simulation à utiliser :

  • Modèleica
  • Simulink
Pour plus de détails sur ces paramètres, consultez la rubrique d'aide Configurer Simulation SysML .

Régler le Bloc pour simuler

  • Dans la liste de gauche, sous « Bloc » dans la colonne « Nom », recherchez « HumidifierSystem »
  • Dans la colonne « Valeur », cliquez sur la flèche déroulante et sélectionnez « SysMLSimModel »

Sélectionner Propriétés à tracer

Vous pouvez maintenant sélectionner les propriétés à tracer :

  • Dans le volet de droite, sélectionnez les ports à tracer

Exécuter Simulation

Dans la page « Simulation », cliquez sur le bouton Résoudre. Cela montre un exemple du tracé généré dans :

Modèleica

Simulink

Note : la sortie dans Simulink est différente en raison de la précision par défaut des modèles Simulink qui n'est pas suffisante pour cet exemple spécifique. Les paramètres Simulink peuvent être modifiés en ouvrant le fichier généré directement dans Simulink.

Vue le Modèle dans Modelica ou Simulink

Pour afficher le modèle généré dans les applications externes, Modelica ou Simulink, consultez la rubrique d'aide Vue le Modèle dans Modelica ou Simulink , qui inclut des conseils pour déboguer les problèmes dans le code généré.

Apprendre encore plus