Alarm Groups (Reference) 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.
Configuration Properties
| Property | Description | Required |
|---|---|---|
| Name | Group identifier | Yes |
| AckRequired | Requires operator acknowledgment | Yes |
| ActiveTimeDeadband | Time period to ignore active alarms | No |
| AckTimeout | Timeout period for acknowledgment | No |
| AutoAckTime | Auto-acknowledge after this time | No |
| Sound | Audio file for alarm notification | No |
| Show | Display alarms from this group | Yes |
| LogEvents | Log events to historian | Yes |
| Colors | Visual identification colors | No |
| NotificationMethod | Script method for notifications | No |
| Category | Category designation | No |
| Description | Group purpose and details | No |
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
Before deleting: Ensure no AlarmItems are linked to the group. Check via Alarms → Items and use Track Changes → Cross Reference.
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 → AcknowledgedNotification 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:
// 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 handledRuntime Access
Access group properties at runtime:
// 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;Common Configurations
Critical Process Alarms
Name: ProcessCritical
AckRequired: True
Sound: Critical.wav
LogEvents: True
AutoAckTime: 0 (never)
Colors: Red
NotificationMethod: Script.Class.Notifications.SendCriticalInformational Logging
Name: InfoLog
AckRequired: False
Show: False
LogEvents: True
Category: AuditMaintenance Alarms
Name: Maintenance
AckRequired: True
AutoAckTime: 3600 (1 hour)
LogEvents: True
NotificationMethod: Script.Class.Maintenance.ScheduleWorkBest Practices Checklist
- 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
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...