Pré. | Proc. |
Exemple de Simulation d'électronique numérique
Pour cet exemple, nous passons en revue la création d'un modèle SysPhS pour un circuit électronique numérique simple, puis nous utilisons une simulation pour prédire et tracer le comportement de ce circuit.
Cet exemple fonctionne avec des composants qui ne sont pas inclus dans les composants communs SysPhS, il exécute donc le processus de création de blocs pour faire correspondre les composants externes à partir de zéro. Pour un webinaire démontrant cela, voir le lien dans En savoir plus à la fin du sujet.
Conditions préalables
L'exécution de cette simulation nécessite soit :
- OpenModelica ou
- Simulink de MATLAB
Diagramme de circuit - un diviseur de fréquence numérique
Le circuit électronique numérique que nous allons modéliser est représenté sur cette figure, qui utilise la notation standard des circuits électroniques.
Le circuit de cet exemple comprend une source de signal numérique pulsé, quatre bascules et un état vrai booléen logique pour former un simple circuit diviseur de fréquence.
Créer un Modèle SysML
Ce tableau montre comment nous pouvons construire un modèle SysML complet pour représenter le circuit, en commençant par les types de niveau le plus bas et en construisant le modèle une étape à la fois.
Composant |
Action |
---|---|
Blocs |
Dans SysML, en utilisant SysPhS, le circuit et chacun des types de composants peuvent être représentés à l'aide d'un Bloc . Créez d'abord un diagramme de définition de Bloc (BDD) sous un Paquetage appelé 'Digital Modèle '. Dans le BDD, vous allez créer un ensemble de composants pour le circuit, sous forme de blocs SysML. Le circuit contient des représentations de quatre types de parties - une source de signal numérique pulsé, un flip-flop, un port booléen et un état vrai booléen logique. Ces Parts sont de types différents, avec des comportements différents. Créez un Bloc SysPhS pour chacun des types de pièces. Les parties de la définition de Bloc interne (IBD) du circuit seront connectées via des ports, qui représentent des pins électriques. Celles-ci doivent être définies dans la BDD. Cette figure montre le BDD, avec des Blocs définissant les types de composants utilisés.
Note que ces blocs sont créés à partir de la boîte à outils SysPhS à l'aide de blocs Modelica ou de blocs Simulink. Vous pouvez saisir ces blocs dans les deux outils. Pour plus d'informations, consultez la rubrique d'aide Définir des blocs en tant que Modelica et Simulink . |
Paramétrer Modelica et Simulink Path |
Afin de définir un Bloc spécifique à Modelica ou Simulink, vous devez accéder au chemin du composant dans l'application respective, puis le définir dans les Propriétés du Bloc . Par exemple, nous pouvons trouver le composant Flip-Flop dans Modelica.
Nous copions ensuite cela dans les propriétés du Bloc .
Pour plus de détails, consultez les rubriques d'aide Création de blocs spécifiques à Modelica et Création de blocs spécifiques à Simulink . |
Ports PhS |
Pour définir les ports sur les blocs (dans ce cas, le port d'horloge flip-flop), vous faites glisser un port Modelica ou Simulink PhS sur le Bloc . Ce port doit alors être saisi en tant que BooleanInSignal.
Note :
|
Types communs |
En tant que starter pour 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 le référencement des bibliothèques de Simulation SysPhS Rubrique d'aide. Les types de valeur utilisés pour les ports sont prédéfinis dans les bibliothèques de Simulation SysPhS. Les deux types de clé utilisés sont les ValueTypes BooleanInSignal et BooleanOutSignal. Cette figure montre le Bloc Flip-Flop dans le diagramme de définition de Bloc , avec le port d'horloge défini sur le type de valeur BooleanInSignal et celui-ci étant référencé dans la fenêtre Navigateur .
|
Constantes Phs |
Les blocs Clock et Boolean-true ont tous deux des propriétés définies dans leurs composants respectifs dans MATLAB et Modelica. Prenons l'horloge comme exemple. Pour ce type de composant, à la fois dans Simulink et Modelica, nous devons définir une valeur pour la période de chaque impulsion et la largeur de chaque impulsion. Ces Propriétés doivent être définies et saisies. La valeur des Propriétés sera fixée dans l'IBD, le diagramme Paramétriques ou éventuellement dans les Datasets de simulation. Pour définir la propriété définissant la période :
Pour définir les valeurs dans le composant individuel (partie), voir la ligne Valeurs initiales dans ce tableau . |
Structure interne - le circuit |
Pour la structure interne, nous créons un Bloc avec un diagramme IBD enfant.
|
Fixations |
Pour modéliser le câblage de ces composants :
Notez que cela suit la même structure que le diagramme de circuit d'origine, mais les symboles de chaque composant ont été remplacés par des propriétés typées par les blocs que nous avons définis. |
Valeurs initiales |
La source d'impulsion numérique est un composant DigitalClock dans Modelica et Simulink. Cela nécessite deux paramètres - 'Période' et 'Largeur', comme indiqué dans l'éditeur Modelica.
Les valeurs de ces paramètres doivent être définies dans la partie IBD 'Clk', dans la fenêtre Propriétés onglet 'Propriété', champ 'Initial'
Les ports J & K nécessitent un état logique fixe "True". Ceci est défini à l'aide d'un Tableau défini sur 'true' à l'aide d'une valeur initiale , comme illustré ici pour Modelica.
En revenant au BDD, vous devriez maintenant avoir le Counter Bloc affiché comme suit :
|
Configurer le comportement de la Simulation
Ce tableau montre les étapes détaillées de la configuration de SysMLSim.
Marcher |
Action |
---|---|
Créer un artefact SysMLSimConfiguration |
|
Définir le Paquetage |
|
Définir Modelica ou Simulink |
Dans la liste déroulante du haut, sélectionnez l'outil de simulation à utiliser :
|
Réglez le Bloc sur Simuler |
|
Sélectionnez les Propriétés à tracer |
Vous pouvez maintenant sélectionner les Propriétés à tracer :
|
Exécuter Simulation
Sur la page ' Simulation ', cliquez sur le bouton Résoudre. Cela montre un exemple du tracé généré dans :
Modelica
Simulink
Dans la légende, vous pouvez voir que le Port 2 est sélectionné, tandis que les autres Ports ont été désélectionnés pour afficher un simple Plot .
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 Affichage du Modèle généré . Voir également les conseils pour déboguer tout problème dans le code généré, dans la rubrique d'aide de SysPhS Debugging Conseils .
Apprendre encore plus
- Referencing the SysPhS Simulation Libraries
- Using the SysPhS Patterns
- Configure SysML Simulation
- Viewing the Generated Model
- SysPhS Debugging Tips
- Creating Modelica-Specific Blocks
- Creating Simulink and Simscape Specific Blocks
- Setting Blocks as Both Modelica and Simulink
- Webinaire : exemple SysPhS Digital
- WebEA : Maquette numérique Modelica
- WebEA : Maquette numérique Simulink