2

我有以下 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 变体可以达到相同的效果?

4

0 回答 0