Ubuntu Dymola图表视图中缺少连接

Ubuntu Dymola图表视图中缺少连接,ubuntu,ubuntu-18.04,modelica,dymola,Ubuntu,Ubuntu 18.04,Modelica,Dymola,我正在使用Dymola设计一些直流电机和电源的小型模型。完成工作后,我保存了所有东西并关闭了Dymola。当我下次打开它时,一些(不是全部)连接不再显示。所以我又试着画了一遍,但迪莫拉告诉我这些联系已经存在了。当我查看文本部分中的连接时,它们仍然存在 我使用的是Ubuntu18.04和Dymola版本2019 FD01(64位),2018-10-10。我还尝试在Openmodelica中打开模型。但也有同样的联系缺失 截图: 和文本表示: connect(controlSoftware.s1,

我正在使用Dymola设计一些直流电机和电源的小型模型。完成工作后,我保存了所有东西并关闭了Dymola。当我下次打开它时,一些(不是全部)连接不再显示。所以我又试着画了一遍,但迪莫拉告诉我这些联系已经存在了。当我查看文本部分中的连接时,它们仍然存在

我使用的是Ubuntu18.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);
我该怎么做才能恢复连接?在没有图形表示的情况下,我很难解决问题

谢谢你的帮助

向杰拉尔德问好你可以

  • 从代码中删除connect语句,并在图表视图中重新绘制它们
  • 使用一些任意值将缺少的行注释添加到connect语句中,例如。
    注释(行(点={{0,0},{0,0}))
  • 使用第二个选项,您的connect语句将首先在代码中显示如下:

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

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

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

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

      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
    语句并重新绘制它们。作为替代方案,您可以手动添加注释或在图形层中编辑注释,但这两个选项都非常灵活,这就是我建议删除并重新绘制注释的原因。

    我看到您在Ubuntu上,并且实际上(至少)中有一个bug在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不会混淆。

    谢谢您解决了我的问题。我用手改了,现在一切都正常了!好吧,这使得这个问题有点难以回答,但迪特玛显然比我(还有马可)做得更好。最重要的是,你的问题已经解决了。。。