Display Controls: customizable symbols vs configurable graphical components
Platform → UI Technology → Clients | WebAssemWebAssembly and Portable Displaysbly | Symbols | Drawing | Responsive | Layouts
FrameworX organizes all visual elements as Display Controls, divided into two primary categories: Symbols (open vector graphics you customize) and Graphical Components (closed functional controls you configure). This distinction determines how you create, modify, and deploy visual elements in your HMI.
Display Control Taxonomy
All visual elements in displays are Display Controls, organized by customization level:
Control Type | Definition | Customization | Examples |
---|---|---|---|
Symbols | Open vector graphics | Draw, Dynamics, Parameters | Pumps, valves, motors, tanks |
Components | Closed functional controls | Configure properties, add dynamics | Charts, gauges, data grids |
Basic Shapes | Basic geometries | Add dynamics, combine. | Rectangle, ellipse, polygon |
Shape Paths | Combined geometries | same as shape, plus geometry | SVG images, combined |
Images | Bitmap graphics | Add dynamics, edit if SVG | Logos, photos, backgrounds |
Industrial Icons | Pre-designed Icon | Add dynamic Behavior | Settings gear, home, alarms bell |
Industrial Icons sit within the broader Display Controls taxonomy as a specialized subset. They were created using a custom Font Family, so its usage in very light in resources, and it can accept dynamic behavior and it is "theme-friendly". Font-based - Character codes render as icons (#IndustrialIcons font family).
Industrial icons are specifically purposed for UI navigation rather than process visualization.
The selection is visual, see ->
Symbols
Symbols are vector-based Display Controls that expose their internal structure for complete customization. You can:
Symbols use a parameter-based architecture enabling instance customization without breaking library links:
Symbol Definition: Motor
??? Vector Graphics (SVG paths)
??? Dynamic Properties
? ??? Fill Color: #STATE:Tag.PlaceHolder.Digital
??? Parameters Exposed
??? STATE → Maps to any digital tag
When placing symbol instances, you map parameters to specific tags while the symbol structure remains unchanged.
Library Type | Scope | Content | Management |
---|---|---|---|
Product Library | Global (all solutions) | 2000+ pre-built symbols | Library.dbsln file |
Solution Library | Project-specific | Custom and modified symbols | Within solution file |
Graphical Components are pre-built Display Controls providing specific functionality. Internal implementation is closed, but extensive configuration options enable customization:
Category | Purpose | Key Components |
---|---|---|
Charts | Data visualization | TrendChart, BarChart, PieChart, XYChart |
Gauges | Analog display | CircularGauge, LinearGauge, Compass |
Editors | User input | TextBox, ComboBox, DatePicker, Slider |
Viewers | Content display | DataGrid, AlarmViewer, WebBrowser |
Interaction | Navigation | Button, Menu, PageSelector |
While you cannot edit internal code, components expose rich property sets:
Use Symbols When | Use Components When |
---|---|
Representing physical equipment | Displaying data in standard formats |
Creating P&ID diagrams | Need built-in functionality (trending, alarming) |
Requiring custom animations | Want consistent behavior across solutions |
Building reusable equipment templates | Implementing complex UI controls |
Both Symbols and Components support dynamic properties, but implementation differs:
Embedded within symbol definition using parameter syntax:
#TagValue:Tag.Temperature
#MinValue:0
#MaxValue:100
Configured through property bindings:
TrendChart.DataSource = @Dataset.ProductionData
TrendChart.TimeRange = @Tag.TimeWindow
FrameworX symbols follow industry standards: