我一直在研究一种将模型从Simulink导出到FMU的方法,当我们有一个不太笨拙的版本时,我们将开源。我和一个同事终于有了一个工作版本,并从一个拉链中提取了我们的第一个FMU。
事实证明,我们必须在程序中做错了什么。除了输入外,我们的FMU正常工作。所有输入似乎都不起作用。这已经过多次测试,就像不断出门一样有效,而且我还测试了由我们其他非开源软件制成的工作FMU,并且它们正常工作。我似乎找不到与他们的FMU不同的东西。
Here is a dropbox link(如果有人想要测试FMU的来源)。该模型很简单,其中一个输入直接指向输出,而一个输出则从常量中获取。目前,我可以读取得到一个常量的一个输出,但不能读取输入的一个。始终为0。dropbox文件夹包括从模型生成的zip文件,model.slx文件,生成的FMU,以及包含FMU内部所有内容的文件夹。我知道我们还没有将FMU的所有资源都包括在内,但是当我们发现FMU的问题所在时,我将修复此问题。源位于zip内,因此没有遗漏任何内容。
如果任何具有FMI经验的人以前曾遇到过此问题,或者可能知道我们可能在做错什么,那么如果您能分享您的经验,我将非常感激。
答案 0 :(得分:0)
我通过更改FMUSDK fmuTemplate.c文件来调用函数并处理自己的输入和输出来解决我的问题。