# 同元模型库


介绍同元 Modelica4.0.0.TY.1 标准库常见问题及解决办法。

# 用户模型未升级运行出现报错

# 问题描述

在同元基础库 Modelica4.0.0.TY.1 已加载,用户模型库依赖标准库 Modelica3.2.3,但没有升级该模型库的依赖关系的情况下,VolumetricPump 模型中插值表 combiTable 查找不到,以及变型项 freqHz 查找不到。

# 问题原因

同元基础库 Modelica4.0.0.TY.1 是在标准库 Modelica4.0.0 基础上建立的,所以 Modelica4.0.0.TY.1 与 Modelica3.2.3 存在较大版本差异,如下图所示,数据表格(Tables)做了以下修改:

二级子库名称 Modelica 4.0.0 Modelica 3.2.3 差异类型
Tables CombiTable1Ds CombiTable1Ds 功能优化
CombiTable1Dv CombiTable1D 名称修改
CombiTable2Ds CombiTable2D 名称修改
Internal.readTimeTableData 删除模型
Internal.getTimeTableValueNoDer2 新增模型
Internal.getDerTimeTableValueNoDer 新增模型
Internal.getDer2TimeTableValue 新增模型
Internal.readTable1DData 删除模型
Internal.getTable1DValueNoDer2 新增模型
Internal.getDerTable1DValueNoDer 新增模型
Internal.getDer2Table1DValue 新增模型
Internal.readTable2DData 删除模型
Internal.getTable2DValueNoDer2 新增模型
Internal.getDerTable2DValueNoDer 新增模型
Internal.getDer2Table2DValue 新增模型

# 解决方法(一)

用户根据报错信息定位模型问题直接对模型进行修改。

# 解决方法(二)

通过软件提供的“模型库转换”功能进行该模型库的升级,操作步骤如下:

  1. 在 Sysplorer 中加载该模型库;
  2. 在软件自动弹出的模型库转换对话框中,单击升级模型即可实现自动化升级;
  3. 自动升级完成之后,原模型库(依赖 Modelica3.2.3)的备份文件保留在原路径之下。

# 加载模型库未跳转出升级弹窗

# 问题描述

用户模型库加载后,未跳转出“模型库转换”弹窗,无法实现模型库自动化升级。

# 问题原因

同元基础库、标准库在版本间均存在差异,每个版本的映射表都是一一对应,因此模型库升级功能需要识别模型库顶层 annotation 里绑定的标准库依赖版本,如果用户模型未进行绑定,升级功能无法识别,将不会跳转出“模型库转换”弹窗。

# 解决方法

在用户模型库顶层 annotation 里添加绑定的标准库依赖版本,以 SteamPowerSys 模型库为例,原模型依赖标准库 Modelica 3.2.3,想实现自动跳转出“模型库转换”弹窗,需在模型库顶层加入代码:uses(Modelica(version = "3.2.3"))

# 模型库升级后的依赖问题

# 问题描述

用户模型库中存在将标准库 Modelica3.2.3 模型移植到自己模型库的情况,且这些模型在 Modelica4.0.0.TY.1 做了功能升级,用户模型库升级完成后仍会有报错情况出现。

# 问题原因

以 SteamPowerSys 模型库为例,该模型库中的 IF97BaseTwoPhase 介质模型从标准库 Modelica3.2.3 中移植而来,这个模型在 Modelica3.2.3 及 Modelica4.0.0.TY.1 中的“Gas constant”变量名分别如下所示,模型库升级功能无法实现移植后的模型升级,导致出现报错信息。

Modelica3.2.3 版本:

Modelica4.0.0.TY.1 版本:

# 解决方法

手动修改 IF97BaseTwoPhase 介质模型,将变量名 R 修改为 R_s。