UNS
The UNS (Unified Namespace) is the human-readable "single source of truth" for real-time communication between non-industrial IoT (IIoT) Factory+ data producers and consumers.
ACS UNS Component
Overview
The UNS is one of two namespaces that Factory+ components use for publishing and subscribing. The Sparkplug namespace facilitates data collection in levels 1 and 2 of the ISA-95 functional model, while the UNS serves as a means of communication for components at levels 3 and above (MES and ERP systems). Data from the edge is published to the Sparkplug namespace and then republished to the UNS by the UNS Ingester component, complying with the UNS topic and data structure specification.
Schema
The ISA-95 hierarchy for a device is defined by the Device Information Schema
under "ISA95_Hierarchy"
published on DBRITH
.
- The ISA-95 hierarchy MUST be populated for the Sparkplug UNS Ingester to republish packets to the UNS.
Topic Structure
The UNS Topic structure must follow the standard: <ISA-95>/<Source>/<SchemaPath>
.
- All topics MUST be prefixed with the ISA-95 hierarchy.
Name | Optional |
---|---|
Enterprise | No |
Site | Yes |
Area | Yes |
Work Centre | Yes |
Work Unit | Yes |
- Topics MUST specify their source (Edge, MES, etc.).
- Topics MUST contain the schema path to the value being published.
Example: CompanyA/SiteB/Machining/Edge/Power/Voltage
Packet Structure
The MQTT broker MUST support MQTTv5 to enable custom properties defined in the payload specification.
Payload
The UNS packet structure consists of the latest value and timestamp. The structure also supports batched metrics, with the "Batch" property containing an array of values and timestamps.
Property | Type | Description |
---|---|---|
Value | string | The value to publish |
Timestamp | string | The timestamp of the value at source |
Batch | array | Array of values and timestamps to publish |
Custom Properties
The packet utilises MQTTv5 custom properties to send metadata relating to the value. These values are parsed from the Sparkplug payload when republishing to the UNS.
Property | Type | Description |
---|---|---|
InstanceUUIDPath | UUID | The full instance UUID path of the device |
InstanceUUID | UUID | The top level instance UUID of the device |
SchemaUUIDPath | string | The full schema UUID path the value relates to |
SchemaUUID | UUID | The top-level UUID of the utilised schema |
Type | string | The Sparkplug type of the value |
Unit | string | The measurement unit of the value |
Transient | boolean | Record the value to the historian |
Permissions
Global
{
"UNS/v1/#": "w"
}
{
"UNS/v1/#": "rs"
}