Niagara Station Architecture and Components
Understanding Niagara's station architecture is fundamental to effectively designing, programming, and troubleshooting Niagara-based building automation systems. This guide covers the core components and structure of a Niagara station.
What is a Niagara Station?
A station is the runtime environment on a Niagara-powered controller (JACE, Supervisor, or SoftJACE). It contains all the configuration, logic, schedules, histories, and network connections for that device.
Station Components
Station Database Structure
The BOG File
The station database is stored in a BOG file (Binary Object Graph):
- Contains entire station configuration
- Located in station's home directory
- Backed up regularly (critical!)
- Platform-independent format
Station Home Directory
Core Services
Services provide essential station functionality:
Platform Services
- PlatformService: Hardware/OS interface
- SecurityService: User authentication/authorization
- LicenseService: Feature licensing
- TimeService: Time synchronization
- BackupService: Scheduled backups
Data Services
- HistoryService: Trend data management
- AlarmService: Alarm processing and routing
- ScheduleService: Time-based scheduling
- WeatherService: Weather data integration
Communication Services
- FoxService: Niagara network communication
- WebService: HTTP/HTTPS server
- ModbusService: Modbus protocol
- BacnetService: BACnet protocol
Station Components
Config Folder
The main configuration tree containing:
Sites and Equipment
- Hierarchical organization
- Equipment models
- Points and logic
- Graphics navigation
Schedules
- Weekly schedules
- Calendar events
- Holiday schedules
- Schedule groups
Alarms
- Alarm classes
- Alarm routing
- Console configurations
Drivers Folder
Protocol communication modules:
Network Drivers
- NiagaraNetwork (Fox)
- BacnetNetwork
- ModbusNetwork
- LonNetwork
- CustomProtocols
Each Driver Contains:
- Network configuration
- Device definitions
- Point mappings
- Polling settings
Services Folder
Runtime services (described above)
Files Folder
Static web content:
- Custom graphics
- Documentation
- Export files
- CSS/JavaScript
Station Types
JACE Controller
- Edge controller
- Direct I/O connection
- Limited resources
- Typically runs single station
Supervisor (Server)
- Enterprise-level
- Aggregates multiple JACEs
- No direct I/O
- Higher resource capacity
- Multi-station capable
SoftJACE
- Software-only station
- Runs on Windows/Linux
- Development and testing
- No hardware I/O
The Component Model
What is a Component?
Everything in Niagara is a component with:
- Properties: Configuration values
- Actions: Executable operations
- Topics: Event subscriptions
- Slots: Input/output connections
Component Types
Points
- NumericPoint (analog values)
- BooleanPoint (binary values)
- EnumPoint (enumerated values)
- StringPoint (text values)
Logic Components
- Math operations
- Boolean logic
- Comparators
- Selectors
Control Components
- PID loops
- Sequences
- State machines
- Timers
Linking Components
Components connect via links:
- Source slot → Target slot
- Automatic value propagation
- Type checking enforced
Sensor.out → Logic.in1
Logic.out → Actuator.in
Slots and Properties
Slot Types
- Property: Configurable value
- Action: Executable method
- Topic: Event publisher
- Frozen: Non-modifiable link
Common Properties
- facets: Display settings (units, precision)
- flags: Behavior modifiers
- out: Current value output
- status: Point status (ok, alarm, etc.)
Property Facets
units: "°F"
precision: 1
min: 32
max: 212
Station Security
User Management
- Local users defined per station
- LDAP/Active Directory integration
- Role-based permissions
- Password policies
Permission Categories
- Admin: Full access
- Operator: Runtime changes
- User: View only
- Guest: Limited view
Security Features
- SSL/TLS encryption
- Session management
- Audit logging
- IP filtering
Station Lifecycle
Startup Sequence
- Platform initialization
- License check
- Database load (config.bog)
- Services start
- Drivers initialize
- Network connections establish
Normal Operation
- Real-time data processing
- Schedule execution
- Alarm monitoring
- History recording
- Web serving
Shutdown
- Services stop gracefully
- Database saved
- Connections closed
- Clean shutdown logged
Backup and Recovery
Backup Types
- Station backup: Full config.bog
- Platform backup: Station + platform settings
- Distribution file: Portable station copy
Backup Best Practices
- Schedule automatic backups
- Store backups off-device
- Test restore procedures
- Document recovery steps
- Keep multiple backup generations
Recovery Procedures
- Stop station
- Replace config.bog with backup
- Restart station
- Verify operation
Performance Considerations
Resource Management
- Monitor memory usage
- Watch CPU utilization
- Manage history size
- Limit active sessions
Optimization Tips
- Remove unused components
- Optimize poll rates
- Archive old histories
- Consolidate redundant logic
- Use appropriate JACE sizing
Common Performance Issues
- Too many active histories
- Excessive logging
- Polling too frequently
- Memory leaks (rare)
- Network congestion
References
- Tridium Niagara Documentation
- Niagara Developer Guide
- Niagara Technical Certification materials
Understanding station architecture is the foundation for everything else in Niagara. Take time to learn how components interact—it makes troubleshooting much easier.