dumb question about scaling a 4-20mA signal

defcon.klaxon

Lifetime Supporting Member
Join Date
Feb 2015
Location
Far NorCal
Posts
616
Hi all,

Yesterday I was setting up a 4-20mA scale for a tank level. The tank has a staff gauge and a pressure sensor, and the scaling printed on the pressure sensor info plate (0-34 feet) didn't match the readout of the staff gauge. So obviously the min value for the scale (0) is fine, but the max (34) needed to be adjusted. And no matter what I tried, I couldn't mathematically figure out what the max scale value needed to be so that it would match the staff gauge. In the end I just set it for a "close enough" temporary value, but I'd like to know for the future how to do it more quickly.

I know this is going to be a simple arithmetic problem, but when I tried solving it with ratios I couldn't get the proper value. I think it's something to do with the min raw value being 4000, not 0.

How would you guys tackle the problem?
 
You should make sure your pressure transmitter is calibrated properly.
What is the 4 to 20ma supposed to represent? (0-34 feet?)

Some PLC's have a scaling instruction, can you tell us what PLC you are using?

If it does not have a scaling instruction then see the basic scaling formula below.

(((Scaled Max-Scaled Min)/(Max Raw Input-Min Raw Input))*(Raw Input-Min Raw Input))+Scaled Min = Scaled Value
 
Scale (.002125) = output span (34) / input span (16000)
Offset (-8.5) = max output (34) - (max input (20000) * scale (.002125))

Using these

output = (input * scale) + offset
 
y=mx+b is all you need.

However, anytime you have two measuring devices who is to say they are installed to match, and have a range to match.

Pressure sensors usually come in a PSI or inches of water rating. I don't understand the 0-34ft range that you have. My assumption is there are variations between the two devices and you just need to figure out the variations and eliminate them.

I see others have responded in mid-post.
 
You should make sure your pressure transmitter is calibrated properly.

Definitely, and I will pass that onto the client; the project is a pretty big overhaul, but all the instrumentation is existing and we've found malfunctioning hardware fairly regularly. For now, I'm just trying to get the number from the pressure level sensor to match the staff gauge because that would make the client feel like we're making progress.

can you tell us what PLC you are using?

Yeah, CompactLogix and I'm using the SCL AOI that AB provides.

However, anytime you have two measuring devices who is to say they are installed to match, and have a range to match.

Yeah, I know what you mean. I just know that if the staff gauge and the readout don't match, the perception is going to be "this doesn't match, it must be the programmer's fault". It's been a battle, to say the least.

Pressure sensors usually come in a PSI or inches of water rating.

Yeah that is an oddity here; there are two tanks, but only one has a staff gauge. The sensors are both Rosemonts and one of the plates says 0-1000 Inches H2O but it's wildly off; the tank is only 36 feet and the mA output doesn't correspond to 1000 inches as a max value at all. The second sensor says 0-34.818 Ft, but again that max value doesn't correspond to the staff gauge.

I was able to find the O&M Manual from the system that was installed in 2000 and the scaling for the tanks is 0-32 Ft for the one with the staff gauge, and 0.5-35.5 Ft for the other tank.

I don't know the expected service life for Rosemont level sensors, but they're 16 years old at at least, and have been subject to summer temps at 100F or higher, and winter temps very near freezing. That doesn't explain why their span on their data plates doesn't seem to be right, but whatever. I will use the existing scaling factors I found but figured it would be good to mathematically determine max value for future efforts.

Thanks!
 
Scale (.002125) = output span (34) / input span (16000)
Offset (-8.5) = max output (34) - (max input (20000) * scale (.002125))

Using these

output = (input * scale) + offset

Thanks Bernie, this is very helpful.

I'm assuming scale and offset are variables specific to each individual situation; can you please explain how you got to those values in the example?
 
one of the plates says 0-1000 Inches H2O but it's wildly off;
The ID plate usually has the factory default maximum measuring range. Sometimes a transmitter is ordered factory configured to a specific range, and then it might be printed on the ID plate.

Any Rosemount transmitter can be ranged to a smaller scale than the maximum scale; such as you mention, 0.5 to 35.5 feet (whatever that is in inches w.c. [water column]).

I wouldn't expect it to be ranged to 1000"; 83+ feet w.c.
 

Similar Topics

Hello folks! Never been here before but I have a question that's been bugging me for a while. I recently got a job at a chemical plant that's...
Replies
8
Views
334
Is there any way to stop a search from finding a text string inside a sub-tag name. For example: if I'm searching for "run" ... I only want to...
Replies
10
Views
2,116
Ok so probably a really dumb question. How do I do set a variable equal to a value in ladder? I can't seem to find a ':=' equivalent in ladder...
Replies
1
Views
1,316
So, just to start, I am not an engineer, but a sort-of self taught programmer. And I am familiar with RSLogix-500, but I am just learning...
Replies
23
Views
6,879
I am trying to install faceplates for use in a FactoryTalk ME. I downloaded the add-on I thought and installed but do not see any faceplates...
Replies
2
Views
3,115
Back
Top Bottom