model try
Real x(start = 1);
algorithm
when x >= 7 then
reinit(x, 5);
end when;
equation
der(x) = 1 ;
end try;
只要将保护条件从false更改为true,就应触发when
语句。
但在OpenModelica中并非如此。 OpenModelica中的示例try
显示when
仅触发一次。我想知道这是OpenModelica的错误还是我身边的一些误解。
答案 0 :(得分:4)
你是对的。我很确定这将是OpenModelica中的一个错误。该模型的工作方式与您在Dymola 2013中的预期相同。
我的猜测是,它与你的条件涉及x
并且内部的语句最终改变x
(同一个变量)有关。它可能是某种程度上没有注意到监视函数中的reinit用于确定when子句应该触发的点。