modelRampTrackingFilter

Ramp tracking filter
Diagram of RampTrackingFilter

Extends from Modelica.Blocks.Interfaces.SISO (Single Input Single Output continuous control block).

Information

Model to implement the following transfer function:
        _            _
       |              |^N
y       |  (1 + s*t1)  |
- = k * |--------------|
u       | (1 + s*t2)^M |
       |_            _|

If N = 0 then the block implements a static gain, otherwise both M and N must be greater than 0. If t1 = 0 and t2 = 0, the block also implements a static gain.

Neither output limitation nor anti-windup are implemented.

If N > 0, y = leadMOrderLagCascade[N].y but for such an equation to be compiled, the value of N has to be known during the compilation, thus making it impossible to change N before the simulation.

A workaround has been found with a vector z of the same size as leadMOrderLagCascade, whose components are either 0 or (for the Nth) leadMOrderLagCascade[N].y. The sum of z is therefore leadMOrderLagCascade[N].y.

Parameters

TypeNameDefaultDescription
RealK1Gain
IntegerMLag order
IntegerNOrder
Types.Timet1Lead time constant in s
Types.Timet2Lag time constant in s
IntegerNMax4Maximum order (>= 2)
RealY00Initial or guess value of output

Connectors

TypeNameDefaultDescription
RealInputu (from SISO)Connector of Real input signal
RealOutputy (from SISO)Connector of Real output signal

Components

TypeNameDefaultDescription
Real[NMax]zIntermediate vector whose sum equals leadMOrderLagCascade[N].y
Modelica.Blocks.Math.Gaingain
Dynawo.NonElectrical.Blocks.Continuous.LeadMOrderLag[NMax]leadMOrderLagCascade