Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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:

Table of Contents
maxLevel3
stylenone


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  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. 

Symbol Parameters and Dynamics

When you insert a symbol from

the

Symbol Library, it may have customization parameters. For example, the VerticalTank symbol includes LevelValue, MaxScale, and MinScale parameters. To change the tags linked to these parameters, edit the new tag names in the dialog.

To edit symbols:

Right-click the symbol and select Edit

Symbol.

  • Double-click the symbol to open its Dynamics.
  • Use the syntax #<PropertyName>:TagName

     

    to create exposed label parameters for the symbol, simplifying the mapping of linked tags (e.g.:“Level”, “MinScale”, and “MaxScale”).

  • When you insert this symbol in your display, you can set the values for these parameters. The default value follows the colon “:” character. For example, #LevelValue:Client.SimulationAnalog creates a property called “LevelValue” with “Client.SimulationAnalog” as the default value. You can use any name for the label parameter.
  • When creating symbols, initially map properties to Client.SimulationDigital, Client.SimulationAnalog, or Client.SimulationDouble. These variables change every second, allowing you to see the results of dynamic properties. Use Client.DigitalValue, Client.NumericValue, and Client.TextValue for placeholder values without built-in simulation.

    To save the symbol, right-click the symbol or the display and click Save to Symbol Library, or click the Save icon on the top toolbar. Double-click the symbol to verify its properties.

    Symbols workflow


    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.

    Expand
    titleAdding Labels to Symbols

    Image Removed

    Inserting a Local Symbol

    1. Go to Displays / Draw;
    2. Click on the Symbols in the Components Panel. You can also use the search bar to look for specific symbols;
    3. Click to select the desired Symbol;
    4. Click or drag-and-drop it on the Drawing area to use it.
    5. Double-click a symbol to see its runtime properties and map it to the tags in your application.

    Some symbols do not have custom parameters. In this case, double-clicking the symbol will show the Dynamics dialog.

    Image Removed

    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

    Image Added

    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.

    Image Added

    Image Added

    Image Added


    Automatically Linking Symbols And Tags

    Editing a Symbol

    1. Go to Displays / Draw;

    2. Click to select the desired Symbol on the Drawing area;

    3. Click Edit Selected Symbol on the Drawing Toolbar; It will enable the Symbol Editor on the Drawing area.

    Image Removed

    Image Removed

    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. To select multiple lines on Unified Namespace / Tags, click on a line and hold Shift while clicking on another line to mark a range. The system will automatically create one object for each of the tags.

    If you want to change any of the properties for the objects that were created, select all the TextBox objects by clicking and dragging over the display. Select the area with the objects and double-click on any selected object to open the "Edit Combined Dynamics" dialog.

    The lines on Unified Namespace / Tags can be copied to Excel. Add the Left and Top columns to the Excel table. Then, copy/paste the table and its header column to the display. The system will position the objects using the coordinates found in the table.

    Creating a symbol with one dynamic parameter and saving it with the name "Integer" will become the default visualization for the "Integer" tags. The same applies to any tag type. If you create a symbol with one dynamic parameter and save it with a name, it will become the default visualization for any tag with that name. For example, a symbol saved with the name Integer will become the default visualization for the "Integer" tags.

    Linking Symbols To Tag Templates

    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)

    Image Added

    Image Added

    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. You can define a symbol to be the default view for a tag template.

    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
    and create tags with Demo type.

    In the Display Drawing environment, insert any objects that you want to be part of the symbol. In the example, we use a TextBlock and TextBox with the parameters #Tag: (Tag.Demo.Integer1) for their dynamic properties.

    Now, select the TextBox and the TextBlock and right-click to make it a New Symbol with the Name and Folder called "Demo".

    The parentheses () in the TextBox and TextBlock expression define the scope on what should be replaced when you map the symbol.

    For the hashtag syntax, #Label: When you paste the tags, they become the placeholder that will show where the tag name should be replaced with the dynamic animations or expressions.

    Go to Unified Namespace / Tags and copy all tags with Type: Demo.

    Paste the tags in the Drawing environment 

    When inserting tags of this template type, the system will look for a symbol with the same name of the template. If a match is found, the symbol is created and linked to the tag you inserted in the display. 

    If you create symbols using only Tag Elements and not expressions, you do not need to explicitly use the full syntax: #Label:(tag.Demo).Integer1 to define the label parameters. If you just use your tag in the object's dynamic properties and execute the Make Symbol command, the system will automatically search for tags in the symbol and create the related parameters. When using expressions or when having multiple tags and templates in the same symbol, you must explicitly use the hash tag # and the parentheses in order to define the scope of your symbol's customizable parameters. 

    1. , or use the New TAG button in the main toolbar, and create a Tag (loop1) of type PID.
    2. 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. 

    Tip
    titleMapping Symbols to Data Templates

    When using Data Templates, you can make an automated connection of Symbol to the Data Template itself, not symbols to each one of the individual members of the data templates.

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

    Example:  #TagValue:Tag.Loop1.Setpoint

    If using that Parameter definition for a key, without the parenthesis around Tag.Loop1, that configuration will expect the Parameter #TagValue to receive the final value of any tag, or attribute, it will no longer expect the PID main tag.

    Linking Symbols and Tags Using Categories

    You can map a symbol to a group of tags, but you do not have to make the symbol map to all tags with the same type. To do this, use the Category column to link which symbols should be used as the default interface for each group of tags.

    Go to Solution / Categories and create a new category.

    Insert a symbol in the Drawing Environment. 

    Go to the Displays/ Symbols tab and chose the respective category for the symbol in the Category column. 

    If the Category column is not visible, right-click any Column name and select columns you want to see.

    Go to Unified Namespace / Tags and define the category for the tags.

    Select all the tags and copy/paste them into the Draw Environment. Each tag will map to the respective symbol, according to the association defined in the Category column. 



    In this section:

    Page Tree
    root@self
    spacesV10