我正在尝试测试一个简单的fmu来保存和恢复状态。
例如openmodelica:
model modelicatest
input Real In1;
output Real Out1(start=0, fixed=true);
equation
der(Out1) = In1;
end modelicatest;也适用于simulink:

我使用FMPy来模拟生成的FMU。
但是对于OpenModelica v1.14.1生成的FMU,在从FMPy调用getFMUState时会出现以下错误:
Exception: fmi2GetFMUstate failed with status 3对于Simulink (2019b)使用内置导出器生成FMU,当我运行setFMUState时,FMU状态不重置(即输出值)。
只是想知道OpenModelica和Simulink生成的FMU支持这些函数吗?还是FMPy问题?
发布于 2020-01-12 00:22:40
关于fmi2GetFMUstate/fmi2SetFMUstate,FMI规范,第2.1.8节。各国:
如果XML文件中的可选功能标志
<fmiModelDescription> <ModelExchange / CoSimulation canGetAndSetFMUstate in = "true">是显式设置为true (参见第3.3.1节和第4.3.1节),则这些函数仅由FMU支持。
您可以解压缩fmu文件并查看modelDescription.xml文件,以确定是否设置了标志:如果标记为false或未设置all,则不支持get和set函数。
https://stackoverflow.com/questions/59691189
复制相似问题