modelPID_2dof

Digital 2-dof PID controller

Extends from Interfaces.Controller (Partial interface for a digital controller).

Information

Description

Proportional + Integral + Derivative with two degree of freedom controller with Automatic, Tracking, Manual mode and bias signal. The controller is implemented in its incremental form algorithm.
The control law is defined as

            [                      1                        sTd                      ]
  CS(s) = Kp[ (bSP(s) - PV(s)) + ----- (SP(s) - PV(S)) + -----------(cSP(s) - PV(s)) ]
            [                     sTi                     1 + sTd/N                  ]
  


NameDescriptionConditional?
SPSet PointNO
PVProcess VariableNO
CSControl SignalNO
satHICS at HIGH saturationNO
satLOWCS at LOW saturationNO
TRTrack Reference signalYES (useTS)
TSTrack Switch signalYES (useTS)
BiasBiasing signalYES (useBIAS)
MANManual Switch signalYES (useMAN)
CSincControl Signal incrementYES (useMAN)
FincForbid incrementYES (useForbid)
FdecForbid decrementYES (useForbid)


And some of them can be conditionally selected, by specifying a boolean flag.

AntiWindUp mode

If the boolean flag AntiWindup is tue the output of the block ( CS ) saturates at the values specified by CSmin and CSmax.

Tracking mode

If the boolean flag useTS is true, the inputs TS and TR are enabled.
When enabled, if the TS signal is true the output CS is forced to follow the track reference signal TR.

Manual mode

If the boolean flag useMAN is true, the inputs MAN and CSinc are enabled.
When enabled, if the MAN signal is true the output CS can be manually controlled via the signals CSinc and CSdec, that respectively increment or decrement the control signal.

Forbid mode

If the boolean flag useForbid is true, the inputs Finc and Fdec are enabled.
When enabled, if the Finc signal is true the output CS cannot grow up, while if Fdec is true it cannot decrease.

Discretisation

The controller is implemented directly through an algorithm, that represents the discretised version of the continuous time controller.

Parameters

TypeNameDefaultDescription
BooleanuseTS (from Controller)false=true, if TS and TR inputs are enabled
BooleanuseBIAS (from Controller)false=true, if BIAS input is enabled
BooleanuseMAN (from Controller)false=true, if MANUAL input is enabled
BooleanuseForbid (from Controller)false=true, if Forbid inputs are enabled
Discretisation
RealTs (from Controller)0Sampling time
Saturation
BooleanAntiWindup (from Controller)falseFlag that enables the antiwindup feature
RealCSmin (from Controller)0minimum value of the CS
RealCSmax (from Controller)1maximum value of the CS
Initialisation
RealCS_start (from Controller)0output initial value
Parameters
RealKp1Gain
RealTi10Integral time
RealTd0Derivative time
RealN5Derivative filter ratio
Realb1SP weight in P action
Realc0SP weight in D action

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.RealInputTR (from Controller)Track Reference signal
Modelica.Blocks.Interfaces.BooleanInputTS (from Controller)Flag that enables the TRACKING mode
Modelica.Blocks.Interfaces.RealInputBIAS (from Controller)Bias signal
Modelica.Blocks.Interfaces.BooleanInputMAN (from Controller)Flag that enables the MANUAL mode
Modelica.Blocks.Interfaces.RealInputCSinc (from Controller)Control Signal increment when MANUAL mode is selected
Modelica.Blocks.Interfaces.BooleanInputFinc (from Controller)Flag that forbid an increment of the CS
Modelica.Blocks.Interfaces.BooleanInputFdec (from Controller)Flag that forbid a decrement of the CS
Modelica.Blocks.Interfaces.RealInputSP (from Controller)Set Point signal
Modelica.Blocks.Interfaces.RealOutputCS (from Controller)Control signal
Modelica.Blocks.Interfaces.RealInputPV (from Controller)Process Variable signal
Modelica.Blocks.Interfaces.BooleanOutputsatHI (from Controller)The CS signal saturated at CSmax
Modelica.Blocks.Interfaces.BooleanOutputsatLOW (from Controller)The CS signal saturated at CSmin

Components

TypeNameDefaultDescription
Realbias (from Controller)bias signal
Realtr (from Controller)track reference value
Booleants (from Controller)track reference signal
RealcsInc (from Controller)control signal increment when man mode is selected
Booleanman (from Controller)manual enabling signal
BooleanF_inc (from Controller)forbidden increment signal
BooleanF_dec (from Controller)forbidden decrement signal

Revisions

Industrial Control Systems (v 1.0.0) : April-May 2012
List of revisions:

  • 11 May 2012 (author: Marco Bonvini)

Main Authors:
Marco Bonvini; <bonvini@elet.polimi.it>
Alberto Leva <leva@elet.polimi.it>
Politecnico di Milano
Dipartimento di Elettronica e Informazione
Via Ponzio 34/5
20133 Milano - ITALIA -
Copyright:
Copyright © 2010-2012, Marco Bonvini and Alberto Leva.
The IndustrialControlSystems package is free software; it can be redistributed and/or modified under the terms of the Modelica license.