LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

PID, more than 2 closed loop in a system.

Hai

I am using PID controller to control temperature at a remote location. The temperature control is done by variying the voltage to Power supply which is inturn connected to heaters. Am supposed to controll 64 power supply in closed loop, not more than 10 at a time. I needed to know that for each closed loop control do i need to use a seperate PID vi? what i mean is, if i need to control 10 power supplies in closed loop do i have to create 10 different while loops having PID vi's?

Thanx for any help

Arun
0 Kudos
Message 1 of 7
(3,368 Views)
Hai again

I needed to add some points to the above discussion, I need to send the PID parameters to the a host PC from where i can directly control the PID controller, the PID controller does not provide the "type of control"(P, PI, PD, PID) as one parameter . I found that "PID autotuning vi" has one of its input parameter as "type of control" in "auto tuning parameter" cluster. but when i checked in to the code, "type of control" parameter is no where used. if any one finds it please let me know, i am curious how NI has implemented the control to switch from P, PI, PD, or PID.

Thanx again
0 Kudos
Message 2 of 7
(3,358 Views)
yes, for each closed loop control, you need a separate PID.vi. However, the vi is normally set reentrant, so you need 10 instances of the vi.

For you application, if the nature of the problem is
1) more voltage implies more heat and hence higher temperature,
2) and a certain voltage setting is expected (with some variation) for a certain temperature set point

you probably need a PI control (the D parameter is set to zero, or barely large enough to control the speed of the control)

Once tuing is done, yo either default the parametrs of each loop or save them to a data file (my choice) that is normally read and loaded when the software is run
0 Kudos
Message 3 of 7
(3,308 Views)
Hello Sir

Thanx for the reply, I wanted to know if i can use PID.vi with input selected as "1d array"(set points), can this be used insted of using 10 different VI's of PID.vi?, also by just making Ti, Td as 0 can i control the PID to behave as PI or PD algorithm?

Thanx for the reply

Arun
0 Kudos
Message 4 of 7
(3,302 Views)
I assume you are using the PID tool kit from NI.
The vi uses intermediate calculations (from previous iterations/calls). You have to use 10 instances of the vi (in parallel). It does not take an array on 10 inputs.

"also by just making Ti, Td as 0 can i control the PID to behave as PI or PD algorithm?"


For PI implementaion, Td should be zero.
For PD implementaion, Ti should be set to a very large value

Note, Td is equivalent to the standard derivitive gain, and TI is inversely proportional to the standard integral gain.

My understanding of the problem is PI or PID with small drivitive gain should do it
0 Kudos
Message 5 of 7
(3,293 Views)
Hello Sir

Thanx for the reply again, Am using the PID tool kit of NI itself, Am using the Advanced PID.vi, after right clicking on the PID and selecting its type as DBL array. In the block diagram this VI, I observed that the shift registers store the whole array, so I suppose an array of set point can be supplied to this VI. Please let me know your suggestion and comments on this.

Thanx
Arun
0 Kudos
Message 6 of 7
(3,286 Views)
I just looked at the manual of the current version, and Yes, you should be able to use an array input for that and should work. Array of 10.
My version of the tool kit is obviously, old.
0 Kudos
Message 7 of 7
(3,283 Views)