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

Exemple Simulation électronique numérique

Pour cet exemple, nous parcourons la création d'un modèle SysPhS pour un circuit électronique numérique simple, puis utilisons une simulation pour prédire et cartographier 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 correspondre aux composants externes à partir de zéro. Pour un webinaire illustrant cela, consultez le lien dans En savoir plus à la fin de la rubrique.

Prérequis

L'exécution de cette simulation nécessite :

  • 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é dans 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 logique booléen vrai pour former un circuit diviseur de fréquence simple.

Créer Modèle SysML

Ce tableau montre comment nous pouvons créer 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 Bloc (BDD) sous un Paquetage appelé ' Modèle numérique'.

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 composants : une source de signal numérique pulsé, une bascule, un port booléen et un état logique booléen vrai. Ces composants sont de types différents, avec des comportements différents.

Créez un Bloc SysPhS pour chacun des types de composants. Les composants de la définition Bloc interne (IBD) du circuit seront connectés via des ports, qui représentent pins électriques. Ceux-ci doivent être définis dans le 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éfinition des blocs comme Modelica et Simulink .

Définition du chemin Modelica et Simulink

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), faites glisser un port Modelica ou Simulink PhS sur le Bloc . Ce port doit ensuite être saisi sous la forme d'un BooleanInSignal.

Note :

  • Pour Simulink, l'ordre de création des ports est essentiel - voir Ordre des ports Simulink 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 de l'autre type de port

Types courants

Pour commencer 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 Référencement des bibliothèques Simulation SysPhS Rubrique d'aide.

Les types de valeur utilisés pour les ports sont prédéfinis dans les bibliothèques Simulation SysPhS. Les deux principaux types utilisés sont les types de valeur BooleanInSignal et BooleanOutSignal.

Cette figure montre le Bloc Flip-Flop dans le diagramme de définition 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'exemple de l'horloge. Pour ce type de composant, dans Simulink comme dans 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 typées. La valeur des Propriétés sera définie dans l'IBD, le diagramme Paramétriques ou éventuellement dans les jeux de données de simulation.

Pour définir la propriété définissant la période :

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

Pour définir les valeurs dans le composant individuel (Partie), consultez 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 définition Bloc interne (IBD) à l'aide de l'option de menu contextuel
    Créer un nouveau Diagramme enfant | diagramme de définition Bloc interne
  • 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 :
    - Montrer des stéréotypes
    - Afficher Type de propriété
    Cela affichera alors uniquement le port et Type
Sur l'IBD, vous créez des pièces et les connectez :
  • Depuis la fenêtre Navigateur , faites glisser les blocs sur l'IBD en tant que parties ( Propriétés )
  • Pour visualiser ces pièces dans des compartiments, supprimez-les du diagramme
    Note : définissez l'option Coller pour « Éléments structurels » sur « TOUS »
  • Ajoutez une horloge, quatre tongs et un tableau
  • Ajoutez 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 « Connecteur »

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'impulsions numériques 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 et K nécessitent un état logique fixe « True ». Celui-ci est défini à l'aide d'un Tableau défini sur « true » à l'aide d'une valeur initiale, comme indiqué ici pour Modelica.

En revenant au BDD, vous devriez maintenant avoir le Counter Bloc affiché comme suit :

Configurer le comportement Simulation

Ce tableau montre les étapes détaillées de la configuration de SysMLSim.

Étape

Action

Créer un artefact SysMLSimConfiguration

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

Configurer Modelica ou Simulink

Dans la liste déroulante supérieure, sélectionnez l’outil de simulation à utiliser :

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

Régler le Bloc pour 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électionner 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 :

Modèleica

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 tracé simple.

Vue le Modèle dans Modelica ou Simulink

Pour visualiser le modèle généré dans les applications externes, Modelica ou Simulink, consultez la rubrique d'aide Visualisation du Modèle généré . Consultez également les conseils de débogage des problèmes éventuels dans le code généré, dans la rubrique d'aide Conseils de débogage SysPhS .

Apprendre encore plus