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

Exemples de Diagramme Solveur activité

Dans ce sujet, nous avons exécuter à travers quelques exemples simples d'où et comment appliquer Solveurs dans les simulations de 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'ActivityInitial.

Affectation de valeurs et exécution de commandes

Pour assigner une valeur , utilisez les fonctions octave.set() ou matlab.set(). Pour les 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 le branchement conditionnel dans une Statemachine , la condition peut être placée dans le Guard 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, vous utilisez la Solveur () du Solveur. Il existe trois options clés pour la manière dont les résultats sont ensuite transmis du script à l'utilisateur :

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

Utilisation du traçage

La commande Trace() est utile lors de la première é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 parcelles

Octave et MATLAB mettent fortement l'accent sur la génération de tracés, car il s'agit d'une méthode clé pour produire des résultats. Pour générer un tracé, vous utilisez la Solveur () du Solveur pour appeler une génération de tracé.

Tenir le complot

Lors de l'exécution d'un tracé dans une simulation, si la simulation n'est pas interrompue, le tracé ne sera visible que brièvement. Pour les diagrammes d'activité, il existe deux options pour suspendre le flux pendant l'affichage du tracé :

  1. En utilisant la fonction uiwait dans Octave ou MATLAB, définissez-la dans Effect of the Action . Voici un exemple utilisant Octave :
    octave.exec('script','uiwait');


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

Pour progresser au-delà de AcceptEvent, vous :

  • Faites glisser le Trigger (Resume) 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 à effectuer sont les suivantes :

  1. Créez une boîte de dialogue Win32 .
  2. Définissez une ligne de script pour l'ouvrir.
  3. Obtenir une valeur d'un champ dans le dialogue .
  4. Passez cette valeur au Solveur .
  5. Utilisez un bouton pour déclencher l'intrigue.

Voici les étapes pour configurer une interface Win32 :

  1. Créez un 'Starter Win32 Model' en utilisant l'onglet 'Create from Motif ' ( Assistant de Modèle ) (Ctrl+Shift+M).
  2. Remplacez le nom de <<Win32 Screen Dialog>> par 'ScreenA'.
  3. Changez le nom de 'Edit Control A' en quelque chose de plus significatif tel que 'finish'.
  4. Appuyez sur Alt+7 sur State1 pour ajouter un appel pour ouvrir le dialogue de fichier, 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 "Fin", comme indiqué dans Maintenir le tracé plus tôt. 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 le OnClick Valeur Étiquetée sur un bouton.

Sur le ControlFlow sortant de StartSolver il y a maintenant une Action 'AcceptEvent'. Ceci est configuré pour être déclenché comme indiqué :

Dans l'onglet 'Trigger' de la fenêtre Propriétés , vous 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 voir 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 de diffusion) et les références de déclenchement 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ébut '
Lorsque vous saisissez une valeur et que vous cliquez sur le bouton OK , cela renvoie :

Apprendre encore plus