Implements a PID controller using a PID algorithm with advanced optional features, and applies autotuning to the controller. You can use this VI in RT applications.

Note This VI incorporates the functionality of both the PID Advanced VI and the PID Online Autotuning VI.


icon

Inputs/Outputs

  • cdbl.png alpha

    alpha specifies the derivative filter time constant. Increasing this value increases damping of derivative action.

    alpha can be a value between 0 and 1 or NaN, which specifies that no derivative filter is applied.

  • cdbl.png gamma

    gamma specifies an amount by which to weight the error applied to derivative action. The default value is 0, which avoids the derivative kick, or sudden change in controller output, that can occur after a change in the setpoint value.

    In certain cascade control operations where derivative kick is not a concern, increasing gamma might improve the speed of the first PID controller.

  • cdbl.png manual control

    manual control specifies the value of the control output when auto? is FALSE.

  • cbool.png auto? (F)

    auto? specifies whether the PID controller uses automatic or manual control. This VI considers the autotune? input and the technique you specify in the autotuning parameters input when determining the Boolean value to propagate to the auto? input of the PID Advanced VI. The default is FALSE.

  • 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.

  • cbool.png autotune? (F)

    autotune? specifies to begin autotuning. Wire this input from a Boolean control with latched mechanical action and a default value of FALSE. The default is FALSE.

  • 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 the PID Online Autotuning and PID Advanced VIs are called. If dt (s) is less than or equal to zero, the VIs calculate the time since they were 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.

  • cdbl.png beta

    beta specifies the relative emphasis of disturbance rejection to setpoint tracking. The default value of 1 is appropriate for most applications. You can use a smaller value between 0 and 1 to specify emphasis on disturbance rejection, such as process load changes.

    The PID Advanced VI uses this value in the two degree-of-freedom algorithm. If Autotune? is TRUE, this VI sets beta to 1.

  • 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 technique

    technique specifies the autotuning technique to use.

    0Step Open Loop—Specifies to use open-loop (step test) tuning, which assumes that you can model any process as a first-order lag and a pure dead time system.
    1Step Closed Loop—Specifies to use closed-loop (ultimate gain) tuning, which is very accurate, but requires that your process be in steady-state oscillation.
    2Relay—Specifies to use relay feedback tuning, which applies an on-off relay in a closed-loop test in order to obtain controlled oscillations and extract values for ultimate gain and ultimate frequency. This technique also incorporates hysteresis to reduce noise.
    3PID Relay—Specifies to use PID relay tuning, which connects a relay and an extra feedback signal with the setpoint and keeps the PID controller in the loop with the relay.
  • cu16.png type of controller

    type of controller specifies which parameters to return as the output of the tuning process.

    0P—Specifies to return only the proportional parameters.
    1PI—Specifies to return the proportional and integral parameters.
    2PID—Specifies to return the proportional, integral, and derivative parameters.
  • 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 amplitude

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

  • 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.

  • inclst.png tuned PID gains

    Tuned PID Gains retains the tuned proportional gain, integral time, and derivative time parameters of the controller.

  • 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.

  • 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.

  • Examples

    Refer to the following example files included with LabVIEW.

    • labview\examples\control\PID\Autotuning PID Online.vi