fmi2Instantiate:未定义的函数或变量'fmuhelper'

时间:2019-02-05 18:50:37

标签: matlab fmi jmodelica

我正尝试使用新工具耦合工具箱从matlab导出fmu,如此链接https://www.mathworks.com/help/simulink/ug/_mw_54e936ec-2fa7-4418-be70-d99c8f91d2bd.html

所示

所以我能够导出一个fmu,并且由于我的平台是64位,所以它生成了源代码的64位二进制文​​件。我编写了一个测试文件来导入fmu并仅使用二进制文件运行模型。因此,如链接中所述,我启动了matlab服务器,然后尝试运行我的测试文件。我的测试文件与其他像ftronic导出的示例fmus一样的fmus运行良好。现在,我想运行matlab生成的fmu,它给出以下错误:

fmistatus =错误;测试CS模型实例(logStatusError):fmi2Instantiate:未定义的函数或变量'fmuhelper'。 fmi2Instantiate:未定义的函数或变量'fmuhelper'。 fmi2_import_instantiate失败 module = FMICAPI,日志级别= 5:调用fmi2SetupExperiment

我没有在任何源代码中写任何东西作为fmuhelper。当我签入matlab并转到特定路径时,我能够看到fmuhelper是matlab的一部分,并且它是一个构造函数。从该功能中我仅能理解其他内容。谁能给我一些解决方法的建议?谢谢!

2 个答案:

答案 0 :(得分:1)

我能够解决上述问题。问题是matlab无法在资源文件夹中找到fmuhelper。因此,我将fmuhelper的路径添加到了matlab路径中,并将其他mex文件添加到了该路径中,从而克服了这个错误。但是我在运行它时仍然遇到一些问题。但是这个问题现在已经解决。谢谢!

答案 1 :(得分:0)

我假设将相同的FMU导入回MATLAB。如果是这样,则无法使用自己的代码进行模拟的一个可能原因是,模拟器没有解压缩并保留FMU内的整个文件夹结构,更具体地说,是资源/文件夹下的文件。