Достижение настраиваемого параметра в OpenModelica - PullRequest
1 голос
/ 23 октября 2019

У меня есть следующий код 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 для достижения того же эффекта?

...