LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Small PID output range causes on/off control only

I am using the PID VI to control the signal to a heater in a refrigeration test rig. When I set the output range to 4-20 (representing 4 to 20 milliamps) it seems to control OK. However, for a new device, the range must be set in amps not milliamps, and I find that when I set the output range to 0.004 to 0.02, I only get on/off control. In other words, when the process variable exceeds the setpoint by even the smallest amount, I get 0.004, and when it is less than the process variable, I get 0.02. There is no in-between.
 
Can anyone please explain this to me. Coupled with this, can anyone point me to a decent document that describes how this PID VI should be set up and used. I can obviously work around the problem by setting the output range to 4-20 and then divide this number by a thousand before feeding it into the output DAQ card, but I find the whole thing very confusing. I thought by having settable output ranges, the PID program would scale these values for you.
 
Regards,
 
Will
0 Kudos
Message 1 of 8
(4,294 Views)
Refer to the following link for inf about PID use.
 
In your case, you have to retune the PID parameters (most likely reduce them) to make the vi work as in the case of 4 to 20 mA)
 
0 Kudos
Message 2 of 8
(4,284 Views)

Thank you for that Dr. Imad. Is the link in the body of the mail, I couldn't find it?

Regards,

Will

0 Kudos
Message 3 of 8
(4,279 Views)

http://zone.ni.com/devzone/conceptd.nsf/webmain/D4748F0D59CF436D8625702700809EF4

 

The link

Simply search for PID and you will have access to many old threads on PID

 

 

0 Kudos
Message 4 of 8
(4,272 Views)
I think that you might be thinking of the output in the wrong way.  Typically, system capable of heating and cooling, you want a range of -100 to 100.  For heat only, it would be 0-100.  You want
 
I don't what just happened, but this got posted twice before I even finished typing.
 
Anyways, you want to scale your PID output to match your physical output.  In other words, in your case 0% PID output would match 4mA physical, and 100% PID output would equal 20mA.  If you are using the PID toolkit, I believe there is VI that will scale that for you.

Message Edited by Brian Beal on 05-03-2006 12:39 PM

0 Kudos
Message 5 of 8
(4,269 Views)
I think that you might be thinking of the output in the wrong way.  Typically, system capable of heating and cooling, you want a range of -100 to 100.  For heat only, it would be 0-100.  You want to
0 Kudos
Message 6 of 8
(4,267 Views)
Hi Brian.
 
Yes, you could be right. I will try different ranges with a dummy input and see what kind of response I get. My thinking up to now has been that if you are controlling a heater, and the most you can send it is 20mA and the least is 4mA, then that's what the PID activates and so that should be what the output range is set to. But I wasn't at all sure.
 
Regards,
 
Will
0 Kudos
Message 7 of 8
(4,263 Views)

The PID Control Toolset User Manual can be found here.

http://digital.ni.com/manuals.nsf/websearch/A25258DF0D3E3CB386256B41000BA9B9

If I read page 2-1 correctly,

 reducing your "P" value by a factor of 1000 should do the trick.

Ben

Message Edited by Ben on 05-03-2006 12:27 PM

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
Message 8 of 8
(4,257 Views)