Versions Compared

Key

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

Introduction

This guide focuses on creating building an effective Data Model within the platform, leveraging utilizing the Unified Namespace concept. This approach organizes data in a structured and intuitive manner, enhancing system efficiency and data accessibility.

On this page:

Table of Contents
maxLevel3

Objective

By the end of this guide, you will understand how to create a Data Model in FrameworX, utilizing

architecture. It covers the concepts of Data Templates, Asset Tree, and Data Explorer tools, and explains how to integrate

External Tag Providers

TagProviders for a comprehensive data management solution.

On this page:

Table of Contents
maxLevel3


Design Concepts

Prerequisites

  • Basic understanding of FrameworX platform.

  • Familiarity with data modeling concepts.

  • Access to FrameworX version 10.

Design Considerations

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 Linked TagProviders

Data Templates

The use of UDT (User DataTypesData Types) and its their planning on at the start of the modeling is essential. Get Information if your Field equipments Gather information about whether your field equipment or other data Sources sources already have already that definition, and import them to into the platform when possible.

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

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

Advanced DataTypes

Each tag support supports various types, from basic types such as Digital and Double , up to advanced ones like Timers, DataTable, and References. Each Tag tag can also be an arrays array of up to 3 three dimensions. The correct selection and use of the Tag Types greatly simply 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 <>>>>section Client-Server Programming.

Essentially, the Client Tags will hold all the Operations operations (Displays Client Users). As much as possible, you should leverage the built-in Client.DataContext properties and the built tools to persist users configurationuser 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 tag is not positioned in an Asset Folder tree, it's called a 'RootTagRoot Tag'. Typically, all variables that are internal to your solution , and you don't want to expose to other applications connection connecting with your solution can be kept in as a RootTag.  The Tags 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, those should be placed in the Asset hierarchy. 

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

When to use TagProviders Connections

When you have applications connecting with Data Sources data sources that are regularly change TagNamesTag Names, Addressesaddresses, adding or removing and assets, that is the typical scenario to use external TagProviders.  That TagProvider Tag Providers. The Tag Provider features allow you to insert a node in your AssetTree Asset Tree hierarchy that is dynamically populated with the current tags and assets available at that time on from the external data source. 

Step-by-Step Instructions


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.

Tips and Best Practices

  • Use clear and consistent naming conventions for tags and assets.

  • Regularly update and refine your data templates to reflect system changes.

  • Utilize the Asset Tree for logical grouping of data points.

Troubleshooting

  • If data from external sources is inconsistent, check if data is accurate at its source.

  • For performance issues, review the organization of your data model and optimize tag usage.

Additional Resources

  • FrameworX User Guide for detailed information on system capabilities.

  • FrameworX Community Forums for discussions and tips from other users
      • .


    In this section...

    Page Tree
    root@parent
    spaces93DRAF