0

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

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

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

我没有在我的任何源代码中写任何东西作为 fmuhelper。当我在 matlab 中检查并转到特定路径时,我能够看到 fmuhelper 是 matlab 的一部分,并且它是一个构造函数。除了那个功能,我什么都不懂。谁能给我一些关于如何解决它的建议?谢谢!

4

2 回答 2

1

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

于 2019-02-07T14:13:27.563 回答
0

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

于 2019-02-06T21:59:17.720 回答