我有一个简单的 FMU 文件,其中包含一个将 u 作为输入并输出 y 的正弦块。在这种情况下,u 设置为等于时间。在我的 C++ 代码中,我从FMILibrary加载了 FMI 库,并完成了所有必要的步骤,直到我想给我的输入 ua 新的 pi 值(如 3.14)。所以我去了:
fmistatus = fmi2_import_set_real(fmu, &uRef, 1, &pi);
while (timeCurrent < timeEnd){
fmistatus = fmi2_import_do_step(fmu, timeCurrent , stepSize, fmi2_true);
timeCurrent += stepSize;
}
即使我试图给它一个新的值,你仍然设置为时间。我错过了什么?
PS。在哪里可以找到有关 FMI 库函数的更详细说明?目前我只能找到输入输出描述或者我又错过了什么。
更新:经过几次试验,我认为这个问题可能是因为我试图重新定义我的方程 u = time。换句话说,当我将 u 变量更改为 openmodelica 中的 RealInput 块时,一切正常。那么如果我真的想重新定义某个方程呢?我需要做什么?