Bird
Raised Fist0
SCADA systemsdevops~6 mins

Navigation and screen hierarchy in SCADA systems - Full Explanation

Choose your learning style10 modes available

Start learning this pattern below

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
Introduction
Imagine trying to control a complex factory without a clear way to find the right controls or information quickly. Navigation and screen hierarchy solve this by organizing screens so operators can easily move through the system and find what they need.
Explanation
Navigation
Navigation is how users move between different screens or views in a SCADA system. It allows operators to switch from overview screens to detailed control panels smoothly. Good navigation helps prevent confusion and speeds up response times.
Navigation connects screens so users can move easily and quickly within the system.
Screen hierarchy
Screen hierarchy organizes screens in levels, from general to specific. The top level shows broad system status, while lower levels show detailed information about parts of the system. This structure helps users understand where they are and how screens relate to each other.
Screen hierarchy arranges screens in layers to guide users from overview to detail.
Main screens and sub-screens
Main screens provide a summary or dashboard view of the entire system. Sub-screens focus on specific machines, processes, or alarms. Operators use main screens to get the big picture and sub-screens to investigate or control details.
Main screens give summaries; sub-screens show detailed views for specific areas.
Consistent layout and labeling
Using consistent layouts and clear labels across screens helps users recognize where they are and what actions they can take. Consistency reduces errors and training time by making navigation predictable.
Consistent design and labels make navigation easier and safer.
Real World Analogy

Think of a large shopping mall with a directory at the entrance. The directory shows the main areas like food court, clothing stores, and electronics. From there, you can find signs leading to specific shops. The mall’s layout helps visitors find their way without getting lost.

Navigation → Walking through the mall corridors to reach different stores
Screen hierarchy → The mall directory showing main areas and sub-areas
Main screens and sub-screens → Main areas like food court (main screen) and individual restaurants inside it (sub-screens)
Consistent layout and labeling → Clear signs and similar store layouts that help shoppers recognize where they are
Diagram
Diagram
┌───────────────┐
│  Main Screen  │
│ (Overview)    │
└──────┬────────┘
       │
 ┌─────┴─────┐
 │ Sub-Screen │
 │ (Section)  │
 └─────┬─────┘
       │
 ┌─────┴─────┐
 │ Sub-Screen │
 │ (Detail)   │
 └───────────┘
This diagram shows a screen hierarchy with a main overview screen at the top and more detailed sub-screens below.
Key Facts
NavigationThe method users use to move between screens in a SCADA system.
Screen hierarchyThe layered organization of screens from general overview to detailed views.
Main screenA screen that provides a broad summary of the system status.
Sub-screenA screen that shows detailed information about a specific part of the system.
Consistent layoutUsing similar design and labels across screens to help users navigate easily.
Common Confusions
Believing navigation means only clicking buttons without structure.
Believing navigation means only clicking buttons without structure. Navigation includes the overall design that guides users logically through screens, not just button clicks.
Thinking all screens should show the same information.
Thinking all screens should show the same information. Screens are organized by hierarchy to show different levels of detail appropriate to the user's needs.
Summary
Navigation helps users move smoothly between different screens in a SCADA system.
Screen hierarchy organizes screens from general overviews to detailed views to guide users.
Consistent layouts and clear labels make navigation easier and reduce errors.

Practice

(1/5)
1. What is the main purpose of navigation and screen hierarchy in SCADA systems?
easy
A. To organize screens in a clear tree structure for easy access
B. To increase the number of screens in the system
C. To make screens load slower for security
D. To hide all screens from the user

Solution

  1. Step 1: Understand navigation purpose

    Navigation helps users find screens quickly by organizing them logically.
  2. Step 2: Understand screen hierarchy role

    Hierarchy arranges screens as parents and children, creating a clear structure.
  3. Final Answer:

    To organize screens in a clear tree structure for easy access -> Option A
  4. Quick Check:

    Navigation = Organize screens clearly [OK]
Hint: Think of folders organizing files for easy finding [OK]
Common Mistakes:
  • Confusing more screens with better navigation
  • Thinking navigation slows system
  • Believing screens should be hidden
2. Which of the following is the correct way to define a parent-child relationship between screens in a SCADA configuration file?
easy
A. "ScreenA": { "children": ["ScreenB", "ScreenC"] }
B. "ScreenA": { "parent": ["ScreenB", "ScreenC"] }
C. "ScreenA": { "siblings": ["ScreenB", "ScreenC"] }
D. "ScreenA": { "children": "ScreenB", "ScreenC" }

Solution

  1. Step 1: Identify correct syntax for children

    Children are listed as an array under the key "children" for a parent screen.
  2. Step 2: Check options for correct JSON structure

    "ScreenA": { "children": ["ScreenB", "ScreenC"] } uses an array correctly; others misuse keys or syntax.
  3. Final Answer:

    "ScreenA": { "children": ["ScreenB", "ScreenC"] } -> Option A
  4. Quick Check:

    Children = array under "children" key [OK]
Hint: Children screens go inside a list under "children" [OK]
Common Mistakes:
  • Using "parent" key to list children
  • Listing children without brackets
  • Using "siblings" key incorrectly
3. Given this screen hierarchy configuration snippet:
{
  "MainScreen": { "children": ["AlarmScreen"] },
  "AlarmScreen": { "children": ["DetailScreen"] },
  "DetailScreen": {}
}

What is the correct navigation path to reach DetailScreen starting from MainScreen?
medium
A. MainScreen > DetailScreen > AlarmScreen
B. DetailScreen > AlarmScreen > MainScreen
C. AlarmScreen > MainScreen > DetailScreen
D. MainScreen > AlarmScreen > DetailScreen

Solution

  1. Step 1: Read the hierarchy from the configuration

    MainScreen has AlarmScreen as child; AlarmScreen has DetailScreen as child.
  2. Step 2: Trace the path from MainScreen to DetailScreen

    Navigate MainScreen to AlarmScreen, then AlarmScreen to DetailScreen.
  3. Final Answer:

    MainScreen > AlarmScreen > DetailScreen -> Option D
  4. Quick Check:

    Parent to child order = MainScreen > AlarmScreen > DetailScreen [OK]
Hint: Follow children arrays step-by-step [OK]
Common Mistakes:
  • Reading hierarchy backwards
  • Skipping intermediate screens
  • Mixing order of screens
4. You have this incorrect screen hierarchy configuration:
{
  "MainScreen": { "children": "AlarmScreen" },
  "AlarmScreen": { "children": ["DetailScreen"] }
}

What is the main error and how to fix it?
medium
A. DetailScreen should be a child of MainScreen directly
B. Children key should be "parent" instead
C. Children must be a list; change "children": "AlarmScreen" to "children": ["AlarmScreen"]
D. Remove the children key from AlarmScreen

Solution

  1. Step 1: Identify data type error in children key

    Children must be a list (array), but "AlarmScreen" is a string here.
  2. Step 2: Correct the children value to a list

    Wrap "AlarmScreen" in brackets to make it a list: ["AlarmScreen"].
  3. Final Answer:

    Children must be a list; change "children": "AlarmScreen" to "children": ["AlarmScreen"] -> Option C
  4. Quick Check:

    Children = list, not string [OK]
Hint: Children always use square brackets [] [OK]
Common Mistakes:
  • Using string instead of list for children
  • Confusing children with parent key
  • Changing unrelated keys
5. You want to design a SCADA screen hierarchy where MainScreen has two children: AlarmScreen and StatusScreen. AlarmScreen further has a child DetailScreen. Which JSON configuration correctly represents this hierarchy?
hard
A. { "MainScreen": { "children": ["DetailScreen"] }, "AlarmScreen": { "children": ["StatusScreen"] }, "StatusScreen": {}, "DetailScreen": {} }
B. { "MainScreen": { "children": ["AlarmScreen", "StatusScreen"] }, "AlarmScreen": { "children": ["DetailScreen"] }, "StatusScreen": {}, "DetailScreen": {} }
C. { "MainScreen": { "children": ["AlarmScreen"] }, "AlarmScreen": { "children": ["StatusScreen", "DetailScreen"] }, "StatusScreen": {} }
D. { "MainScreen": { "children": ["StatusScreen"] }, "AlarmScreen": { "children": ["DetailScreen"] }, "StatusScreen": {}, "DetailScreen": {} }

Solution

  1. Step 1: Check MainScreen children

    MainScreen must have AlarmScreen and StatusScreen as children; only { "MainScreen": { "children": ["AlarmScreen", "StatusScreen"] }, "AlarmScreen": { "children": ["DetailScreen"] }, "StatusScreen": {}, "DetailScreen": {} } matches this.
  2. Step 2: Check AlarmScreen children

    AlarmScreen must have DetailScreen as child; { "MainScreen": { "children": ["AlarmScreen", "StatusScreen"] }, "AlarmScreen": { "children": ["DetailScreen"] }, "StatusScreen": {}, "DetailScreen": {} } correctly shows this.
  3. Step 3: Verify other screens

    StatusScreen and DetailScreen have empty children, which is correct.
  4. Final Answer:

    { "MainScreen": { "children": ["AlarmScreen", "StatusScreen"] }, "AlarmScreen": { "children": ["DetailScreen"] }, "StatusScreen": {}, "DetailScreen": {} } -> Option B
  5. Quick Check:

    MainScreen children = AlarmScreen, StatusScreen; AlarmScreen child = DetailScreen [OK]
Hint: Match parent children exactly as arrays in JSON [OK]
Common Mistakes:
  • Mixing children between screens
  • Omitting children arrays
  • Assigning wrong children to parents