PIDU – PID controller unit

Block SymbolLicensing group: STANDARD
PIC

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 (MAN = off) or manual mode (MAN = on).

In the automatic mode (MAN = off), the block PIDU implements the PID control law with two degrees of freedom in the form

U(s) = ±K bW(s) Y (s) + 1 Tis W(s) Y (s) + Tds Td N s + 1 cW(s) Y (s) + Z(s)

where U(s) is Laplace transform of the manipulated variable mv, W(s) is Laplace transform of the setpoint variable sp, Y (s) is Laplace transform of the process variable pv, Z(s) is Laplace transform of the feedforward control variable dv and K, Ti , Td, 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 (IH = 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 tt Ti Td. For a PI controller the formula is tt Ti2. 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 (MAN = 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:

PIC

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)  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. By definition, the value 0 turns the controller off. Negative values are not allowed, use the RACT parameter for such a purpose.   0.0 1.0

Double (F64)

ti

Integral time constant Ti. The value 0 disables the integrating part (the same effect as disabling it by the irtype parameter).   0.0 4.0

Double (F64)

td

Derivative time constant Td. The value 0 disables the derivative part (the same effect as disabling it by the irtype parameter).   0.0 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 10.0

Double (F64)

b

Setpoint weighting – proportional part   0.0  2.0 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 Ti2 or Ti Td (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 1.0

Double (F64)

hilim

Upper limit of the controller output  1.0

Double (F64)

lolim

Lower limit of the controller output  -1.0

Double (F64)

dz

Dead zone

Double (F64)

icotype

Controller output type  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