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
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | strict | false | = true, if strict limits with noEvent(..) |
| Dummy | |||
| Boolean | limitsAtInit | true | Has no longer an effect and is only kept for backwards compatibility (the implementation uses now the homotopy operator) |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| RealInput | u (from SISO) | Connector of Real input signal | |
| RealOutput | y (from SISO) | Connector of Real output signal | |
| Modelica.Blocks.Interfaces.RealInput | limit1 | Connector of Real input signal used as maximum of input u | |
| Modelica.Blocks.Interfaces.RealInput | limit2 | Connector of Real input signal used as minimum of input u |