У меня есть следующий код 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.
Обратите внимание, что аналогичный вопрос был задан и уже получен ответ. Предложенное решение состояло в том, чтобы добавить annotation (Evaluate=false)
к определению параметра. Однако этот ответ, по-видимому, относится только к Dymola . Предлагаемая аннотация, по-видимому, не влияет на итоговую FMU. Существует ли вариант аннотации OpenModelica для достижения того же эффекта?