The block limits the rate of change of the input by a ramp.
This block computes a threshold for the rate of change between
input u
and 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 issue 2865.
-
November 12, 2020, by Michael Wetter:
Reformulated to remove dependency to Modelica.Units.SI
.
This is for
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 2024-12-28T19:26:00Z
by OpenModelicaOpenModelica 1.24.3 using GenerateDoc.mos