Set trend graph limits for implied decimal PLC values

7 min read · Published November 11, 2026

A trend trace that rides the top of the chart is a scale mismatch. The pen plots the raw count in the PLC address, 1741 for a level of 174.1 feet, while the axis was typed as 0.0 to 200.0. Enter the minimum and maximum in raw counts, 0 and 2000, and note the implied decimal in the legend.

The pens point at the right V-memory, the numbers look healthy on every other screen, and the trend graph still draws its lines pressed against the top edge of the chart. That is a scale mismatch with a one-line fix: set the graph's minimum and maximum in the raw counts the address holds. A level stored as 1741 for 174.1 feet needs an axis of 0 to 2000, because the chart plots 1741 against whatever maximum you typed, and 1741 is far above a 200.0 scale. The decimal point on the axis label is printing, not math. This article shows how to confirm what the pen receives, where the limits live, and how to label the chart so the next reader knows the numbers carry an implied decimal.

Why the trace pins at the top

A trend chart plots the number it receives against the range its limits define. Packages name the settings differently: minimum data value and maximum data value, or a value axis range in the trend object's properties. The purpose is the same, and the help states it plainly: these values set the range of data the chart displays.

When a PLC stores an engineering value as an implied-decimal integer, the address holds counts, tenths of a foot with the decimal point implied in this case. The chart receives 1741 and places it on a scale whose maximum was typed as 200.0, so the requested point sits far above the frame and the drawing clips there on every sample. Nothing is wrong with the logging, the pen, or the PLC.

The one-decimal format on the axis label and on the bar graph page is presentation. It prints 1201 as 120.1 feet. Formatting changes how a screen prints a number; it never multiplies or divides the value a pen receives. The bar graph showing 120.1 and the trend receiving 1201 are the same address seen two ways.

Symptoms and what each one points to

Match your symptom before changing anything.

  • Trace pinned along the top edge, value healthy on other screens. The pen's number is larger than the axis maximum: raw counts plotted against an engineering-unit axis. The fix below covers it.
  • No trace and no history at all. Sampling is blocked: a trigger tag held false, a start/stop tag held false, a clear tag held true, or a trigger interval set to hours. Why fixed trend pens appear blank at runtime covers pens that never record a sample.
  • Trace hugging the bottom of the chart. The same mismatch at the other end: an axis maximum far larger than the pen's counts, for example an axis of 0 to 32000 on a tag that tops out near 2000.
  • A chart you know is logging shows nothing. Pen color matching the chart background. Change the pen color and watch one new sample appear.

One check separates the cases: read the address in a data view and compare that number with the axis maximum you typed. If the data-view number exceeds the maximum, you have the scale case.

Confirm what the pen receives

Work through four checks in order.

  1. Read the address as printed. Open the V-memory address in a data view or watch window and note the exact digits and where the decimal point sits, if it appears at all. That number, in the representation the data view shows, is what the pen plots.
  2. Match the pen's source. Open the trend configuration and confirm each pen points at the same address the working screen reads. A pen pointed at an empty or wrong address draws nothing at any scale.
  3. Count the implied decimals. One implied decimal means each count is 0.1 of the engineering unit. Whether the address decodes as plain binary or BCD, the limits use the decimal number the data view prints; the one-decimal format on the working screen is presentation.
  4. Check the pen's conversion setting. Some trend objects offer a scaling or conversion on the pen. If the documentation states that it converts input counts to engineering units, the limits belong in converted units. If there is no conversion, the limits belong in raw counts.

Decide here: if the data view prints a number ten times the engineering value you expected, and the axis maximum reads that engineering value, the mismatch is confirmed.

Set the limits in raw counts

The fix is arithmetic, and the trend object's own properties carry it.

  1. Open the trend object's properties and find the value axis or pen limits, named minimum data value and maximum data value in most help files.
  2. Compute the maximum in counts: engineering maximum × 10 per implied decimal. For 200.0 feet stored in tenths, 200.0 × 10 = 2000 counts.
  3. Enter the minimum and maximum in counts, 0 and 2000. Leave the time span alone.
  4. Note the implied decimal in the legend, so the next reader knows the plotted numbers are tenths of the engineering unit.
  5. Run the display and watch one change of level. The trace should move to its place in the chart and hold there; the worked example below shows the arithmetic for two sample readings.

If the trace still pins at the top with limits of 0 and 2000, the pen is not reading the address you verified, so go back to check 2 and match the pen's source to the data view. A genuine over-range reading above 2000 will also clip at the top, and that is the true picture of the sensor.

Worked example: a well level in tenths of a foot

A site watches a level that ranges from 0 to 200.0 feet. The PLC stores it as BCD tenths, so the address holds 1741 while the true level is 174.1 feet. The axis was typed as 0.0 to 200.0, copied from the bar graph page that shows one decimal place.

Against a 200.0 maximum: 1741 / 200.0 = 8.7. The pen asks for a point 8.7 chart-heights above the frame, so every sample clips at the top edge. Retyping the label as 200.00 or adding a second decimal to the format changes the printed text alone, and the trace stays pinned.

With the limits set to 0 and 2000: 1741 / 2000 = 0.87, so the trace draws at 87 percent of chart height. A second reading, 1201 counts for 120.1 feet, draws at 1201 / 2000 = 0.60, which is 60 percent. The trace now tracks the level, and the legend note reading 1741 = 174.1 ft tells the operator what the plotted numbers mean.

One consequence to expect: on a 0 to 2000 axis, 1 percent of full scale is 20 counts, which is 2.0 feet of level, so a slow trace moves in visible steps. Why an HMI trend graph only resolves 1% of full scale explains that behavior.

Convert once, in the pen or the PLC

Counts on the axis work, and many plants leave it there. Two other routes move the decimal once.

Pen-side conversion. If the trend object's documentation states that the pen converts input counts to engineering units, apply that conversion and set the limits in engineering units. Verify with a known reading from the data view: the trace must sit at the same chart position it held under raw limits. A decimal-display option that only formats text performs no arithmetic, and the plotted count stays as it was.

PLC-side conversion. Divide the count by 10 into a floating-point value and write the result to a new address, then point the pen there and set the axis in engineering units. Anything else that reads the original address keeps seeing counts, which is what those consumers expect; overwriting the original address changes every screen, alarm and log that shares it, so check each one before you do. On a processor without floating-point support, scaled integer math when your PLC has no floating point keeps tenths exact in integers.

Where the count came from is a separate question: the analog input module scaled the field signal into counts, and why the scale value differs from the PLC analog input covers that module-side scaling.

What to set, and when

Recommendation: set the pen's minimum and maximum in raw counts whenever the pen reads an integer or BCD address that other screens only format for display. Compute the maximum as the engineering maximum × 10 per implied decimal, enter 0 for the minimum on a range that starts at zero, and add a legend note stating the implied decimal. Use a pen-side conversion only where the trend object's documentation states that it converts the plotted value, and then set the limits in engineering units.

Questions

Can I fix the scale in the PLC instead of the trend graph?

Yes. Divide the count by 10 into a floating-point value, 1741 becomes 174.1 feet, and set the axis 0.0 to 200.0. Two conditions: every screen, alarm and log that reads the same address now sees the converted value, so repoint them or write the converted value to a new address; and the graph's sample values then carry real units, so remove the implied-decimal note from the legend.

What maximum do I enter for two implied decimal places?

Multiply the engineering maximum by 100. A pressure range of 0 to 200.00 psi stored as hundredths needs an axis maximum of 20000 counts; a reading of 1741 counts then means 17.41 psi and plots at 1741 / 20000 = 8.7 percent of chart height. The rule is one zero per implied decimal: tenths multiply by 10, hundredths by 100, thousandths by 1000.

The limits are 0 and 2000 but the trace still touches the top. What is left to check?

Watch the address in a data view while the trace misbehaves. A count above 2000 is a real reading or a fault code, not a scale error: sensor over-range and wiring faults push counts past full scale. Keep the axis at 2000 so the over-range stays visible at the top edge, and treat a count pinned at full scale while the level reads empty as a wiring or scaling fault to chase at the input module.

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