### PIDE – PID controller with defined static error

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 ($\mathtt{\text{MAN}}=\mathtt{\text{off}}$) or manual mode ($\mathtt{\text{MAN}}=\mathtt{\text{on}}$).

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

$U\left(s\right)=±K\left[bW\left(s\right)-Y\left(s\right)+\frac{1}{{T}_{i}s+\beta }E\left(s\right)+\frac{{T}_{d}s}{\frac{{T}_{d}s}{N}+1}\left(cW\left(s\right)-Y\left(s\right)\right)\right]+Z\left(s\right),$

where

$\beta =\frac{K𝜀}{1-K𝜀}$

$U\left(s\right)$ is the Laplace transform of the manipulated variable mv, $W\left(s\right)$ is the Laplace transform of the setpoint sp, $Y\left(s\right)$ is the Laplace transform of the process variable pv, $E\left(s\right)$ is the Laplace transform of the deviation error, $Z\left(s\right)$ is the Laplace transform of the feedforward control variable dv and $K$, ${T}_{i}$, ${T}_{d}$, $N$, $𝜀$ $\left(={b}_{p}∕100\right)$, $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 ($\mathtt{\text{MAN}}=\mathtt{\text{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)  $\odot$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 $\to$ higher pv on ... Higher mv $\to$ lower pv k Controller gain $K$  $↓$0.0 $\odot$1.0 Double (F64) ti Integral time constant ${T}_{i}$  $↓$0.0 $\odot$4.0 Double (F64) td Derivative time constant ${T}_{d}$  $↓$0.0 $\odot$1.0 Double (F64) nd Derivative filtering parameter $N$  $↓$0.0 $\odot$10.0 Double (F64) b Setpoint weighting – proportional part  $↓$0.0 $\odot$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 $\odot$1.0 Double (F64) bp Static error coefficient Double (F64) hilim Upper limit of the controller output  $\odot$1.0 Double (F64) lolim Lower limit of the controller output  $\odot$-1.0 Double (F64)

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