modelVarLimPIDFreeze

PI controller with limited output (with adjustable limits), anti-windup compensation, setpoint weighting, optional feed-forward and optional freezing of the state
Diagram of VarLimPIDFreeze

Extends from Modelica.Blocks.Interfaces.SVcontrol (Single-Variable continuous controller).

Information

The following features are present:

  • The output of this controller is limited. If the controller is in its limits, anti-windup compensation is activated to drive the integrator state to zero.
  • Setpoint weighting is present, which allows to weight the setpoint in the proportional part independently from the measurement. The controller will respond to load disturbances and measurement noise independently of this setting (parameters Wp). However, setpoint changes will depend on this setting.
  • Optional feed-forward. It is possible to add a feed-forward signal. The feed-forward signal is added before limitation.

Extended with Freeze functionality: If boolean input is set to true, the derivative of the state variable is set to zero.

Parameters

TypeNameDefaultDescription
RealK1Gain of controller
Types.TimeTi0.5Time constant of Integrator block
RealWp1Set-point weight for Proportional block (0..1)
RealNi0.9Ni*Ti is time constant of anti-windup compensation
BooleanWithFeedForwardfalseUse feed-forward input?
RealKff1Gain of feed-forward input
RealXi00Initial or guess value for integrator output (= integrator state)
RealY00Initial value of output
Types.TimeunitTime1
Advanced
BooleanStrictfalse= true, if Strict limits with noEvent(..)

Connectors

TypeNameDefaultDescription
RealInputu_s (from SVcontrol)Connector of setpoint input signal
RealInputu_m (from SVcontrol)Connector of measurement input signal
RealOutputy (from SVcontrol)Connector of actuator output signal
Modelica.Blocks.Interfaces.RealInputuFFOptional connector of feed-forward input signal
Modelica.Blocks.Interfaces.RealInputyMin
Modelica.Blocks.Interfaces.RealInputyMax
Modelica.Blocks.Interfaces.BooleanInputfreeze

Components

TypeNameDefaultDescription
RealcontrolErroru_s - u_mControl error (set point - measurement)
Modelica.Blocks.Math.AddaddP
Modelica.Blocks.Math.GainP
Modelica.Blocks.Math.GaingainPID
Modelica.Blocks.Math.AddaddPID
Modelica.Blocks.Math.Add3addI
Modelica.Blocks.Math.AddaddSat
Modelica.Blocks.Math.GaingainTrack
Modelica.Blocks.Nonlinear.VariableLimiterlimiter
Modelica.Blocks.Sources.ConstantFFzero
Modelica.Blocks.Math.AddaddFF
IntegratorSetFreezeI