Why an HMI trend graph only resolves 1% of full scale

7 min read · Published November 10, 2026

On a trend object limited to 1% of full scale, a 0-3000 axis can only draw values 30 units apart, so a tag holding 1495-1505 plots as a line flipping between 1470 and 1500. The sample interval, the averaging count and the object's pixel height control timing and appearance, never that step. Keep a numeric display for fine readings and validate the saved log before treating it as the record.

An HMI line trend object on one widely used touch-panel family resolves 1% of the Y-axis full scale, and the maker's support desk confirms it. On a 0 to 3000 axis that is a 30-unit step: values 1470 to 1499 all plot at 1470, and values 1500 to 1529 all plot at 1500. That is why a tag holding a steady 1495 to 1505 draws a line that flips between two levels while the numeric display shows the real span. The sample interval, the averaging count and the pixel height of the object do not move that step. This page works the arithmetic, shows what those settings actually control, and gives the test order that finds which path, numeric display, cursor or log, can carry the fine values.

The step is 1% of the axis span, and the percent is easy to misread

The limit is confirmed for that panel family at 1% of full scale, and the reason given with it is memory: storing plotted points at 0.1% resolution would multiply the RAM that holds them by 10, and the object caps its cursor history at 65,535 stored samples.

Work the number for a 0-3000 axis:

3000 × 0.01 = 30 units

A first pass often reads 30 of 3000 as 10%. It is 1%. The percent is taken against the full span from the axis minimum to the axis maximum, so 30 ÷ 3000 = 0.01.

The step cuts the axis into buckets with edges every 30 units, at 0, 30, 60, and so on to 3000: 100 buckets across the scale. Values from 1470 to 1499 plot at 1470. Values from 1500 to 1529 plot at 1500. The tag itself can hold 1503, and the plotted point lands on 1500 anyway, because the quantization belongs to the trend object, not to the tag, the PLC scaling or the network.

What the sample interval and the averaging count actually control

Take the setup used through this page: one reading every 5 seconds, 4 readings averaged, so the graph draws a new point every 20 seconds. Those two settings set when the line moves and how much noise each plotted point carries. They have no effect on where the point can land: at every setting, the plotted value snaps to the same 30-unit bucket on the 0-3000 axis.

HMI trend documentation across vendors reads the same way: the interval is how often the trend expression is evaluated and the chart updates. Check your own panel's trend object manual for that exact wording. Change the interval when the graph is too slow or too fast for the process. Change nothing about it to fix a coarse line. For the update side in detail, see why an HMI trend graph will not update every half second.

Why screen pixels cannot fix it

A 15-inch panel at 1024 × 768 with a trend plot 500 pixels tall gives a geometric resolution of:

3000 / 500 = 6 units per pixel

Six units per pixel against an observed step of 30 units means the drawn line is five times coarser than its own geometry. The value is quantized inside the object, before the pen reaches the screen. A taller object, a bigger screen or a higher panel resolution spreads the line over more pixels and makes it look smoother; the value step stays 30. Only an object with a finer value resolution, or a different kind of readout such as a numeric display or a log viewer, moves the step.

Worked example: a 1495 to 1505 drift on a 0 to 3000 trend

Setup: a process tag holding between 1495 and 1505, a numeric display showing the true value, and a line trend with a 0-3000 Y-axis, a 500-pixel plot, one reading every 5 seconds and 4 readings averaged, so one plotted point every 20 seconds.

Step size: 3000 × 0.01 = 30 units.

Bucket edges around the setpoint: 1470 and 1500. Values 1470-1499 plot at 1470; values 1500-1529 plot at 1500.

The tag's 1495, 1497 and 1499 fall in the 1470 bucket. Its 1500, 1502 and 1505 fall in the 1500 bucket.

What the trend draws: a horizontal line at 1470 that jumps to 1500 and back, never anything between. Touch the graph for a cursor and the box returns the same two values, 1470 or 1500, because the cursor reads the object's stored plotted points, and those points are quantized.

What the numeric display shows: 1495 to 1505, live and to the unit. That 10-unit span is exactly the information the graph cannot carry. Any decision that depends on a change smaller than 30 units moves to the numeric display or to a validated log.

Three paths carry the numbers, and each one is tested on its own

Trend line, cursor history and saved log are separate paths, and they can disagree. On that panel family the trend keeps up to 65,535 stored samples in RAM for cursoring back; that count is cursor history, a different thing from what a logging path saves to USB or a memory card. The maker's logging calculator shows about 512 KB per pen for 65,535 samples at 1% resolution, and about 5 MB for the same sample count at 0.1%, which is the 10-fold storage cost behind the 1% default.

Panels route these paths differently, and firmware matters. Installations logging to a memory card have read accurate values from the cursor while the drawn line stayed coarse. On a similar panel with a newer firmware build, the saved log was correct while the drawn line was wrong. Current HMI software makes the split explicit: a trend control can draw tag values from the current process or from a log, which your panel's trend control manual will state, so the first question about any graph is which source feeds it.

Test the paths in this order:

  1. Watch the numeric tag and the trend cursor at the same process moment. Matching values mean the cursor and the display share a path.
  2. Export the log and read its raw values and timestamps outside the panel.
  3. Compare log, numeric display and cursor at matched times. A precise log next to a stepped graph points to the display path. A stepped value in all three means the tag or its scaling in the PLC is the thing to check.

If the graph misbehaves while the process is steady, the same display-path logic explains the case in why an HMI trend graph spikes while the number stays stable. When the log is meant to be the record, remember that historical trend graphs need PLC memory history: the panel keeps only what a logging path captures.

Narrow the axis only when the process truly lives inside the band

The quickest display fix for a case like this: set the Y-axis to 1450-1550 around a 1500 setpoint. Full scale drops from 3000 to 100 units, so if the object quantizes against the configured scale, the step drops to 100 × 0.01 = 1 unit.

Two conditions decide it.

First, the process must really run inside the band. The tag behind this case can run anywhere from 0 to 3000, and a 1450-1550 axis would drive the line off-scale for every excursion outside the band. A control screen that hides excursions is worse than a coarse line, so a narrow axis belongs only on a process whose window is genuinely constrained and whose out-of-range condition is alarmed somewhere else.

Second, the step has to follow the axis, and that is a 10-minute bench test. Narrow the axis to 1450-1550, drive the tag to 1497, then to 1503, and watch the line. If it separates by 6 units, the object quantizes against the configured scale and the narrow axis solves the reading inside that window. If both writes plot on 1500, the object quantizes against a fixed internal range, no axis setting will change the step, and the numeric display stays the instrument for fine values.

The decision, case by case

  • Wide-range process, and changes smaller than 1% matter: keep the trend for shape and timing, read the value from the numeric display, and validate the log export before anyone treats it as the record.
  • Process confined to a narrow band: set the axis to the band, run the two-value bench test, and if the step follows the axis, the graph becomes usable inside that window.
  • New panel purchase: get the trend object's resolution in writing before the order, and bench-test a step smaller than 1% of the axis before accepting the panel.

Recommendation: keep a numeric display beside every trend that supports a process decision, and write the trend object's display resolution into the panel specification before the next purchase. Assume a 30-unit step on a 0-3000 axis until the maker states the resolution in writing, and confirm the saved log with a raw export before it becomes the record.

Questions

What step does a 1%-of-full-scale trend give on other axis ranges?

Multiply the axis span by 0.01. A 0-100 axis steps 1 unit, a 0-500 axis steps 5 units, a 0-1000 axis steps 10 units, and a 0-12000 axis steps 120 units. The span divides into 100 buckets on every range, so a change smaller than one bucket never appears on the line, whatever the engineering units are.

What should I record before contacting the panel maker about trend resolution?

The panel model and software version, the axis minimum and maximum, the sample interval and averaging count, the trend object's pixel height, the smallest change the line actually shows, and a matched comparison of the numeric tag, the cursor value and an exported log at the same timestamps. That set lets support confirm the limit and test any fix against one repeatable case.

What should I ask for when choosing a panel for a process trend?

Ask the maker to state the trend object's display resolution in engineering units or as a percent of full scale, whether that resolution is selectable, how many samples the cursor history stores, and how the saved log path is routed. Then bench-test with a known step smaller than 1% of your axis, such as a 5-unit change on a 0-3000 tag, before accepting the panel.

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