Dymola图视图中的连接丢失

时间:2019-05-20 13:35:57

标签: ubuntu ubuntu-18.04 modelica dymola

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

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

截屏: Screenshot

和文本表示形式:

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

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

谢谢您的帮助

最好的问候杰拉德

3 个答案:

答案 0 :(得分:2)

我看到您使用的是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引起混淆。

答案 1 :(得分:0)

您可以

  1. 从代码中删除connect语句,然后在图视图中重新绘制它们

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

使用第二个选项,您的connect语句将首先在代码中如下所示:

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

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

答案 2 :(得分:0)

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

较小的电气示例之一是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语句,然后重新绘制它们。作为替代方案,您可以手动添加注释,也可以通过在图形层中对其进行编辑,但是这两个选项都相当麻烦,这就是为什么我建议删除并重新绘制的原因。