Dymola 图视图中缺少连接

Missing connections in Dymola Diagram view

我正在使用 Dymola 设计一些直流电机和电源的小型模型。完成工作后,我保存了所有内容并关闭了 Dymola。当我下次打开它时,一些(不是全部)连接不再显示。所以我尝试重新绘制它们,但 Dymola 告诉我这些连接已经存在。当我查看文本部分中的连接时,它们仍然存在。

我正在使用 Ubuntu 18.04 和 Dymola 版本 2019 FD01(64 位),2018-10-10。我还尝试在 Openmodelica 中打开模型。但是也缺少相同的连接。

截图:

和文本表示:

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);

我该怎么做才能恢复连接?如果没有图形表示,我真的很难解决问题。

感谢您的帮助

问候杰拉德

您可以

  1. 从代码中删除连接语句并在图表视图中重新绘制它们

  1. 使用一些任意值将缺失的行注释添加到连接语句,例如 annotation (Line(points={{0, 0}, {0, 0}}))

使用第二个选项,您的连接语句首先在代码中看起来像这样:

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

然后您可以使用图表图层重新排列连接点。

一些背景信息:Modelica 中所有组件的图形表示放在 class 定义之后的注释中。对于连接也是如此。

其中一个较小的电气示例是 Modelica.Electrical.Analog.Examples.ShowSaturatingInductor,您可以在其中找到以下连接语句:

  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}));

第一部分说明实际连接了哪些连接器。从这部分生成相应的方程式。以下注释包含图形表示。图形部分不是模型工作所必需的。这部分似乎以某种方式丢失在您的模型中。

关于您的问题:恢复图形表示的最简单方法应该是从您的模型中删除所有 connect 语句并删除它们 re-draw。作为替代方案,您可以手动添加注释或通过在图形层中对其进行编辑,但这两个选项都非常繁琐,这就是我建议删除和 re-draw.

的原因

我看到你在 Ubuntu 并且实际上(至少)Dymola2019FD01 中存在一个错误,它在写出注释坐标时确实混淆了 komma 和小数点。因此,如果您进行检查,您可能会看到一些图形注释具有 {10,5,10} 而不是 {10.5,10},从而使它们无效。我尚未测试此问题是否已在 Dymola2020 中得到解决,但在此之前您可以使用解决方法来启动 Dymola,如下所示:

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

即,确保将本地设置为 "C",以免 Dymola 混淆。