我有以下 Modelica 代码
model RocketCar
Real x;
Real v;
input Real u(min = -1, max = 1);
parameter Real h;
equation
der(x) = h*v;
der(v) = h*u;
end RocketCar;
旨在模拟臭名昭著的火箭车问题,我想将其转换为 FMU。我使用以下方式转换文件OMShell
:
>>> loadFile("RocketCar.mo")
true
>> translateModelFMU(RocketCar)
"/path/to/RocketCar.fmu"
生成的 FMU 将变量列为
<ScalarVariable
name="h"
valueReference="10"
variability="fixed"
causality="parameter"
initial="exact">
<Real start="0.0"/>
</ScalarVariable>
即,作为固定参数。我想更改 Modelica 代码以tunable parameter
在生成的 FMU 中获取 a 。
请注意,已经提出并回答了类似的问题。建议的解决方案是添加annotation (Evaluate=false)
到参数的定义中。但是,这个答案似乎特定于Dymola。建议的注释似乎对生成的 FMU 没有影响。是否有注释的 OpenModelica 变体可以达到相同的效果?