1
votes

Connexions manquantes dans la vue Diagramme Dymola

J'utilise Dymola pour concevoir un petit modèle de certains moteurs à courant continu et une source d'alimentation. Après avoir terminé mon travail, j'ai tout sauvegardé et fermé Dymola. Lorsque je l'ai ouvert la prochaine fois, certaines connexions (pas toutes) ne sont plus apparues. J'ai donc essayé de les dessiner à nouveau, mais Dymola me dit que les connexions existent déjà. Quand je regarde les connexions dans la section Texte, elles sont toujours là.

J'utilise Ubuntu 18.04 et Dymola Version 2019 FD01 (64 bits), 10/10/2018. J'ai également essayé d'ouvrir le modèle dans Openmodelica. Mais il manquait aussi les mêmes connexions.

Capture d'écran: Screenshot

et la représentation textuelle:

connect(controlSoftware.s1, switches.s1);
connect(controlSoftware.s12, switches.s12);
connect(controlSoftware.s2, switches.s2);
connect(controlSoftware.r1, switches.r1);
connect(controlSoftware.r2, switches.r2);
connect(switches.p, constantVoltage.p);
connect(switches.pin_n, motorWithCurrentSensor.n);
connect(switches.pin_n1, motorWithCurrentSensor1.n);
connect(controlSoftware.cur1, motorWithCurrentSensor.Currenctsensor);
connect(motorWithCurrentSensor.pin, constantVoltage.n);
connect(motorWithCurrentSensor1.pin, constantVoltage.n);
connect(motorWithCurrentSensor.Speedsensor, controlSoftware.speed1);
connect(controlSoftware.speed2, motorWithCurrentSensor1.Speedsensor);
connect(controlSoftware.cur2, motorWithCurrentSensor1.Currenctsensor);
connect(ground.p, constantVoltage.n);

Que puis-je faire pour rétablir les connexions? J'ai vraiment du mal à réparer les choses sans représentation graphique.

Merci pour votre aide

Meilleures salutations Gerald


0 commentaires

3 Réponses :


0
votes

Vous pouvez soit

  1. supprimez les instructions de connexion du code et redessinez-les dans la vue diagramme

ou

  1. ajoutez l'annotation de ligne manquante aux instructions de connexion en utilisant des valeurs arbitraires, par exemple annotation (Ligne (points = {{0, 0}, {0, 0}}))

Avec la deuxième option, vos instructions de connexion ressembleront d'abord à ceci dans le code:

connect(controlSoftware.s1, switches.s1) annotation (Line(points={{0, 0}, {0, 0}}));

Vous pouvez ensuite utiliser la couche de diagramme pour réorganiser les points de les connexions.


0 commentaires

0
votes

Quelques informations générales: La représentation graphique de tous les composants de Modelica est placée dans l'annotation après la définition de la classe. Ceci est également vrai pour les connexions.

L'un des plus petits exemples électriques est Modelica.Electrical.Analog.Examples.ShowSaturatingInductor dans lequel vous trouverez ces instructions de connexion:

  connect(SineVoltage1.n, Ground1.p) annotation (Line(points={{-60,-16},{-60,
          -16}}, color={0,0,255}));
  connect(SineVoltage1.n, SaturatingInductance1.n) annotation (Line(points={{-60,-16},
          {-20,-16},{-20,-10}}, color={0,0,255}));
  connect(SaturatingInductance1.p, SineVoltage1.p) annotation (Line(points={{-20,10},
          {-20,20},{-60,20},{-60,4}}, color={0,0,255}));
  connect(Inductance1.p, SineVoltage1.p) annotation (Line(
      points={{20,10},{20,20},{-60,20},{-60,4}}, color={0,0,255}));
  connect(Inductance1.n, SineVoltage1.n) annotation (Line(
      points={{20,-10},{20,-16},{-60,-16}}, color={0,0,255}));

La première partie indique quels connecteurs sont réellement connectés. À partir de cette partie, les équations respectives sont générées. L'annotation suivante contient la représentation graphique. La partie graphique n'est pas nécessaire pour que le modèle fonctionne. Il semble que cette partie se soit perdue dans votre modèle.

Concernant votre question: la façon la plus simple de restaurer la représentation graphique devrait être de supprimer toutes les instructions connect de votre modèle et de -les dessiner. Comme alternative, vous pouvez ajouter l'annotation manuellement ou en la modifiant dans la couche graphique, mais les deux options sont assez compliquées, c'est pourquoi je suggérerais de supprimer et de redessiner.


1 commentaires

Ok, donc cela rend la question un peu difficile à répondre, mais Dietmar l'a évidemment mieux compris que moi (et Marco). Le plus important est que votre problème soit résolu ...



2
votes

Je vois que vous êtes sur Ubuntu et qu'il y a en fait un bogue dans (au moins) Dymola2019FD01 où il mélange le komma et le point décimal lors de l'écriture des coordonnées d'annotation. Donc, si vous vérifiez, vous pourriez voir des annotations graphiques ayant {10,5,10} au lieu de {10.5,10} les rendant invalides. Je n'ai pas testé si cela a été résolu dans Dymola2020 mais d'ici là, vous pouvez utiliser la solution de contournement pour démarrer Dymola comme ceci:

#!/bin/sh
export LC_ALL=C
exec /usr/local/bin/dymola-2019FD01-x86_64 $*

Ie, assurez-vous que le local est défini sur "C" afin que Dymola ne se confond pas.


1 commentaires

Merci d'avoir résolu mon problème. Je l'ai changé à la main et maintenant tout fonctionne comme prévu!