Why the scale value differs from the PLC analog input

7 min read · Published November 7, 2026

A steady gap between the scale display and the PLC analog input is usually conversion arithmetic: one A/D count is 1/4096 of span, so the example scale can sit 0.0366 kg off with nothing faulty. Log raw counts and converted values at two loads. A flat gap is the offset, a growing gap is the span constant, and totals belong on the serial or network read.

A small, steady gap between the weight on the scale's own display and the weight the PLC sees is normal, and it comes from three ordinary places: the analog-to-digital conversion, the rounding convention of the input module, and the scaling arithmetic in the program. The input stores whole counts, not kilograms, and one count on a 12-bit module is 1/4096 of the span. So before replacing a transmitter or rewiring anything, log the raw counts and the converted value side by side at two stable loads. A gap that stays within about one count of span is the converter doing its job. A flat gap at every load is the offset. A gap that grows with the reading is the span constant. This article gives the numbers that separate the three patterns and the order to check them in.

What the analog input actually stores

A 12-bit analog input converts the incoming signal into a whole number between 0 and 4095, so 4096 counts cover the whole span. Some platforms rescale that to 0 to 27648 raw units for programming. The converter is still 12-bit, so the resolution is unchanged; only the constant your scaling math uses is different.

Every count is a whole number, so the conversion discards anything below one step. Over a 16 mA span one step is 16 ÷ 4096 = 0.0039 mA. Over the 150 kg span of the example below it is 150 ÷ 4096 = 0.0366 kg, about 37 g. Modules also differ in their rounding convention: some round to the nearest count and some drop the fraction. Two healthy modules fed the same current can therefore report one count apart, and either can sit half a count from the true value at any load.

A current input with a 4 mA live zero also lets you tell a broken wire apart from true zero: 4 mA means zero load, anything under it means the loop is open.

Symptoms and what each points to

  • Gap within one count of span (one count is 0.024% of span, which is 0.0366 kg on the example scale): conversion and rounding. Leave the loop alone.
  • The same gap at every load: offset. The transmitter zero and the program's offset constant disagree. Check the live zero at 4 mA and the offset entry.
  • The gap grows roughly in proportion to the load: span or rate error. A rate set wrong produces an error proportional to the reading.
  • Raw counts wrong as well as the converted value: the loop or the module. If several inputs on the same card misbehave at once, check the commons and grounds between devices first.
  • Raw counts right, converted value wrong: scaling or display logic. Fix the rate and offset; the wiring is sound.
  • Counts jump, freeze or look like nonsense: a loose terminal, a ground problem, or the value being read through the wrong data type. Nonsense numbers read through a BCD-typed register are that third case, and nonsense numbers from a PLC BCD analog register covers it.

Record raw counts and the converted value side by side

The log takes ten minutes and decides everything after it.

  1. Put a known, stable load on the platform: a test weight, a full tote, or a paused filling run.
  2. At that load, record the raw counts from the input word and the converted engineering value at the same scan.
  3. Repeat at a second load well away from the first, ideally one near a quarter and one near three quarters of span.
  4. Convert each gap into counts: gap in kg ÷ kg per count. On the example scale that divisor is 0.0366 kg.
  5. Match the pattern to the list above: one count, flat, or growing.

One safety note belongs here: stop the batch before touching terminals. A 4 to 20 mA signal may be feeding an interlock or a batch total, and pulling a conductor under it can stop a line or corrupt an accumulated value.

Worked example: a 150 kg scale on a 4 to 20 mA input

Scenario: the platform reads 0 to 150 kg and outputs 4 to 20 mA. The PLC input card is configured for the same 4 to 20 mA range and has a 12-bit converter.

  • Span: 16 mA covers the full capacity, so 1 kg moves the signal 16 ÷ 150 = 0.1067 mA.
  • One count: 16 ÷ 4096 = 0.0039 mA, which is 150 ÷ 4096 = 0.0366 kg.
  • At a true 100.00 kg the transmitter sends 4 + (100 ÷ 150) × 16 = 14.667 mA.
  • Raw counts: (14.667 − 4) ÷ 16 × 4096 = 2730.7.
  • A module that drops the fraction stores 2730, and the program converts that to 2730 ÷ 4096 × 150 = 99.98 kg.
  • A module that rounds to the nearest count stores 2731, which converts to 2731 ÷ 4096 × 150 = 100.01 kg.

The scale display shows 100.00 kg and the PLC shows 99.98 kg. The 0.02 kg gap is half a count of 0.0366 kg, it is conversion arithmetic, and it can never be removed by a transmitter, cable or card change. Now suppose the PLC shows 101.50 kg at the same load: the gap is 1.50 ÷ 0.0366 = 41 counts, and no rounding convention explains 41 counts. Check a second point to name the fault. A rate constant set 1.5% high produces exactly that pattern: a 1.50 kg gap at 100 kg true and a 2.25 kg gap at full load, growing with the reading. A flat 1.50 kg gap at half load, at 100 kg and at full load is an offset.

Fix the scaling only when the raw counts are right

The boundary test comes first: if the raw counts track the known loads and only the converted value is off, the fault is in the scaling or the display logic, and rewiring solves nothing. Correct the rate and offset so the two logged points line up within a count.

  • Recompute the rate from measured counts: rate = engineering span ÷ (counts at the high load minus counts at zero load).
  • Set the offset so the live zero, 4 mA with an empty platform, converts to 0.
  • Guard the denominator: if the counts span is ever zero, the rate divides by zero and the value locks up or errors.
  • Re-run the two-point log. Expect each remaining gap inside one count, 0.0366 kg on the example.

If the raw counts drift with nothing on the platform, calibrate the transmitter first; rescaling after that only bakes the drift in. And if the value comes out wrong by a factor of ten instead of a fraction of a percent, that is a different fault with its own fix: why an HMI value shows ten times too small.

Use the serial or network read for totals

A working analog loop is the production path for the live value; keep it in service. Totals are a different job. A daily total or an accumulated total sums many samples, each quantized and each rounded, and rounding every sample before the sum lets the error accumulate; there is a dedicated writeup on fixing totals when each rounded value is summed. Reading the total straight from the device over serial or Ethernet takes the sum from the instrument's own accumulator, which carries no per-sample rounding.

Serial brings its own checklist. Match the port settings to the device's documented settings at both ends, wire RS-232 with all three conductors crossed so each side's transmit lands on the other's receive plus a shared signal ground, and capture the raw string on a computer before writing any parser. The basics are in connecting a PC HMI to a PLC over a serial protocol or Ethernet, timeout and checksum errors on an HMI-PLC link covers the failures that appear once the wiring is right, and accumulating multiline serial reads into variables covers string handling. If the device answers only after a command code, the controller on that port must be able to send the code and decode the reply; a receive-only read sits and waits.

The decision

  • Gap within one count of span: normal conversion arithmetic. Leave the analog loop alone.
  • Flat gap at every load: offset or live zero. Recalibrate zero, fix the offset constant.
  • Gap grows with the load: rate or span constant. Recompute it from the logged counts.
  • Raw counts wrong: loop, grounds or transmitter. Check commons and grounds, then calibrate.
  • Totals and reports: serial or network read of the device's own accumulator.

Recommendation: log raw counts and converted values at two stable loads before changing hardware. Treat any steady gap inside one count of span, about 0.0366 kg on the example scale, as normal and leave the analog loop in service; correct the rate when the gap grows with the load, correct the offset when the gap is flat, and move daily and accumulated totals to the serial or network read.

Questions

How much difference between the scale and the PLC is acceptable?

Add the converter's quantization to the transmitter's stated accuracy. One A/D count is 1/4096 of span, about 0.024%, so the example scale can sit 0.0366 kg off from conversion alone. Look up the transmitter accuracy in percent of span and add that. As an illustration, a transmitter rated 0.1% of span adds 0.15 kg on this scale, so anything inside about 0.19 kg at any load is expected. A larger gap, or one that grows with the load, points at the offset or span constant.

Should I replace the analog input with a serial read?

Keep the analog loop for the live process value and add the serial or network read for daily totals and accumulated totals. The serial path needs the device's documented data format, matching port settings at both ends, and a capture of the raw string on a computer before any parsing. Expect a small project, because a device that answers only after a command code needs a controller on that port able to send the code and decode the reply.

Why did the difference appear after I swapped the analog input card?

Cards differ in conventions that change the stored raw number. Some round to the nearest count and some drop the fraction, and some platforms map the span to 27648 raw units instead of the converter's 4096 counts. If the raw range convention changed, the scaling constants move with it. Re-read the raw counts at an empty platform and at a known load before reusing the old rate and offset, then correct them from the new readings.

Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.

Keep reading

Build your signAsk for a quote