PID Autotuning VI

LabVIEW 2018 Help

Edition Date: March 2018
Part Number: 371361R-01
View Product Info

DOWNLOAD (Windows Only)

LabVIEW 2016 Help
LabVIEW 2017 Help
LabVIEW 2018 Help
LabVIEW 2019 Help
LabVIEW 2020 Help

Owning Palette: PID VIs

Requires: Full Development System

Includes the Autotuning Wizard in addition to the basic PID algorithm. You can use this VI instead of the PID VI, which implements a basic PID algorithm. Use the additional inputs and output of this VI to set autotuning parameters, invoke the Autotuning Wizard, and update the PID gains.

Note  Because this VI invokes the Autotuning Wizard, which requires user interaction, it is not available on RT. To perform autotuning on an RT target, use the PID Advanced Autotuning VI.


autotuning parameters specifies various parameters used for the autotuning process. You can select these values manually in the Autotuning Wizard.
controller type specifies which parameters to return as the output of the tuning process.

0PID—Specifies to return the proportional, integral, and derivative parameters.
1PI (default)—Specifies to return the proportional and integral parameters.
2P—Specifies to return only the proportional parameters.
relay cycles specifies the number of setpoint relay cycles to use to determine the ultimate gain and period. More cycles result in more accurate parameter estimation; however, slower systems might require more time for numerous cycles.
relay amplitude specifies the amplitude of the setpoint relay action. The setpoint relay is between setpointrelay amplitude and setpoint + relay amplitude.
control specification specifies the desired response performance of the PID parameters determined by the autotuning process.

0normal—Specifies a normal response performance.
1fast—Specifies a fast response performance. Faster response generally results in a smaller rise time.
2slow—(Default) Specifies a slow response performance. Slower response generally results in less overshoot.
PV noise level specifies an estimation of the noise level of the process variable. This value is used as the hysteresis for the setpoint relay action.
output range specifies the range to which to coerce the control output. The default range is –100 to 100, which corresponds to values specified in terms of percentage of full scale. You can change this range to something that is appropriate for your control system. For example, you can relate engineering units to engineering units instead of percentage to percentage. This VI implements integrator anti-windup when the controller output is saturated at the specified minimum or maximum values.
output high specifies the maximum value of the controller output. The default is 100.
output low specifies the minimum value of the controller output. The default is –100.
setpoint specifies the setpoint value, or desired value, of the process variable being controlled.
process variable specifies the measured value of the process variable being controlled. This value is equal to the feedback value of the feedback control loop.
PID gains specifies the proportional gain, integral time, and derivative time parameters of the controller.
proportional gain (Kc) specifies the proportional gain of the controller. The default is 1. In the equation that defines the PID controller, KC represents the proportional gain.
integral time (Ti, min) specifies the integral time in minutes. The default is 0.01.
derivative time (Td, min) specifies the derivative time in minutes. The default is 0.
dt (s) specifies the loop-cycle time, or interval in seconds, at which this VI is called. If dt (s) is less than or equal to zero, this VI calculates the time since it was last called using an internal timer with 1 ms resolution. If dt (s) must be less than 1 ms, specify the value explicitly. The default is -1.
reinitialize? specifies whether to reinitialize the internal parameters, such as the integrated error, of the controller. Set reinitialize? to TRUE if your application must stop and restart the control loop without restarting the entire application. The default is FALSE.
autotune? starts the autotuning procedure and invokes the Autotuning Wizard, when TRUE. Wire this input from a Boolean control with latched mechanical action and a default value of FALSE.
output returns the control output of the PID algorithm that is applied to the controlled process. If this VI receives an invalid input, output returns NaN.
tuning completed? indicates completion of the autotuning process. You can use this output to determine when to update the PID gains.
PID gains out returns the updated PID gain parameters upon completion of the autotuning process. Normal output values are identical to the values in the PID gains input.
proportional gain (Kc) returns the proportional gain of the controller.
integral time (Ti, min) returns the integral time in minutes.
derivative time (Td, min) returns the derivative time in minutes.
dt out (s) returns the actual time interval in seconds. dt out (s) returns either the value of dt (s) or the computed interval if you set dt (s) to –1.


Refer to the General Auto PID Simulator VI in the labview\examples\control\PID directory for an example of using the PID Autotuning VI.


Not Helpful