When the screen and the PLC monitor show two different numbers for the same word, the usual cause is a data format mismatch: the numeric display object reads binary while the PLC stores BCD, or the reverse. The same 16 bits read 123 as BCD and 291 as binary. Match the display's number format to the word, then check scaling.
Your screen and your PLC monitor are reading the same 16-bit word and printing two different numbers. The input is probably fine. The two programs disagree about what the bits in the word mean: the numeric display object carries a data format setting, and it is set to a different number type than the PLC program uses when it writes the word. The classic case is a PLC that stores the value as BCD and a display set to read binary. The same word, 0x0123, prints 123 on the monitor and 291 on the screen. Match the formats and both numbers agree. Do that before you touch analog scaling, because a scale factor cannot repair a format mismatch. Below you get the symptom list, the arithmetic, and the check order.
Why one word shows two numbers
A 16-bit word is 16 on/off bits and nothing more. The number you see depends on how the software groups those bits.
BCD, binary-coded decimal, splits the word into four groups of 4 bits and stores one decimal digit, 0000 through 1001, in each group. Four digits fit in one word, so a 16-bit BCD word holds a range of 0 to 9999 counts. Unsigned binary treats all 16 bits as a single number, 0 to 65535 counts.
Take the word 0000 0001 0010 0011. Read as BCD, the four groups are digits 0, 1, 2, 3, so the value is 123. Read as unsigned binary, the same bits are worth 1×256 + 2×16 + 3 = 291. Each program is correct for its own format, which is how the panel and the PLC can both work as configured and still disagree.
The error runs both ways: binary 291, written 0x0123, read back as BCD prints 0123, which looks like an ordinary 123.
No standard picks the format. The analog module's documentation states the raw format its channel delivers, and the ladder program decides what lands in the word after any conversion. Older analog cards commonly delivered 4-digit BCD, which tops out at 9999 counts. A 12-bit converter on a newer module delivers plain binary counts, a range of 0 to 4095 counts over the channel span, for example 0 to 4095 counts for a 0 to 10 V input or a 4 to 20 mA loop.
Symptoms and what each points to
- The screen tracks the input but disagrees with the PLC monitor. The classic format mismatch. Run the nibble test in Find the word's real format below.
- The screen shows wild, jumping values or digits that make no sense. The bits contain hex digits A through F, which no BCD word can hold, so the display is decoding with the wrong type or width. HMI panel shows nonsense numbers from a PLC BCD analog register covers that case.
- The screen number never moves. The tag is pointed at a word the ladder never writes, so the bits stay put no matter what the input does. Watch the same word in the PLC software while you vary the signal, and check the tag address first when a numeric display shows nothing or a frozen value.
- Screen and monitor agree, but the units are wrong. The screen shows 291 for a process at 29.1, a ×10 style error. That is a scaling correction, made after the formats match.
- The value goes wrong only when the process dips below zero. A signed word read as unsigned turns -1 into 65535. Set the signed decimal data format so the sign bit is read as a sign.
Example: one word, two numbers
Scenario: an analog channel feeds the 16-bit word at address V2001, and the ladder stores the channel value there as 4-digit BCD. The channel is a 0 to 10 V input; the input sits at a steady point, about 1.2 V, and the word reads 0000 0001 0010 0011.
The word monitor in the PLC software is set to BCD, so it shows digits 0, 1, 2, 3: 123.
The numeric display object on the screen is set to unsigned decimal, so it reads the same 16 bits as binary: 0x0123 = 1×256 + 2×16 + 3 = 291. Monitor 123, screen 291, one word.
This is where the urge to edit scaling arrives. Test the idea at a second steady input point, near 9.7 V on the same 0 to 10 V span, where the word reads 0x0999:
- Monitor, BCD: 999
- Screen, binary: 9×256 + 9×16 + 9 = 2457
The first ratio is 291 ÷ 123 = 2.37. The second is 2457 ÷ 999 = 2.46. A scaling multiplier would have to change with the value, so no single multiplier or offset corrects this across the range. The format is the fault.
The fix: set the numeric display object's data format to BCD. The screen then shows 123 at the first point and 999 at the second, matching the monitor, and any scaling already in the display works untouched.
Find the word's real format
Three checks, fastest first:
- Read the word in hex on the PLC monitor. BCD stores only the digits 0 through 9, one per 4-bit group. Any hex digit A through F tells you the word is binary: a raw count of 4095 appears as 0x0FFF, and no BCD word contains F. If every group reads 0 through 9, the word could be either format, so compare it with one known physical value, such as a gauge on the line, and see which reading matches.
- Look at the rung that writes the word. A BCD conversion instruction on that rung means the word holds BCD. A plain move from the analog read usually leaves the module's raw format in place.
- Read the analog module's documentation. It states the raw data format and the count range for the channel. That page is the source of truth here; no standard decides it for you.
Check sign and width at the same time. A signed 16-bit word read as unsigned shows -1 as 65535, so small negative readings turn into very large positives.
The fix, in order
- Bring the channel to a steady, known input, such as 1.2 V on a 0 to 10 V channel. Inject or force the signal the way your site's test procedure allows, and isolate any loop that drives a live output before you force it.
- Open the word monitor in the PLC software on the analog word, V2001 in the example, and note the value in decimal and in hex.
- Note the screen value at the same moment.
- Run the nibble test on the hex value.
- In the HMI editor, open the numeric display object that shows the value and read its data format property. Editors name the property differently, but every numeric display object carries one, and it selects BCD, unsigned integer, signed integer and the word length.
- Set the display format to match the word: BCD for a BCD word, unsigned for plain binary counts, signed where negative values appear. Save the project, download it to the panel, and retest at two steady input points.
- When monitor and screen agree at both points and the units are still wrong, correct the scaling: endpoints, offset and the module's documented count range. Applying a scaling multiplier on an HMI numeric display covers that edit.
After the formats match
Format matching is a habit, not a one-time repair. The same rule picks the correct data format for a PLC timer preset, and it applies to every numeric object you point at a PLC word.
If the word is copied through a gateway or a tag database on its way to the screen, the copy can diverge from the original word. The page on a copied binary tag showing different values than the original follows one such case.
Recommendation: Match the numeric display object's data format to the word before any scaling change: BCD where the ladder stores BCD, unsigned where the module delivers plain binary counts, signed where values go negative. Verify against the PLC monitor at two steady input points; when the two agree at both points and the units are still wrong, treat scaling as a separate correction.
Most of these checks assume the screen is a machine HMI. When the same line also needs a notice board for shift notes or andon status, the factory and shop-floor screens section covers that side.
Questions
Which format does an analog input word use, BCD or binary?
Whichever the hardware and the ladder define; no standard picks one. The analog module's documentation states the raw format and count range for the channel, and any conversion instruction in the ladder decides what the stored word holds afterwards. Older analog cards commonly delivered 4-digit BCD with a 9999 counts ceiling, while a 12-bit converter on a newer module delivers 0 to 4095 counts plain binary.
Can a scaling multiplier correct a BCD and binary mismatch?
No. The ratio between the two readings moves with the value: BCD 0123 read as binary shows 291, a factor of 2.37, while BCD 0999 read as binary shows 2457, a factor of 2.46. A multiplier fixes one operating point and drifts everywhere else, and no offset tracks that curve. Correct the numeric display object's data format first, then scale the matched value as designed.
The screen value never changes at all. Is that also a format problem?
Usually it is an address problem. A display pointed at a word the ladder never writes holds the same bits all shift, so the number freezes no matter what the input does. Watch the word in the PLC programming software while you vary the signal: if the monitor moves and the screen does not, correct the tag address before checking any format setting.
How do I tell from the hex value whether a word can be BCD?
Look at each 4-bit group in the hex display. BCD keeps one decimal digit per group, so every group must read 0 through 9. Any hex digit A through F in the word tells you the value is binary, because no BCD encoding produces those digits. If all groups read 0 through 9, compare the word against one known physical input to decide which format fits.
Why does the value only go wrong when the process goes negative?
A signed word read as unsigned loses the sign. In a 16-bit word, -1 stored in two's complement reads 65535 as unsigned, so small negative readings appear as very large positives. Set the numeric display object's format to the signed type so the sign bit is interpreted as a sign. If numbers near zero go wrong only after a conversion step, check the sign handling in that conversion.
Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.