Versions Compared

Key

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

Overview

This tutorial presents a basic example, page presents information on how to create a basic Unified Namespace and show the Tree of elements in an Operator Displayswork with the Asset Tree. It will also show one of ways one can create some custom graphics objects, like DataGrid Tables and Text Output, which will map automatically to the selected asset in the tree.

For an a more advanced example on how the Asset tree Tree can be used the projectsin solutions, go to Self-Aware Asset Displays.

Info

Watch the video tutorial here.



On this page:

Table of Contents
maxLevel3

About Asset Tree

Assets allow to easily develop a Unified Namespace or any tag Hierarchy.



  • Easily add and combine metadata from multiple systems into a single cohesive Asset Model
  • Organize your Tags in a folder structure with Logical Names
  • Simplify visualization and navigation through templates
  • Consume or Integrate external Models or Namespaces

Configuring the Asset Tree

Configuration Workflow

The Asset Tree configuration is located at Unified Namespace → Asset Tree.

The Asset Tree has pre-defined folders:

  • RootTagsBaseTags: All local tags created in the projects solutions that were not placed in any folder folders (levellevels) are automatically placed in this folder.
  • ExternalTags: When creating ExternalTags connections, they are automatically included in this folder, so you can easily browse the dynamic contents of the remote system. 

The typical action when configuration the asset tree are:

  • Create a new Level: Level is an equivalent term of folder in this context. Use the New Level button on the toolbar << Image >> or right click an existing levelfolder: Folders allow you to organize, group and create hierarchies for your assets. Click the new Asset Folder icon to create one or right click the Asset Tree.
  • Create new Tags: After selecting . a levelfolder, use the New Tag toolbar button or right-click menu, to create a new tag at inside that levelfolder.
  • Move Tags to selected levelsfolders: Just drag tags from the RootTags BaseTags folder — or other location — to the desired placement level at the tree.
  • Insert Remote assets: If there are TagProvider connections is a ExternalTags connection defined, you can insert specific assets from the external system in the asset tree.

The image below describes an example of a projectsolution's hierarchy.

Project hierarchy exampleImage Removed

Asset Engineering Configuration

In the Engineering Environment, you should find the Asset Tree tab on Unified Namespace. If this tab is not available in your project, please check to see if you have the Enterprise project family. (The project will need to be reopened for changes to be applied.)

This tab contains a treeview structure that, by default, automatically displays all your project’s Tags. They are added to the Root Element called Element. This allows you to navigate to the child elements and drill to Arrays or Templates.

Assets tab viewImage Removed

Image Added


By right-clicking any folder or tag, you can also rename it directly from the Asset Tree. You can copy/paste an entire folder or just one Asset from one folder to another. By doing so, all Tags (and their Alarms, Historian, and Device configurations) will be copied as well.

You can also have the same name Tag in more than one folder. 

Once your solution is

NoteOnce you have the project

running, you will be able to monitor the Tag values directly from the

Engineering Environment

Asset Tree through the Value column.The Display Textcolumn is also used in Runtime to give an alternative/friendly name to your element in the AssetControl component.

This AssetTree is not limited to the defined structure of the Tags . You can create your own architecture. To do so, right-click a Level — In this example, it is the Root Element —, and select the New Level option.

Right-click a Level and select New LevelImage Removed

After you give the level an appropriate name, you can start adding Tags to it. You can move (click and drag) an existing Tag from the Root or create a new one directly from the New Tag button.

Right-click a level and select New Tag to create a new tag.Image Removed

Note

You can create new Tags from the Assets tab. You can also add Alarms as well as add it to the Historian and to communication Points directly from this dialog.

Image Added


You can add You can add Dynamic Data from the TagProvider ExternalTags inside your treeview structure. For more information, please refer to the Tag Provider documentation.

We improved this component in this version of the platform by adding the ability to have the same Tag in more than one level. 

Image Removed

In this configuration, the Tags are not exactly the same. Instead, they are objects from the same Tag Instance. This can be seen on Unified namespace → Tags where two instances of the IntegerTag are on a table but are mapped to their own Level.

Image Removed

You can copy/paste an entire Level or just one Asset from a source Level to a destination one. By doing so, all Tags (and their Alarms, Historian, and Device configurations) will be copied as well.

With this information, your system model can be built in an Asset format, which can be displayed in Runtime with the Assets Control. 

ExternalTags documentation.



Show

Asset Tree on displays

Asset Control

This component allows you to view the same structure in Runtime that is defined in the Engineering Environment. To do so, go to your Draw Environment, and select the AssetControl component from the toolbar.

Once your Asset Tree is defined, you'll be able to see it in the Draw Environment, on the right-side of the screen, where you can drag them into any display.

Image AddedCreate an Assets component buttonImage Removed


Add the component to your display, and customize it according to the settings described below. Does this still exist in v10?

Assets settings


The parameters are described as follows:

AssetsControl Configuration
ControlNameElement's reference name so its properties can be accessed and manipulated in CodeBehind.
SelectedAssetTag that will be receiving the selected Asset Name in Runtime as a String.
Selected Path-------------------
Initial Path-------------------
Branch Filter-------------------
Attribute Filter-------------------
BlindingSelect OneWay or TwoWay or OneWay to Source.
SelectedLevel

Tag that will be receiving the selected Level Name in Runtime as a String.

Show Only TagsFlag that indicates if the Asset Tree will display only Tags or other project objects (such as Displays).
Show 'Root Tags' On RootBy default, all common type Tags (Integer, Digital, Text, etc) are added to the Root. By unchecking this option you can filter these elements out.
Expand TagsFlag that indicates if multi-level Tags can be expanded (Templates, Arrays). If unchecked, only the main Tag will be in the Asset Tree.
Show Client TagsFlag to define if client domain Tags will be displayed in Runtime. If unchecked, only server domain Tags will show up.
Show 'LinkedTags Sources' on root-------------------
Prefer Display TextFlag to indicate if the text that will show up in the Tree is the TagName or its Alias (defined in Unified Namespace > Asset Tree > DisplayText). If checked and the column is empty, the TagName will be used.
LocalizableIf checked, Tag Names (or aliases) can be translated to different languages according to your project dictionary's settings.


CodeBehind and IO Components

You can also access the Asset elements from the CodeBehind by navigating through the TagNamespace. IntelliSense will display the Tags and their respective Levels.

CodeBehing tab


Similar to the LinkedTag ExternalTags approach, the elements from the Asset View can be accessed with the syntax: ASSET(”? CompleteAssetName ?”) either in a TextBox element or the CodeBehind.



Runtime Behavior

In runtime, your Asset Tree and its components will look like the image below.

The IO element mapped with the ASSET(” CompleteAssetName ”) syntaxwill be resolved similar to the TK.GetObjectValue and will display the current value of the specific Tag it was mapped to.

The SelectedAsset and SelectedLevel Tags will also change according to the element you click on.



In this section...

Page Tree
root@parent
spacesV10