4-20ma Linear/Non-Linear Tank Level Scaling

wanher3

Member
Join Date
Feb 2018
Location
USA
Posts
65
Hello,

I am seeing an issue with inaccurate tank level. It is an elliptical bottom tank with an Anderson Level sensor mounted on the bottom of the tank. What is the proper determination of the level of fluid in this tank based on the 4ma-20ma signal from the sensor? For now we're doing a linear scaling which would work for the application. What would be the linear and non-linear level determination of the tank ? the current AOI is doing the math in the attached picture; Is this even accurate for linear ?

Thanks

calib.jpg
 
The Anderson level transmitter is going to output 4-20mA, equivalent to some pressure range (0-xxx"H2O).

Depending on what type PLC & I/O module you're working with, your 4-20mA input signal in the processor could be in the range of 3277-16384, 4000-20000, or something else. Make sure your input_min/input_max tag values are correct for your input signal.

Your scaled_min/scaled_max values should be the min/max range noted on your level transmitter. The output will be in pressure/level units. This will be the same for linear or non-linear (horizontal/elliptical) tanks.

If you want to convert your pressure value to a volumetric one, use the correct scalar multiplier for a linear tank. For a non-linear application, you could create a look up table to translate pressure to volume for your application. There are different ways to do this, depending on what type of info you have (or don't have) on your tank.

Without additional details, I think it's best to offer this simple general explanation for now rather than trying to guess where you're hung up.
 
Last edited:
At a closer glance, I think your first CPT is calculating your slope (m) while your second CPT instruction is attempting to be a slope/intercept formula (y=mx+b). Is this correct?

If this is the case:
x = input, not input - input_min
b does not necessarily equal Scaled_min

Like I stated above, in a different way, folks are likely to need some additional details from you to be of more help.
 
Ditto what RohJohn said. The shape of the tank will not affect the level. However, the shape of the tank will affect the 'gain' of the tank which is basically 1/surface_area.
I would not bother with the volume as a function of level. Just the surface area as a function of level is required for control. If the water level is going to be maintained where the surface area is constant then don't worry about the surface area where the tank is ellipical.
 
At a closer glance, I think your first CPT is calculating your slope (m) while your second CPT instruction is attempting to be a slope/intercept formula (y=mx+b). Is this correct?

If this is the case:
x = input, not input - input_min
b does not necessarily equal Scaled_min

Exactly what I thought as well. This calculation is the formula in the exisiting AOI but i too believed that it should be x = Input and not x = Input - Input_min. but i wanted to confirm it with before updating the AOI since it is being widely used in the program.
 
I'm not sure this will help but it's the formula I used recently to acertain the volume in a horizontal eliptical tank.


If the height of the tank is A, the width of the tank B, and the height of the elliptical segment h then the area of the segment is given by the equation:

area = (AB/4)[arccos(1 - 2h/A) - (1 - 2h/A)sqrt(4h/A - 4h2/A2)],

where arccos is in radians, not degrees. If the tank has a length of L, then the corresponding volume formula is simply:

volume = (ABL/4)[arccos(1 - 2h/A) - (1 - 2h/A)sqrt(4h/A - 4h2/A2)].

To find the maximum area or maximum volume in the tank, set h = A, that is, set the height of the liquid equal to the height of the tank. This gives you the elliptical area formula (pi/4)AB, and the elliptical tank volume formula (pi/4)ABL. Example:

Suppose an elliptical tank is 15 feet long, and 4 feet wide, and 3 feet tall when laid on its side. The tank is filled with water to a depth of 24 inches. Find the volume of water in the tank.

We have L = 15, A = 3, B = 4, and h = 2, since we must convert inches to feet. Plugging these values into the volume formula gives us

volume = (3*4*15/4)[arccos(1 - 4/3) - (1 - 4/3)sqrt(8/3 - 16/9)]
= 45[1.9106 + (1/3)sqrt(8/9)]
= 45[1.9106 + 0.3143]
= 100.1205 cubic feet.



Steve
 
At a closer glance, I think your first CPT is calculating your slope (m) while your second CPT instruction is attempting to be a slope/intercept formula (y=mx+b).
 
Getting an accurate reading of the contents of a vessel with complex shaped ends etc. is always going to be tricky....

1. The tank's dimensions and uniformity will not be as close to the design specifications as you may think. A "dished" end is often a complex shape consisting of two or more ellipses with different focal point radii.

2. "Inclusions" in the vessel, such as paddles, heat-exchanger coils etc. will affect the linearity, and are very hard to "calculate" around. In some cases external heat-exchangers have to be considered as part of the tank's volume, so even more difficult to "calculate".

The most accurate way to determine tank contents is to fill it progressively through a calibrated flowmeter, and log the level transducer's readings into a lookup table, concentrating more points where you know you are going to have most non-linearity.

It can be a time-consuming exercise (and hence expensive), but is the only way to get an accurate volume.

This was the only method allowed by Customs and Excise for brewery and distillery vessels, and all vessels were "dipped" to get the contents height, and the volume was read off a "dip table" produced by specialist companies. Of course, even those readings were affected by temperature, as stainless steel tanks will expand with heat.....

Nowadays, the "dip-table" can be a lookup in the PLC, and the level reading can be interpolated between the next higher and lower "dips".

It's "horses for courses" - if you want, or need, ultimate accuracy, you have to invest time and money.
 
Do you have what people in the marine world call a sounding table?



Which is basically the volume with a certain depth of fluid in the tank.


I find this odd as it is very, very common in shipbuilding to have these tables to do volume, level or even ballast control and yet in industry no one (so far) seem to understand the concept.
 
Two days in and we still don't know why wanher3 wants the tank level. Most have assumed he wants to calculate the volume of the tank even though wanher3 hasn't said so.

It is clear from the OP that he already has the tank level transmitter set-up with a linear relationship to volume, and has stated he has issues with accuracy.

He has asked if the linear relationship is accurate enough, but we don't know what accuracy he actually requires.

If he can live with poor accuracy near the bottom of the tank, and assuming it is fairly linear above that, then the linear relationship (with an offset) may suffice for his needs.

Another method for determining tank volume would be to put the tank on load cells, and measure the weight of the contents. It would be a simple calculation knowing the density of the fluid to get the actual volume. Adding load cells to an existing tank that was not designed initially for them would be a huge task, and expensive.
 
Do you have what people in the marine world call a sounding table?



Which is basically the volume with a certain depth of fluid in the tank.


I find this odd as it is very, very common in shipbuilding to have these tables to do volume, level or even ballast control and yet in industry no one (so far) seem to understand the concept.


Isn't this the same as a "dip-table" ? Could be used with an ultrasonic or radar transducer measuring the height of the liquid, and a corresponding look-up to read off the volume.
 
Isn't this the same as a "dip-table" ? Could be used with an ultrasonic or radar transducer measuring the height of the liquid, and a corresponding look-up to read off the volume.

I suppose... However, my colleagues that worked in chemical plants haven't heard of the concept, not even minding the name.

You could also determine level off of two pressure transmitters with a known distance between them. However, the measurement isn't great throughout the range.
 
I suppose... However, my colleagues that worked in chemical plants haven't heard of the concept, not even minding the name.
You could also determine level off of two pressure transmitters with a known distance between them. However, the measurement isn't great throughout the range.

I suppose the term "dip" comes from the method that Customs and Excise used to measure the volume... They had a wooden stick with a brass scale on it which they "dipped" into the tank. The stick had a stop on it wich they put down to the gauging flange on the tank. They simply pulled the "dip-stick" out and measured where it was wet.

That measurement they looked up in a "dip-table" to directly read off the volume. Of course, each tank had to be calibrated by filling through an accurate flow-meter first.

Static pressure measurement is also used in industry, and differential is needed if the tank is pressurised, which is very often the case for fermenting vessels.
 

Similar Topics

Hi all, I'm connecting several 4-20mA sensors together in parallel (only one shown below) The enclosure is ABS plastic with metal backplate DAQ...
Replies
5
Views
258
Problem: Our PLC can only output 4-20mA, but the actuators it needs to control, modulate based on a 0-135Ohm signal. Buying 4 or 8 individual...
Replies
7
Views
267
What's your go to 4-20ma isolator. I've got some 4 wire 4-20ma from several flow meters and scales that I would like to isolate before it gets to...
Replies
10
Views
1,679
Hi, I need to read three 4-20mA signals from a DCS(ABB) in a remote 6 channel analog input module with RS485 modbus port. When I connected...
Replies
2
Views
477
Hello this is my first post. Looking forward to being more involved in this community to learn and hopefully help others. Any help or guidance...
Replies
7
Views
776
Back
Top Bottom