From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

PID control of flow rate

Solved!
Go to solution

I think we need more information then. Can you post some sort of graph showing behavior and more information on the devices you're using?

Message 11 of 23
(1,553 Views)

Hi Aeros,

 

his point was that there can be a lot of digits in the decimal places which can cause a problem.

Why should this lead to problems?

All the calculations are done with float (DBL) values giving you ~16 decimal digits. In the end the DAC used by the output DAQAssistent is the limiting factor: here the output will be reduced to whatever this DAC supports (16/14/12 bits?)…

 

but i guess it did not appear there

You should set some default values and save them with your controls!

 

I guess, you mean pid toolkit, yeah I used the simple pid toolkit from one of the examples that comes with software.

Yes, I talk about this PID toolkit. Can you use it?

The SimplePID is a very old VI provided by NI for some ancient LabVIEW versions (I guess for LV6!?). Using even the basic PID from the toolkit gives you much better PID behaviour!

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 12 of 23
(1,548 Views)

@GerdW wrote:

Hi Aeros,

 

I don't understand the need for that "rounding".

 

 

I said to add a rounding (only because in my limited experience it helps the PID to settle) Although, you may want to use a multiply by N=(10, 100, 1000), round, and divide by N if your input accepts decimal values. Also, stick a probe at "numeric", and "output value" do the values make sense?

Edit: Ok If it's already taken care of by the daq2 data in then nevermind (I didn't know it did that).

Message 13 of 23
(1,545 Views)

Hi ATE,

 

most often the PID "doesn't settle" because of noise of the input signals.

In my experience its better to use some filtering of the inputs (runing average…) or apply a deadband to the PID!

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 14 of 23
(1,538 Views)

Yeap, I set a default numbers for the upper and lower limits. Regarding to the toolkit, yeah, I am not sure whether I can use or not. it is because of our old pc and old labviews, I stuck with this old one. The output values from daq are in between -0.008 and -0.013. The pid on the other hand gives straight line in the weird sense. 

0 Kudos
Message 15 of 23
(1,535 Views)

Hi Aeros,

 

The output values from daq are in between -0.008 and -0.013. The pid on the other hand gives straight line in the weird sense. 

Does the process value even react on the change of the PID output value?

Does it even get nearer to the setpoint value?

Did you determine meaningful PID gains?

Can you please add charts to your VI and show plots of your PID loop running?

 

I am not sure whether I can use or not. it is because of our old pc and old labviews, I stuck with this old one.

Is the PID toolkit installed and available?

What kind of license do you use?

It's not easy to get meaningful answers from you…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 16 of 23
(1,534 Views)

it seems that it did and yes it gets to the set point and beyond. Actually, regarding to the pid gains, yes approximately. About the pid toolkit, it is not available, it is only available in the example folder and I took it from there.

Download All
0 Kudos
Message 17 of 23
(1,530 Views)

it seems that it did and yes it gets to the set point and beyond. Actually, regarding to the pid gains, yes approximately. About the pid toolkit, it is not available, it is only available in the example folder and I took it from there. finally the university license

0 Kudos
Message 18 of 23
(1,530 Views)

Looks to me like the PID is working as intended but your numeric value is returning bad.

If my setpoint is 0.22 and my current state (numeric) is 0.003, the PID should try to increase the output value. Since the output value tops out at 10, it can't go any higher.

Message 19 of 23
(1,519 Views)
Solution
Accepted by topic author Aeros08

Hi,

 

finally the university license

With an academic license you usually have access to ALL modules and toolkits…

 

Looks to me like the PID is working as intended but your numeric value is returning bad.

I agree.

Part of your problem is maybe also the scaling you apply on your measurement value, which results in very small values. What is the physics background of your calculation?

Did you check your signal converter "GNT-205" for proper operation? Does it output a current signal according to your 0-10V signal?

In your other image only 2 wires are visible. Did you wire the GND/COM connections correctly?

You still don't tell us which DAQ hardware you are using! All we know is you are using the CB-68 connector board and a standard signal converter…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 20 of 23
(1,505 Views)