LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

offset flow rate data

Solved!
Go to solution

I have been acquiring data from pressure sensors (differential pressure) to convert it to flow rate in a pipe and that flow rate is been used to calculate Volume later in the process. 

 

Flow sensors have been calibrated to zero everytime and also sometimes with removing pipes at the both end of flow sensor. As soon the program is run, there is an offset of 22ml/sec and it's variable. It decreases over time while the program is running and goes till -35ml/sec. These values are the points from where the flow curve starts, which is the data acquired are pretty much accurate but only there is an offset of some value. When it decreases it passes from zero and this process is really slow.

 

For temporary purpose I have added a controller wherein eveytime there's an offset, I simply read from indicator and subtract or add the necessary value, but is it any method not to do this everytime. 

 

Note: I read pressure values also in that tube and it shows proper values starting from zero. I tried using pressure values vs time to decrease offset but it's nullifing the initial part too.

0 Kudos
Message 1 of 10
(3,525 Views)

Is the offset coming from your hardware?

-------
Mark Ramsdale
-------
0 Kudos
Message 2 of 10
(3,496 Views)

Yes, it is coming from hardware side as there drift velocity in the pipe due to one close end. I tried doing it on the hardware side but no results, so want to calibrate on the software side. 

0 Kudos
Message 3 of 10
(3,481 Views)
Solution
Accepted by topic author Rutvikrk91

Hi Rutvikrk,

 

For temporary purpose I have added a controller wherein eveytime there's an offset, I simply read from indicator and subtract or add the necessary value, but is it any method not to do this everytime.

Well, you can create a button instead of this numeric control: whenever you press the button, the mean flow of the last 5s is used/stored for offset correction! It's simple, and it's more easy for the user of your VI…

 

- Do you know a way of detecting this offset automatically? Once you figure out the answer to this question you can start to program an algorithm to do so!

 

Other things:

- Why are you using SGL values in your VI? All the calculations are done in DBL and all you do is creating coercion dots all over your VI! (Modern PCs handle DBL and SGL at the same speed, atleast for your scalars.)

- Do you mind to clean up your block diagram?

- How do you stop your VI? Or is this intended to run on an embedded system?

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 4 of 10
(3,473 Views)

Yes, I can create a button for doing that, but the porblem is the offset value is variable it changes over time when the program is running. 

 

The Flow data is raw and acquired from the differential pressure sensor, so I am trying to match it with the time domain of pressure waveform that I am also acquiring, but unfornately many important values are getting nulified. So, that's why I require a method to get the whole waveform of flow that is acquired to start from zero with losing/nullifying the values.

 

- I am getting SGL values from my calibration VI and so for now I am using that values and not DBL.

- Right now I am trying to just code it, so my block diagram is messy 

- I dont require stop button as this needs to be used in embedded system 

 

So, if you could provide me with an idea upon how to handle raw data so as that it detect that it's offset from zero and set it itself.

 

Thanks in advance. 🙂

0 Kudos
Message 5 of 10
(3,459 Views)

Hi Rutvik,

 

if you could provide me with an idea upon how to handle raw data so as that it detect that it's offset from zero and set it itself.

That exactly is your task!

 

You know your system and you need to know how to detect such an offset.

Once you figured out, how to detect the offset, you can also zero it…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 6 of 10
(3,451 Views)

 


@GerdW wrote:

Hi Rutvik,

 

if you could provide me with an idea upon how to handle raw data so as that it detect that it's offset from zero and set it itself.

That exactly is your task!

 

You know your system and you need to know how to detect such an offset.

Once you figured out, how to detect the offset, you can also zero it…


Yes, I know what to do right now, but the thing is I am not getting it correctly. I am losing or nullifying the data because of that. So, if you have any any other method to do, it would be a great help.

 

Thanks !!

0 Kudos
Message 7 of 10
(3,425 Views)

Hi Rutvikrk,

 

Yes, I know what to do right now, but the thing is I am not getting it correctly.

Ok, so YOU know what to do. Mind to tell us what you tried now?

(And with "tell us" I mean "attach your current VI"…)

 

I am losing or nullifying the data because of that.

Because of "what"?

 

So, if you have any any other method to do,

How can I "have another method" when I don't know your current try?

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 8 of 10
(3,419 Views)

@GerdW wrote:

Hi Rutvikrk,

 

Yes, I know what to do right now, but the thing is I am not getting it correctly.

Ok, so YOU know what to do. Mind to tell us what you tried now?

(And with "tell us" I mean "attach your current VI"…)

 

I am losing or nullifying the data because of that.

Because of "what"?

 

So, if you have any any other method to do,

How can I "have another method" when I don't know your current try?


Hi,

 

So, I basically removed the method I used to avoid getting offset, but I am attaching an example VI and an image to give information about it.

Along with these 2 I am also attaching my Main VI, which is being used right now.

 

The nullifying of data, was that, that the whole flow data got nullified to zero, which is just a horizontal line.

 

All the data acquisations are from the sensors during runtime and the loop is executed every multiple of 10ms.

 

Thanks in advance. 🙂

 

 

 

Download All
0 Kudos
Message 9 of 10
(3,401 Views)

Hello guys,

 

As per advice given by you all, I solved the problem of offset data by mean VI and without any button system as I want it to run whole time the program runs. 

 

Thank you very much for your help. 🙂

0 Kudos
Message 10 of 10
(3,313 Views)