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


icon

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

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

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.

Examples

Refer to the following example files included with LabVIEW.

  • labview\examples\control\PID\Simulation - Cascade and Feedforward Surge Tank Level.vi