Niagara History and Trending Setup
History collection (trending) in Niagara provides the time-series data essential for troubleshooting, energy analysis, commissioning verification, and performance optimization. This guide covers configuring histories effectively.
History Architecture
How Histories Work
Storage Location
Histories stored in station's history folder:
History Configuration
Adding History to a Point
- Select the point in Workbench
- Right-click → Add Extension
- Choose appropriate history extension
- Configure collection policy
- Enable the history
History Extension Types
NumericCovHistoryExt
- Collects on Change of Value
- Best for: Values that change infrequently
- Efficient storage
NumericIntervalHistoryExt
- Collects at fixed intervals
- Best for: Regular sampling requirements
- Predictable storage growth
BooleanCovHistoryExt
- Collects state changes
- Best for: Status and alarm points
- Very efficient for binary data
BooleanIntervalHistoryExt
- Fixed interval for binary points
- Best for: Runtime accumulation
- Regular sampling needs
Collection Policies
Change of Value (COV)
historyExt:
type: NumericCovHistoryExt
tolerance: 0.5 # Minimum change to record
minInterval: 10s # Minimum time between records
maxInterval: 15min # Maximum time without record
Tolerance Settings:
| Point Type | Typical Tolerance |
|---|
| Temperature | 0.25 - 0.5°F |
| Pressure | 0.05" w.c. |
| Flow | 1-5% of span |
| Humidity | 1-2% RH |
| Position | 1-2% |
Interval Collection
historyExt:
type: NumericIntervalHistoryExt
interval: 5min # Collection interval
Recommended Intervals:
| Application | Interval |
|---|
| Control loop tuning | 15-60 seconds |
| Commissioning | 1 minute |
| Energy analysis | 5-15 minutes |
| Long-term trending | 15-60 minutes |
History Database Management
Capacity Settings
HistoryService:
maxRecordCount: 50000 # Records per history
capacityPolicy: CircularBuffer # Oldest deleted first
Capacity Policies
- CircularBuffer: Deletes oldest when full (recommended)
- StopCollection: Stops when full
- ExpandCapacity: Grows until disk limit
Sizing Guidelines
| Interval | Records/Day | 50K Records = |
|---|
| 1 min | 1,440 | 35 days |
| 5 min | 288 | 174 days |
| 15 min | 96 | 521 days |
| 60 min | 24 | 5.7 years |
History Views and Export
Viewing Histories
Chart View:
- Real-time trend display
- Multiple points overlay
- Zoom and pan
- Configurable time ranges
Table View:
- Tabular data display
- Sortable columns
- Raw values access
Export Formats
- CSV: Spreadsheet analysis
- XML: Data interchange
- JSON: Web applications
Export Procedure
- Select history in Nav tree
- Right-click → Export
- Choose format and time range
- Specify destination
- Execute export
History Rollup and Aggregation
Rollup Types
Summarize data over time periods:
| Rollup | Description |
|---|
| Average | Mean value |
| Min | Minimum value |
| Max | Maximum value |
| Sum | Total (for accumulated values) |
| Count | Number of samples |
Creating Rollups
RollupHistoryExt:
sourceHistory: "slot:/Histories/AHU1_SAT"
rollupInterval: 1hour
rollupType: Average
Use Cases
- Hourly averages for energy reports
- Daily min/max for comfort analysis
- Monthly totals for consumption
Multi-History Charts
Chart Configuration
Display multiple histories together:
Creating Multi-History Chart:
- Add HistoryChartView to PX page
- Configure chart properties
- Add history bindings
- Set time range
Chart Properties:
chartConfig:
timeRange: "last24hours"
autoRefresh: true
refreshInterval: 60s
showLegend: true
Best Practices
- Limit to 4-6 histories per chart
- Use consistent units on same axis
- Group related points
- Apply appropriate colors
History Archiving
Why Archive?
- Preserve long-term data
- Free controller resources
- Maintain performance
- Compliance requirements
Archive Configuration
HistoryArchiveService:
enabled: true
archiveInterval: 1month
archivePath: "/archives"
compressionEnabled: true
Archive Retrieval
- Locate archive file
- Import to temporary history
- View or export data
- Remove temporary history
Performance Optimization
Controller Considerations
JACE controllers have limited resources:
Reduce Impact:
- Use COV instead of interval when appropriate
- Increase intervals for non-critical points
- Limit active history count
- Archive old data regularly
Memory Guidelines (JACE):
| JACE Model | Max Histories | Max Records/History |
|---|
| JACE 8000 | 200-500 | 10,000-50,000 |
| JACE 3000 | 100-200 | 5,000-20,000 |
Supervisor Histories
Supervisors can handle more:
- Aggregate histories from JACEs
- Store long-term archives
- Run reports and analysis
- More flexible capacity
Common History Configurations
Temperature Points
Zone Temperature:
type: NumericCovHistoryExt
tolerance: 0.5
maxInterval: 15min
capacity: 50000
Equipment Status
Fan Status:
type: BooleanCovHistoryExt
capacity: 10000
Energy Meters
kWh Meter:
type: NumericIntervalHistoryExt
interval: 15min
capacity: 35000 # ~1 year at 15min
Control Outputs
Valve Position:
type: NumericCovHistoryExt
tolerance: 2.0
minInterval: 30s
maxInterval: 15min
Troubleshooting
History Not Collecting
- Check history enabled
- Verify source point updating
- Check tolerance settings
- Review capacity/policy
- Check disk space
Missing Data Gaps
- Controller restart
- Communication loss
- History capacity exceeded
- Time sync issues
Performance Issues
- Too many histories
- Intervals too short
- Capacity too high
- Disk I/O problems
Best Practices
Planning
- Define retention requirements
- Calculate storage needs
- Plan archive strategy
- Document configuration standards
Configuration
- Use COV with appropriate tolerance
- Match intervals to analysis needs
- Set reasonable capacities
- Enable archiving for long-term
Maintenance
- Monitor disk space
- Review history counts
- Archive regularly
- Remove unused histories
References
- Niagara History Service Documentation
- Tridium Technical Reference
- ASHRAE Guideline 36 (monitoring requirements)
History data is only valuable if it's collected reliably and retained appropriately. Plan your trending strategy before commissioning—it's much harder to go back and get data you didn't collect.