fmi - Simulink 模型中的 FMU 无法处理输入?
问题描述
我一直在研究一种将模型从 Simulink 导出到 FMU 的方法,当我们有一个不那么错误的版本时,我们将把它开源。我和一位同事终于得到了一个工作版本,并从一个 zip 文件中提取了我们的第一个 FMU。
事实证明,我们一定是在程序中做错了什么。我们的 FMU 工作正常,除了输入。所有输入似乎都不起作用。这已经过多次测试,例如不断退出,这是可行的,而且我还测试了由我们的其他非开源软件制成的工作 FMU,并且它们可以正常工作。我似乎无法找到他们与我们 FMU 的不同之处。
如果有人想要测试 FMU 的来源,这里是一个保管箱链接。该模型很简单,一个输入直接流向输出,一个输出从常数馈送。目前,我可以读取一个获得常量的输出,但不能读取输入。它始终为 0。dropbox 文件夹包括从模型生成的 zip 文件、model.slx 文件、生成的 FMU 以及包含 FMU 内所有内容的文件夹。我知道我们还没有包括 FMU 中的所有资源,但是当我们发现 FMU 的问题时,我会解决这个问题。源代码存在于 zip 中,因此没有遗漏任何内容。
如果任何有 FMI 经验的人以前遇到过这个问题,或者可能知道我们可能做错了什么,如果你能分享你的经验,我会非常感激。
解决方案
我通过更改 FMUSDK fmuTemplate.c 文件来调用函数并处理我自己的输入和输出来解决我的问题。
推荐阅读
- ios - 应用程序后台刷新问题
- kubernetes-helm - 调用第三方chart时如何新建和使用新的ConfigMap?
- javascript - 离开后反应间隔不停止
- swift - 即使我使用了@Published 字词,email_SignUp 等数据也不会保存在我的 ViewModel 类中
- python - 使用for循环保存多个文件
- php - 我有一个问题哦,在 php 中登录。当我在 localhost 中对其进行测试时,登录页面可以正常工作。但是当我将它上传到服务器并测试时,它没有用
- shader - 将 d3d9 像素着色器转换为 d3d11 时遇到问题
- ansible - 使用“ansible”检测文件差异(更改)
- oracle - 在 Oracle 中保存日期而不附加时间
- visual-studio-code - 拆分 VSCode 屏幕