07-06-2009 01:19 PM
Hi All,
I Have to design a PID controller based on standard Labview 8.2 and I've tried to do so but still facing problems with it. I think there might be a mistake in one of the connections in the PID controller. Even when I tried to simulate it with a simple transfer function, I could not get any response.
please have a look on the attach files and tell me what wrong with it .
Regards,
saed
07-07-2009 11:00 AM
Is it that much difficult ? Or I suppose to write my question somewhere else ?:manindifferent:
07-07-2009 03:41 PM
07-07-2009 04:02 PM
Hi saed,
as Nathan already said: clean up! I looked at the code yesterday and gave up...
For instance:
in "final pid2.vi" in the Ki-loop you have completely non-sense (aka Rube-Goldberg): all this loop does is just copy control "Ki" to indicator "Ki", all the rest is useless as you wire a FALSE constant to that selector node...
07-07-2009
05:47 PM
- last edited on
04-18-2025
08:46 AM
by
Content Cleaner
(Assuming you're running on Windows...) Have you considered using the PID Control Toolkit?
07-08-2009 10:09 AM
Thank you all for the reply .
I worked on removing the while loops and with assist I have this one. Please have a look . And for the PID toolkit, I don't have it and I can't use it. Using the toolkit is not required and I have to build it based on the standard one.
please see this one.
07-08-2009 10:32 AM
07-08-2009 10:46 AM
Hi all,
when I put my equation I've got nothing. I use matlab script to do that. Which simply Pz=(1/z+1) the simple formula for inner loop of DC motor.
thank you .
07-08-2009 11:34 AM
You should build this up one step at a time. Start by implementing a purely proportional (P) controller and demonstrate that it works, then add the I component, and finally the D. As you do that you may discover errors in your math. For example, I'm pretty sure that you should be multiplying KI * dt * error, instead of adding them.
There's still more you can clean up as well. There's no need for the interior while loop that calculates dt, nor do you need two separate, parallel wait functions.
07-08-2009 11:36 AM
Hi GredW,
thank you for the comments. I've just saw it. you're right about the time delay I should put only one and that is enough but for the selector I don't think it work without it.
but how about the equation ??
thanks