PID VIs

Owning Palette: Control & Simulation VIs and Functions

Requires: Full Development System. This topic might not match its corresponding palette in LabVIEW depending on your operating system, licensed product(s), and target.

Use the PID VIs to implement Proportional-Integral-Derivative (PID) control applications. The first three VIs on the PID palette are different versions of the PID VI. These VIs can be used interchangeably depending on the needs of the application. The other VIs on the PID palette can be used with one of the PID VIs for additional functionality.

PID is a common single-input/single-output control algorithm for many types of control applications.

Palette ObjectDescription
PIDImplements a PID controller using a PID algorithm for simple PID applications or high speed control applications that require an efficient algorithm. The PID algorithm features control output range limiting with integrator anti-windup and bumpless controller output for PID gain changes. Use the DBL instance of this VI to implement a single control loop. Use the DBL Array instance to implement parallel multi-loop control.
PID AdvancedImplements a PID controller using a PID algorithm with advanced optional features. The advanced PID algorithm includes the features of the algorithm the PID VI uses, as well as manual mode control with bumpless manual-to-automatic transitions, nonlinear integral action, two degree-of-freedom control, and error-squared control. Use the DBL instance of this VI to implement a single control loop. Use the DBL Array instance to implement parallel multi-loop control.
PID Advanced AutotuningImplements 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.
PID AutotuningIncludes 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.
PID Autotuning (Temperature)Directly controls and tunes a system. You can use this VI to improve performance of not only temperature systems, but also other types of systems that contain dead time. This VI uses internal model control to compensate for dead time and tune the system.
PID Autotuning DesignImplements autotuning using the tuning method associated with the polymorphic instance you select. This VI generates PID parameters based on the Stimulus signal and Response signal you specify. You can use this VI to generate initial parameters when you do not have sufficient information about the system you want to tune. You must manually select the polymorphic instance to use.
PID Control Input FilterApplies a fifth-order lowpass finite impulse response (FIR) filter to the input value. Filter cut-off frequency is designed to be 1/10 of the sample frequency of the input value. Use this VI to filter measured values, such as the process variable, in control applications. Use the DBL instance of this VI to implement a single control loop. Use the DBL Array instance to implement parallel multi-loop control.
PID EGU to PercentageConverts an engineering-units input to a percent-of-range output based on the minimum and maximum range settings. Use the DBL instance of this VI to implement a single control loop. Use the DBL Array instance to implement parallel multi-loop control.
PID Gain ScheduleSelects a set of PID gains from a gain schedule for the control of processes that require different sets of gains for different regions of operation, such as highly nonlinear processes. Use the DBL instance of this VI to implement a single control loop. Use the DBL Array instance to implement parallel multi-loop control.
PID Lead-LagImplements a PID controller with a lead/lag function, which is generally used as a dynamic compensator in feedforward control schemes. This VI uses a positional algorithm and is an approximation of a true exponential lead/lag. Use the DBL instance of this VI to implement a single control loop. Use the DBL Array instance to implement parallel multi-loop control.
PID Online AutotuningControls the parameters of a PID controller based on the autotuning technique of the polymorphic instance you select. You can use this VI in applications with other PID VIs, such as PID or PID Advanced, to construct and tune a PID controller. You must manually select the polymorphic instance to use.
PID Output Rate LimiterLimits the rate of change of the controller output. Place this VI immediately after the PID VI in your control application. Use the DBL instance of this VI to implement a single control loop. Use the DBL Array instance to implement parallel multi-loop control.
PID Percentage to EGUConverts a percent-of-range input to an engineering-units output based on the minimum and maximum range settings. The output is normally limited to the range [max...min]. Values outside of the range [max..min] are allowed when coerce output to range? is FALSE. Use the DBL instance of this VI to implement a single control loop. Use the DBL Array instance to implement parallel multi-loop control.
PID Setpoint ProfileGenerates setpoint values over time in a control loop for ramp and soak types of control applications.
PID Structure ConversionConverts a PID controller or controllers in Academic, Parallel, or Series form into the form (Academic) and PID gains units that the PID VIs expect. Wire data to the proportional, integral, or derivative input to determine the polymorphic instance to use, or manually select the instance.