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

Exemple de Simulation de circuit électrique

Pour cet exemple, nous passons en revue la création d'un modèle SysML Paramétriques pour un circuit électrique simple, puis nous utilisons une simulation paramétrique pour prédire et tracer le comportement de ce circuit.

Diagramme de circuit

Le circuit électrique que nous allons modéliser, illustré ici, utilise une notation de circuit électrique standard.

Le circuit comprend une source d'alimentation en courant alternatif, une terre et une résistance, reliées entre elles par un fil électrique.

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

Les types

Définissez les types de valeur pour la tension, le courant et la résistance. Le type d'unité et de quantité n'est pas important pour les besoins de la simulation, mais serait défini si vous définissez un modèle SysML complet. Ces types seront généralisés à partir du type primitif 'Réel'. Dans d'autres modèles, vous pouvez choisir de mapper un Type de valeur à un type de simulation correspondant distinct du modèle.

Value Type Blocks in SysML System Simulation in Sparx Systems Enterprise Architect

De plus, définissez un type composite ( Bloc ) appelé ChargePort, qui inclut des propriétés pour le courant et la tension. Ce type permet de représenter l'énergie électrique au niveau des connecteurs entre composants.

Blocs

Dans SysML, le circuit et chacun des composants seront représentés sous forme de blocs.

Dans un Interrompre lorsqu'une Variable Change de Valeur (BDD), créer un Circuit Bloc . Le circuit comporte trois parties : une source, une masse et une résistance. Ces pièces sont de types différents, avec des comportements différents.

Créez un Bloc pour chacun des types de pièces. Les trois parties du Circuit Bloc sont connectées par des Ports, qui représentent des pins électriques . La source et la résistance ont une broche positive et une broche négative. La masse n'a qu'une seule broche, qui est positive. L'électricité (charge électrique) est transmise par les pins . Créez un bloc abstrait 'TwoPinComponent' avec deux ports ( pins ). Les deux ports sont nommés 'p' (positif) et 'n' (négatif), et ils sont de type ChargePort.

Cette figure montre le BDD, avec le circuit de blocs, la masse, le composant à deux broches, la source et la résistance.

Structure interne

Créer un Diagramme Interne de Bloc (IBD) pour Circuit. Ajoutez des propriétés pour la source, la résistance et la terre, typées par les blocs correspondants. Connectez les ports avec des connecteurs. La broche positive de la source est connectée à la broche négative de la résistance. La broche positive de la résistance est connectée à la broche négative de la source. La masse est également connectée à la broche négative de la source.

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.

Contraintes

Les équations définissent les relations mathématiques entre les propriétés numériques. Dans SysML, les équations sont représentées sous forme de contraintes dans ConstraintBlocks. Les paramètres des ConstraintBlocks correspondent aux PhSVariables et PhSConstants des Blocks ('i', 'v', 'r' dans cet exemple), ainsi qu'aux PhSVariables présents dans le type des Ports ('pv', 'pi', 'nv ', 'ni' dans cet exemple).

Créez un ConstraintBlock 'TwoPinComponentConstraint' pour définir les paramètres et les équations communes aux sources et aux résistances. Les équations doivent indiquer que la tension du composant est égale à la différence entre les tensions aux pins positives et négatives. Le courant du composant est égal au courant traversant la broche positive. La somme des courants traversant les deux pins doit être égale à zéro (l'un est le négatif de l'autre). La contrainte Ground indique que la tension à la broche Ground est nulle. La contrainte Source définit la tension comme une onde sine avec le temps de simulation du courant comme paramètre. Cette figure montre comment ces contraintes sont rendues dans un BDD.

Fixations

Les valeurs des paramètres de contrainte sont assimilées à des valeurs variables et constantes avec des connecteurs de liaison. Créez des propriétés Constraint sur chaque Bloc (propriétés typées par ConstraintBlocks) et liez les variables et constantes Bloc aux paramètres Constraint pour appliquer la Constraint au Bloc . Ces figures montrent les liaisons pour la masse, la source et la résistance respectivement.

Pour la contrainte Ground, liez gc.pv à pv

Pour la contrainte Source, liez :

  • sc.pi en pi
  • sc.pv à pv
  • sc.v à v
  • sc.i à moi
  • sc.ni à ni et
  • sc.nv à nv

Pour la contrainte Resistor, liez :

  • rc.pi à pi
  • rc.pv à pv
  • rc.v à v
  • rc.je à je
  • rc.ni à ni
  • rc.nv à nv et
  • rc.r à r

Configurer le comportement de la Simulation

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

Marcher

Action

Artefact de configuration SysMLSim

  • Sélectionnez 'Simuler > Comportement du Système > Modelica/Simulink > SysMLSim Configuration Manager'
  • Dans la première icône de la barre d'outils déroulante, sélectionnez "Créer un artefact" et créez l'élément Artefact
  • Sélectionnez le Paquetage qui possède ce modèle SysML

Créer des éléments racine dans Configuration Manager

  • Type de valeur
  • Bloc
  • bloc_contrainte

Substitution de type de valeur

Développez ValueType et pour chacun des courants, résistance et tension, sélectionnez "SysMLSimReal" dans la liste déroulante "Valeur".

Définir la propriété comme flux

  • Développez 'bloc' à ChargePort | FlowProperty | i : Current et sélectionnez 'SimVariable' dans la liste déroulante 'Value'
  • Pour 'SysMLSimConfiguration', cliquez sur le bouton Browse. pour ouvrir la boîte de dialogue ' Configurations d'éléments'
  • Définissez 'isConserved' sur 'True'

SysMLSimModel

C'est le modèle que nous voulons simuler : définissez le Bloc 'Circuit' sur 'SysMLSimModel'.

Exécuter Simulation

Dans la page ' Simulation ', cochez les cases contre 'resistor.n' et 'resistor.p' pour le tracé et cliquez sur le bouton Résoudre.

Les deux légendes 'resistor.n' et 'resistor.p' sont tracées, comme indiqué.