PID Controller
This function block represents a PID controller containing the following elements:
- proportional term
- integral term
- differential term
- integral wind-up avoidance logic
- setup of controller output; with auto/manual selection
The controller implements the following continuous transfer function:
Internally, a velocity algorithm is used. The internally generated differential term is added at the last stage; This allows a smooth auto/manual transition and a transient-free parameter setting.
By connecting the D-Term to the X input, the controller will only react to changes in the controlled variable, but not to changes in the setpoint value.
Operating modes in "Manual" mode:
a) The controller works with a manual differential signal input.
b) The manual signal input Yh is interpreted as an absolute value and is channeled directly to the controller output Y as well as to the internal integral sum.
Operations
Overall controller implementation:
P-term:
I-term (trapezoid rule):
When the controller output is being limited, the I-term is switched off until the limit condition is over, this condition is recognized as a sign-reversal in the error signal.
D-term:
Signals
Name | I/O | Type(s) | Function |
---|---|---|---|
X | I | FLOAT | Controlled variable (sensor input) |
d | I | FLOAT | Control deviation |
Kr | I | FLOAT | Proportional gain input |
Tn | I | FLOAT | Reset time in [s] |
Tv | I | FLOAT | Derivative time in [s] |
Yh | I | FLOAT | Manual set input/manual differential input |
HA | I | BYTE | Manual mode parameter |
Yo | I | FLOAT | Upper limit input |
Yu | I | FLOAT | Lower limit input |
St | O | BYTE | Status byte |
Y | O | FLOAT | Controller output |
Parameters
Tn | =0 | I-term is off |
Tv | =0 | D-term is off |
HA[0] | =1 | Manual operation |
HA[1] | =1 | Y+ adds the manual input Yh to Yi (manual mode a) |
HA[2] | =1 | Y- subtracts the manual input Yh from Yi (manual mode a) |
HA[3] | =1 | Mode select input: Yh is channeled directly to Y (manual mode b) |
Status byte
St [0] | =1 | Limit Yu reached |
St [1] | =1 | Limit Yo reached |
Visualisierung
The symbol indicates, whether the controller runs in manual or in automatic mode.