This guide walks you through using and creating Symbols - customizable graphical components that combine visual representation with dynamic behavior and real-time data binding. Symbols provide reusable components that update automatically across all displays when modified.
Prerequisites:
Product Symbol Library:
Library.dbsln
file\Users\Public\Public Documents\<productName>\Templates
Solution Local Library:
The first five symbols in the library have wizards for quick customization:
These wizards guide you through appearance options (horizontal/vertical, color schemes, etc.) before placing the symbol.
Double-click any symbol to open configuration:
Property | Description |
---|---|
Is Linked With Library | Updates when library symbol changes |
Linked Size (Proportional) | Maintains size ratio with library |
Internal Dynamics | Lists animations within symbol |
Symbol Links | Parameter mappings for this instance |
Copy and Paste | Transfer configurations between symbols |
Apply | Save changes (auto-applies on close) |
Symbol parameters use simple binding:
Common wizard symbol parameters:
#STATE:Client.SimulationDigital
#VALUE:Tag.PlaceHolder.DoubleTag
#MIN:0
#MAX:100
:
becomes parameter name:
is default valueCreate a simple tank with level indicator:
#TagValue:Client.Second
#Min:0
#Max:100
#TagValue:Client.Second
Automatically use symbols when dropping tags:
Create symbols that bind to DataTemplate members:
For DataTemplate "PID" with Setpoint, PV, CV:
Expression: #TagValue:(Tag.Loop1).Setpoint
Expression: #TagValue:(Tag.Loop1).PV
Expression: #TagValue:(Tag.Loop1).CV
Using parentheses replaces only the tag name, keeping member references.
Best practice for portable symbols:
#TagName:Tag.PlaceHolder.IntegerTag
#TagName:(Tag.PlaceHolder.DoubleTag).Quality
Benefits:
Note: After customization, wizard no longer applies to that symbol.
To modify without library link:
Navigate to Displays → Symbols to:
Save as Image:
Export to Library:
Library.dbsln
Delete Symbols:
? Reuse symbols from "In Solution" instead of Library ? Link to library for consistent updates ? Use parametersinstead of fixed values ? Test symbols with PlaceHolder tags first
? Create folders to organize symbols ? Use descriptive names for symbols and parameters ? Document complex symbol behavior ? Version control important symbols
? Keep symbols simple - combine for complex displays ? Expose key parameters only ? Use consistent parameter naming (#State, #Value) ? Provide defaults for all parameters
Rectangle with:
- FillColor: #State:0 (0=Gray, 1=Green, 2=Red)
- Visibility: #Enable:1
- Action: OpenPopup(#DetailDisplay:"Details")
TextBox group with:
- Value: #Tag:Tag.PlaceHolder.DoubleTag
- Format: #Format:"N2"
- Units: #Units:"°C"
Button with:
- Action: SetValue
- Target: #ControlTag:Tag.Command
- Value: #CommandValue:1
- Security: #Permission:"Operator"
Symbol not updating in displays
Parameters not working
#Name:Default
Symbol appears broken
Can't edit wizard symbol
This guide covered creating, configuring, and managing Symbols in your solution, from using pre-built library symbols to creating custom reusable components with dynamic behavior and parameter-based configuration.