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: 

How can use removal rate to show level of liquid in a tank?

I'm trying to use a use a flow meter to measure the usage of oil in a home heating system. I've set up a VI to measure the frequency of the flow meter and convert it into l/hr. The problem I have is how can I use this data to show the liquid level in the tank disipating as the flow meter runs?

 

See diagram below....

 

Chris

 

Frequency setup.JPG

0 Kudos
Message 1 of 5
(2,564 Views)

Shift register.

 

The volume in the tank would be stored in a shift register.  Each iteration of the loop you subtract an amount from that value and store it back in the shift register.  You will need to use some timing in your loop so it runs a consistent rate.  Also, you will need to use appropriate scale factors in your calculations.  If your tank holds 500 gallons and you are using 1 gallon/hour and your loop runs 1 iteration per second.  You would want to subtract 1/3600 gallons from the shift register every loop iteration from the shift register which would have been initialized at 500.

0 Kudos
Message 2 of 5
(2,556 Views)
Hi Chris,

I hope you are well.

Ravens Fan is right, Shift Register would be the easiest way of implementing this into your code.

I have included a link to a Developer Zone article which explains Shift Registers under the Iterative Data Transfer section.

Tutorial : Timing, Shift Register and Case Structures

Video : Timing, Shift Register and Case Structures

Basic Shift Register examples

Have a good weekend!
Ashish Naik
Automotive Business Development Manager
National Instruments UK
0 Kudos
Message 3 of 5
(2,532 Views)

You should also do something with that dynamic data.

There is a function 'convert from dynamic data' that will turn your signal into type DBL.

 

This way you wont have data coersion at EVERY single native function.

Message Edited by Cory K on 06-05-2009 11:07 AM
Cory K
0 Kudos
Message 4 of 5
(2,530 Views)

Hi Chris,

 

I hope you are well. I was wondering if this information as helped you solve your issue. Please let us know how your getting on.

 

 

Ashish Naik
Automotive Business Development Manager
National Instruments UK
0 Kudos
Message 5 of 5
(2,494 Views)