Modelica库使用不同的MSL版本

时间:2017-02-20 11:18:26

标签: annotations version modelica dymola

我想在Dymola中一起使用两个Modelica库,所以为了方便起见,我写了一个小脚本,loadLibraries.mos只打开了两个库。 但他们使用不同版本的MSL(3.2.1对3.2.2),由顶级package.mo中的使用注释定义:

annotation(uses(Modelica(version="3.2.1")));

我们开发的库使用3.2.2,使用MSL 3.2.1的库是由其他人开发的。 现在每当我运行mos脚本(或者当我手动打开两个库)时,Dymola想要运行更新脚本。据我所知,更新脚本没有任何改变,所以我想

  • 要么根本不运行,例如通过定义一系列可接受的版本,例如annotation(uses(Modelica(version>="3.2.1")));

  • 或始终运行它,而不先询问,例如通过设置一些标志AlwaysSilentyAcceptMSLUpgrade 在编辑,选项,版本下有一个复选标记Force upgrade of models to MSL version,但我不确定如何在我的mos脚本中使用它(适用于所有用户)。

2 个答案:

答案 0 :(得分:3)

我务实的解决方案是问问自己,你自己的库真的是否需要3.2.2中尚未出现的3.2.2中的任何内容。因此,将您的库更改为仅需要3.2.1。或者反过来(假设您可以更改其他库的package.mo)将uses注释更改为3.2.2

答案 1 :(得分:2)

不要更改自己的库,但要使用Modelica 3.2.1只读文件库(例如将文件设为只读)。

那应该跳过提示(至少来自Dymola 2016) - 据我所知,你自己也不要自己编辑这个图书馆。

适用于不需要在版本之间进行任何更新的图书馆;这显然适用于Modelica 3.2.1-> 3.2.2,因为没有转换 - 但如果转换没有影响这个特定的库,它也会起作用。