Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
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
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
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
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
Hint
Just print the active_alarms list to see updated states.
Practice
(1/5)
1. What is the main purpose of alarm shelving in SCADA systems?
easy
A. Temporarily pause alarms for a set time
B. Permanently disable alarms
C. Increase alarm frequency
D. Change alarm priority
Solution
Step 1: Understand alarm shelving concept
Alarm shelving means putting alarms on hold temporarily, so they don't alert immediately.
Step 2: Compare options with definition
Only Temporarily pause alarms for a set time matches the idea of pausing alarms for a set time, others do not.
Final Answer:
Temporarily pause alarms for a set time -> Option A
Quick Check:
Alarm shelving = pause alarms temporarily [OK]
Hint: Shelving means pause alarms temporarily, not disable [OK]
Common Mistakes:
Confusing shelving with permanent disabling
Thinking shelving increases alarm frequency
Assuming shelving changes alarm priority
2. Which of the following is the correct syntax to shelve an alarm for 30 minutes in a SCADA system command line?
easy
A. shelve --alarm alarm_id 30min
B. shelve alarm_id -time 30
C. alarm shelve 30 alarm_id
D. shelve alarm_id --duration 30m
Solution
Step 1: Identify correct command format
Common syntax uses 'shelve alarm_id --duration 30m' to specify alarm and time.
Step 2: Check other options for syntax errors
Options B, C, D have incorrect flag names or argument order.
Final Answer:
shelve alarm_id --duration 30m -> Option D
Quick Check:
Correct shelve syntax uses --duration flag [OK]
Hint: Look for '--duration' flag with time unit for shelving [OK]
Common Mistakes:
Using wrong flag names like -time
Placing alarm ID after duration
Omitting time unit (m for minutes)
3. Given this SCADA alarm suppression rule snippet:
if temperature > 100 then suppress alarm until temperature < 95
What happens when temperature rises to 105 and stays at 102?
medium
A. Alarm triggers once temperature exceeds 100
B. Alarm is suppressed while temperature stays above 95
C. Alarm triggers repeatedly every time temperature changes
D. Alarm never triggers regardless of temperature
Solution
Step 1: Analyze suppression condition
Alarm suppresses when temperature > 100 and stays suppressed until temperature < 95.
Step 2: Apply to given temperature values
Temperature is 105 then 102, both > 95, so alarm stays suppressed.
Final Answer:
Alarm is suppressed while temperature stays above 95 -> Option B
Quick Check:
Suppression holds until condition clears [OK]
Hint: Suppression stops alarms until condition resets [OK]
Common Mistakes:
Thinking alarm triggers immediately above 100
Assuming alarm triggers repeatedly while suppressed
Ignoring suppression release condition
4. You wrote this shelving command but alarms are not paused:
shelve alarm_123 -duration 15
What is the likely error?
medium
A. Wrong alarm ID format
B. Shelving command requires --duration flag
C. Missing time unit (e.g., 'm' for minutes)
D. Shelving only works for critical alarms
Solution
Step 1: Check shelving command syntax
Correct syntax requires time unit with duration, e.g., '15m' for 15 minutes.
Step 2: Identify error in given command
Command uses '-duration 15' without unit, so system ignores or errors.
Final Answer:
Missing time unit (e.g., 'm' for minutes) -> Option C
Quick Check:
Duration needs time unit to work [OK]
Hint: Always add time unit like 'm' for minutes in duration [OK]
Common Mistakes:
Omitting time unit in duration
Using single dash instead of double dash for flags
Assuming shelving only works on critical alarms
5. You want to reduce alarm noise during scheduled maintenance by suppressing alarms except for critical ones. Which approach is best?
hard
A. Suppress non-critical alarms conditionally during maintenance
B. Use alarm shelving on all alarms for maintenance duration
C. Disable all alarms permanently
D. Increase alarm thresholds for all alarms
Solution
Step 1: Understand maintenance alarm needs
During maintenance, critical alarms must still alert; non-critical can be paused.
Step 2: Evaluate options for selective control
Shelving all alarms pauses critical ones too; disabling is permanent; increasing thresholds may miss alarms.
Step 3: Choose conditional suppression
Suppressing only non-critical alarms during maintenance keeps critical alerts active.
Final Answer:
Suppress non-critical alarms conditionally during maintenance -> Option A
Quick Check:
Selective suppression keeps critical alarms active [OK]
Hint: Suppress only non-critical alarms during maintenance [OK]
Common Mistakes:
Shelving all alarms including critical
Disabling alarms permanently
Raising thresholds instead of suppressing selectively