The PID Control Toolkit is a collection of functions for configuring and tuning proportional, integral, and derivative (PID) algorithms within LabWindows/CVI. With the PID control algorithms, you can maintain a particular process setpoint, such as the temperature in a controlled environment or the level in a tank with input and output valves.
!
BEGIN_TEXT
!
PID Control Toolkit
0
0
0
0
255
255
255
255
0
0
0
0
0
0
255
255
255
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
~~
~~
-1
0
0
0
0
3
3
-1
3
0
0
PID.AVI
0
1
2640
3885
4575
2550
0
0
0
0
BEGIN_TEXT
The PID Control toolkit is packaged as a LabWindows/CVI instrument driver. Therefore, you can use the function like any other standard LabWindows/CVI library of functions.
Pull down on the Instrument menu and select PID Control to view the functions in the toolkit.
!
BEGIN_TEXT
!
PID Control Functions
0
0
0
0
255
255
255
255
0
0
0
0
0
0
255
255
255
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
~~
~~
0
0
0
0
0
3
3
0
3
0
-1
PID.AVI
0
5
2970
3105
4530
2340
0
0
0
0
BEGIN_TEXT
As you can see, the PID Control Toolkit library contains a hierarchical function tree and function panels for each of its functions, like the built-in LabWindows/CVI libraries.
Click on the Select button to view the Configure function panel.
!
BEGIN_TEXT
!
PID Control Functions
0
0
0
0
255
255
255
255
0
0
0
0
0
0
255
255
255
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
~~
~~
0
0
0
0
0
3
3
0
3
0
-1
PID.AVI
0
7
4470
2580
4575
3060
0
0
0
0
BEGIN_TEXT
Using the Configure function, you can set up simple PID control loops. The Configure function contains all of the parameters for controlling the reaction of your loop, such as the setpoint, reset time, and so on.
To learn more about the operation of the Configure function, right-click anywhere on the function panel to view the function help information.
!
BEGIN_TEXT
!
Configuring Your PID Loop
0
0
0
0
255
255
255
255
0
0
0
0
0
0
255
255
255
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
~~
~~
0
0
0
0
0
3
3
0
3
0
-1
PID.AVI
0
9
4995
870
4680
1605
0
0
0
0
BEGIN_TEXT
Click on the Done button when you are finished viewing the help.
!
BEGIN_TEXT
!
Configuring Your PID Loop
0
0
0
0
255
255
255
255
0
0
0
0
0
0
255
255
255
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
~~
~~
0
0
0
0
0
3
3
0
3
0
-1
PID.AVI
0
11
2130
1650
4065
1710
0
0
0
0
BEGIN_TEXT
Click on the Current Tree icon in the toolbar to return to the PID Control function tree.
!
BEGIN_TEXT
!
Configuring Your PID Loop
0
0
0
0
255
255
255
255
0
0
0
0
0
0
255
255
255
0
5
ARR_U1B.BMP
ARR_U1_.BMP
74
164
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
~~
~~
0
0
0
0
0
3
3
0
3
0
-1
PID.AVI
0
13
3120
2280
4860
2235
0
0
0
0
BEGIN_TEXT
After you use the Configure function to set up your loop parameters, you can use the other functions in the library to programmatically change any of the parameters for your loop.
For example, click on the Select button to view the Setpoint function panel.
!
BEGIN_TEXT
!
Changing the Setpoint
0
0
0
0
255
255
255
255
0
0
0
0
0
0
255
255
255
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
~~
~~
0
0
0
0
0
3
3
0
3
0
-1
PID.AVI
0
15
3735
1230
4815
1785
0
0
0
0
BEGIN_TEXT
Right-click anywhere on the panel to view the Setpoint function help information.
!
BEGIN_TEXT
!
Changing the Setpoint
0
0
0
0
255
255
255
255
0
0
0
0
0
0
255
255
255
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
~~
~~
0
0
0
0
0
3
3
0
3
0
-1
PID.AVI
0
17
3735
1230
4815
1785
0
0
0
0
BEGIN_TEXT
Click on the Done button when you finished viewing the help information.
!
BEGIN_TEXT
!
Changing the Setpoint
0
0
0
0
255
255
255
255
0
0
0
0
0
0
255
255
255
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
~~
~~
0
0
0
0
0
3
3
0
3
0
-1
PID.AVI
0
19
3735
1230
4815
1785
0
0
0
0
BEGIN_TEXT
Click on the Current Tree icon in the toolbar to return to the PID Control function tree.
!
BEGIN_TEXT
!
Changing the Setpoint
0
0
0
0
255
255
255
255
0
0
0
0
0
0
255
255
255
0
5
ARR_U1R.BMP
ARR_U1_.BMP
69
164
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
~~
~~
0
0
0
0
0
3
3
0
3
0
-1
PID.AVI
0
21
3735
1230
4815
2160
0
0
0
0
BEGIN_TEXT
Once you have setup your loop parameters, you can use the Cycle functions to control the loop values during execution.
Click on the Select button to view the Cycle functions.
!
BEGIN_TEXT
!
Cycle Functions
0
0
0
0
255
255
255
255
0
0
0
0
0
0
255
255
255
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
~~
~~
0
0
0
0
0
3
3
0
3
0
-1
PID.AVI
0
23
3735
1230
4815
1785
0
0
0
0
BEGIN_TEXT
Click on the Select button to view the Conventional Cycle function panel.
!
BEGIN_TEXT
!
Cycle Functions
0
0
0
0
255
255
255
255
0
0
0
0
0
0
255
255
255
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
~~
~~
0
0
0
0
0
3
3
0
3
0
-1
PID.AVI
0
25
3315
270
5025
2415
0
0
0
0
BEGIN_TEXT
The Cycle function uses the current value of the process variable and the global loop parameters (setup with the Configure function) to compute a new output that keeps the process variable stable.
Right-click anywhere on the function panel to view the Cycle function help information.
!
BEGIN_TEXT
!
Controlling the Process Variable
0
0
0
0
255
255
255
255
0
0
0
0
0
0
255
255
255
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
~~
~~
0
0
0
0
0
3
3
0
3
0
-1
PID.AVI
0
27
4845
405
4935
1365
0
0
0
0
BEGIN_TEXT
Click on the Done button when you are finished reading the help information
!
BEGIN_TEXT
!
Controlling the Process Variable
0
0
0
0
255
255
255
255
0
0
0
0
0
0
255
255
255
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
~~
~~
0
0
0
0
0
3
3
0
3
0
-1
PID.AVI
0
29
3420
120
5430
2430
0
0
0
0
BEGIN_TEXT
The PID Control Toolkit includes a number of example programs to show you how to use the PID functions to control a process. This example simulates control of a tank level.
Pull down on the Run menu and select Run Project to run the program.
!
BEGIN_TEXT
!
Running a PID Example
0
0
0
0
255
255
255
255
0
0
0
0
0
0
255
255
255
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
~~
~~
0
0
0
0
0
3
3
0
3
0
-1
PID.AVI
0
33
4725
3060
4950
2145
0
0
0
0
BEGIN_TEXT
This example controls the level of a tank by automatically changing the valve position of the input valve supplying the tank.
Click on the arrow to start the simulation.
!
BEGIN_TEXT
!
Running a PID Example
0
0
0
0
255
255
255
255
0
0
0
0
0
0
255
255
255
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
~~
~~
-1
0
0
0
0
3
3
-1
3
0
0
PID.AVI
0
66
4575
4815
4425
2505
0
0
0
0
BEGIN_TEXT
At any time during execution and control of the process loop, you can change the setpoint. The PID algorithms automatically bring the system back to equilibrium at the new setpoint level.
Change the tank level setpoint to 20 by clicking on the slider at 20.
!
BEGIN_TEXT
!
Changing the Setpoint
2
0
0
0
255
255
255
255
0
0
0
0
0
0
255
255
255
0
5
ARR_R1R.BMP
ARR_R1_.BMP
142
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
~~
~~
0
0
0
0
0
3
3
0
3
0
-1
PID.AVI
0
68
5010
4560
3900
2295
0
0
0
0
BEGIN_TEXT
Notice that the new setpoint is now 20, and the system initially responds by closing the valve.
Click on the arrow to continue and watch as the system is brought back to stability with the new level of 20.