Design effective operator interfaces following ISA-101 HMI standards. Create intuitive displays with proper navigation, color usage, and alarm integration. What You'll Learn:
- Design display hierarchy
- Apply HMI standards
- Create navigation
- Build effective layouts
Prerequisites:
- Completed tag configuration
- Understanding of process flow
On this page:
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
Prerequisites
Step 1: Plan Display Hierarchy
Create four-level hierarchy:
Level 1 - Overview:
- Plant overview
- Key performance indicators
- Major alarms
Level 2 - Area:
- Process area graphics
- Area trends
- Local alarms
Level 3 - Detail:
- Equipment details
- Control faceplates
- Detailed trends
Level 4 - Support:
- Diagnostics
- Settings
- Reports
Step 2: Create Main Overview
- Displays → Draw → New
- Name:
Overview
- Size: 1920×1080 (Full HD)
Add elements:
- Plant layout graphic
- KPI gauges (OEE, Production Rate)
- Alarm summary bar
- Navigation buttons
Step 3: Apply Color Standards
Follow ISA-101 color guidelines:
State | Color | RGB |
---|---|---|
Normal/Running | Gray | 190,190,190 |
Stopped | White | 255,255,255 |
Alarm | Red | 255,0,0 |
Warning | Yellow | 255,255,0 |
Selected | Cyan | 0,255,255 |
Configure theme:
- Displays → Themes
- Create
ISA101
theme - Apply to all displays
Step 4: Build Process Graphic
Create area display:
- Import P&ID as background
- Add dynamic elements:
Tank:
- Rectangle with level fill
- Bind fill % to
Tank1_Level
- Add value display
- Color by state
Pump:
- Import pump symbol
- Rotation animation when running
- Color: Gray (run) / White (stop)
Valve:
- Two-state symbol
- Bind to
Valve1_Open
- Add position feedback
Step 5: Create Control Faceplate
Design popup faceplate:
- Size: 400×300
- Elements:
- Tag name and description
- Current value (large font)
- Setpoint input
- Mode selector (Auto/Manual)
- Trend sparkline
- Open/Close buttons
Step 6: Add Navigation
Create navigation bar:
- Fixed position (top or bottom)
- Buttons:
- Home → Overview
- Areas → Dropdown menu
- Alarms → Alarm display
- Trends → Trending
- Reports → Reports menu
Navigation script:
csharp
@Display.OpenDisplay("Area1_Detail");
// Or with popup
@Display.OpenPopup("Motor1_Faceplate", 400, 300);
Step 7: Build Alarm Banner
Add persistent alarm bar:
- AlarmViewer control
- Configure:
- Show: Highest priority active
- Height: 100 pixels
- Columns: Time, Area, Description
- Click to acknowledge
Step 8: Create Templates
Build reusable templates:
Motor Symbol:
- Displays → Symbols
- Create motor graphic
- Add properties:
- TagPrefix (e.g., "Motor1")
- ShowFaceplate
- Expressions:
- Running:
@Tag.{TagPrefix}_Running
- Amps:
@Tag.{TagPrefix}_Amps
- Running:
Step 9: Add Situational Awareness
Implement SA features:
- Analog values as text (not just graphics)
- Clear alarm indicators
- Trend sparklines
- Deviation indicators
- Performance metrics
Step 10: Test Usability
Validation checklist:
- All navigation paths work
- Information hierarchy clear
- Response time < 2 seconds
- Color usage consistent
- Text readable at distance
- Critical info always visible
Display Performance Tips
- Limit points per display (< 200)
- Optimize graphics (vector over bitmap)
- Minimize animations
- Use display caching
- Preload common popups
Best Practices
- Follow ISA-101 guidelines
- Consistent navigation
- Minimize color use
- Gray backgrounds
- High contrast text
- Progressive disclosure
- Test with operators
Next Steps
- [Add Elements to Displays] - Advanced controls
- [Create Canvas Animations] - Dynamic graphics
- [Create Dashboards] - KPI displays