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
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é :
- 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');
- 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 , 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 :
- Créez une boîte de dialogue Win32 .
- Définissez une ligne de script pour l'ouvrir.
- Obtenir une valeur d'un champ dans le dialogue .
- Passez cette valeur au Solveur .
- Utilisez un bouton pour déclencher l'intrigue.
Voici les étapes pour configurer une interface Win32 :
- Créez un 'Starter Win32 Model' en utilisant l'onglet 'Create from Motif ' ( Assistant de Modèle ) ( ).
- Remplacez le nom de <<Win32 Screen Dialog>> par 'ScreenA'.
- Changez le nom de 'Edit Control A' en quelque chose de plus significatif tel que 'finish'.
- Appuyez sur
dialogue .ScreenA.Show=true ; sur State1 pour ajouter un appel pour ouvrir le dialogue de fichier, dans le script de l'opération d'entrée :
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 '