LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

PI control - saturation

Hi
I'm using the PID.vi for a control task. I'm controlling a blower to regulate a certain temperature. This means that if the Process variable becomes larger than the setpoint the controller "should take action"- this is acheived by changing the sign of the Ki term (P). Ok this work as is surpose to. BUT the problem is when I define the output range for the controller (due to saturation) the controlle goes "mad". Here is what happens:
 
When the process variable (PV) becomes larger than the setpoint (SP) the output increases (as it suppose to). If the PV becomes smaller than the SP the output becomes "the min value that I have specified - which is Zero" this is also fine - BUT if the PV then starts to increase the Integral term goes crazy??? I have attached an example which ilustrates this perfect!
 
I really could need some help to solve this problem, as I dont wnat to program my own controller!
 
/Viller
0 Kudos
Message 1 of 6
(3,878 Views)

Hi Viller,

I tried your attached VI, however I wasn't been able to reproduce the problem you are seen.

Here is what I did: Min=0, Max=10, Setpoint=2. I then ran the VI and begin to change the PV feedback value.

For PV > Setpoint, there is output. 

Output is 0 when PV<Setpoint, and the VI continues to run when the PV becomes higher than Setpoint agaion.

Can you confirm this behaviour? Can you also tell me your Labview and Control design version?

Regards!

-----------------------------------------------------
Dennis Morini
District Sales Manager
National Instruments Denmark
http://www.ni.com/ask
0 Kudos
Message 2 of 6
(3,859 Views)
I think you forgot to add a "I" term - try to set "P=-2" and "I=5" ---- then set SP=20 and PV=20, now change PV to 19, 18 and soforth, the output should equal zero, BUT now lets say you have SP=20 and PV=15 ---> try to increase PV=16, now I would think the output still suppose to equal zero! but this is not the case???????? this is my problem 
0 Kudos
Message 3 of 6
(3,852 Views)
Hi,
 
The output remains 0 when the PV is changed: 20,19,18... to 15 and then incresses to 16,17...
See attached Screendump.jpg
 
Have you tried to create a new VI from the scratch to see if that helps?
 
Ragards

Message Edited by Morini on 06-08-2007 12:50 PM

-----------------------------------------------------
Dennis Morini
District Sales Manager
National Instruments Denmark
http://www.ni.com/ask
0 Kudos
Message 4 of 6
(3,850 Views)
this is very strange?? I still see what I wrote ealier??? have tried to make it from scratch! still the same!??
0 Kudos
Message 5 of 6
(3,809 Views)

This is indeed very strange! Can you tell me your Labview and Control design toolkit version? Have you tried to modify the PID.vi before? I'm using LV8.2.1 and LabVIEW Control Design Toolkit 2.1.2.

You can always reinstall the toolkit and try again. I know it's pretty drastically to do for this problem, but if we use the same version, I can't really see what else can be the reason to your problem.

Regards!

-----------------------------------------------------
Dennis Morini
District Sales Manager
National Instruments Denmark
http://www.ni.com/ask
0 Kudos
Message 6 of 6
(3,782 Views)