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

Exemples Solveur Diagramme d'activités

Dans cette rubrique, nous exécuter en revue quelques exemples simples de l'endroit et de la manière d'appliquer Solveurs dans les simulations diagramme d'activité. Cela inclut l'utilisation de scripts dans Action Effects, ainsi que dans ControlFlow Guards. Les images de cette rubrique montrent des exemples d'Octave Solveur ; cependant, le même script peut être utilisé pour MATLAB en remplaçant Octave Solveur par MATLAB Solveur .

Initialisation du Solveur

Le script pour initialiser un Solveur dans un diagramme d'Activité peut être placé dans l'Effet d'une Action , généralement l'Effet de la première Action sortant de l'ActivitéInitial.

Attribution de valeurs et exécution de commandes

Pour affecter une valeur , utilisez les fonctions octave.set() ou matlab.set(). Pour diagrammes d'activité, la fonction peut être placée dans l'effet d'une Action .

Lors de l'exécution de commandes MATLAB ou Octave à l'aide de la fonction .exec(), les commandes peuvent à nouveau être placées dans l'effet de l' Action .

Branchement conditionnel

Pour la création de branches conditionnelles dans une Statemachine , la condition peut être placée dans la garde d'un ControlFlow et contenir un script qui appelle n'importe quelle fonction MATLAB ou Octave. Par exemple :

Obtenir des résultats

Pour renvoyer les résultats des appels de fonctions externes, utilisez la fonction .get() de Solveur . Il existe trois options principales pour la manière dont les résultats sont ensuite transmis du script à l'utilisateur :

  • Tracer()
  • Parcelle
  • Affichage Win32
Avec les options Trace et Win32, vous devez renvoyer une copie locale dans votre JavaScript à l'aide de la fonction Solveur .get(). L'image précédente inclut un exemple d'utilisation de la fonction .get() dans un Guard.

Utilisation de Trace

La commande Trace() est utile lors de l'écriture et du débogage d'une simulation, car elle vous permet de vérifier les résultats de votre script à différentes étapes. Les résultats sont affichés dans la fenêtre Simulation .

Exécution de complots

Octave et MATLAB accordent une grande importance à la génération de tracés, car il s'agit d'une méthode clé pour générer des résultats. Pour générer un tracé, vous utilisez la fonction .exec() de Solveur pour appeler une génération de tracé.

Tenir le terrain

Lors de l'exécution d'un tracé dans une simulation, si la simulation n'est pas mise en pause, le tracé ne sera visible que brièvement. Pour diagrammes d'activité, il existe deux options pour mettre en pause le flux pendant que le tracé est visualisé :

  1. En utilisant la fonction uiwait dans Octave ou MATLAB, en la définissant dans l'effet de l' Action . Voici un exemple utilisant Octave :
    octave.exec('script','uiwait');


  2. Définissez une Action de type AcceptEvent pour mettre en pause la simulation après la génération du tracé, ce qui nécessite de définir une référence à un Déclencheur d'activité sur l'AcceptEvent. Celui-ci peut être créé et référencé à l'aide du bouton Browse. , qui affiche la dialogue « Sélectionner Déclencheur ». Cliquez sur le bouton Ajouter un nouveau pour créer le Déclencheur .

Pour progresser au-delà de l'AcceptEvent, vous devez :

  • Faites glisser le Déclencheur (Reprise) du Navigateur vers la fenêtre Simulation Événements
  • Double-cliquez sur cette transition

Utilisation de l'interface Win32

Lors de l'utilisation de l'interface Win32, les étapes à suivre sont les suivantes :

  1. Créer une dialogue Win32.
  2. Définissez une ligne de script pour l'ouvrir.
  3. Obtenir une valeur d'un champ dans le dialogue .
  4. Transmettez cette valeur au Solveur .
  5. Utilisez un bouton pour déclencheur l'intrigue.

Voici les étapes pour configurer une interface Win32 :

  1. Créez un 'Starter Win32 Model' à l'aide de la dialogue ' Constructeur de Modèle ' (Ctrl+Shift+M).
  2. Modifiez le nom de la <<Dialogue d'écran Win32>> en « ScreenA ».
  3. Modifiez le nom de « Contrôle d'édition A » par quelque chose de plus significatif, comme « Terminer ».
  4. Appuyez sur Alt+7 sur State1 pour ajouter un appel pour ouvrir le dialogue , dans le script de l'opération d'entrée :
    dialogue .ScreenA.Show=true;
Pour obtenir une valeur d'entrée utilisateur valide, l'utilisateur doit cliquer sur le bouton OK , donc à partir du bouton OK , vous devez diffuser un événement pour qu'un Déclencheur démarre le processus. Pour recevoir le Déclencheur vous définissez un Signal et une Transition à déclencher par cette Diffusion.

Voir les étapes pour créer et définir le Déclencheur et le Signal 'End', comme indiqué dans Holding the Plot plus haut. Dans ce cas, nous définissons la même chose, mais pour un nouveau Déclencheur appelé 'Plot'. Cette illustration envoie un BroadcastSignal('Plot') en utilisant la Valeur Étiquetée OnClick sur un bouton.

Sur le ControlFlow quittant StartSolver, il y a maintenant une Action « AcceptEvent ». Celle-ci est configurée pour être déclenchée comme indiqué :

Dans l'onglet ' Déclencheur ' de la fenêtre Propriétés , créez un Déclencheur , définissez le type de déclencheur sur 'Signal' et créez un signal pour celui-ci. Pour plus de détails, consultez la rubrique d'aide Simulation d'Interface Utilisateur Win32 .

Le bouton Annuler est configuré de la même manière que le bouton OK (avec un signal Broadcast) et les références Déclencheur sont définies sur AcceptEventCancel pour utiliser le Déclencheur /Signal 'annuler'.

Exécution de la Simulation

Pour exécuter la simulation :

  • Sélectionnez le ruban Simuler
  • Cliquez sur ' Exécuter Simulation > Démarrer '
Lorsque vous entrez une valeur et cliquez sur le bouton OK , cela renvoie :

Apprendre encore plus