Introduction
This guide focuses on creating an effective Data Model within the platform, leveraging the Unified Namespace concept. This approach organizes data in a structured and intuitive manner, enhancing system efficiency and data accessibility.
On this page:
Objective
By the end of this guide, you will understand how to create a Data Model in FrameworX, utilizing Data Templates, Asset Tree, and Data Explorer tools, and how to integrate External Tag Providers for a comprehensive data management solution.
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
- Base Tags vs Tags in the AssetTree
- When to use Linked TagProviders
Data Templates
The use of UDT (User DataTypes) and its planning on start of the modeling is essential. Get Information if your Field equipments or other data Sources have already that definition, and import them to the platform when possible.
You can also easily create the Data Template whiten 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 the data in a complete distinct way.
In summary, follow conventions when available, and extend with the platform features. All time invested before hand in property defining your Unified Namespace is largely recovering during the development and maintenance of the application.
Advanced DataTypes
Each tag support various types, from basic types such Digital and Double, up to advanced ones like Timers, DataTable and References. Each Tag can also be an arrays up to 3 dimensions. The correct selection and use of the Tag Types greatly simply 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 <>>>>.
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 users configuration.
Base 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 'Base Tag'. Typically all variables that internal to your solution, and you don't want to expose to other applications connection with your solution can be kept in as a BaseTag. 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 Tags to grow too much is to use DataTemplates. For instance you can create a Client BaseTag named 'UI' that is from the DataTemplate 'UI', in that template you put all custom tags related to managing the User Interface, like ReportStartDate, or any tag you need to create of context client to use in the user interface. Similarly, you can create a Server Tag and a Template named "Admin" all variables you need for your internal administration of the application you put in that template, instead of crating multiple variables in the root.
When to use Linked TagProviders
When you have applications connecting with Data Sources that are regularly change TagNames, Addresses, adding or removing assets, that the typical scenario to use external TagProviders. That TagProvider features allow you to insert a node in your AssetTree hierarchy that is dynamically populated with the current tags and assets available at that time on the external data source.
Step-by-Step Instructions
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.
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.
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.
Integrating External Tag Providers:
Add External Tags Sources 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 the configuration of your External Tags Sources.
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...