Modelica Dymola中的一个错误;未能为FMU生成XML文件";?

Modelica Dymola中的一个错误;未能为FMU生成XML文件";?,modelica,dymola,Modelica,Dymola,模型工作正常,但在我的电脑上,它最终出现了一个错误“无法为FMU生成XML文件”。 有人告诉我这是因为Windows系统上的XML解析器坏了。有人知道这个问题的确切原因吗 FMU是因果的,因此您必须使用因果输入和输出作为接口。这些输入必须在顶层定义,以便Dymola知道要导出的FMU接口是什么 在您的模型中,某些组件的输入是开放的。您必须为它们定义顶级连接器并连接它们,如下面的屏幕截图所示。然后FMU导出将工作 输出也是如此:如果您的FMU应该有输出,您必须在顶层定义它们。在您的示例中,我们可

模型工作正常,但在我的电脑上,它最终出现了一个错误“无法为FMU生成XML文件”。 有人告诉我这是因为Windows系统上的XML解析器坏了。有人知道这个问题的确切原因吗


FMU是因果的,因此您必须使用因果输入和输出作为接口。这些输入必须在顶层定义,以便Dymola知道要导出的FMU接口是什么

在您的模型中,某些组件的输入是开放的。您必须为它们定义顶级连接器并连接它们,如下面的屏幕截图所示。然后FMU导出将工作


输出也是如此:如果您的FMU应该有输出,您必须在顶层定义它们。在您的示例中,我们可以很容易地为
stodolaturebine.MechPower
实现这一点

在Dymola的更高版本中,避免产生该错误的逻辑和错误消息都得到了改进。 在Dymola 2020x中,您可以得到:

无法为FMU或变量依赖项生成XML文件


表明问题可能是您设置了
Advanced.GenerateVariableDependencies=true

宏和汉斯·奥尔森的解释非常有用。多亏了他们的帮助,我找到了原因。这是因为我在“转换”选项卡中设置了“为打印提供变量依赖项”


我在导出FMU时遇到了相同的问题。对我来说,上面列出的选项不起作用,但排除辅助变量起作用。可能是一个非常具体的解决方案,但我还是想与大家分享。 Dymola中的相应命令为
Advanced.FMI.xmlIgnoreLocal=true

可以找到设置的屏幕截图

我也有同样的问题。对我来说,当我同时使用两个标志时,会出现错误:

  • “转换”->“为绘图提供可变的相关性”(其中 是高级的。GenerateVariableDependencies)=true
  • “FMI导出”->“排除辅助变量”(即 Advanced.FMI.xmlIgnoreLocal)=真

有人告诉我这可能是因为Windows系统中的XML解析器坏了。但我不确定如何修复它。你能提供代码吗?这是下载链接,有一个ThermoSysPro.zip,其中包括ThermoSysPro库,我的测试示例是TestStodolaturalbine3.mo。但我没有尝试导出FMU,我只是尝试进行模拟。此模型在我的计算机上不工作,但在我同事的计算机上工作。因此,我正在考虑我在dymola中的设置是否错误?您的错误消息表明,您尝试生成FMU。它不会出现在常规模拟中。模型模拟有效,但t Dymola将使用0进行所有打开的输入。感谢您的帮助。我猜我的Dymola安装或操作系统已损坏。我将重新安装Dymola。如果有任何进展,我将更新问题。可以使用标记
Advanced.FMI.GenerateModelDescriptionInterface2
独立于fmu生成来执行modelDescription.xml的生成。这个标志对你有什么价值?明显的后续问题:为什么它不能生成依赖项?@matth我在看这个问题,一个问题是它是一个完全静态的模型-但可能还有更多。