# PID (PD » Academic) (G Dataflow)

Implements a PD controller in the Academic form.

## feedforward input

Value of the feedforward control.

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

## manual control

Settings for the manual control mode.

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

### manual

A Boolean that specifies whether to use the manual control mode.

 True Uses the manual control mode. False Uses the automatic control mode.

Default: False

### manual input

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

Default: 0

## reset

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

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.

## process variable

Measured value of the process variable.

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

## PD gains

Proportional gain and derivative gain parameters of the controller.

This input accepts a cluster or an array of clusters.

### proportional

Proportional gain of the controller.

### derivative

Derivative time constant of the controller, in seconds.

### filter coefficient [a]

Derivative lowpass filter coefficient of the controller.

## output range

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 input accepts an array of clusters if setpoint is an array.

### output high

Maximum control output value.

Default: Infinity

### output low

Minimum control output value.

Default: -Infinity

## dt

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

## setpoint weighting

Corrections to apply to the error values of the controller. setpoint weighting tunes the proportional action and the derivative action.

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

### proportional weighting [beta]

Relative emphasis of setpoint tracking to disturbance rejection.

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

Default: 1

### derivative weighting [gamma]

An amount by which to weight the error applied to the derivative action.

The valid value range is [0, 1]. Use the default value to avoid the derivative kick.

Default: 0

## output

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

## error

Difference between the setpoint and the process variable.

## actions

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

### proportional

Value of the proportional action.

### integral

Value of the integral action.

### derivative

Value of the derivative action.

## Algorithm Definition

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

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

where Kc is the proportional gain, Td is the derivative time constant, and ${\alpha }_{i}$ is the derivative filter coefficient.

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