Calibrating a 4-20 mA Load Cell on DL205 F2-04AD-1 Input

Brian Holt9 min read
AutomationDirectOther TopicTechnical Reference
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

A 250 lb S-type load cell with a 4-20 mA converter board, read by an F2-04AD-1 in a DL205 250 CPU rack, matches the target at 8.3 lb and misses by up to 10% at 20 lb. That pattern is a two-variable error (gain and offset) being corrected with a one-variable tool. The checks below run in order; each one says what the reading means and where to go next.

Stop retuning full scale: the error is a line, not a point

Adjusting the full-scale constant until one test weight reads correctly gets you "real close" at that weight and nowhere else. It moves the slope but leaves the zero intercept wrong, so the error crosses zero at one weight (8.3 lb here) and grows on either side. The manual formula, weight = count x full scale / 4095, assumes zero weight is count 0 and full weight is count 4095. Three things break that assumption on a weigh system:

  • Dead weight of the hopper, platform, or fixture sits on the cell at zero, so the zero-weight count is not 0.
  • The converter board zero and span are not trimmed to exactly 4 mA and 20 mA at the ends of the cell rating.
  • The 4 mA live-zero offset shifts the count baseline away from 0 if the module scaling differs from the formula's assumption.

Any of these produces the straight-line relationship weight = m x count + b with b not equal to 0. Use that as the working model.

What you see Likely cause Next check
Correct at one weight, off elsewhere, error grows with distance from that weight Offset (dead weight or converter zero) not subtracted Check 3: two-point capture
Result steps or is low by a fraction that varies with count Divide executed before multiply, or intermediate result truncated Check 1: math order
Raw count does not track a known mA input Loop wiring, extra device in the loop, or module range issue Check 2: isolate the input
Calibrated but display jitters by several tenths of a pound Counts per pound too coarse for the resolution you want Check 5: resolution limit

Check 1: multiply first, divide last, and watch the intermediate width

Convert to engineering units by multiplying the data register by full scale, then dividing by K4095. Integer division discards the remainder, so dividing first throws away most of the resolution before the multiply can use it. If your rung already multiplies first, this check passes; move to Check 2.

For tenth-pound units, multiply by 10 in the same multiply stage (count x FS x 10), then divide once. The product is large: 4095 x 250 x 10 is well past 16 bits. Confirm in the CPU instruction reference that the multiply and divide instructions you use hold the full intermediate result (double-word), and confirm whether the analog data word is binary while the math instructions are BCD, so a BIN/BCD conversion or binary-math instructions are needed. A truncated intermediate shows up as a result that is correct at low counts and wrong at high counts.

Check 2: prove the input with a known mA source

Take the load cell out of the question. Wire a 4-20 mA simulator directly to the F2-04AD-1 channel and step it through several values while watching the data register in the programming software.

  • Counts follow the simulator linearly and hit 0 and 4095 at the ends of the range (check the module manual for the exact 4 mA and 20 mA mapping): the module is good. The error is in the load cell/converter or your scaling. Go to Check 3.
  • Counts are nonlinear or offset with the simulator: check the channel wiring, the terminal used, and the module range setup per the F2-04AD-1 manual.
  • Simulator is fine but counts disagree with the load cell loop: meter the loop current with a series mA meter and compare it to the register. Confirm nothing else shares the loop. On this installation nothing else is in the loop, so any extra burden or ground path is a wiring fault.

Do not skip this because the module "worked at 8.3 lb". One good point on a bad line proves nothing about the module.

Check 3: capture two calibration points with known weights

Calibrate the installed system with real weights. Do not rely on the cell's nameplate rating alone.

  1. Empty the scale to its normal tare condition (hopper, platform, fixtures in place). Let the reading settle and record the raw count as C0. This count is the dead weight of the system. The example used 500 out of 4095.
  2. Place a known test weight near the top of the working range and record the settled count as C1. The example used 150 lb and read 3000.
  3. Repeat both readings and average them if the count wanders by more than a count or two. A noisy point puts noise straight into the slope.

Use the heaviest certified weight you can handle. A wider span between the two points reduces the effect of one-count noise on the slope. A 20 lb check weight on a 250 lb cell is a poor span point.

Check 4: build the two-point scaling rung

Plot pounds (y) against counts (x). The line is y = m x + b, where:

m = (W1 - W0) / (C1 - C0)
b = -C0 x m

Worked from the example points (W0 = 0 lb at C0 = 500, W1 = 150 lb at C1 = 3000):

m = (150 - 0) / (3000 - 500) = 150 / 2500
b = (500)(-150) / 2500 = -30
net lb = (count x 150) / 2500 - 30

In ladder terms: multiply the analog value by K150, divide by K2500, then subtract K30 (SUBD K30 in the example). Replace 500, 3000, and 150 with your own readings; do not reuse these constants.

For 0.1 lb resolution, scale the constants by 10 and keep the multiply first:

tenths of lb = (count x 1500) / 2500 - 300
  1. Enter the multiply constant (W1 x 10) and the divide constant (C1 - C0).
  2. Enter the offset as (C0 x W1 x 10) / (C1 - C0), rounded to the nearest integer, as the subtract constant.
  3. Handle the case where the count is below C0 (empty scale noise or a negative reading): compare before subtracting and clamp to 0, or the unsigned subtract will wrap.
  4. Store C0, C1, and the test weight in retentive registers so a recalibration is a data entry, not a program edit.

Verify the calibration at several weights, not just the span points

Two points always fit a line exactly, so the span points prove nothing. Load at least three intermediate weights (for example about 25%, 50%, and 75% of span) up and down. This installation reached agreement within 1% of target values after applying the two-point method. Use that as the benchmark for the same hardware and check:

  • Error is small and random across all weights: calibration is good.
  • Error bows in the middle or differs between loading up and unloading: the cell or its mounting (binding, side loads, cable drag) is the problem, not the scaling. Fix the mechanics before touching constants.
  • Zero drifts between checks: record C0 again with the scale empty and confirm the tare condition is identical.

Temporary restore versus permanent repair: retuning full scale to hit the weight in front of you is a temporary restore that keeps production moving for one product weight. The two-point constants are the permanent repair. Re-run the two-point capture whenever the hopper, fixtures, or converter board is changed.

Check 5: decide whether 12-bit counts are enough

The K4095 divisor means the F2-04AD-1 delivers 4096 counts across the loop span. Assuming the converter board maps 0-250 lb to the full 4-20 mA span, that is about 250 / 4095 = 0.061 lb per count at best, and less once dead weight eats into the count range (in the example, 2500 counts cover 150 lb, about 0.06 lb per count). Roughly 0.1 lb displayed resolution is possible on a 250 lb cell, but a one-count noise flicker is already a large fraction of a tenth.

If the application needs 10000 divisions, 4096 counts cannot deliver it: 10000 divisions requires about 14 bits or more. Options that came up for this class of problem:

Option Constraint
F2-04THM thermocouple module used as a voltage input 16-bit resolution on 0-5 VDC, -5 to +5 VDC, 0-156 mV, and -156 to +156 mV inputs, but it provides no bridge excitation or sense, so you must supply excitation (10 V for the cells in question) and signal-condition externally.
Digital load cell with built-in A/D and RS-485 output (for example the HBM FIT) No separate indicator or analog card needed; read it over serial through a communications interface into the PLC. Confirm protocol, register map, and interface module compatibility from the manufacturer documentation before buying.
Stay on 4-20 mA / 12-bit Adequate for roughly 1% accuracy and about 0.1 lb display; not for 10000-division legal-for-trade style resolution.

No card designed specifically for strain-gage bridges (excitation, sense, and signal plus/minus terminals) exists in the evidence for this rack, so a bridge cell wired straight to a PLC card is not an option here.

How do I calibrate a 4-20 mA load cell on an F2-04AD-1 input?

Record the raw count with the scale empty (C0) and again with a known heavy test weight (C1), then compute net weight as (count x W1) / (C1 - C0) minus (C0 x W1) / (C1 - C0). Multiply first, divide last, and subtract the offset as the final step.

How do I get 0.1 lb resolution from the analog count?

Multiply the count by your weight constant times 10 in the multiply step, divide by (C1 - C0), and subtract the offset scaled by 10, so the result is in tenths of a pound. Confirm the intermediate multiply result fits the instruction width; 4095 counts limits real resolution to about 0.06 lb per count on a full 250 lb span.

How do I tell if the F2-04AD-1 or the load cell is causing the error?

Wire a 4-20 mA simulator directly to the module input and step it through the range while watching the count. If counts track linearly and reach 0 and 4095 at the range ends, the module is good and the fault is in the cell, converter board, loop wiring, or scaling.

When should I stop and call official support?

Stop if the module counts do not track a known simulator input after you check wiring and range setup, or if the cell shows nonrepeatable readings with a clean mechanical setup. Contact AutomationDirect technical support for module behavior and the load cell or converter board manufacturer for span and zero trim, and have the module part number, the raw counts at each test point, and the measured loop current ready.

Back to blog