限制Modelica中的变量

限制Modelica中的变量,modelica,systemmodeler,Modelica,Systemmodeler,我正在尝试模拟一个简单的执行器。当我使用以下代码行定义致动器延伸和收缩长度的限制时,结果是s_rel受到限制,但自由法兰无限期移动: s_rel=smooth(0, if strokeUpperLimit then l_cyl else if strokeLowerLimit then l_cyl + l_rod else flange_a.s - flange_b.s); 对连续变量设置限制的最佳方法是什么?我不知道这是否是最佳方法,但Modelica标准库包含一个限制: Modelica.

我正在尝试模拟一个简单的执行器。当我使用以下代码行定义致动器延伸和收缩长度的限制时,结果是s_rel受到限制,但自由法兰无限期移动:

s_rel=smooth(0, if strokeUpperLimit then l_cyl else if strokeLowerLimit then l_cyl + l_rod else flange_a.s - flange_b.s);

对连续变量设置限制的最佳方法是什么?

我不知道这是否是最佳方法,但Modelica标准库包含一个限制:

Modelica.Blocks.Nonlinear.Limiter