Introduction

This guide focuses on building an effective Data Model within the platform, utilizing the Unified Namespace architecture. It covers the concepts of Data Templates, Asset Tree, and Data Explorer tools, and explains how to integrate TagProviders for a comprehensive data management solution.

On this page:


Design Concepts

The following main concepts are key to properly organize your data in the Platform. 

  • DataTemplates
  • Advanced DataTypes
  • ServerTags  vs Client Tags
  • Root Tags vs Tags in the AssetTree
  • When to use TagProviders

Data Templates

The use of UDT (User Data Types) and their planning at the start of modeling is essential. Gather information about whether your field equipment or other data sources already have that definition, and import them into the platform when possible.

You can also easily create the Data Template within the platform and use the Scripts and Devices module to map the data model you defined to the data sources, which can provide the data in a completely distinct way.

In summary, follow conventions when available, and extend with the platform features. All time invested beforehand in properly defining your Unified Namespace is largely recovered during the development and maintenance of the application.

Advanced DataTypes

Each tag supports various types, from basic types such as Digital and Double to advanced ones like Timers, DataTable, and References. Each tag can also be an array of up to three dimensions. The correct selection and use of the Tag Types greatly simplify the use of those tags later in the Displays, Scripts, and Database Connections.

Server Tags vs Client Tags

The concept of Server Tags and Client Tags is explained in the section Client-Server Programming.

Essentially, the Client Tags will hold all the operations (Displays Client Users). As much as possible, you should leverage the built-in Client.DataContext properties and the built tools to persist user configurations.

Root Tags vs Tags in the AssetTree

Each tag can have a single name, like Temp1, or be positioned inside the Asset Tree, like /Line1/Machine1/Temp1.

When a tag is not positioned in an Asset Folder tree, it's called a 'Root Tag'. Typically, all variables that are internal to your solution and you don't want to expose to other applications connecting with your solution can be kept as a Root Tag. The tags that will be used on the Displays and eventually served to other applications using the MQTT Broker or the OPC Server, or other integration API, should be placed in the Asset hierarchy.

A good practice to avoid the list of Root Tags growing too much is to use Data Templates. For instance, you can create a Client Root Tag named 'UI' that is based on the Data Template 'UI'. In that template, you can place all custom tags related to managing the User Interface, like ReportStartDate, or any tag you need to create for client context to use in the user interface. Similarly, you can create a Server Tag and a Template named "Admin" for all variables you need for your internal administration of the application, instead of creating multiple variables in the root.

When to use TagProviders Connections

When you have applications connecting with data sources that regularly change Tag Names, addresses, and assets, that is the typical scenario to use Tag Providers. The Tag Provider features allow you to insert a node in your Asset Tree hierarchy that is dynamically populated with the current tags and assets available at that time from the external data source.


Configuration Workflow

  1. Creating Data Templates:

    • Navigate to Unified Namespace → Data Templates.

    • Use 'New' to create a User Data Type (UDT) for structuring data.

    • Define properties (variables) in the UDT for your data model.

  2. Working with the Asset Tree:

    • Go to Unified Namespace → Asset Tree.

    • Create new asset folders and tags as needed.

    • Organize tags and assets hierarchically for easy navigation.

  3. Leveraging Data Explorer Tools:

    • Utilize Data Explorer for visualizing and managing your data model.

    • Explore tags and assets, and modify properties directly from the tool.

  4. Integrating TagProviders:

    • Add TagProvider Connections for integrating data from external systems.

    • Configure connections to external data sources like InfluxDB, MQTT, OPC UA, etc.

    • Map external data to your Unified Namespace.


In this section...

  • No labels