在Dymola中为FMU导出定义字符串输入是否可行?报错求助
FMU导出报错问题排查与解答
关于“字符串输入未被使用”的疑问
未使用的输入变量通常会被工具优化剔除,但一般不会直接触发XML生成失败的报错。你已经尝试将其连接到输出,说明变量已被引用,所以这个大概率不是直接原因。问题更可能出在字符串类型的自定义连接器与FMU导出流程的兼容性上。
解释“variable dependencies(变量依赖)”
变量依赖指模型中变量间的计算关联逻辑:比如某个输出变量的计算依赖于输入变量、参数或中间变量的结果。FMU的XML文件需要明确记录这些依赖,确保导入FMU的工具能按正确顺序更新变量、传递数据。当工具无法解析或生成这些依赖关系的描述时,就会抛出该报错。
排查建议
- 替换自定义连接器为标准输入:直接在模型中使用
input String "input String";替代自定义的StringInput连接器,测试是否能正常导出FMU。如果可行,说明自定义连接器的定义存在工具兼容性问题。 - 检查工具日志细节:开启工具的详细输出模式或查找导出日志文件,通常能看到XML生成失败的具体原因(比如字符串类型不被当前FMI版本支持、连接器定义导致依赖解析失败等)。
- 确认工具对字符串FMU的支持:不同工具对FMI各版本的字符串支持程度不同——FMI 1.0/2.0对字符串的支持是非标准扩展,FMI 3.0才正式纳入规范,但部分工具的FMI 3.0实现可能不完善。查看工具官方文档,确认其对字符串类型FMU的支持范围。
- 检查连接器语法规范:部分工具对自定义连接器的定义有额外要求,比如属性定义的格式是否符合工具的特定要求,可对比工具内置的连接器定义格式调整自己的代码。
内容的提问来源于stack exchange,提问作者Luis de Alejandro
相关产品推荐
相关产品推荐

