### PIDU – PID controller unit

Block SymbolLicensing group: STANDARD

Function Description
The PIDU block is a basic block for creating a complete PID controller (or P, I, PI, PD, PID, PI+S). In the most simple case it works as a standalone unit with the standard PID controller functionality with two degrees of freedom. It can operate in automatic mode ($\mathtt{\text{MAN}}=\mathtt{\text{off}}$) or manual mode ($\mathtt{\text{MAN}}=\mathtt{\text{on}}$).

In the automatic mode ($\mathtt{\text{MAN}}=\mathtt{\text{off}}$), the block PIDU implements the PID control law with two degrees of freedom in the form

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

where $U\left(s\right)$ is Laplace transform of the manipulated variable mv, $W\left(s\right)$ is Laplace transform of the setpoint variable sp, $Y\left(s\right)$ is Laplace transform of the process variable pv, $Z\left(s\right)$ is Laplace transform of the feedforward control variable dv and $K$, ${T}_{i}$, ${T}_{d}$, $N$, $b$ and $c$ are the parameters of the controller. 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. The parameter dz determines the dead zone in the integral part of the controller. The integral part of the control law can be switched off and fixed on the current value by the integrator hold input IH ($\mathtt{\text{IH}}=\mathtt{\text{on}}$). For the proper function of the controller it is necessary to connect the output mv of the controller to the controller input tv and properly set the tracking time constant tt.

The rule of thumb for a PID controller is $\mathtt{\text{tt}}\approx \sqrt{{T}_{i}{T}_{d}}$. For a PI controller the formula is $\mathtt{\text{tt}}\approx {T}_{i}∕2$. In this way 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).

By adjusting the tt parameter, it is possible to tune the behaviour at saturation limits (so-called bouncing from limits due to noise) and when switching multiple controllers (bump in the controller output occurs when switching controllers while the control error is non-zero).

The additional outputs dmv, de and SAT generate the velocity output (difference of mv), deviation error and saturation flag, respectively.

If the PIDU block is connected with the SCUV block to configure the 3-point step controller without the positional feedback, then the parameter icotype must be set to 4 and the meaning of the outputs mv and dmv and SAT is modified in the following way: mv and dmv give the PD part and difference of I part of the control law, respectively, and SAT provides the information for the SCUV block whether the deviation error is less than the dead zone dz in the automatic mode. In this case, the setpoint weighting factor c should be zero.

In the manual mode ($\mathtt{\text{MAN}}=\mathtt{\text{on}}$), the input hv is copied to the output mv unless saturated. The overall control function of the PIDU block is quite clear from the following diagram:

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 IH Integrator hold Bool off .. Integration enabled on ... Integration disabled

Outputs

 mv Manipulated variable (controller output) Double (F64) dmv Controller velocity output (difference) 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$. By definition, the value 0 turns the controller off. Negative values are not allowed, use the RACT parameter for such a purpose.  $↓$0.0 $\odot$1.0 Double (F64) ti Integral time constant ${T}_{i}$. The value 0 disables the integrating part (the same effect as disabling it by the irtype parameter).  $↓$0.0 $\odot$4.0 Double (F64) td Derivative time constant ${T}_{d}$. The value 0 disables the derivative part (the same effect as disabling it by the irtype parameter).  $↓$0.0 $\odot$1.0 Double (F64) nd Derivative filtering parameter $N$. The value 0 disables the derivative part (the same effect as disabling it by the irtype parameter).  $↓$0.0 $\odot$10.0 Double (F64) b Setpoint weighting – proportional part  $↓$0.0 $↑$2.0 $\odot$1.0 Double (F64) c Setpoint weighting – derivative part  $↓$0.0 $↑$2.0 Double (F64) tt Tracking time constant. The value 0 stands for an implicit value, which is ${T}_{i}∕2$ or $\sqrt{{T}_{i}{T}_{d}}$ (see above) for controllers with integrating part. For controllers without integrating part, the value 0 disables tracking. If tracking is needed for a P or PD controller, it can be enabled by entering a positive value greater than the sampling time. It is not possible to turn off tracking for controllers with the integrating part (due to the windup effect).  $↓$0.0 $\odot$1.0 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) dz Dead zone Double (F64) icotype Controller output type  $\odot$1 Long (I32) 1 .... Analog output 2 .... Pulse width modulation (PWM) 3 .... Step controller unit with position feedback (SCU) 4 .... Step controller unit without position feedback (SCUV)

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