Alarm Groups define shared characteristics and behaviors for collections of related alarm items in your FrameworX solution. Alarm Groups enable:
- Collective configuration of alarm behaviors
- Shared acknowledgment requirements
- Common notification methods
- Unified visual and audio alerts
- Centralized logging preferences
- Consistent timeout settings
The platform provides pre-defined groups (Critical, Warning, AuditTrail) for common use cases, plus support for custom groups.
In this page:
Configuration Properties
Property | Description | Default |
---|---|---|
Name | Group identifier | Required |
AckRequired | Requires operator acknowledgment | False |
ActiveTimeDeadband | Time period to ignore active alarms | 0 |
AckTimeout | Timeout period for acknowledgment | 0 |
AutoAckTime | Auto-acknowledge after this time | 0 |
Sound | Audio file for alarm notification | None |
Show | Display alarms from this group | True |
LogEvents | Log events to historian | False |
Colors | Visual identification colors | Default |
NotificationMethod | Script method for notifications | None |
Category | Category designation | None |
Description | Group purpose and details | None |
Pre-Defined Groups
Group | Purpose | Default Settings |
---|---|---|
Critical | High-priority alarms requiring immediate action | AckRequired=True, LogEvents=True, High Priority |
Warning | Medium/low-priority informational alarms | AckRequired=False, LogEvents=True, Medium Priority |
AuditTrail | Hidden alarms for audit logging only | Show=False, LogEvents=True, No Display |
Creating Alarm Groups
- Navigate to Alarms → Groups
- Click Plus icon
- Enter Name and Description
- Click OK
- Edit properties by double-clicking
- Press Enter to save changes
<ac:structured-macro ac:name="warning"> ac:rich-text-body Before deleting: Ensure no AlarmItems are linked to the group. Check via Alarms → Items and use Track Changes → Cross Reference. </ac:rich-text-body> </ac:structured-macro>
Acknowledgment Settings
Property | Behavior |
---|---|
AckRequired | Alarm stays active until acknowledged, even if condition clears |
AckTimeout | Maximum time allowed for acknowledgment |
AutoAckTime | Automatically acknowledge after specified time |
Example flow:
Alarm Triggered → Wait for Ack → AutoAckTime expires → Auto-acknowledged
↓
Manual Ack → Acknowledged
Notification Configuration
Sound Alerts
- Configure via Sound property
- Plays continuously until acknowledged
- Different sounds for different severities
- See [Alarm Groups Sounds] for audio file setup
Visual Indicators
- Colors property defines alarm states
- Applied in alarm displays
- Consistent across all items in group
Custom Notifications
NotificationMethod calls Script Class methods:
csharp
// In Script Class
public void SendCriticalAlert(AlarmEventArgs args)
{
// Send email
EmailService.Send(args.Message, args.Priority);
// Send SMS
SMSService.Alert(args.TagName, args.Value);
// Log to external system
ExternalLogger.LogAlarm(args);
}
Configure: NotificationMethod = "Script.Class.ServerMain.SendCriticalAlert"
Deadband and Timing
ActiveTimeDeadband
Prevents alarm flooding during startup or known conditions:
- Ignores alarms for specified seconds
- Useful during system initialization
- Prevents nuisance alarms
Time-Based Acknowledgment
AckTimeout = 300 // Must acknowledge within 5 minutes
AutoAckTime = 600 // Auto-acknowledge after 10 minutes if not handled
Runtime Access
Access group properties at runtime:
csharp
// Check if acknowledgment required
bool needsAck = @Alarm.Group.Critical.AckRequired;
// Get active alarm count for group
int criticalCount = @Alarm.Group.Critical.ActiveCount;
// Enable/disable group
@Alarm.Group.Warning.Enabled = false;
Best Practices
- Group by severity - Critical, Warning, Information
- Consistent sounds - Same severity = same sound
- Clear naming - Group name indicates purpose
- Document settings - Use Description field
- Test notifications - Verify all alert methods work
- Set appropriate timeouts - Balance responsiveness vs alarm fatigue
- Use categories - Organize groups logically
Common Configurations
Critical Process Alarms
Name: ProcessCritical
AckRequired: True
Sound: Critical.wav
LogEvents: True
AutoAckTime: 0 (never)
Colors: Red
NotificationMethod: Script.Class.Notifications.SendCritical
Informational Logging
Name: InfoLog
AckRequired: False
Show: False
LogEvents: True
Category: Audit
Maintenance Alarms
Name: Maintenance
AckRequired: True
AutoAckTime: 3600 (1 hour)
LogEvents: True
NotificationMethod: Script.Class.Maintenance.ScheduleWork
Troubleshooting
Alarms not showing:
- Check Show property is True
- Verify display filter includes group
- Confirm AlarmItems assigned to group
No sound playing:
- Verify sound file path correct
- Check audio system enabled
- Confirm AckRequired if sound should repeat
Notifications not sent:
- Verify NotificationMethod syntax
- Check Script Class method exists
- Review method error logs
Auto-acknowledge not working:
- Confirm AutoAckTime > 0
- Check AckRequired is True
- Verify no manual ack occurred
In this section...