簡體   English   中英

Dymola中的多個MSL版本

[英]Multiple MSL versions in Dymola

Dymola 2019FD01默認附帶MSL 3.2.2,
Dymola 2020默認帶有MSL 3.2.3。

如果我打開帶有annotation(uses(Modelica(version="3.2.3")));的庫annotation(uses(Modelica(version="3.2.3"))); 在Dymola 2019FD01中,將顯示以下彈出窗口,建議使用找到的舊版本: 使用找到的版本

另一方面,如果我打開帶有annotation(uses(Modelica(version="3.2.2")));的庫annotation(uses(Modelica(version="3.2.2"))); 在Dymola 2020中顯示以下彈出窗口,建議進行轉換: 轉換為新版本

  • 我認為解決此問題的正確方法是在Dymola 2019FD01中提供MSL 3.2.3。 對這個假設有何評論?
  • 此外,新的Dymola版本可以默認包含舊的MSL版本作為安裝選項,或者由用戶手動添加。
  • 當我同時安裝了兩個Dymola版本時,是否可以在以下兩個目錄之間復制MSL文件夾?
    C:\\Program Files\\Dymola 2019 FD01\\Modelica\\Library
    C:\\Program Files\\Dymola 2020\\Modelica\\Library
  • 我還可以使用已標記並在github上發布的MSL還是有任何更改?
  • 有沒有更好的(官方的,有記錄的)方式來解決這個問題?
  • 為什么舊的MSL版本不包含在最新的Dymola中是有原因的?
  • 我可以走多遠,例如,甚至可以與Dymola 7.4一起使用? 而使用MSL 3.2.1? 顯然,該工具必須支持MSL版本中使用的語言元素。

此問題與Linux的Dymola中未收到答案的Update Modelica標准庫密切相關,也與使用不同的MSL版本的Modelica庫有關,而MSL版本確實收到了答案,但此解決方法可能不足以解決所有情況。

我認為解決此問題的正確方法是在Dymola 2019FD01中提供MSL 3.2.3。 對這個假設有何評論?

較舊的工具可能不支持較新的庫功能,有關我記得的一個最新示例,請參見https://github.com/modelica/ModelicaStandardLibrary/issues/2091#issuecomment-272687901 或以Modelica同步語言功能為另一個示例。

我還可以使用已標記並在github上發布的MSL還是有任何更改?

  • GitHub發布的MSL的ModelicaServices只是占位符,需要用特定於工具的ModelicaServices代替。
  • 可能不會使用來自GitHub發布的MSL的ModelicaStandardTables等的C-Sources,但將使用分發的工具。

有沒有更好的(官方的,有記錄的)方式來解決這個問題?

還沒。 請參閱https://github.com/modelica/ModelicaSpecification/issues/1023https://github.com/modelica/ModelicaSpecification/issues/556了解相應的Modelica規范問題。

在Dymola 2020(及更高版本)中,還有另一種方法,甚至可以確保使用MSL版本特定的C源。

  • 設置全局標志Advanced.PlaceDymolaSourceFirst = 2
  • 確保已使用正確的編譯器在MSL中編譯了C源代碼。
  • 可以在“編輯”>“選項版本”選項卡中將版本設置為默認版本。
  • 不要從GitHub安裝ModelicaServices。

Dymola用戶手冊第1卷中對此進行了記錄; 第6.1.5節“其他設置”>“使用比發行版中更新的Modelica版本,Dymola 2020版本中的第909-910頁”。 (我只是早些時候沒有找到。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM