Overview

There are six primary components used in a system using IoT Bridge. There are:



There are some translations that need to take place between the components and these platforms have different capabilities that result in some limitations in how an Edge Gateway can be configured. For example, UDTs in Ignition support more data types than Azure Digital Twin (ADT) does. As a result, use of data types in Ignition must be limited to those supported by Azure Digital Twin (ADT) in order for data to properly show up and be updated in Azure Data Explorer. 

Mappings

Ignition and Azure Digital Twins use different terminology for similar constructs. Those definitions are below.

Constraints and Limitations

Supported Data Types

Azure Digital Twin only supports Boolean, Date, DateTime, Double, Duration, Float, Integer, Long, String, and Time. As a result, this is the list of data types in Ignition that are supported for consumption into Azure Digital Twin.

Any non-supported data type will be converted to a String in ADT and the measurement value for any instance will show an error with a message similar to "<Your_Datatype> is not a valid datatype"


User Defined Types (UDTs)

Editing User Defined Types (UDTs)

Due to caching within Azure when editing models which may take 10-15 minutes or longer, see Azure Digital Twins - Manage DTDL models, the recommended approach for when a UDT at the Edge requires modification is to use versioning in the UDT name.

Delete the Digital Twin instance(s) using this model. 

You can use the query SELECT * FROM digitaltwins DT WHERE IS_OF_MODEL(DT, 'dtmi:domain:modelname;1', exact) to find all digital twins using the model

Replicate the UDT adding a version number to the name ie. UDT_name_1.0.0. In your UDT Definitions you will now have both the original UDT and the modified one.  For each of your tags using this original UDT, edit these to use the Parent Type of your modified UDT and refresh Transmission.

A new Azure Digital Twin model will be created along with the associated Digital Twin(s) for that model. 

Nested/Hierarchical User Defined Types (UDTs)

Azure Digital Twin allows Asset Models to have one or more child Asset Models. Ignition supports UDTs having children UDTs as well as UDTs referencing a parent UDT. However, these hierarchical relationships will not be maintained by IBAZ. UDTs having child UDTs will generate a single model Asset Model.

Azure Digital Twin Limits and Quotas

Azure Digital Twin has limits and quotas on many different aspects of asset model counts, asset counts, number or attributes per model, etc. For details on those limits see this document.


Metrics Digital Twins created by IBAZ

There are three types of digital twins created by IBAZ to show the connection metrics.

IBAZ_Metrics_IBAZ_Info


IBAZ_Metrics_MQTT_Client


IBAZ_Metrics_Edge_Node_Info