Contextualize Data with Element Unify and Azure Digital Twins
Published Jun 01 2022 09:41 AM 4,320 Views

Digital Twins are virtual representations of our real-world. Places, business process and even people can be defined as objects and managed in Azure Digital Twins. We can model and create twins of these objects, and then once paired alongside real-time telemetry data we can view the present in many ways, such as through a 3d managed environment with our 3d Scenes Studio. From there, possibilities open such as tracking the past with historization capabilities such as Azure Data Explorer, or predicting the future in collaboration with our partners, such as Ansys.


However, before realizing the true power of Digital Twins we need a series of models that represent our world, alongside the varying data that supports these models to truly bring this story to life. Industries such as Discrete Manufacturing or Supply Chain may have this information spread over multiple systems such as Piping and Instrumentation (P&ID) Diagrams, or asset data which is perfect for building models and collecting metadata from. The contextualization of all this data can be a challenging process, but these datasets can greatly accelerate your pace towards building and managing your Twin environment.


Element Analytics' Element Unify is a data contextualization platform that helps make sense of IT and OT data in a single software solution. Today the Element Unify platform integrates with many OT and IT Systems, to allow the ability to extract data from disparate sources such as SAP and other ERP systems, P&ID Diagrams, PI Asset Framework and PI Tagging data. Once all this data is collated, with the use of the low/no code pipelines, we can begin to combine the data, helping us deliver rich context and compose data models that can be stored and used by analytical systems downstream.

Element Unify and Azure Digital Twins FlowElement Unify and Azure Digital Twins Flow


With the powerful combination of Azure Digital Twins unlocking insights into your operations or products, alongside the Element Unify platform and its contextualization power, together they can kickstart your journey into enabling the power of Digital Twins in your environment.


An example of an end-to-end solution using Element Unify and Azure Digital Twins can be seen below:


Figure 1 - Solution architecture pattern with Element Unify and Azure Digital TwinsFigure 1 - Solution architecture pattern with Element Unify and Azure Digital Twins


Starting on the left-hand side, a factory may have their various OT and IT Data such as IoT devices, different workloads hosted on the edge, as well as industrial data historians. Alongside these are other possible data sources such as ERP, MES and engineering systems which can hold vital data to contextualize your digital twin environment. Element Unify can consume these data sources, contextualize them and then provide DTDL representations that can be uploaded into Azure Digital Twins alongside any relevant metadata that supports the context of the relevant pieces.


Realtime, Time-Series IoT Operational Data can be streamed from the edge, into the Azure Digital Twin platform via Azure IoT Hub. This data works in tandem with the models defined by Element Unify and gives Azure Digital Twins platform the real-time view of the Factory or Plant in question, helping gain insights into the current state, as well as historizing the data into Azure Data Explorer.


Finally, we can help business users and stakeholders view the insights and Digital Twin through 3d Scenes; a way for your subject matter experts to build 3d experiences within the Azure Digital Twins, or by creating powerful dashboards in Power BI via Azure Data Explorer or Grafana.


To support the scenario above, Microsoft has worked alongside Element to help create the Element Unify Plugin for Azure Digital Twins, available now. This article will go through how to set up the Element Unify to Azure Digital Twins plugin, as well as the operation and the configuration of some of the plugin’s features inside Element Unify.




You will need an Azure Digital Twin instance to begin. Click here to get started with Azure Digital Twins.


You will also need an Element Unify account. Click here to sign up for a trial for their product.


Once inside Element Unify, take advantage of their documentation to begin Importing your IT/OT data into the platform, and create a Graph inside Element Unify.


Plugin Configuration


Now that you have various datapoints inside Element Unify supported by their Template Library with data populated from various sources, we can synchronize this into Azure Digital Twins.


Once created, inside the Element Unify Portal, you will want to click on the 'Azure Digital Twins Publish Connector'


The Element Unify connector portal.The Element Unify connector portal.


This will open a set of configurations allowing you to register a new Connector Account with values you specify or generate, save these for later use in the Connector Configuration Deployment. Once registered you will be prompted to deploy the connector above the 'Register' Button.


The deployment screen will bring you into an Azure Deployment screen with various options.


Azure Deployment Configuration ScreenAzure Deployment Configuration Screen


You may Specify the Storage Account, App Service, Function App, Application Insights and Key Vault Name if you have any kind of naming convention requirements, if not they will be randomly generated.


The next settings are relevant to the operation of the plugin


Behavior is related to how the connector will operate:

  • ONLY MODELS: With this the connector will only be aware of the templates in unify and will submit all the models of the respective Org id.
  • ONLY INSTANCES: With this the connector will only consider the provided Unify Graph to represent the Twins instances in Azure Digital Twins platform.
  • MODELS AND INSTANCES: The connector will perform both operations.


Digital Twin Operation you can choose what you expect the connector to do if Twin Models already exist, we have 3 options here:


  • RESET ENVIRONMENT: This will delete all the models and Twins instances before the new ones will be updated.
  • UPDATE IF EXISTS: This will make a comparison between the existing models and Twins instances and will only update the differences.
  • ERROR IF EXISTS: This will throw an error and stops the executions if the model already exists in Azure Digital Twins platform (Note: This is just for models. Twin instances will be overwritten)


Graph ID will be the GUID of the Graph from Element you wish to replicate inside Azure Digital Twins, It comes from when you configured Element Unify.


Azure Digital Twin Name is the name of the ADT instance you want to replicate the graph inside.


The Key Vault Values below are how we authenticate into Element to retrieve the Graph and Sync it into Azure, they are as follows

  • Value_Username: The 'Service Account Identifier' from the Connector Registration
  • Value_Password: The 'Service Account Password' from the Connector Registration
  • Value_Org Id: Your Element Unify 'Organization ID'
  • Value_Hostname: The hostname of your Element Unify installation
  • Value_Connector Id: The 'service account id'


Once Specifying all the above, you can deploy the connector! Which will appear in the subscription group as an Azure Function, a Key Vault to store the secrets and a set of supporting infrastructure such as a Storage Account and Application Insights.


Plugin Operation


The Plugin via the Azure Function will continually replicate the graph inside Element Unify into Azure. While this will run without your input after the initial configuration, you may want to learn how this is all functioning behind the scenes. This can help you define the way the plugin replicates the objects in Element Unify to Azure.


To replicate the instance inside Azure, the plugin needs two things; the Models and the Relationships to build the Twins.


Creating Relevant Models from Templates


Inside Element Unify, each Graph Node has a Template associated with it, these templates are made up of various Attributes, from things like Telemetry points such as 'Engine Speed' to static values like 'Ideal Fuel Consumption Speed'. We use these Templates and translate them into DTDL, or ‘Digital Twin Definition Language’ format. This format is what Azure Digital Twins uses to define its Models.


For Example: We translate this, a ‘Superior15GTLA’ Pump Model into a DTDL model, and upload this into Azure Digital Twins:

The asset template represented inside Element UnifyThe asset template represented inside Element Unify


 "@id": "dtmi:com:elementunify:Superior16GTLA;1",
 "@type": "Interface",
 "@context": [
 "displayName": "Superior16GTLA",
 "contents": [
   "name": "Brake_Specific_Fuel_Consumption",
   "displayName": "Brake Specific Fuel Consumption",
   "@type": "Property",
   "schema": "double"
   "name": "Brake_Specific_Fuel_Consumption_Ideal",
   "displayName": "Brake Specific Fuel Consumption Ideal",
   "@type": "Property",
   "schema": "double"


   "name": "RB_Jacket_Water_Outlet_Temp",
   "displayName": "RB Jacket Water Outlet Temp",
   "@type": "Telemetry",
   "schema": "double"


As this snippet shows, this gets translated into DTDL (Digital Twin Definition Language) and populated inside Azure Digital Twins via the Plugin.


Relationships, Twins and configuration in Element Unify


Now that we have our models, the Element Unify plugin reads the Graph from Element and begins to replicate and construct the graph, as part of building your Element Pipeline. Inside the Template for each Object there is an Attribute known as 'Parent_Child'. This Attribute is responsible for assisting in creating the relationships between each node from a Model Perspective.


We can see here the Parent of any Superior16GTLA's are Children of the 'CompressorEngines' Template.We can see here the Parent of any Superior16GTLA's are Children of the 'CompressorEngines' Template.


And inside the Element Pipeline, we can define the specific Nodes (or Twins in ADT Terminology) and how they relate to another specific Node.


Inside the Element Graph, we can see node 'C4' has been associated as a parent of CompressorEnginesGInside the Element Graph, we can see node 'C4' has been associated as a parent of CompressorEnginesG


And, then we can replicate the Element Unify graph into Azure Digital Twins:

The Twins represented in the Element Unify GraphThe Twins represented in the Element Unify Graph


The Twins represented in the Azure Digital Twins InstanceThe Twins represented in the Azure Digital Twins Instance


As you can see above, we have the final product of a Twin Graph inside Azure Digital Twins. Element Unify will be kept updated as you add, remove, update, and create new Models and Relationships.



At the core of a comprehensive Digital Twin are highly contextualized models, and a graph with relevant and interesting data. Your business generally has this data represented in different formats and stored in siloed locations.


Element Unify, alongside Azure Digital twins has the power to simplify bringing all this disparate data into one place easily. With the Element Unify Plugin for Azure Digital Twins working to contextualize and import this data into your Azure Digital Twins instance, you unlock the value of rest of the Azure platform services such as PowerBI, Azure Data Explorer, etc.


We'd love for you to give this a go, as well as provide any feedback or features you think this workflow can support. Feel free to sign up for a Trial to Element Unify, as well as Azure Digital Twins inside Azure today.

Version history
Last update:
‎Jun 02 2022 08:01 AM
Updated by: