PID Autotuning VI

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.


icon

Inputs/Outputs

  • cnclst.png autotuning parameters

    autotuning parameters specifies various parameters used for the autotuning process. You can select these values manually in the Autotuning Wizard.

  • cu16.png controller type

    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.
  • ci32.png relay cycles

    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.

  • cdbl.png relay amplitude

    relay amplitude specifies the amplitude of the setpoint relay action. The setpoint relay is between setpointrelay amplitude and setpoint + relay amplitude.

  • cu16.png control specification

    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.
  • cdbl.png PV noise level

    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.

  • cnclst.png output range

    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.

  • cdbl.png output high

    output high specifies the maximum value of the controller output. The default is 100.

  • cdbl.png output low

    output low specifies the minimum value of the controller output. The default is –100.

  • cdbl.png setpoint

    setpoint specifies the setpoint value, or desired value, of the process variable being controlled.

  • cdbl.png process variable

    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.

  • cnclst.png PID gains

    PID gains specifies the proportional gain, integral time, and derivative time parameters of the controller.

  • cdbl.png proportional gain (Kc)

    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.

  • cdbl.png integral time (Ti, min)

    integral time (Ti, min) specifies the integral time in minutes. The default is 0.01.

  • cdbl.png derivative time (Td, min)

    derivative time (Td, min) specifies the derivative time in minutes. The default is 0.

  • cdbl.png dt (s)

    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.

  • cbool.png reinitialize? (F)

    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.

  • cbool.png autotune? (F)

    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.

  • idbl.png output

    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.

  • ibool.png tuning completed?

    tuning completed? indicates completion of the autotuning process. You can use this output to determine when to update the PID gains.

  • inclst.png PID gains out

    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.

  • idbl.png proportional gain (Kc)

    proportional gain (Kc) returns the proportional gain of the controller.

  • idbl.png integral time (Ti, min)

    integral time (Ti, min) returns the integral time in minutes.

  • idbl.png derivative time (Td, min)

    derivative time (Td, min) returns the derivative time in minutes.

  • idbl.png dt out (s)

    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.

  • Examples

    Refer to the following example files included with LabVIEW.

    • labview\examples\control\PID\General Auto PID Simulator.vi