以下构造会生成一个错误,指出方程太多。
model Model1
model myBlock
input Modelica.Blocks.Interfaces.RealInput u(start=1e99);
output Modelica.Blocks.Interfaces.RealOutput y;
parameter Real p=1 "Parameter";
equation
u=min(u,p);
u=y;
end myBlock;
myBlock b1;
myBlock b2 (p=0.5);
myBlock b3;
input Modelica.Blocks.Interfaces.RealInput u;
output Modelica.Blocks.Interfaces.RealOutput y;
equation
connect(y,b1.u);
connect(b1.y,b2.u);
connect(b2.y,b3.u);
connect(b3.y,u);
end Model1;
这个想法是在所有“myBlock”组件中为 u 和 y 获得相同的最小值。但是 u (=min...) 的赋值似乎对所有组件都是强制性的,并且不能一个接一个地计算。
知道如何解决这个问题吗?谢谢。