我正在尝试使用新的工具耦合工具箱从matlab导出fmu,如此链接https://www.mathworks.com/help/simulink/ug/_mw_54e936ec-2fa7-4418-be70-d99c8f91d2bd.html中所示
所以我能够导出一个fmu,它生成了64位的二进制源代码,因为我的平台是64位。我编写了一个测试文件来导入fmu并仅使用二进制文件运行模型。因此,我启动了链接中提到的matlab服务器,然后尝试运行我的测试文件。我的测试文件与其他fmus一起工作得很好,比如qtronic导出的示例fmus。现在我想运行matlab生成的fmu,它给出了以下错误:
fmi2Instantiate:未定义的函数或变量'fmuhelper‘。fmi2Instantiate:未定义的函数或变量'fmuhelper‘。fmi2_import_instantiate failed module= FMICAPI,日志level=5:Calling fmi2SetupExperiment
作为fmuhelper,我没有在我的任何源代码中写任何东西。当我签入matlab并转到特定路径时,我能够看到fmuhelper是matlab的一部分,它是一个构造器。除了这个函数之外,我不了解更多的东西。有没有人能给我一些建议来解决这个问题呢?谢谢!
发布于 2019-02-07 22:13:28
我解决了上面的问题。问题是matlab无法在资源文件夹中找到fmuhelper。因此,我将fmuhelper的路径和其他mex文件添加到matlab路径中,这样我就可以克服这个错误。但我在运行它时仍然遇到了一些问题。但是这个问题现在已经解决了。谢谢!
发布于 2019-02-07 05:59:18
我假设将相同的FMU重新导入到MATLAB中是可行的。如果这是真的,那么您不能使用自己的代码进行模拟的一个可能原因是,您的模拟器没有解压缩并保留FMU中的整个文件夹结构,更具体地说,是在resources/文件夹下的文件。
https://stackoverflow.com/questions/54541174
复制相似问题