SlewRateLimiter

Limits the slew rate of a signal

    SlewRateLimiter

Library

Modelica/Blocks/Nonlinear

Description

The SlewRateLimiter block limits the slew rate of its input signal in the range of [Falling, Rising].

To ensure this for arbitrary inputs and in order to produce a differential output, the input is numerically differentiated with derivative time constant Td. Smaller time constant Td means nearer ideal derivative.

Note: The user has to choose the derivative time constant according to the nature of the input signal.

Parameters

SlewRateLimiter_0

NameLabelDescriptionData TypeValid Values

mo_Rising

Rising

Maximum rising slew rate [+small..+inf) [1/s]

Scalar

mo_Falling

Falling

Maximum falling slew rate (-inf..-small] [1/s]

Scalar

mo_Td

Td

Derivative time constant

Scalar

mo_initType

initType

Type of initialization (SteadyState implies y = u)

Structure

mo_initType/choice1

No initialization (start values are used as guess values with fixed=false)

Number

0
1

mo_initType/choice2

Steady state initialization (derivatives of states are zero)

Number

0
1

mo_initType/choice3

Initialization with initial states

Number

0
1

mo_initType/choice4

Initialization with initial outputs (and steady state of the states if possible)

Number

0
1

mo_y_start

y_start

Initial or guess value of output (= state)

Scalar

SlewRateLimiter_1

NameLabelDescriptionData TypeValid Values

mo_strict

strict

= true, if strict limits with noEvent(..)

Scalar

true
false

SlewRateLimiter_2

NameLabelDescriptionData TypeValid Values

mo_u

u

u

Structure

mo_u/fixed

fixed

Cell of scalars

true
false

mo_u/start

start

Cell of scalars

mo_y

y

y

Structure

mo_y/fixed

fixed

Cell of scalars

true
false

mo_y/start

start

Cell of scalars

Ports

NameTypeDescriptionIO TypeNumber

u

implicit

Connector of Real input signal

input

1

y

implicit

Connector of Real output signal

output

1