# 错误(6110)

# 错误信息

无法展开 when 子句:%n%1!s!%n%n 当前仅支持如下形式的 when 子句:%n 1. 所有分支中方程左边均为同一个变量;%n 2. 方程可展开为标量方程.%n 3. 以上情况的综合.

# 产生原因

当前仅支持如下形式的 when 子句:

  1. 所有分支中方程左边均为同一个变量;

  2. 方程可展开为标量方程;

  3. 以上情况的综合.

否则报错 6110.

# 示例

model Error_6110
  record R1
    Real a;
    Real b;
  end R1;
  function f1
    input Real x;
    output R1 r;
  algorithm
    if x > 0.5 then
      r = R1(x, x+1);
    else
      r.a = 0;
      r.b = x;
    end if;
  end f1;
  Real t = time;
  R1 r;
equation
  when t > 0.5 then
    r.a = sin(time);
    r.b = cos(time);
  elsewhen t < 0.3 then
    r = f1(t);   // 记录方程 r=f1(t) 不能展开为标量方程
  end when;
end Error_6110;