Overview

Symbols are customizable graphical components that can be used on screens. The symbol has the option to be managed in a centralized way, so when changing a Symbol in the solution library, it changes automatically in all displays. 

Symbols can have only a static drawing, or they can also have a dynamic behavior and binding to real-time Tags. When using or creating symbols with dynamic properties and tags binding, a simple configuration dialog allows to map the dynamic values to the desired tags, when applying multiple instances of the symbol.

Additionally to allowing full customization, some of symbols frequently used in SCADA displays, like Motors, Blowers, Pumps, Valves and Tasks have a Wizard tool, allowing a quicker customization of its appearance. 

On this page:


Product Library and Local Solution Library

Product Symbol Library

When installing the software, a set with a few thousands of global symbols is made available to the solutions. Those pre-defined symbols are stored in the file Library.dbsln, copied on the Templates folder in the Public Documents product folder. That file is a standard built-in solution file, if you you want to customize the built-in library, you just need to open that solution with the Designer and modify the symbols, or other other elements in that global Library. 

Solution Local Library

When a Symbol from the global library is used in a Solution, a copy of that symbol is saved in the Solution file, this is important and useful, so it keeps the concept that a solution file is fully autonomous and independent, when copied to a production computer for deployments, or archived, it has within all the solutions needs to run without the needing of external dependencies. 

In the Drawing Tool, on the Symbols section, the Tree under "In Solution" are the symbols that are part of the solution file, those symbols are also listed in the solution explorer, navigating to Displays -> Symbols.

The tree under Library, are the symbols in the global library file.

The checkBox with Dynamics, filters to show only the symbols with dynamic properties.

When you select a Symbol from the Library sub-folders, a copy of that Symbol is created in the "In Solution" folders to be used on the displays of that solution.  

When you select a Symbol from the "In Solution" folder, you are re-using a Symbols that is already part of the solution.

The first five symbols showed on the list, Blower, Motor, Pump, Tank and Valve, are the Symbol Wizards, which have an additional features: a customization dialog allows you to easily select the appearance of the elements, guiding the selection across the typical visuals for that type of symbol, for instance if the Task is Horizontal or Vertical, and various other customization options.  See Symbol Wizards for more information.



Inserting a Symbol and Customizing Parameters

To Insert a Symbol.

  1. Select a Symbol from the graphical components. It can be from the "Library" sub-folders (external Library file), or from the "In Solution" folder to pickup symbols ready in the solution. 
  2. You can Click on the Symbol in the ListBox to select it, then Click again in the drawing area to Insert ir. Or, if you prefer, you can perform a Drag-Drop operation. Both mouse actions are accepted. 
  3. When you double-click on the Symbol, or press the Properties icon welcome_manage.png in the toolbar, the Symbol Configuration dialog is shown.
  4. if the Symbol has dynamic bindings with tags, the Symbol Links will show the Parameters defined for that symbol, to which tag or expression now currently connected. Just use the edit the solution to bind that symbol instance to another variable. 

Symbol Configuration Dialog

Symbol Configuration Table

Property

Description

Is Linked With Library

If checked, the symbol instance appearance will update when saving the symbol to Solution Library. if unchecked, the symbols is now specific the displays, disconnected from the library.

Linked Size (Propertional)

When linked to the Solution Library, if the symbol is resized in the Library, it resized on the display.

Internal Dynamics

The list of dynamic animations used inside the symbol. Further explanation on next section, Symbols and Dynamics

Copy and Paste

Button to copy the Symbol Links to the clipboard, or paste from it.

Apply

Apply the edited expressions to the Symbol. This action is optional, when closing the configuration dialog, or selecting another object the expression changes are automatically applied. 

Symbol Links

Table with the Parameters defined to that Symbol. Parameters are an easy and quick way to customize each instance of the Symbol to specific tags when using multiple copies of the Symbol. When creating the symbol, none, one, or more, parameters can be defined to change specific properties of the underlying symbol dynamic behavior and tags binding. 


Symbols and Dynamics

When you insert a symbol from the Symbol Library, it may have customization parameters, for instance, the previous image, has a parameter STATE, which should receive the Expression that will control if the blower will show ON or OFF when running the solution. 

Those parameters will affect the behavior of Dynamic properties embedded in the symbol creation. Those internal settings are not visible, unless you EDIT or BREAK the symbol, as described in later sections. The Configuration dialog has a a string, INTERNAL DYNAMICS, which just list the types of animations the symbols has, ir other to assist the understanding of its behavior in runtime.

The DYNAMICS BUTTON in the configuration dialog isn't related to those internal dynamics, but it's intended to add additional dynamic behavior that will apply to the entire symbol, in the same way you can do with any graphical element in the screen. 

For instance, you can apply an Visibility-Opacity property, to change the appearance of the entire symbol when in maintenance state, or you can add a ACTION dynamics to perform some operation when the operator clicks on the Symbol. 


Creating New Symbols

Static Drawing

  • You can use the drawing tools and the COMBINE commands in the horizontal toolbar to draw your own symbols.

  • You can also use the symbols from the Symbol Factory and click the UNGROUP command in the horizontal toolbar to edit the imported symbols.

  • You can use the Direct Selection cursor to edit internal elements without needing to ungroup.

  • If you want to save a new symbol to the Local Symbols Library, select the object or objects that you want to be part of the symbol. Then, right-click and select Make a new symbol. 

  • Enter the Name, Folder, and the description of the Symbol.

  • You can open the Symbol Library and choose the symbol to use in your displays.

Dynamic Properties and Parameters

After creating a new drawing, or modifying an existing one, you can optionally and Dynamic Properties to the symbol.

? See the page Dynamics and UI Elements to learn about the dynamic animations available. 

When applying those dynamics, you can make the configuration so the dynamic behavior is fixed embedded inside the symbol, or expose some properties, or Parameters, for customization each time a new instance of the Symbol is used in a display. 

For instance, when creating a symbol for a VALVE that has the dynamic behavior to change its color to Green or Red, according to its ON or OFF instead, it is desirable that the Tag, the real-time value, driving that On/Off state can be customized to each instance the symbol is used. 

This is accomplished, but a special syntax on the Value field (or other fields you want to later bind), which use the use of the HashTag Symbol (#) to add a Parameter Key to that symbol. 

Example, Expression:  #STATE:Client.SimulationDigital

In this example, when applying the text  #STATE:  (hashtag ParameterKey ColorChar), you are creating a Parameter, a new key to the dictionary of parameters this symbol can have. 

The STATE Parameter will allow to later customize which tag shall be used to driver the value of ColorFill dynamic. 

The value after the color char, in this example, the Client.SimulationDigital, it is default value for that property. 

The same parameter, can be used in various animations of the Symbol, for instance, if adding also a LineColor dynamic, you can use the same STATE parameter key, so when biding a tag to the STATE parameters, both the Fill and the Line dynamic properties will be connected with the tag. 

When creating Symbols, it is useful to add simulated values, or the Tag.PlaceHolder variable, so your symbol is independent of you solution data, can be easily be exported to other solutions, it brings also the befit to have a preview of symbol behavior before binding it to the production data.

In this other example, a Bargraph dynamic property was added to the object, with 3 Parameters keys being created. The TagValue, the Min, and Max parameters.  The default values for Min and Max were set to 0 and 100, the default value for the TagValue was the internal variable Client.Seconds.

Then a TextBox object was added, using the same TagValue Parameter key to its value, so when selecting binding a new tag to the TagValue parameters, both the level of Barograph and the TextBox message will show the value of selected tag.

When those two graphical elements (the Barograph and the TextBox) and selected, and applying the command GROUP to SYMBOL (or Save to Symbol if ending an existing one), the Symbol Configuration Dialog will present 3 Parameters to be customized to the symbol, on each instance of Symbol.

  • TagValue: this parameter will set which tag will drive the level of the barograph and the value on the TextBox
  • Min: this parameters will set the Tag, or Constant, or Value, that will driver the minimum value for the bargraph level.
  • Max: this parameters will set the Tag, or Constant, or Value, that will driver the maximum value for the bargraph level.


Automatically Linking Symbols And Tags

Linking Symbols and Tags 

A symbol can be configured to be the default representation of a tag type. Whenever you paste a tag into the Drawing, a symbol will be automatically created and mapped to the inserted tag.

The Digital, Integer, Double, Decimal, Text, DateTime, and TimeSpan tag types have the tag name and an input/output text box as their default visualization. The Data Templates and Arrays, will use a DataGrid by default. 

You can customize that behavior at Unified Namespace → Tags, using selecting the Tag and using the Map To Symbol button. (The result of that configuration is saved on the DefaultSymbol column)

Dropping Tags on Displays

The traditional way to setup HMI and SCADA screen was to drop graphical elements on the displays, then go the configuration to bind Tags to those elements. 

Our Platform presents a newer, fasters and simpler way to that, which is just dropping tags to the displays, and automatically the proper representation of tag is selected, using the Symbol to Tag configuration. No binding is required, the symbol will be created on the display mapping to the selected tag.

There are various ways to start that operations:

  1. At Unified Namespace → Tags, select one or more rows with tag names, click COPY on toolbar (or Ctrl-C), go a displays and PASTE the tags on the display.
  2. You can also do that copy and pasting from Excel, when doing from Excel, you can add the columns Top and Left  to customize the position the tag/symbol will be inserted.
  3. In the Drawing tool,  right-click on the display to open the context menu, and use the Insert Tag command
  4. In the Drawing area, select Tags on the Tree on the Right side and drag-drop the tags to the displays.

For advanced solutions, or large projects composed with many SCADA displays, it is possible to fully automate this process, using a .NET programming API (EngWrapper) that creates the displays automatically based on external files, or custom programming. 


Linking Symbols To Tag Templates

When using Data Templates in your solution, it is possible to create Symbols that will bind automatically to various members (properties) of the Data Template, justing by selecting the main tag, instead of having to bind each property. 

For instance, if you have a Data Template PID, with members Setpoint, CurrentValue, ControlValue, you can create faceplate symbols that expect just the main PID tag, and will use the internal properties automatically. 

In order to create those symbols, you just use an extension of the HashTag syntax to create Symbol Parameters keys, to specific that only the main tag will be replace when customize the parameters in the symbol instance. 

Let's do and example for this procedure. 

  1. Go to Unified Namespace / Data Templates to create a new template PID, with the properties Setpoint, CV and PV.
  2. Go to Unified Namespace / Tags, or use the New TAG button in the main toolbar, and create a Tag (loop1) of type PID.
  3. Go to Displays / Draw and follow the procedure to create a bargraph and a TextBox, as presented earlier in this chapter, but using a slight change in the expression for the value, adding parentheses to isolate the tag name.

Expression:  #TagValue:(Tag.Loop1).Setpoint

When you define the Parameter key with this syntax, it means the #TagValue parameter will replace only the Tag.Loop1 piece, meaning that Barograph, or TextBox, will always show the SETPOINT of whatever PID tag was selected in the Symbol instance configuration. 

4.  Continue the example creating 3  TextBoxes or Bargraphs with the expressions: 

Expression:  #TagValue:(Tag.Loop1).Setpoint

Expression:  #TagValue:(Tag.Loop1).PV

Expression:  #TagValue:(Tag.Loop1).CV

5. Select the Graphical elements and Create a Symbol. 

The Symbol Configuration dialog will show only ONE parameters, TagValue, which is expected to receive any Tag of type PID.

Default Symbols for Tag Templates

if a Symbol is created with the same name of the Data Template, like PID in the previous example, that symbol will be used by default, when dropping tags of type PID to displays. 

If you want to use another symbol by default, Navigate to UnifiedNamespace/Data Templates, select the Data Template from the list, and Map the Symbol for that data Template.

Some Data Templates are internal and  pre-defined, like the PlaceHolder data template, don't allow to have a custom symbol mapping. 

Mapping Symbols to Data Templates

When using Data Templates, you do the automated connection of Symbol to Data Templates, not symbols to each one of the individual members of the template. Like in the previous example, the faceplate symbol is applied to PID tags, not individual symbols to Setpoint, PV or its individual members. 

If you want to create Symbols to bind to specific members of a DataTemplate, instead using the template Tag, just use the same syntax you would use with any tag, without the parenthesis.

Example:  #TagValue:Tag.Loop1.Setpoint

In this example, without the parenthesis around Tag.Loop1, that configuration will expect the Parameter #TagValue to receive the final value of any attribute or tag (a replacement for Tag.Loop1.Setpoint), no longer it's expecting  a PID tag.


Linking Symbols with Tag Properties

When defining Symbol Parameters, in a similar way used on Data Templates, the parenthesis can be used to define various dynamics properties, using fields (properties) of a Tag, and having only the main tag name as parameter key. 

For example, if you want to show the Tag Value, Quality and Timestamp, of a Tag, instead of definition 3 parameters, you can define one parameter to the TagName, and access the fields of that main tag. 

  • Expression:  #TagName:(Tag.Tag1).Value
  • Expression:  #TagName:(Tag.Tag1).Quality
  • Expression:  #TagName:(Tag.Tag1).Timestamp

When creating the symbol, the parameter key #TagName will be created, allowing the instances of the Symbol to replace Tag.Tag1 to another tag in the application. 

Using the PlaceHolder Tag

When creating Symbols intended to use across multiple solutions, it is a better practice to use the Tag.PlaceHolder when creating the symbol. 

The PlaceHolder tag is a data template with digital, integer, double and other Tag types, and it is defined by default in all solutions. 

In this way you can create the symbol with the expressions like: #TagName:Tag.PlaceHolder.IntegerTag,  or  #TagName:(Tag.PlaceHolder.DoubleTag).Quality

This approach has various benefits:

  • The symbol isn't dependent of any tag in the solution
  • The PlaceHolder selected informs which tag type is expected to that symbol
  • You can access tag properties, with the intelisense when creating more advanced symbols.

Managing the Solution Symbols

The symbols included in the Solution, are listed navigating to Displays → Symbols.

At this page, you can export the symbol, delete, or verify Symbol Information, including Size and Description.

Save as an Image File

This command, creates a image (PNG) file with the Symbol Preview

Export to the Library

This command saves the symbols to the file Library.dbsln, located at the folder \Users\Public\Public Documents\<productName>|Templates.

This file is shared to be used by the Designer tool, when editing any solution in the computer. 

Delete Unused Symbols

In order to delete a symbol, select the Row (or multiple rows), and use the delete (X) icon on the toolbar in top of the table.


In this section:

  • No labels