PIDE – PID controller with defined static error

Block SymbolLicensing group: ADVANCED
PIC

Function Description
The PIDE block is a basis for creating a modified PI(D) controller which differs from the standard PI(D) controller (the PIDU block) by having a finite static gain (in fact, the value 𝜀 which causes the saturation of the output is entered). In the simplest case it can work autonomously and provide the standard functionality of the modified PID controller with two degrees of freedom in the automatic (MAN = off) or manual mode (MAN = on).

If in automatic mode and if the saturation limits are not active, the controller implements a linear control law given by

U(s) = ±K bW(s) Y (s) + 1 Tis + βE(s) + Tds Tds N + 1(cW(s) Y (s)) + Z(s),

where

β = K𝜀 1 K𝜀

U(s) is the Laplace transform of the manipulated variable mv, W(s) is the Laplace transform of the setpoint sp, Y (s) is the Laplace transform of the process variable pv, E(s) is the Laplace transform of the deviation error, Z(s) is the Laplace transform of the feedforward control variable dv and K, Ti , Td, N, 𝜀 (= bp100), b and c are the controller parameters. The sign of the right hand side depends on the parameter RACT. The range of the manipulated variable mv (position controller output) is limited by parameters hilim, lolim.

By connecting the output mv of the controller to the controller input tv and properly setting the tracking time constant tt we obtain the bumpless operation of the controller in the case of the mode switching (manual, automatic) and also the correct operation of the controller when saturation of the output mv occurs (antiwindup).

In the manual mode (MAN = on), the input hv is copied to the output mv unless saturated. In this mode the inner controller state tracks the signal connected to the tv input so the successive switching to the automatic mode is bumpless. But the tracking is not precise for 𝜀 > 0.

Inputs

dv

Feedforward control variable

double

sp

Setpoint variable

double

pv

Process variable

double

tv

Tracking variable

double

hv

Manual value

double

MAN

Manual or automatic mode

bool

off ..

Automatic mode

on ...

Manual mode

Outputs

mv

Manipulated variable (controller output)

double

de

Deviation error

double

SAT

Saturation flag

bool

off ..

The controller implements a linear control law

on ...

The controller output is saturated

Parameters

irtype

Controller type (control law)  6

long

1 ....

D

2 ....

I

3 ....

ID

4 ....

P

5 ....

PD

6 ....

PI

7 ....

PID

RACT

Reverse action flag

bool

off ..

Higher mv higher pv

on ...

Higher mv lower pv

k

Controller gain K  1.0

double

ti

Integral time constant Ti  4.0

double

td

Derivative time constant Td  1.0

double

nd

Derivative filtering parameter N  10.0

double

b

Setpoint weighting – proportional part  1.0

double

c

Setpoint weighting – derivative part

double

tt

Tracking time constant. No meaning for controllers without integrator.  1.0

double

bp

Static error coefficient

double

hilim

Upper limit of the controller output  1.0

double

lolim

Lower limit of the controller output  -1.0

double