Limit the increase or decrease rate of input
The block limits the rate of change of the input by a ramp.
This block computes a threshold for the rate of change of the
output y as thr = (u-y)/Td, where
Td > 0 is parameter. The output y is
computed as follows:
- If
thr < fallingSlewRate, then dy/dt =
fallingSlewRate,
- if
thr > raisingSlewRate, then dy/dt =
raisingSlewRate,
- otherwise,
dy/dt = thr.
Implementation
For the block to work with arbitrary inputs and in order to
produce a differentiable output, the input is numerically
differentiated with derivative time constant Td.
Smaller time constant Td means nearer ideal
derivative.
- January 27, 2022, by Jianjun Hu:
Renamed the block name from SlewRateLimiter to LimitSlewRate.
This is for Buildings,
issue 2865.
- November 12, 2020, by Michael Wetter:
Reformulated to remove dependency to
Modelica.Units.SI.
This is for Buildings,
issue 2243.
- April 21, 2020, by Michael Wetter:
Removed final attribute on unit because if the input quantity is
power, then the rate limit is units of power per units of
time.
- March 2, 2020, by Michael Wetter:
Changed icon to display dynamically the output value.
- March 29, 2017, by Jianjun Hu:
First implementation, based on the implementation of the Modelica
Standard Library.
Generated at 2026-04-02T18:18:35Z by OpenModelicaOpenModelica 1.26.3 using
GenerateDoc.mos