我在 JModelica 中遇到了以下安静的基本问题。考虑一个相当简单的模型:
model TEST
Real Dum(start = 0);
parameter Integer It = 5;
algorithm
Dum := 0;
for i in 1:It loop
Dum := Dum + 1;
end for;
end TEST;
我用 python 编译它并运行,当然,变量 Dum 的值总是 5,因为它应该是。现在的问题是,当我想在加载已编译的 fmu ( test.fmu ) 后更改为参数“It”时:
test = load_fmu("test.fmu");
test.set("It",4);
然后运行模拟,它仍然为“Dum”提供 5,而不是应有的 4。虽然“It”实际上变成了 4,但通过在模拟后绘制“It”的时间曲线可以看出。有谁知道是否有办法即时更改它,以便它真正影响循环?
这当然是一个玩具示例,但我需要该功能用于一个更大的项目,我迫切需要在不同的范围内循环,并且重新编译只是非常耗时。
非常感谢