Company Events Academic NI Developer Zone Support Solutions Products & Services Contact NI MyNI

PID VI

LabVIEW 8.6 PID Control Toolkit Help
June 2008

NI Part Number:
370401E-01

»View Product Info

Owning Palette: PID VIs

Installed With: PID Control Toolkit

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

Details  Example

Use the pull-down menu to select an instance of this VI.

PID (DBL)

output range specifies the range to which to coerce the control output. The default range is –100 to 100.
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 interval, in seconds, at which this VI is called. If dt (s) is less than or equal to zero, this VI uses an internal timer with a one millisecond resolution. The default is –1.
reinitialize? specifies whether to reinitialize the internal parameters, such as the integrated error, of the controller. The default is FALSE.
output returns the control output of the PID algorithm that is applied to the controlled process.
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.

PID (DBL Array)

output range specifies the range to which to coerce the control output. The default range is –100 to 100.
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. This VI resizes the setpoint input array to match the size of the process variable input array.
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 interval, in seconds, at which this VI is called. If dt (s) is less than or equal to zero, this VI uses an internal timer with a one millisecond resolution. The default is –1.
reinitialize? specifies whether to reinitialize the internal parameters, such as the integrated error, of the controller. The default is FALSE.
output returns the control output of the PID algorithm that is applied to the controlled process. This VI determines the length of the output array from the size of the process variable input array.
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.

PID Details

You can use the DBL Array instance of this polymorphic VI in multi-loop PID control applications. In this case, the length of the primary input array determines the length of the output array. Other input arrays do not necessarily need to be the same length as the primary input array. This VI resizes other input arrays to the same length as the primary input array as follows:

  • If the input array is longer than the primary input array, the input array is truncated to the length of the primary input array. Additional values in the array are not used.
  • If the input array is shorter than the primary input array, the last value of the input array is repeated until the size matches that of the primary input array.

In this manner, an input value that must be used for each output calculation does not need to be specified repeatedly in the array passed into this VI. Instead, the array can consist of a single value that is used for each output calculation.

Example

Refer to the General PID Simulator VI in the labview\examples\control\pid\prctrlex.llb for an example of using the PID VI.


Resources


 

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
Add Comments 1 2 3 4 5 submit