Alarms Module (How-to Guide) walks you through configuring the Alarms module to monitor process conditions and notify operators of abnormal situations.
Prerequisites:
- Tags created in Unified Namespace
- Understanding of process limits
In this page:
In this section...
Configuration Workflow
Action | Designer UI Path | Purpose |
---|---|---|
Configure shared alarm behaviors | Alarms → Groups | Configure shared alarm behaviors |
Create AlarmItems | Alarms → Items | Configure tag conditions to monitor |
Set System-wide configuration | Alarms → Global Settings | Setup Log Database, startup options, Audit Trail |
Organize by location/function | Alarms → Areas | Create hierarchical organization |
Verify Alarms execution | Alarms → Monitor | Verify triggering and visualization |
Configure AlarmGroups
AlarmGroups define shared behaviors for related alarms (acknowledgment, sounds, colors, logging).
Using Pre-defined Groups
The platform provides three default groups:
Group | Priority | Ack Required | Logging | Use Case |
---|---|---|---|---|
Critical | High | Yes | Yes | Urgent conditions requiring immediate action |
Warning | Medium | No | Yes | Potential issues needing attention |
AuditTrail | Low | No | Yes | System events for compliance tracking |
Creating Custom Groups
- Navigate to Alarms → Groups
- Click Plus icon
- Configure properties:
- Name: Group identifier
- AckRequired: Force acknowledgment
- Sound: Alert sound file
- LogEvents: Enable historian logging
- Colors: Visual identification
- Click OK
Group Properties
Property | Description | Example |
---|---|---|
AckRequired | Alarm stays active until acknowledged | True for Critical |
AckTimeout | Auto-acknowledge time | 3600 seconds |
Sound | Audio alert file | Critical.wav |
Show | Display in alarm viewers | True |
LogEvents | Record to historian | True |
NotificationMethod | Script for email/SMS | SendEmail |
Step 2: Create AlarmItems
AlarmItems monitor specific tag conditions.
Basic Configuration
- Go to Alarms → Items
- Enter in the table first row:
- TagName: Tag to monitor
- Condition: Trigger type
- Limit: Threshold value
- Group: Select AlarmGroup
- Message: Alarm description
- Press Enter to save
Example Configurations
Tag | Condition | Limit | Group | Description |
---|---|---|---|---|
Tank.Level | HiHi | 95 | Critical | Tank overflow |
Tank.Level | Hi | 85 | Warning | Tank high level |
Pump.Current | GreaterThan | 50 | Warning | Motor overload |
Reactor.Temp | RateOfChange | 5 | Critical | Rapid temperature rise |
Condition Types
Condition | Triggers When | Use Case |
---|---|---|
Hi | Tag ≥ Limit | High level warning |
HiHi | Tag ≥ Limit (auto-acks Hi) | Critical high level |
Lo | Tag ≤ Limit | Low level warning |
LoLo | Tag ≤ Limit (auto-acks Lo) | Critical low level |
RateOfChange | Change rate ≥ Limit | Rapid changes |
DeviationMinor | |Tag - Setpoint| > Limit | Process deviation |
Equal | Tag = Limit | Specific state |
Changed | Any value change | Event logging |
Advanced Properties
- Deadband: Hysteresis to prevent chattering
- Setpoint: Reference for deviation alarms
- Priority: Display sorting (0-999)
- Area: Hierarchical grouping
Configure Global Settings
Navigate to Alarms → Global Settings
Database Configuration
- Database: SQLite (default) or external
- Connection: Database connection string
- LifeTime: Days to retain (0 = forever)
Alarm Handling
- Initial Disable Time: Startup suppression
- Ignore During Deadband: Prevent flooding
- LogUserFullName: Record operator names
Enable Audit Trail
Check events to track:
- User Logon/Logoff
- Tag Changes
- Operator Actions
- Custom Messages
Add Alarm Displays
Using AlarmViewer Control
- Go to Displays → Draw
- From toolbox, navigate to Modules
- Drag AlarmViewer to display
- Double-click to open configuration dialog:
- List: OnlineAlarms or AlarmHistory
- Group Filter: Select specific groups
- Area Filter: Select specific areas
- Show Acknowledged: Display options
- Click OK to apply
Pre-built Alarm Page
- In Displays → Pages
- Select New Page → AlarmPage template
- Page includes configured AlarmViewer with controls
Test Alarms
Testing Procedure
- Start Runtime: Press F5
- Trigger Alarm: Modify tag value to exceed limit
- Verify Display: Check alarm appears in viewer
- Test Acknowledgment: Select alarm and acknowledge
- Monitor Status: Check Alarms → Monitor
Runtime Access
Access alarm properties in scripts:
csharp
@Alarm.Group.Critical.UnAckCount // Unacknowledged count
@Alarm.TotalCount // Total active alarms
@Alarm.Item.TagName.Active // Specific alarm state
Create Alarm Areas
Organize alarms hierarchically:
- Navigate to Alarms → Areas
- Create structure:
- Plant
- Production
- Utilities
- Storage
- Plant
- Assign areas to AlarmItems
Common Issues
Alarm Not Triggering
- Verify tag name correct
- Check condition logic
- Ensure not disabled
- Confirm tag updates
Alarm Flooding
- Increase deadband
- Add time delays
- Group related alarms
No Sound
- Check file exists
- Verify audio enabled
- Test file format
Acknowledgment Issues
- Verify AckRequired enabled
- Check user permissions
- Confirm runtime connected
Best Practices
- Use appropriate groups - Match severity to response
- Set deadbands - Prevent analog chattering
- Configure priorities - Focus operator attention
- Write clear messages - Include equipment and condition
- Test conditions - Verify activation and clearing
- Document philosophy - Define response procedures
- Regular maintenance - Review and tune limits
Next Steps
- [Alarm Notifications] - Email and SMS setup
- [Alarm Areas] - Hierarchical organization
- [Audit Trail] - Compliance configuration
In this section...