Last Modified: August 28, 2017

Implements a PI controller in the Academic form.

Value of the feedforward control.

This input accepts an array of double-precision, floating-point numbers if **setpoint** is an array.

Settings for the manual control mode.

This input accepts an array of clusters if **setpoint** is an array.

Value of the control output when you use the manual control mode.

**Default: **0

A Boolean that specifies whether to reset the internal parameters, such as the integrated error, of the controller.

True | Resets the internal parameters. |

False | Does not reset the internal parameters. |

Set **reset** to True if your application must stop and restart the control loop without restarting the entire application.

This input accepts an array of Booleans if **setpoint** is an array.

**Default: **False

Setpoint value, or desired value, of the process variable.

This input accepts a double-precision, floating-point number or an array of double-precision, floating-point numbers.

Measured value of the process variable.

This input accepts an array of double-precision, floating-point numbers if **setpoint** is an array.

Proportional gain and integral gain parameters of the controller.

This input accepts a cluster or an array of clusters.

Proportional gain of the controller.

Integral time constant of the controller, in seconds.

Range for the control output value.

If the control output value is outside **output range**, this node coerces the value to fall within the range and returns the coerced value as the control output value. This node implements integrator anti-windup when the control output is saturated at the specified minimum or maximum value.

This input accepts an array of clusters if **setpoint** is an array.

Maximum control output value.

**Default: **Infinity

Minimum control output value.

**Default: **-Infinity

Loop-cycle time, or interval in seconds, at which this node is called. **dt** must be greater than 0.

Relative emphasis of setpoint tracking to disturbance rejection.

The valid value range is [0, 1]. Use the default value for most applications.

This input accepts an array of double-precision, floating-point numbers if **setpoint** is an array.

**Default: **1

Control output of the PID algorithm that is applied to the controlled process.

Difference between the setpoint and the process variable.

Values of the proportional action, the integral action, and the derivative action in the PID algorithm.

Value of the proportional action.

Value of the integral action.

Value of the derivative action.

The following transfer function represents a PI controller in the Academic form:

${C}_{i}\left(s\right)={K}_{c}(1+\frac{1}{{T}_{i}s})$

where *K*_{c} is the proportional gain and *T*_{i} is the integral time constant.

**Where This Node Can Run: **

Desktop OS: Windows

FPGA: DAQExpress does not support FPGA devices

Web Server: Not supported in VIs that run in a web application