fmi2GetFMUState/fmi2SetFMUState 支持 Matlab/OpenModelica 生成的 FMU?
fmi2GetFMUState/fmi2SetFMUState supported for Matlab/OpenModelica generated FMUs?
我正在尝试测试一个简单的 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 问题?
关于 fmi2GetFMUstate/fmi2SetFMUstate,FMI Specification,第 2.1.8 节。状态:
These functions are only supported by the FMU, if the optional capability flag <fmiModelDescription> <ModelExchange / CoSimulation canGetAndSetFMUstate in = "true">
in the XML file is explicitly set to true (see sections 3.3.1 and 4.3.1).
你可以解压fmu文件,看一下modelDescription.xml文件,看看是否设置了flag:如果是false or not set all ,不支持 get 和 set 函数。
我正在尝试测试一个简单的 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
.
只是想知道 OpenModelica 和 Simulink 生成的 FMU 是否支持这些函数?还是 FMPy 问题?
关于 fmi2GetFMUstate/fmi2SetFMUstate,FMI Specification,第 2.1.8 节。状态:
These functions are only supported by the FMU, if the optional capability flag
<fmiModelDescription> <ModelExchange / CoSimulation canGetAndSetFMUstate in = "true">
in the XML file is explicitly set to true (see sections 3.3.1 and 4.3.1).
你可以解压fmu文件,看一下modelDescription.xml文件,看看是否设置了flag:如果是false or not set all ,不支持 get 和 set 函数。