LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

PID tuning

Hi ,
 
I am using simple PID demo example program to control temperature .
I am not sure of how to set the PID parameters.I used zeighler nichols tuning method also.
I have attached one of my output graphs.
Can anyone help me in tuning the PID parameters ?
 
Thanks in advance,
 
radhika.
 
0 Kudos
Message 1 of 5
(3,712 Views)
 

Hi Radhika,

 

 

Here is a useful Developer Zone document which gives a brief explanation of how we handle PID tuning in LabVIEW using the Ziegler Nichols method.   If you have the PID toolset for LabVIEW, we also have a function titled “PID Auto Tuning.vi” which increases the Kc gain parameter until the system output becomes oscillatory.  You can look through the PID Manual in section 2-7 (page 18) and the corresponding section 3-14 (page 36) regarding the vi itself.  Regarding general PID tuning I would also take a look at this document as well,  in particular the “Tutorial: Manually Tuning a System From Scratch” section which gives a step-by-step guideline to manually tune your system (even though this is for servo tuning, the basic concepts are relative to PID control in general).  I hope this gives you a good start.  Please let us know if you would like further clarification or assistance regarding this issue.

 

 

 

Best Regards,

 

Vu D

 

Message Edited by Vu D on 02-15-2007 06:56 PM

0 Kudos
Message 2 of 5
(3,695 Views)
Hi Vu D,
 
I looked into the links you have provided.I tried using those concepts.
But am not sure , still my code doesnt work.
I have attached my code here.
If you could help me figure out the problem it would be of great help.
 
 
Thanks,
radhika
0 Kudos
Message 3 of 5
(3,671 Views)

one more subvi...........

 

 

0 Kudos
Message 4 of 5
(3,669 Views)

Hi radhika,

 

 

I have taken a look at your code, but it is a little difficult to follow (part of the lines are hidden behind structures and the data flow is not clear from a first look.)  If you can use some of the alignment tools and possibly simply your code as well as add comments, it will be easier for other users to follow and comment on.  As for the behavior, I ran the application and I do see that the process variable is not following the system properly; however, how exactly are the parameters supposed to behave?  Do you have a model system that you are basing your PID feedback on?   I would suggest looking at a basic PID algorithm.  Starting with a simplified formula and making sure it works with your code, you can then increase the complexity.  Also I would like to again recommend looking into our PID control toolset which I have linked in my previous thread since the algorithm is already coded into the VI.  If you can simplify your system by reducing the code (for example, in the “process temperature1.vi” instead of using the “select” function as the input into the case structure you can use a “not” or reverse the true/false cases).   I hope this helps.

 

 

Regards,

 

 

Vu D

0 Kudos
Message 5 of 5
(3,637 Views)