专栏
标签
Sysplorer将一个模型导出成FMU,之后再将FMU导出FMU,重复多次后模型文本为空
技术分享
发布于 2025-08-06 16:55:38
查看 1过去300天

原因说明:

导入 FMU 时 Sysplorer 生成的模型文本中变量名的一些潜在规则导致了变量名重复,无法通过模型检查,此时模型文本就被清空了。

针对导出后导入再导出再导入失败的情况,详细说明如下:

一、问题复现

以如下模型为例

Modelica.Blocks.Interfaces.BooleanInput u;

Boolean y;

equation

y = u;

该模型在Sysplorer导出FMU后,其模型描述xml文件如下,可以看到此时仅有变量u和y;
image.png

2)将上述FMU导入到Sysplorer中,可以通过文本看到额外生成了辅助变量 ‘u.’ ;

该辅助变量会在模型拥有离散输入变量时出现,用以传递离散输入变量的pre值,使得FMU内部可以获取到外部传给输入变量的值;
image.png

3)将上述导入后的FMU再次导出FMU后,其模型描述xml文件如下,可以看到相比第一次导出FMU,多了变量 ‘u.’;
image.png

将上述包含变量 ‘u.’ 的FMU导入到Sysplorer中后,会发现导入后的文本为空;这是因为由于变量u的存在,导致每次导入时,会生成一个辅助变量 ‘u.’,而由于进行2)时就已经生成了 ‘u.’;这就会导致 ‘u.’ 重定义。通过FMU导入接口拿到生成的文本也可以看到,的确是因为多次导入FMU导致 ‘u.’ 重定义导致生成的mo文本无法通过检查,导致出现了空文本的现象:
image.png

所属专栏:Sysplorer基础平台
产品信息:Sysplorer系统建模仿真环境
系统建模

全部回答

暂无数据
暂无数据
用户
和原帖交流更多问题细节吧,去
我要发帖 我要发帖
资料中心 资料中心
查看更多>
热门帖子 热门帖子
主要贡献者 主要贡献者
过去7天