This guide walks you through creating operator interfaces with the Displays module. You'll learn to design displays, configure layouts, and deploy to multiple platforms from a single design.
Prerequisites:
Tags configured for data display
Understanding of UI requirements
Basic knowledge of display types (HMI vs Dashboard)
Guide Structure: This overview links to specific guides for different aspects:
Template: Canvas (for process graphics) or Dashboard (for KPIs)
Click OK
2. Add Basic Elements
Quick Method - Drag Tags:
From right panel, drag tags directly to canvas
System auto-creates appropriate visualization
Manual Method - Add Components:
From left panel, select component (Button, Gauge, etc.)
Drag to display
Double-click to configure
3. Test Your Display
Click Preview button in toolbar
Or keep solution running and save display
View in Rich Client or refresh Web Client
Display Types and When to Use Them
Type
Purpose
Best For
Resize Behavior
Canvas
Process graphics
P&IDs, equipment layouts
Maintains relationships
Dashboard
Data visualization
KPIs, reports, analytics
Responsive grid
Page
Main content
Primary displays
Replaces current
Popup
Overlay content
Trends, details
Non-modal overlay
Dialog
User interaction
Confirmations, inputs
Modal, blocks UI
Platform Deployment
Engine Options
Setting
Deploys To
Use When
Portable
WPF + HTML5
Default choice, maximum compatibility
WPF Only
Windows clients
Using Windows-specific features
HTML5 Only
Web browsers
Web-only deployment
RESS Technology
For mobile devices, RESS (Responsive + Server-Side) automatically:
Detects device type (phone/tablet/desktop)
Delivers optimized content
Maintains responsive behavior within each class
Basic Configuration Workflow
Step 1: Plan Your Application
Define Layout Structure
Header: Navigation/title
Menu: Main navigation
Content: Primary displays
Footer: Status/information
Identify Display Types
Process overviews (Canvas)
KPI dashboards (Dashboard)
Detail popups (Popup)
User inputs (Dialog)
Step 2: Create Layout
Go to Displays → Layouts
Click Add button
Name: "MainLayout"
Map displays to regions:
Header → HeaderDisplay
Menu → NavigationMenu
Content → (changes dynamically)
Step 3: Configure Startup
Navigate to Displays → Client Settings
Set Initial Layout: MainLayout
Configure display behavior:
Theme selection
Security indicators
Multi-monitor (if needed)
Essential Display Elements
Common Components
Component
Use For
Key Properties
TextBox
Values, labels
Text, Font, Alignment
Button
Commands
Action, MouseDown
ComboBox
Selection
Items, SelectedValue
DataGrid
Tables
DataSource, Columns
TrendChart
Time series
Tags, TimeRange
AlarmWindow
Alarm display
Filter, Columns
Adding Dynamics
Quick dynamic properties (double-click element):
Visibility: Show/hide based on tag
Color: Change based on value
Position: Move with tag value
Size: Scale with data
Rotation: Rotate based on angle
Display Navigation
Opening Displays
From Script:
csharp
// Replace content area@Display.ProcessOverview.Open();// Open as popup@Display.TrendPopup.OpenPopup();// Open as dialog@Display.ConfirmDialog.OpenDialog();
From Button:
Select button
Set Action property
Choose "OpenDisplay"
Select target display
Changing Layouts
csharp
// Switch entire layout@Client.OpenLayout("OperatorLayout");// Just change content@Display.NewDisplay.Open();
Display CodeBehind
Basic Structure
csharp
publicvoidDisplayOpening(){// Initialize before display opensLoadUserPreferences();}publicvoidDisplayIsOpen(){// Execute after display is visibleStartDataRefresh();}publicvoidDisplayClosing(){// Cleanup when closingSaveUserSettings();}
Switch at runtime: @Client.Localization = "Spanish"
Optimizing for Mobile
Create mobile-specific displays
In Layout, configure Mobile column
Use larger buttons and fonts
Minimize text input
Performance Tips
? Limit elements per display - Keep under 500 elements ? Use symbols - Reuse instead of recreating ? Optimize images - Compress and resize appropriately ? Minimize animations - Use only necessary dynamics ? Test on target platform - Verify performance early
This structure provides a solid overview while acknowledging that detailed coverage requires separate guides for each major area. Would you like me to create one of the child guides (like "Creating Canvas Displays" or "Building Dashboards") to show how they would complement this main guide?