
Ignition Historian Forensics
Ignition Historian Forensics
Diagnose Ignition 8.1 Tag Historian gaps, sparse trends, delayed rows, bad-quality windows, deadband compression, aggregation surprises, retention limits, tag identity mismatches, and chart-versus-query disagreements with an offline assistant built for SCADA evidence review.
Tested with Ignition 8.1.53.
Built from 10+ years of manufacturing and industrial automation experience across food packaging, planter-part manufacturing, and Tier 1 automotive environments, including practical Ignition use in production-facing work.
What It Helps With
- Separate historian storage, store-and-forward delivery, raw row availability, query settings, aggregate calculations, and rendered chart behavior.
- Review user-provided tag history screenshots, queryTagHistory exports, chart settings, SQL result sets, Gateway log excerpts, store-and-forward evidence, and time-window context.
- Diagnose sparse analog trends, missing boolean events, deadband compression, interpolation/fill behavior, Average versus raw/on-change rows, quality filtering, stale data detection, and chart cache symptoms.
- Investigate renamed or recreated tags, UDT instance path mismatches, historical tag paths, retention/pruning boundaries, active-store versus archive gaps, and partition evidence.
- Produce least-invasive next proof steps for authorized Ignition administrators without changing Gateway configuration or writing historian data.
Example Prompt
Use ignition-historian-forensics to review this offline historian evidence.
I have an Ignition 8.1 Power Chart for [Plant]Packaging/Line1/Filler/Pressure_PV. Operators see a flat trend and gaps between 2026-06-18 06:00 and 10:00 America/Chicago, but the current tag value is Good. I exported a queryTagHistory result showing only a few rows with Average aggregation, no raw SQL yet, and I have a screenshot showing History Enabled with On Change sample mode, 0.5 engineering-unit historical deadband, and a 1-second tag group. Help me figure out whether this is missing historian data, deadband compression, or a chart/query setting issue.
Example Output
Historian Forensics Report
Scope: [Plant]Packaging/Line1/Filler/Pressure_PV, 2026-06-18 06:00 to 10:00 America/Chicago. The Good current value is useful availability evidence now, but it does not prove historical rows existed during that four-hour window.
Evidence inventory reviewed:
- Power Chart screenshot: rendered visualization evidence.
- Tag history screenshot: configuration evidence showing History Enabled, On Change sample mode, 0.5 EU historical deadband, 1-second tag group.
queryTagHistoryexport: calculated query evidence using Average aggregation.- Missing: raw/on-change query, chart pen settings, point count, interpolation/cache settings, quality rows, storage provider/store-and-forward status, SQL identity/partition evidence.
Current finding: I would not call this confirmed missing historian data yet.
Deadband compression is plausible - Inferred.
With On Change history and a 0.5 engineering-unit historical deadband, Ignition is not expected to store every 1-second execution. If
Pressure_PVmoved inside the deadband, the historian may legitimately store only a few points, which can render as a flat trend.The Average export is not raw proof - Observed.
Average aggregation can collapse stored samples into calculated time buckets. A sparse Average result cannot distinguish "no stored rows" from "rows were aggregated/interpolated/filtered." This export is too weak to prove data loss.
The Power Chart gaps are symptom evidence - Observed.
The chart may be affected by point count, aggregate mode, interpolation, bad-quality filtering, cache, or pen path conversion. A screenshot alone is rendered query evidence, not raw historian storage evidence.
Next least-invasive proof step:
Run the same tag and exact window with an as-stored/raw-style query:
system.tag.queryTagHistory(
paths=["[Plant]Packaging/Line1/Filler/Pressure_PV"],
startDate=start,
endDate=end,
returnSize=-1,
noInterpolation=True,
includeBoundingValues=False,
ignoreBadQuality=False
)
Then count non-null value rows and preserve quality. If raw/on-change rows exist, the issue is likely chart/query settings or expected deadband compression. If raw rows are absent, then check storage provider, store-and-forward/quarantine, tag identity, and retention before declaring true historian loss.
Offline Capafy Edition
This Capafy edition works from user-provided evidence such as tag history exports, screenshots, chart exports, queryTagHistory results, SQL result sets, Gateway log excerpts, store-and-forward screenshots, tag configuration snippets, and described behavior. It does not require live Gateway access and does not manipulate a running Gateway.
Live Gateway reads, writes, historian backfills, quarantine retry/delete actions, cache clears, tag history setting changes, SQL edits, or real-time Gateway control are outside this download edition and require a separate connection, authorization path, and implementation plan.
Suggested Tags
Ignition 8.1, Historian, Tag History, SCADA, Automation
Support
For support, contact [email protected].


