Symbols
In its simplest form, a symbol is a graphic made up of drawing elements on the graphic canvas in the Graphics Editor. Each drawing element has a series of associated properties that can be used to customize the element. When you drag-and-drop a symbol onto a graphic a symbol instance is created.
In practice, a symbol is a reusable graphic image that represents a piece of equipment, floor, or any component or entity. A symbol can also represent a command on a graphic.
A symbol is stored in a library and is typically used to display system object values. Symbols can be associated with one or more object types in the Models and Functions application and bound to object type properties to create substitutions in your graphics that provide a dynamic, visual representation of changing values from the system.
When you drag-and-drop the symbol onto a graphic that belongs to an object type, the symbol displays the system object values in Runtime mode and in the Graphics Viewer. Animation is supported through a series of graphics. Pre-defined symbols are stored in the Library folders of the Management View. These symbols are visible and editable from the Graphics Library Browser. Advanced users create their own symbols.
Static Symbols
Symbols are not required to have object type associations or substitutions. A static symbol, for example, is not associated with an object type, nor does it have any substitutions. The value of the static symbol cannot change. Typically, this type of symbol is used for representing symbols and used in multiple graphics. You can nest a static symbol within another symbol. In the animation element, however, the substitution default value is always used.

NOTE:
You can only create, edit, and delete symbols in the Graphics application if you have Create level access for the Graphics Library Browser. Create level access is defined in the Security application.
In the Graphics Editor, object referencing for a symbol instance on the canvas is manually referenced in the symbol Instance properties group of the Property View. The Object Reference property allows you to associate the symbol to an object model property, or a function property. Use the appropriate syntax listed below to make the associations.
Association to an Object
The syntax for a symbol instance associated to an object:
MySystem.MyView:MyTree.MyNode;
Association to an Object with a Specific Model Property
The syntax for a symbol instance associated to an object with a specific Model property:
MySystem.MyView:MyTree.MyNode;.Present_Value
Association to an Object with a Specific Function Property
The syntax for a symbol instance associated to an object with a specific Function property:
MySystem.MyView:MyTree.MyNode;@Cmd
A generic symbol is a concept that allows you to create one type of symbol that can support an object that has 1, 2, or more properties with changing values. Depending on the object, the symbol will not display the elements of the graphic that do not have a data point associated them.
For example, you want to create one symbol that you can associate with either a 1-stage pump or a 2-stage pump. A symbol is created for the 2-stage pump.
This is done by extending the expression syntax with the use of the question mark (?) in the expression. For each property, you create, you add another:
<data pointRef> | <Value> (‘?’[<DefaultValue> | <Alternatedata pointRef>])*
The Generic Symbol Extended Substitutions table, is an example of using the question mark in an expression applied to a text element.
Generic Symbol Substitution Syntax Examples | ||
Expression in a Text Element | Substitution if First Reference Exists | Substitution if First Reference does not Exist |
System1:Test_AI_1_1 |
Value of System1:Test_AI_1_1
| #ENG |
System1:Test_AI_1_1? | Hides text element | |
System1:Test_AI_1_1 ? 3.14 | 3.14 | |
System1:Test_AI_1_1?”True” | True | |
System1:Test_AI_1_1 ? False | False | |
System1:Test_AI_1_1 ?System1:Test_AI_1_2 | Value of System1:Test_AI_1_2 | |
System1:Test_AI_1_1? System1:Test_AI_1_2?-5.7 | Value of System1:Test_AI_1_2, if it exists. If it doesn’t exist, -5.7 | |
Notes on Extended Syntax
The question mark (?) can be used 0..n times, where the default value or alternate data point reference is optional.
Spaces are allowed to the left or to the right around the question mark.
The expression uses either the default value to the left of the question mark or the alternate data point reference, following the question mark when the default value does not exist.
The element is hidden when the default value (to the left of the “?”) doesn’t exist and there is nothing after the question mark. The element is hidden when this applies to any one of the expressions in any evaluation type that is used. This includes the multiple evaluations which can have many expressions.
The existence of the references is evaluated from left to right. For performance reasons, the alternate data point reference (value after the “?”) is evaluated only when the left part does not exist. This means that it takes more time when the left part does not exist. For an expression like “data point1?data point2?data point3?” it can take up to 3 sequential, round trips until the element is finally hidden when none of the data points exist.
When you create a graphic and add a data point object to the graphic, the symbol that has been designated as the default symbol associated with the data point object is placed on the graphic and instantiated.
Symbols associated with a data point object's function, can have a style assigned to them and also have an assigned default symbol for the style. A style can be a way to assign all 2-dimensional symbols to the 2D style or a 3-dimentional symbol to a 3D style, for example. The style assigned to the symbol, however, is only valid for the particular function of the object.
Each style can have one default symbol per function and one command symbol associated with it. And, a symbol can only belong to one style at a time. For example, if a symbol is the default symbol the style 2D, and then you change the assignment of that symbol to style 3D. Now the symbol is assigned to the 3D style, and no longer assigned to the 2D style. If there are other symbols associated with the style 2D, one of those remaining symbols become the default symbol for style 2D.
Assigning and Creating Style
Symbol styles are created and assigned in the Models and Functions application. When you are in the Models and Functions tab for a particular data point's object model, the Symbols Browser for the object displays all the assigned symbols. If you right-click a symbol, you have the option of setting the symbol as the object’s default symbol, or, you can select a style that the selected symbol should belong to. For more information on assigning symbols and styles, please refer to Assigning Symbols Using the Library Browser.
You set the default symbol for a style in the Models and Functions application. When you right-click a symbol, in the object model or functions symbol library, and click Set as Default, that symbol becomes the default symbol for the style in that library and Default
displays on it.
The menu that displays when you right-click a symbol in the Symbols Browser, is where you can also create a new style for the symbols. When naming a new style, you cannot use the name Any, nor can you use the following characters in the style name: \ / : ? * ^ " < > | .
Clearing a Style
Styles are automatically removed from the menu available on right-click if there are no symbols in any of the functions that use the particular style.
When a symbol belongs to a style the menu available on right-click displays the option to Clear Style. When this option is selected, the symbol is removed from that style. If the symbol was the default symbol for that style, another symbol with the same style becomes the default symbol for the style and Default
displays on that symbol.
Selecting a Default Style Symbol to Display on a Graphic
You can select a symbol style within the Graphics Editor so that the subsequent drag-and-drop of objects will use the selected style. From the Options tab, the Symbol Options group allows you to select a symbol style from a drop-down menu so that the symbols associated with the subsequent drag-and-drop of the object, will display the assigned symbol to the selected style. So, if you create a three dimensional representation of something, you will want to apply the 3D Style, so that all the objects you drag and drop onto the canvas will represent the associated three-dimensional version of that object’s symbol.
When a symbol instance or object from System Browser is dropped on the canvas, the default symbol corresponding to that style group displays on the canvas. If there is no symbol related to that style, then the default symbol from another style group is displayed. If Any is selected from symbol style filter, then the default symbol which does not have a style is displayed. If all symbols belong to a style, then the default of symbol of another group is displayed.
"Replace" Symbol Context Menu Option
You can replace a symbol on the canvas with another symbol from the functions symbol library or the object model symbol library associated with the object. From the Symbol Style menu, select the symbol style you want to view and use to replace the current symbol. When you right-click a symbol instance on the graphic, the Replace option displays in the menu that displays on right-click if there are symbols that belong to the same style in the object model or Function as the symbol on the graphic. If the filter is enabled (gray background), the Replace option displays the style and symbol options from both the object model and Function libraries. If the filter is not enabled, then only the Function symbols display, however, if there are no symbols in the functions library, then, the object model library displays. When you click a symbol from the library that displays, the symbol on the canvas is automatically replaced by the selected symbol.
- Symbol property substitutions are placeholders for the element properties that must be different for each instance of a particular symbol.
- Substitution values are stored per symbol instance, rather than per symbol.
- Substitutions allow you define what a symbol displays on the graphic and are visible in the Property View.
- Element property substitution enables animation for that element.
- The substitution name and writable value display in the Property View under the Substitutions category.
Substitution Syntax
A substitution is created by adding braces ({ }) into a properties evaluation of a graphic element within a symbol.
The syntax for property substitution is as follows:
Property Prefix {[*] [Substitution Name] [=-SubstitutionDefaultValue]} PropertyPostFix (?)
Substitution Parameters
Each Symbol property and its attributes or only some of the attributes can have a substitution.
Star (*) Substitution
Star substitution is used as the connection between the drag-and-drop source reference and the internal symbol substitution mapping.
When you drag-and-drop a data point or symbol to the Graphics Editor, an associated symbol instance is placed on the canvas, and the symbol instance property Object Reference is set to the source reference.

NOTE:
The Object Reference property can also be manually changed.
The Object Reference property automatically copies the value to and updates all star (*) substitutions. This resolves all symbol expressions in the final object references. The references can be seen in the Value Simulator view.
- A substitution becomes a star-substitution when the name is empty or starts with an asterisk (*).
- The empty substitution ({ }) is equivalent to ({*}).
- A symbol can have more than one star-substitution. They are all linked to the Object Reference property and are all read-only.
- Examples for star-substitutions: ({ }), ({*}), ({*Obj})
- Star-substitutions are read-only. The value can only be modified by changing the Object Reference property.
- Name
- Each substitution has an optional name
- The name is displayed between the braces {Substitution Name}
- The syntax name is not case-sensitive.
- Default Value
- A substitution can - but must not - have a default value.
NOTE: If a Symbol property contains the same substitution more than once, but with different default values, the last non-empty default value is used. - The following characters are not allowed within the substitution brackets: (-) and (})
Substitution Examples | ||
Substitution | Substitution Name | Substitution Default Value |
{Offset} | Offset | (none) |
{offset} | Offset | (none) |
{Value Offset} | Value Offset | (none) |
{Value Offset = } | Value Offset | (none) |
{Value Offset =4} | Value Offset | 4 |
{Value Offset =4} | Value Offset | 4 |
{Value Offset } | Value Offset | (one space) |
{a=b =6} | a | b=6 |
{obj=1} {obj} | obj | 1 |
{obj=1} {obj=2} | obj | 2 |
{} | * | (none) |
{*} | * | (none) |
{*Alarm} | *Alarm | (none) |
Resolved Expression
If a child element of a symbol instance is selected, the Evaluation Editor displays the original expression along with the resolved expression.
Symbol Instances
When you drag-and-drop a symbol onto a graphic canvas in the Graphics Editor, you are placing an instance or a copy of all the elements and substitution properties associated with the symbol onto the graphic. When you save a graphic that has a symbol associated with it, only the referenced symbol and the associated properties are stored. If a change is made to the symbol, it will reflect in the graphic in Runtime mode.
A symbol instance can be resized, repositioned, and rotated via the menu that displays on right-click. These changes only affect the symbol instance on the graphic, but not the actual symbol stored in the Graphics Library Browser. The symbol stored in the browser is sized according to the elements it consists of.
You can replace a symbol of an existing symbol instance with another symbol by simply selecting the symbol instance on a graphic and replacing it with a selected symbol from the symbol library. The object type and substitution associations will be kept. For example, you can replace a fan symbol with a pump symbol on a graphic without losing any of the values you wish to view. A symbol associated with a Function type, can be associated with a specific style, so that when that style is selected in the symbol style filter, the default symbol or default command symbol associated with that style type, displays on the canvas.
Symbol and Symbol Instance Attributes
Symbols, when deposited onto a graphic, become symbol instances. It is essentially a copy of the originating symbol--a graphic page and all the elements associated with it. The exception is that any layers in the original symbol are removed from the symbol instance.
Graphic symbols have the following attributes:
- Associated to object types in the Models and Functions application and support property substitutions.
- Composed of drawing elements and images.
- Have names and are stored as XAML streams.
- Have layers.
- Saved and archived for retrieval from the Graphics Library Browser.
To understand some of the attribute differences between the two, see the following table:
Symbols and Symbol Attributes | |
Symbol | Symbol Instance |
Are initiated, evaluated, and edited in the Graphics Editor |
|
Composed of drawing elements and images. | Occurrences of an existing symbol. |
Has a name and is stored as a XAML stream. |
|
Supports background color. | Transparent by default; color background not supported. |
Can have layers. | Have no layers. Removes any existing layers. |
Can’t be resized | Resizable. |
Can contain other Symbols (nested). |
|
For related procedures, see Configuring and Assigning Symbols.
