0
0
SCADA systemsdevops~30 mins

Alarm suppression and shelving in SCADA systems - Mini Project: Build & Apply

Choose your learning style9 modes available
Alarm Suppression and Shelving in SCADA Systems
📖 Scenario: You work as a technician managing alarms in a SCADA system for a water treatment plant. Sometimes, alarms need to be temporarily ignored or delayed to avoid unnecessary alerts during maintenance or known issues.
🎯 Goal: Build a simple program that manages alarms by suppressing and shelving them. You will create a list of active alarms, add a suppression configuration, apply shelving to alarms based on that configuration, and finally display the updated alarm states.
📋 What You'll Learn
Create a list of active alarms with exact names and states
Add a suppression configuration variable to control shelving duration
Write logic to shelve alarms that match suppression criteria
Print the final list of alarms with their updated states
💡 Why This Matters
🌍 Real World
In real SCADA systems, operators need to temporarily suppress or shelve alarms during maintenance or known issues to avoid alarm flooding and focus on critical alerts.
💼 Career
Understanding alarm suppression and shelving is important for SCADA technicians and engineers to maintain system reliability and reduce operator fatigue.
Progress0 / 4 steps
1
Create the list of active alarms
Create a list called active_alarms with these exact dictionaries representing alarms: {'id': 101, 'name': 'High Pressure', 'state': 'active'}, {'id': 102, 'name': 'Low Flow', 'state': 'active'}, {'id': 103, 'name': 'Power Failure', 'state': 'active'}.
SCADA systems
Need a hint?

Use a list with three dictionaries exactly as shown.

2
Add suppression duration configuration
Create a variable called shelving_duration_minutes and set it to 30 to represent how long alarms should be shelved.
SCADA systems
Need a hint?

Just create a variable with the exact name and value.

3
Shelve alarms based on suppression criteria
Use a for loop with variable alarm to iterate over active_alarms. If alarm['name'] is either 'Low Flow' or 'Power Failure', change alarm['state'] to 'shelved'.
SCADA systems
Need a hint?

Use a for loop and check alarm names exactly as shown.

4
Display the updated alarm states
Write a print statement to display the active_alarms list.
SCADA systems
Need a hint?

Just print the active_alarms list to see updated states.