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, πœ€ (= bpβˆ•100), 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 (F64)

sp

Setpoint variable

Double (F64)

pv

Process variable

Double (F64)

tv

Tracking variable

Double (F64)

hv

Manual value

Double (F64)

MAN

Manual or automatic mode

Bool

off ..

Automatic mode

on ...

Manual mode

Outputs

mv

Manipulated variable (controller output)

Double (F64)

de

Deviation error

Double (F64)

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 (I32)

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   ↓0.0 βŠ™1.0

Double (F64)

ti

Integral time constant Ti   ↓0.0 βŠ™4.0

Double (F64)

td

Derivative time constant Td   ↓0.0 βŠ™1.0

Double (F64)

nd

Derivative filtering parameter N   ↓0.0 βŠ™10.0

Double (F64)

b

Setpoint weighting – proportional part   ↓0.0 βŠ™1.0

Double (F64)

c

Setpoint weighting – derivative part   ↓0.0

Double (F64)

tt

Tracking time constant. No meaning for controllers without integrator.   ↓0.0 βŠ™1.0

Double (F64)

bp

Static error coefficient

Double (F64)

hilim

Upper limit of the controller output  βŠ™1.0

Double (F64)

lolim

Lower limit of the controller output  βŠ™-1.0

Double (F64)

2023 © REX Controls s.r.o., www.rexygen.com