1
model try
  Real x(start = 1);

algorithm 
  when x >= 7 then
      reinit(x, 5);
  end when;

equation
      der(x) = 1 ;

end try;

whenガード条件がfalseからtrueに変更されるたびに、ステートメントをトリガーする必要があります。しかし、OpenModelicaには当てはまりません。tryOpenModelicaの例は、それwhenが1回だけトリガーされることを示しています。それはOpenModelicaのバグなのか、それとも私の側からの誤解なのか疑問に思いました。

4

1 に答える 1

4

あなたは正しいです。これはOpenModelicaのバグになると確信しています。このモデルは、Dymola2013で期待どおりに機能します。

私の推測では、when条件が関係xし、内部のステートメントが最終的に変更されるという事実に関連していると思いますx(同じ変数)。when句がトリガーされるポイントを決定するために使用されるモニター関数のreinitに何らかの理由で気付かない可能性があります。

于 2012-09-17T21:09:48.767 に答える