blockLimPIDReset

P, PI, PD, and PID controller with limited output, anti-windup compensation and setpoint weighting
Diagram of LimPIDReset

Extends from TransiEnt.Basics.Icons.Block.

Information

1. Purpose of model

This model extends the MSL LimPID Controller by a reset functionality which allows to trigger a reset of the integrator state. See documentation of LimPID for more details.

2. Level of detail, physical effects considered, and physical insight

(Purely technical component without physical modeling.)

3. Limits of validity

(Purely technical component without physical modeling.)

4. Interfaces

Modelica BooleanInput: trigger to reset integrator value

Modelica RealInput: connector of setpoint input signal

Modelica RealInput: connector of measurement input signal

Modelica RealOutput: connector of actuator output signal

5. Nomenclature

(no elements)

6. Governing Equations

(no equations)

7. Remarks for Usage

(no remarks)

8. Validation

(no remarks)

9. References

(no remarks)

10. Version History

Model created by Pascal Dubucq (dubucq@tuhh.de), Aug 2014

Model revised by Pascal Dubucq (dubucq@tuhh.de), Apr 2017 : code conventions

Parameters

TypeNameDefaultDescription
SI.TimeunitTime1
.Modelica.Blocks.Types.SimpleControllercontrollerType.Modelica.Blocks.Types.SimpleController.PIDType of controller
Realk1Gain of controller
SI.TimeTi0.5Time constant of Integrator block
SI.TimeTd0.1Time constant of Derivative block
RealyMaxUpper limit of output
RealyMin-yMaxLower limit of output
Realwp1Set-point weight for Proportional block (0..1)
Realwd0Set-point weight for Derivative block (0..1)
RealNi0.9Ni*Ti is time constant of anti-windup compensation
RealNd10The higher Nd, the more ideal the derivative block
Advanced
Booleanstrictfalse= true, if strict limits with noEvent(..)
Initialization
.Modelica.Blocks.Types.InitinitType.Modelica.Blocks.Types.Init.InitialStateType of initialization (1: no init, 2: steady state, 3: initial state, 4: initial output)
BooleanlimitsAtInittrue= false, if limits are ignored during initialization
Realxi_start0Initial or guess value value for integrator output (= integrator state)
Realxd_start0Initial or guess value for state of derivative block
Realy_start0Initial value of output

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.BooleanInputtriggerTrigger to reset integrator value
Modelica.Blocks.Interfaces.RealInputu_sConnector of setpoint input signal
Modelica.Blocks.Interfaces.RealInputu_mConnector of measurement input signal
Modelica.Blocks.Interfaces.RealOutputyConnector of actuator output signal

Components

TypeNameDefaultDescription
Modelica.Blocks.Sources.ConstantDzero
Modelica.Blocks.Sources.ConstantIzero
Modelica.Blocks.Math.AddaddP
Modelica.Blocks.Math.AddaddD
Modelica.Blocks.Math.GainP
IntegratorResetI
Modelica.Blocks.Continuous.DerivativeD
Modelica.Blocks.Math.GaingainPID
Modelica.Blocks.Math.Add3addPID
Modelica.Blocks.Math.Add3addI
Modelica.Blocks.Math.AddaddSat
Modelica.Blocks.Math.GaingainTrack
Modelica.Blocks.Nonlinear.Limiterlimiter
RealcontrolErroru_s - u_mControl error (set point - measurement)