4–20 mA Current Loop Communications – A Guide (2023)

Sponsored by Sierra InstrumentsJan 16 2018

Imagine this scenario: There is a flow meter with 4–20 mA output setup. The switch is flipped, thereby turning it on. Then it is noted that the readings are off, and the required output is not shown. The meter is fiddled with but still the readings are not shown. What is to be done now? This meter should be repaired so that the application is up and running.

The questions that need to be answered are as follows: What is to be done? Why is this even happening?

Several times the question raised is how to get accurate 4–20 mA output readings for 4–20 mA output devices. What is most helpful for customers is an understanding of the basics of 4–20 mA current loops and how it integrates into their process.

This article describes the 4–20 mA communications protocol, step-by-step, which will dispel the confusion and complications around the protocol and help customers get set up and running.

What Are the Different Ways to Determine Flow Rate?

There is a need to determine the flow rate (or temperature, or pressure) without observing the display of the meter. The following are a few ways to do this:

1. Utilizing the RS-232 serial commands

2. Utilizing the 4–20 mA support within the meter

3. Utilizing HART, Modbus, or other supported digital communications protocols

What is a 4–20 mA [Direct Current] Loop?

4–20 mA Current Loop Communications – A Guide (1)

A 4–20 mA current loop is a means to pass a “value” like flow using an established electrical current (the loop) as the carrier of this information.

The following are the five discrete parts to the “loop” (see the image represented above):

1. Sensor: Provides the “value”

2. Transmitter: Takes the “value” and converts it to a meaningful 4–20 mA value

3. Power Source: The physical [DC] power that the transmitter uses

4. Loop: The physical “loop” (such as wires)

5. Receiver: Reads the 4–20 mA value from the “loop” to determine the “value”

(Video) The Fundamentals of 4-20 mA Current Loops

Typically, the 4 mA depicts the minimum/low value (like 0 for flow); and the 20 mA depicts the maximum/high value, or full scale, of the value that is sent. In the example provided in the article, this value is for “flow.”

How Do You Map/Configure the 4–20 mA Current Loop to the Flow Rate?

Most people tend to overthink the math for 4–20 mA in their application. This is similar to using calculus to solve a simple math problem. It is not overly complicated once the values used in the equation are understood.

As described above, the 20 mA represents the full scale, and the 4 mA represents “zero” [flow].

So, if the flow setup is 0 to 1000 SLPH, the 4 mA means “0” flow, and the 20 mA means “1000”.

The Variables In the 4–20 mA Equation

The flow range is represented using the following notations:

mALow = 4 (4 mA)

mAValueLow = 0 (value that represents “low”)

mAHigh = 20 (20 mA)

mAValueHigh = 1000 (value that represents “high “or Fullscale)

Now if 500 is flowed, the following notation is used:

currentValue = 500

Since the users know that the value they want to pass on the 4–20 mA loop is really a ratio between mALow to mAHigh, the following formula is applied to determine the correct milliamps (mA) that are needed.

mA_Value = ((mAHigh – mALow) * ((currentValue – mAValueLow)/(mAValueHigh – mAValueLow))) + mALow

mA_Value = ((20 – 4) * ((500 – 0)/(1000 – 0))) + 4

mA_Value = ((20 – 4) * (500/1000)) + 4

mA_Value = ((16) * (0.5)) + 4

mA_Value = (8) + 4

mA_Value = 12 (mA)

(Video) 4-20 mA Current Loop - History, Why, Advantages, Disadvantages

So, in the current 4–20 mA example, flowing 500 is repesented as 12 mA on the 4–20 mA loop. If it was zero flowing, (currentValue=0), it would be calculated as:

mA_Value = ((mAHigh – mALow) * ((currentValue – mAValueLow)/(maValueHigh – mAValueLow))) + mALow

mA_Value = ((20 – 4) * ((0 – 0)/(1000 – 0))) + 4

mA_Value = ((20 – 4) * (0/1000)) + 4

mA_Value = ((16) * (0)) + 4

mA_Value = (0) + 4

mA_Value = 4 (mA)

If it was flowing Full Scale (currentValue=1000), then the following calculation would be done:

mA_Value = ((mAHigh – mALow) * ((currentValue – mAValueLow)/(maValueHigh – mAValueLow))) + mALow

mA_Value = ((20 – 4) * ((1000 – 0)/(1000 – 0))) + 4

mA_Value = ((20 – 4) * (1000/1000)) + 4

mA_Value = ((16) * (1)) + 4

mA_Value = (16) + 4

mA_Value = 20 (mA)

What If My Scale is Different? How Would You Scale to a 0–20 mA Loop Instead of the 4–20 mA Loop?

If the users want to scale from 0 to 20 instead of 4 to 20, all they should do is to change the value of mALow to “0” instead of “4”. The same formula applies. Don't forget this fact. The values of the variables are the only things that change.

mALow = 0 (0 mA)

mAValueLow = 0 (value that represents “low”)

mAHigh = 20 (20 mA)

(Video) Introduction to 4-20-mA current loop transmitters

mAValueHigh = 1000 (value that represents “high” or Fullscale)

So, if at flowing 500 (currentValue=500) on a 0/20 mA loop, the loop is set to:

mA_Value = ((mAHigh – mALow) * ((currentValue – mAValueLow)/(maValueHigh – mAValueLow))) + mALow

mA_Value = ((20 – 0) * ((500 – 0)/(1000 – 0))) + 0

mA_Value = ((20 – 0) * (500/1000)) + 0

mA_Value = ((20) * (0.5)) + 0

mA_Value = (10) + 0

mA_Value = 10 (mA)

How Would You Scale Something like Temperature that Does Not have a Low Value of “0”?

When the users deal with temperature, they generally do not start at 0f, but 32f. All that needs to be done is to adjust the “mAValueLow” to the new low value. Let’s assume that the working temperature is 32 °f ~ 132 °f:

mALow = 4 (4 mA)

mAValueLow = 32 (value that represents “low”)

mAHigh = 20 (20 mA)

mAVvalueHigh = 132 (value that represents “high” or Fullscale)

Now the same formula is applied. So if the temperature is 82 °f (currentValue=82), the following formula is used:

mA_Value = ((mAHigh – mALow) * ((currentValue – mAValueLow)/(maValueHigh – mAValueLow))) + mALow

mA_Value = ((20 – 4) * ((82 – 32)/(132 – 32))) + 4

mA_Value = ((20 – 4) * (50/100)) + 4

mA_Value = ((16) * (0.5)) + 4

(Video) 4 to 20mA Current Loop Tutorial

mA_Value = (8) + 4

mA_Value = 12 (mA)

Bringing It All Together

Now it is time to do some math! To summarize what has been described, the following formula is used to determine the 4–20 mA values:

mALow = 4 (4mA)

mAValueLow = 0 (value that represents “low”)

mAHigh = 20 (20 mA)

mAValueHigh = 1000 (value that represents “high” or Fullscale)

currentValue = 500 (This is the value that is needed to be sent to the 4–20 mA loop)

Answer

mA_Value = ((mAHigh – mALow) * ((currentValue – mAValueLow)/(maValueHigh – mAValueLow))) + mALow

Fine Tuning the 4–20 mA Signal

At this point, the determination of the correct value for the 4–20 mA signal is done by utilizing the formula mentioned above. What happens if zero is flowed, and the output should be 4mA? However; the receiver “reads” 3.90 mA because of the physical layout. In other words, the 4 mA default “low” 4 mA value needs to be “tuned” higher to 4.0 mA. The default 4 mA DAC (Digital to Analog Converter) value should be changed.

Understanding DAC’s and Their Relationship to 4/20 mA Current Loop

When the 4–20 mA transmitter needs to inject a 4–20 mA signal, it needs to “know” exactly how much to inject. One can think of the DAC’s as a [digital] valve that can go from totally closed, to totally open; or anything in-between.

The range from closed to fully open is defined in 4096 “steps”; meaning, that each step “opens” the “valve” by 1/4096 in size.

By setting the 4 mA DAC to “1” means that one can “open” the valve 1/4096 in size to represent 4 mA. Setting the 4 mA DAC to 2048 (2048/4096 = ½) will open the “valve” exactly halfway open. Setting the DAC to 4096 will open the “valve” fully open.

By adjusting the 4 mA or 20 mA DAC’s, one can fine-tune the electrical characteristics of the 4–20 mA loop. Once the higher 20 mA and the lower 4 mA DAC’s are fine tuned, the system will correctly calculate the points in-between.

In Conclusion

One can make the meter provide 4–20 mA “answers” correctly by setting the correct values in the 4–20 mA screens, along with any DAC adjustments. This gives the accurate output readings so one can run the application and make adjustments to get optimal conditions.

4–20 mA Current Loop Communications – A Guide (2)

This information has been sourced, reviewed and adapted from materials provided by Sierra Instruments.

(Video) How to hook up a 4-20 mA loop

For more information on this source, please visit Sierra Instruments.

Videos

1. Why 4 to 20ma is used for Signal Transmission in Instrumentation. 4-20ma current signal.4to 20ma
(Instrumentation Academy)
2. Measure a 4-20mA current loop for under $100
(Measurement Computing)
3. Ground Loops in 4-20 mA Signals
(Precision Digital)
4. How to perform 4 mA and 20 mA Calibration via HART Communicator
(Calibration Academy)
5. How To Source 4-20 Milliamps Using The Fluke 789 ProcessMeter
(Fluke Corporation)
6. Wireless 4 - 20 mA Current Loop Control
(0033mer)
Top Articles
Latest Posts
Article information

Author: Ms. Lucile Johns

Last Updated: 03/13/2023

Views: 6118

Rating: 4 / 5 (61 voted)

Reviews: 84% of readers found this page helpful

Author information

Name: Ms. Lucile Johns

Birthday: 1999-11-16

Address: Suite 237 56046 Walsh Coves, West Enid, VT 46557

Phone: +59115435987187

Job: Education Supervisor

Hobby: Genealogy, Stone skipping, Skydiving, Nordic skating, Couponing, Coloring, Gardening

Introduction: My name is Ms. Lucile Johns, I am a successful, friendly, friendly, homely, adventurous, handsome, delightful person who loves writing and wants to share my knowledge and understanding with you.