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 differentiatedwith 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__nmodifiers

Number of Modifiers

Specifies the number of modifiers

Number

mo__modifiers

Modifiers

Add new modifier

Structure

mo__modifiers/varname

Variable name

Cell of strings

'val'

mo__modifiers/attribute

Attribute

Cell of strings

'start'
'fixed'

mo__modifiers/value

Value

Ports

NameTypeDescriptionIO TypeNumber

u

implicit

Connector of Real input signal

input

1

y

implicit

Connector of Real output signal

output

1