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.
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
3 Réponses :
Vous pouvez soit
ou
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.
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.
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 ...
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.
Merci d'avoir résolu mon problème. Je l'ai changé à la main et maintenant tout fonctionne comme prévu!