blockVariableLimiter

Limit the range of a signal with variable limits

Extends from Modelica.Blocks.Interfaces.SISO (Single Input Single Output continuous control block).

Information

The original variable Limiter Modelica.Blocks.Nonlinear.VariableLimiter showed problems with the pump model. The output variable y would often stay at the minimum (limit2) although u was larger than this value. The homotropy and smooth functions were not the problem as can be shown. Even removing both of them did not solve the problem that occured in special (?) hydraulic setups. See for example Zugabe.Fluid.Movers.Examples.test_nset.

Dymola seemed to transform the equations in the wrong way. Changing the equation section into an algorithm, thus forcing the ordered calculation, brought a solution.

  • 2017-11-17 by Peter Matthes
    Implemented. Changed equation block into an algorithm block. Otherwise y could end up staying at limit2 all the time even though u would be higher than limit2 (and smaller than limit1).

Parameters

TypeNameDefaultDescription
Booleanstrictfalse= true, if strict limits with noEvent(..)
Dummy
BooleanlimitsAtInittrueHas no longer an effect and is only kept for backwards compatibility (the implementation uses now the homotopy operator)

Connectors

TypeNameDefaultDescription
RealInputu (from SISO)Connector of Real input signal
RealOutputy (from SISO)Connector of Real output signal
Modelica.Blocks.Interfaces.RealInputlimit1Connector of Real input signal used as maximum of input u
Modelica.Blocks.Interfaces.RealInputlimit2Connector of Real input signal used as minimum of input u