# PID

PID controller with anti-windup mechanism and manually controllable output.

## Input

Name | Type | Description
--- | --- | ---
ACTUAL | REAL | Measured process variable
SET_POINT | REAL | Set point
KP | REAL | Proportional gain factor
TN | REAL | Integral time
TV | REAL | Derivative time
Y_MANUAL | REAL | Sets the control signal Y manually while ignoring any offset, if MANUAL is TRUE
Y_OFFSET | REAL | Offsets the control signal Y
Y_MIN | REAL | Lower limit of the control signal Y
Y_MAX | REAL | Upper limit of the control signal Y
RESET | BOOL | TRUE resets the integrator to zero and sets the control signal Y to Y_OFFSET
MANUAL | BOOL | TRUE resets the integrator to zero and enables setting the control signal Y manually

## Output

Name | Type | Description
--- | --- | ---
Y | REAL | Control signal
LIMITS_ACTIVE | BOOL | TRUE, IF (Y ≥ Y_MAX) OR (Y ≤ Y_MIN)

## Functional description

The ideal standard form of the PID controller is given by:

, where

Integral windup can be prevented by setting the limits of the control signal. Once the control signal reaches the limits, the integrator is stopped at its current value.