1

我在 OpenModelica 中创建了一个模型,并想从中创建一个 FMU。

在 OpenModelica 中,我可以初始化以下参数:

model r_ctrl
  parameter Real startTime(start = 0.1);
  parameter SI.Resistance u_ref(start = 230);
  parameter SI.Power p_ref(start = 1000);
  parameter Real r_start(start = u_ref*u_ref/p_ref); 
  ...

这没有任何问题,在模拟过程中,所有参数都具有它们应该具有的值

当我创建 FMU 时,终端中出现以下错误:

[CodegenUtil.tpl:178:14-178:14:writable] Error: Template Fehler: initial value of unknown type: r_ctrl.u_ref ^ 2.0 / r_ctrl.p_ref.

有没有办法设置相互依赖的参数,但不会在 FMU 生成过程中出错?

4

1 回答 1

1

以下应该有效(我想上面也应该有效,但需要 OpenModelica 自动将其转换为类似以下内容):

model r_ctrl
  parameter Real startTime = 0.1;
  parameter SI.Resistance u_ref = 230;
  parameter SI.Power p_ref = 1000;
  parameter Real r_start(fixed=false);
initial equation
  r_start = u_ref*u_ref/p_ref; 
于 2020-08-07T07:25:12.277 回答