A short process peak disappears when the historical trend covers a long time range, even though the stored value is still present. The limiting quantity is horizontal pixel capacity: when the dataset contains more points than the plot can distinguish, the renderer must reduce what it draws. If that reduction skips points, a brief maximum or minimum can vanish from the trace.
FactoryPMI historically skipped datapoints when a large dataset exceeded the available drawing space. An autoscaled Y axis could still expand to include a skipped outlier, but the trace might not show the event until the operator zoomed in. Version 3.2.3 improved the charting algorithm to preserve outliers.
Pixel Capacity and Outlier Loss
The number that matters is the ratio between stored observations and drawable horizontal positions. A plot area 1,000 pixels wide cannot present several thousand distinct timestamps as separate horizontal locations. Multiple observations must share a pixel column, or the renderer must discard some observations.
| Quantity | Example or limit | Where to read it |
|---|---|---|
| Drawable chart width | 1,000 pixels in the stated example | Measure the inner plot area, excluding axes and margins |
| Historical observations | 3,600 sets in the validation case | Historian query result or chart dataset |
| Normal recorded values | Below 120 in the validation case | Raw historical records |
| Injected outlier | 350 | Raw historical record at the test timestamp |
| Software boundary | Outlier-preservation improvement in 3.2.3
|
FactoryPMI version information |
Uniform decimation selects every nth point, or an equivalent subset, to reduce drawing work. It is fast, but its result depends on the alignment between the selection interval and the event. A one-sample excursion can fall between selected points and disappear. This is a display loss, not a historian loss.
Autoscaling addresses a different calculation. The axis range may use the dataset minimum and maximum even when the line renderer draws only a subset. In the 3,600-set test, changing one temperature value to 350 while the remaining values stayed below 120 expanded the Y axis. The plotted spike became visible only after zooming closer. An expanded axis is therefore a warning that hidden extrema may exist, not a sufficient event display.
Rendering Approaches Compared
| Approach | Pixel behavior | Short outlier behavior | Operator consequence |
|---|---|---|---|
| Point skipping | Draws selected observations when points exceed horizontal capacity | May omit a short maximum or minimum | Autoscaling or later zooming may reveal that an unseen event exists |
| Autoscaled point skipping | Reduces the trace while calculating a broader axis range | The outlier can affect the scale without appearing on the trace | An unexplained scale change becomes the diagnostic clue |
| Minimum/maximum envelope | Divides the displayed time span into pixel-width time blocks and calculates both extrema for each block | Preserves the block's vertical range as a one-pixel-wide line | Brief peaks and troughs remain visible while zoomed out |
| Range statistics beside the chart | Shows minimum and maximum values separately from the reduced trace | Reports the extrema numerically even if the trace omits them | The operator detects the event, then uses zoom and pan to locate it |
The minimum/maximum envelope is the strongest overview representation for processes where a momentary excursion matters. For each horizontal time block, draw a vertical segment from the block minimum to its maximum. If the plot has 1,000 usable pixel columns, calculate up to 1,000 time blocks across the selected interval. This preserves the range occupied by the recorded samples without pretending that every sample has its own horizontal position.
The envelope changes the meaning of the geometry. The vertical segment represents the range within a time block, not a continuous transition from minimum to maximum. When an engineer needs sequence, slope, or event duration, zoom into the raw points. When the decision is whether an excursion occurred, the envelope carries the required information.
Version and Display Recommendation
Use FactoryPMI 3.2.3 as the first documented software boundary for improved outlier preservation. For an earlier installation, evaluate that version in a controlled environment and repeat the plant's actual historian query, pen configuration, axis mode, and display width. The improvement is described as preservation of outliers; it does not identify the internal reduction method, so acceptance testing must check visible results rather than assume a particular envelope implementation.
Keep autoscaling enabled during initial diagnosis because it can expose a hidden extreme through an unexpected axis range. For routine operation, choose axis behavior from the process requirement:
- Use a fixed, engineering-range axis when consistent visual comparison matters and an excursion must appear at its true position within that range.
- Use autoscaling when the signal range changes materially and operators are trained to treat unexplained scale expansion as evidence of a hidden extreme.
- Display range minimum and maximum values when a missed one-sample event would affect quality, safety review, or troubleshooting.
- Use zoom and pan to move from overview detection to timestamp-level investigation.
A numerical minimum/maximum display is a useful independent channel, but it does not replace a faithful overview trace. It indicates magnitude without showing when the event occurred. Pair it with the chart and a defined drill-down method.
Symptoms and Diagnostic Causes
| Observed symptom | Likely chart mechanism | Diagnostic action |
|---|---|---|
| A peak appears when zoomed in but disappears when zoomed out | The overview renderer reduces more points than the pixel width can display | Compare dataset count with plot width and repeat the view at progressively narrower time ranges |
| The Y axis expands, but no plotted point reaches the new limit | Autoscaling includes an extreme that the reduced trace omits | Read the range maximum and inspect raw records near the suspected interval |
| A narrow trough is absent from the overview | Point skipping omitted the minimum | Run the same test with a known low outlier and verify minimum preservation |
| The result changes after resizing the window | A different plot width changes the reduction-to-pixel mapping | Test the smallest deployed client size as the limiting case |
| A gap displays as a continuous value or isolated dot | The chart or query may be interpolating an interval with no sample | Compare timestamps in the returned dataset with the pixels around the gap |
| An outlier remains absent after zooming to raw-point density | The value may be missing before rendering | Inspect the historian query result, timestamps, quality, and pen filtering |
Separate retrieval from rendering. If the query result lacks the outlier, chart reduction cannot preserve it. If the result contains the outlier but the overview does not draw it, the failure lies in display reduction. If the axis changes while the line remains flat, the axis calculation and trace renderer are using different reductions or different portions of the dataset.
Controlled Outlier Test Procedure
- Select a non-production dataset or controlled tag history where a test value can be inserted safely. Record the baseline range, exact timestamps, sample count, and sample spacing.
- Create one short maximum outside the baseline range. The documented validation used one value of 350 among values below 120; use process-appropriate test values rather than applying those numbers to an operating signal.
- Query a time range that returns more observations than the chart has usable horizontal pixels. Record both quantities so the reduction condition is repeatable.
- Open the chart at the smallest display width used by operators. Capture the trace and its Y-axis limits with autoscaling enabled.
- Check whether the test outlier is visible. If only the axis expands, record the overview as detecting the range but failing to locate the event visually.
- Zoom toward the test timestamp until the point appears. Record the first time span or point-to-pixel ratio at which it becomes visible.
- Repeat the test with a short minimum. A renderer that preserves positive spikes but loses negative excursions is not acceptable for bidirectional monitoring.
- Repeat on
3.2.3when qualifying the documented improvement. Keep the query, dataset, chart dimensions, axis settings, and pen settings identical. - Pan across adjacent intervals and resize the chart. Confirm that pixel-boundary alignment does not make the test event appear and disappear unpredictably.
Test more than the line trace. Read the chart's displayed minimum and maximum, inspect the raw values returned for the interval, and compare the outlier timestamp with the rendered location. This distinguishes a correct value drawn in the wrong time block from a value omitted entirely.
Uneven Sampling and Empty Time Blocks
An envelope requires evenly spaced time blocks, but historian samples need not be evenly spaced if the grouping uses timestamps. Divide the visible start-to-end interval by the number of drawable columns, assign each sample to its timestamp block, and calculate the observed minimum and maximum in each nonempty block. Grouping by every nth record instead would give dense periods more horizontal weight than sparse periods and distort time.
Empty blocks require an explicit display rule. One proposed behavior is to interpolate a value and draw a single dot for a period with no sample. Interpolation creates an estimated value, so the chart must distinguish it from a recorded observation. A gap is the clearer default when absence, communications loss, or stale data matters; an interpolated dot is appropriate only when the configured historian or process convention defines that estimate.
For irregular history, inspect consecutive timestamps and locate empty time blocks before judging chart accuracy. Then determine whether the pen shows a gap, holds a prior value, interpolates, or suppresses the block. The acceptance record should name that behavior because extrema preservation and gap treatment answer different questions.
Verification and Acceptance Criteria
| Check | Passing result |
|---|---|
| Maximum preservation | The zoomed-out display visibly marks the known short maximum, or an independent range indicator reports it and the operating procedure requires drill-down |
| Minimum preservation | The corresponding short minimum remains detectable under the same reduction conditions |
| Magnitude | The displayed range reaches the raw recorded extreme without clipping |
| Time location | Zooming resolves the event within the time block that contains its timestamp |
| Resize stability | The event remains detectable at every deployed chart width |
| Gap handling | Missing intervals follow the documented gap or interpolation rule |
| Version comparison | The test record identifies the FactoryPMI version, including 3.2.3 when evaluating the outlier-preservation change |
Passing autoscale alone is insufficient where an operator must see the event on the trend. The axis proves that an extreme affected the range calculation; it does not identify its timestamp, duration, or direction. Define acceptance from the operational decision: overview detection, exact localization, numerical magnitude, or all three.
Frequently Asked Questions
How do I tell whether FactoryPMI skipped a historical outlier?
Compare the raw historian result with the zoomed-out trace. If the value exists in the result and changes the autoscaled Y axis but appears only after zooming, display reduction skipped or concealed it.
How do I preserve short peaks when a FactoryPMI chart is zoomed out?
Use the outlier-preservation improvement introduced in 3.2.3, then validate it with known maximum and minimum test points. Add displayed range minima and maxima when detecting every excursion is an operating requirement.
How do I test chart accuracy with unevenly spaced history?
Group the visible interval into equal time blocks by timestamp, identify blocks with no samples, and compare the chart with the raw records. Record whether empty blocks appear as gaps or interpolated values.
When should I stop troubleshooting FactoryPMI chart outliers?
Stop local testing after the raw dataset, axis mode, chart width, pen settings, gap behavior, and 3.2.3 comparison are documented and a known outlier still fails acceptance. Preserve the repeatable dataset and screenshots. Escalate that test package through the official product support channel for review of the renderer and version-specific behavior.