Réserver une Démo

SVP notez : Cette page d’aide n’est pas pour la dernière version d’Enterprise Architect. La dernière aide peut être trouvée ici.

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 :

  • Pour Simulink, l'ordre lors de la création des ports est essentiel - voir Simulink Port Ordering dans la rubrique d'aide Création de blocs spécifiques à Simulink et Simscape
  • Ces ports peuvent être définis à la fois sur Modelica et Simulink en ajoutant le stéréotype pour l'autre type de port

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 :

  • Faites glisser une PhsConstant de la boîte à outils SysPhS vers l'Horloge
  • Supprimez l'élément du diagramme pour l'afficher dans son compartiment
  • Dans la fenêtre Propriétés , onglet Propriétés , sélectionner le champ ' Type '
  • Cliquez sur [...] et sélectionnez 'Heure' comme type

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.

  • Créer un Bloc pour un circuit Flip-Flop
  • Sous ce Bloc créez un diagramme de définition de Bloc interne (IBD) à l'aide de l'option de menu contextuel
    Créer un nouveau Diagramme enfant | Diagramme de définition de Bloc diagramme
  • Double-cliquez pour ouvrir l'IBD
  • Définissez le diagramme pour afficher uniquement le nom du port, en utilisant :
    -F5 | Élément | Apparence de l'élément
  • Désactivez ensuite ces deux options :
    - Afficher les stéréotypes
    - Afficher le Type de propriété
    Cela n'affichera alors que le port et le Type
Sur l'IBD, vous créez des pièces et les connectez :
  • Depuis la fenêtre du Navigateur , faites glisser les Blocs sur l'IBD en tant que Parts ( Propriétés )
  • Pour afficher ces pièces dans des compartiments, supprimez-les du diagramme
    Note : Définissez l'option Coller pour 'Eléments structurels' sur 'TOUS'
  • Ajouter une horloge, quatre tongs et un tableau
  • Ajouter quatre ports numériques à la bordure du compteur IBD

Fixations

Pour modéliser le câblage de ces composants :

  • Créer des connexions entre les Ports avec des connecteurs de type 'Connector'

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

  • Ouvrir le diagramme de définition de Bloc
  • Cliquez sur l'espace libre 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 configuration SysML
  • Dans le champ ' Paquetage ', cliquez sur le bouton [...] et sélectionnez le Paquetage contenant le diagramme SysML

Définir Modelica ou Simulink

Dans la liste déroulante du haut, sélectionnez l'outil de simulation à utiliser :

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

Réglez le Bloc sur Simuler

  • Dans la liste de gauche, sous ' Bloc ', recherchez ' InvertOpAmp '
  • Dans la colonne 'Valeur', cliquez sur le menu déroulant et sélectionnez 'SysMLSimModel'

Sélectionnez les 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

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