Skip to content

时间序列元数据消息示例

时间序列元数据

示例元数据消息与 "c/{clientId}/o/opcua/v3/u/m/t" 主题相关。

此操作只创建资源例如 Asset Types, Assets and Aspect Types, 无法执行更新和删除操作。

元数据示例

示例
{
    "networkMessageHeader": {
        "versionFlags": -112,
        "extendedFlags1": {
            "value": 132
        },
        "extendedFlags2": {
            "value": 8
        },
        "publisherId": "vehicle-001-publisher",
        "uadpversion": 0,
        "groupHeaderEnabled": false,
        "payloadHeaderEnabled": false,
        "timestampEnabled": false,
        "picoSecondsEnabled": false,
        "promotedFieldsEnabled": false,
        "securityEnabled": false,
        "chunkMessage": false,
        "networkMessageType": "DISCOVERY_RESPONSE",
        "extendedFlags2Enabled": true,
        "publisherIdEnabled": true,
        "publisherIdDataType": "String",
        "dataSetClassIdEnabled": false,
        "extendedFlags1Enabled": true
    },
    "payload": {
        "messages": [{
            "discoveryResponseHeader": {
                "responseType": "DATA_SET_METADATA_MESSAGE",
                "sequenceNumber": 0
            },
            "discoveryResponseMessage": {
                "dataSetWriterId": 1000,
                "metaData": {
                    "structureDataTypes": [{
                        "structureDefinition": {
                            "dataTypeId": {
                                "namespaceIndex": 1,
                                "value": 1,
                                "nullNodeId": false,
                                "idType": "Numeric"
                            },
                            "name": {
                                "namespaceIndex": 0,
                                "name": "ElectricEngine"
                            },
                            "defaultEncodingId": {
                                "namespaceIndex": 0,
                                "value": 12,
                                "nullNodeId": false,
                                "idType": "Numeric"
                            },
                            "baseDataType": {
                                "namespaceIndex": 0,
                                "value": 12,
                                "nullNodeId": false,
                                "idType": "Numeric"
                            },
                            "structureType": "< Ignored Value >",
                            "fields": [{
                                "name": "Voltage",
                                "description": {
                                    "text": "Shows voltage of the device"
                                },
                                "dataType": {
                                    "namespaceIndex": 0,
                                    "value": 11,
                                    "nullNodeId": false,
                                    "idType": "Numeric"
                                },
                                "valueRank": -1,
                                "optional": false
                            }, {
                                "name": "Current",
                                "description": {
                                    "text": "Shows current over the device"
                                },
                                "dataType": {
                                    "namespaceIndex": 0,
                                    "value": 11,
                                    "nullNodeId": false,
                                    "idType": "Numeric"
                                },
                                "valueRank": -1,
                                "optional": false
                            }]
                        }
                    }, {
                        "structureDefinition": {
                            "dataTypeId": {
                                "namespaceIndex": 1,
                                "value": 2,
                                "nullNodeId": false,
                                "idType": "Numeric"
                            },
                            "name": {
                                "namespaceIndex": 0,
                                "name": "Battery"
                            },
                            "defaultEncodingId": {
                                "namespaceIndex": 0,
                                "value": 12,
                                "nullNodeId": false,
                                "idType": "Numeric"
                            },
                            "baseDataType": {
                                "namespaceIndex": 0,
                                "value": 12,
                                "nullNodeId": false,
                                "idType": "Numeric"
                            },
                            "structureType": "< Ignored Value >",
                            "fields": [{
                                "name": "Charging",
                                "description": {
                                    "text": "Indicates whether it's currently charging"
                                },
                                "dataType": {
                                    "namespaceIndex": 0,
                                    "value": 1,
                                    "nullNodeId": false,
                                    "idType": "Numeric"
                                },
                                "valueRank": -1,
                                "optional": false
                            }, {
                                "name": "ChargeLevel",
                                "description": {
                                    "text": "Shows battery charge level"
                                },
                                "dataType": {
                                    "namespaceIndex": 0,
                                    "value": 6,
                                    "nullNodeId": false,
                                    "idType": "Numeric"
                                },
                                "valueRank": -1,
                                "optional": false
                            }]
                        }
                    }],
                    "name": "vehicle-001-publisher",
                    "description": {
                        "text": "OPCUA Pub/Sub Publisher for vehicle-001"
                    },
                    "fields": [{
                            "name": "vehicle-001/engine",
                            "description": {
                                "text": "Engine that provides the needed torque to move the vehicle",
                                "localeId": "< Ignored Value >"
                            },
                            "fieldFlags": {
                                "promotedField": false
                            },
                            "builtInDataType": "ExtensionObject",
                            "dataType": {
                                "namespaceIndex": 1,
                                "value": 1,
                                "nullNodeId": false,
                                "idType": "Numeric"
                            },
                            "dataSetFieldId": "< Ignored Value >",
                            "properties": [{
                                "encodingMask": 12,
                                "key": {
                                    "namespaceIndex": 0,
                                    "name": "Voltage_unit"
                                },
                                "value": "V"
                            }, {
                                "encodingMask": 12,
                                "key": {
                                    "namespaceIndex": 0,
                                    "name": "Current_unit"
                                },
                                "value": "A"
                            }]
                        },
                        {
                            "name": "vehicle-001/batteries/primary",
                            "description": {
                                "text": "Primary battery feeding the engine",
                                "localeId": "< Ignored Value >"
                            },
                            "fieldFlags": {
                                "promotedField": false
                            },
                            "builtInDataType": "ExtensionObject",
                            "dataType": {
                                "namespaceIndex": 1,
                                "value": 2,
                                "nullNodeId": false,
                                "idType": "Numeric"
                            },
                            "dataSetFieldId": "< Ignored Value >",
                            "properties": [{
                                "encodingMask": 12,
                                "key": {
                                    "namespaceIndex": 0,
                                    "name": "ChargeLevel_unit"
                                },
                                "value": "%"
                            }]
                        },
                        {
                            "name": "vehicle-001/batteries/secondary",
                            "description": {
                                "text": "Secondary battery feeding the engine",
                                "localeId": "< Ignored Value >"
                            },
                            "fieldFlags": {
                                "promotedField": false
                            },
                            "builtInDataType": "ExtensionObject",
                            "dataType": {
                                "namespaceIndex": 1,
                                "value": 2,
                                "nullNodeId": false,
                                "idType": "Numeric"
                            },
                            "dataSetFieldId": "< Ignored Value >",
                            "properties": [{
                                "encodingMask": 12,
                                "key": {
                                    "namespaceIndex": 0,
                                    "name": "ChargeLevel_unit"
                                },
                                "value": "%"
                            }]
                        }
                    ],
                    "configurationVersion": {
                        "majorVersion": {
                            "value": 123
                        },
                        "minorVersion": {
                            "value": 123
                        }
                    }
                },
                "statusCode": {
                    "value": 0,
                    "description": "",
                    "severity": 0,
                    "bad": false,
                    "good": true,
                    "notBad": true,
                    "notGood": false,
                    "notUncertain": true,
                    "uncertain": false,
                    "semanticsChanged": false,
                    "structureChanged": false,
                    "subcode": 0,
                    "infotype": 0,
                    "limitBits": 0,
                    "historianBits": 0,
                    "valueAsIntBits": 0,
                    "name": "GOOD",
                    "overflow": false
                }
            }
        }]
    }
}

设备 Asset

如果上述元数据消息到达 OPC UA PubSub Service,则在 Asset Management 中将创建如下所示 assets, aspect types and asset types:

示例
    {
        "assetId": "967bbda37d5d4cd09a3c80cafcdea100",
        "tenantId": "connint5",
        "name": "PubSub0b6273c2fc704295bcff74d80dff6681",
        "etag": 0,
        "externalId": null,
        "t2Tenant": null,
        "subTenant": null,
        "description": null,
        "timezone": "Europe/Berlin",
        "twinType": "performance",
        "parentId": "34308ff4497a4295856c3f87fac5556c",
        "typeId": "core.opcuadatamodel",
        "location": null,
        "fileAssignments": [],
        "variables": [],
        "aspects": [],
        "locks": [],
        "hierarchyPath": [
            {
                "assetId": "34308ff4497a4295856c3f87fac5556c",
                "name": "connint5"
            }
        ],
        "deleted": null,
        "sharing": {
            "modes": []
        },
        "_links": {
            "self": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/967bbda37d5d4cd09a3c80cafcdea100"
            },
            "aspects": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/967bbda37d5d4cd09a3c80cafcdea100/aspects"
            },
            "variables": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/967bbda37d5d4cd09a3c80cafcdea100/variables"
            },
            "location": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/967bbda37d5d4cd09a3c80cafcdea100/location"
            },
            "parent": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/34308ff4497a4295856c3f87fac5556c"
            },
            "children": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets?filter=%7B%22parentId%22:%22967bbda37d5d4cd09a3c80cafcdea100%22%7D"
            }
        }
    }

层级 Assets

所有层级 Assets 创建如下所示:

示例
    {
        "assetId": "2b9c1a342527440a90c7120afad20425",
        "tenantId": "connint5",
        "name": "vehicle-001",
        "timezone": "Europe/Berlin",
        "twinType": "performance",
        "parentId": "967bbda37d5d4cd09a3c80cafcdea100",
        "typeId": "core.opcuahierarcydatatype",
        "_links": {
            "self": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/2b9c1a342527440a90c7120afad20425"
            },
            "location": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/2b9c1a342527440a90c7120afad20425/location"
            },
            "parent": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/967bbda37d5d4cd09a3c80cafcdea100"
            }
        }
    },
    {
        "assetId": "1a9c1a342527440a90c7120afad20431",
        "tenantId": "connint5",
        "name": "batteries",
        "timezone": "Europe/Berlin",
        "twinType": "performance",
        "parentId": "967bbda37d5d4cd09a3c80cafcdea100",
        "typeId": "core.opcuahierarcydatatype",
        "_links": {
            "self": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/1a9c1a342527440a90c7120afad20431"
            },
            "location": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/1a9c1a342527440a90c7120afad20431/location"
            },
            "parent": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/2b9c1a342527440a90c7120afad20425"
            }
        }
    }

数据点 Assets

所有数据点 Assets 创建如下所示:

示例
    {
        "assetId": "2b9c1a342527440a90c7120afad1234",
        "tenantId": "connint5",
        "name": "engine",
        "timezone": "Europe/Berlin",
        "twinType": "performance",
        "parentId": "2b9c1a342527440a90c7120afad20425",
        "typeId": "connint5.ElectricEngine",
        "_links": {
            "self": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/2b9c1a342527440a90c7120afad1234"
            },
            "aspects": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/2b9c1a342527440a90c7120afad1234/aspects"
            },
            "variables": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/2b9c1a342527440a90c7120afad1234/variables"
            },
            "location": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/2b9c1a342527440a90c7120afad1234/location"
            },
            "parent": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/2b9c1a342527440a90c7120afad20425"
            }
        }
    },
    {
        "assetId": "4e4ae801a075434c8628c59b5155db1a",
        "tenantId": "connint5",
        "name": "primary",
        "timezone": "Europe/Berlin",
        "twinType": "performance",
        "parentId": "1a9c1a342527440a90c7120afad20431",
        "typeId": "connint5.Battery",
        "_links": {
            "self": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/4e4ae801a075434c8628c59b5155db1a"
            },
            "aspects": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/4e4ae801a075434c8628c59b5155db1a/aspects"
            },
            "variables": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/4e4ae801a075434c8628c59b5155db1a/variables"
            },
            "location": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/4e4ae801a075434c8628c59b5155db1a/location"
            },
            "parent": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/1a9c1a342527440a90c7120afad20431"
            }
        }
    },
    {
        "assetId": "1e1ae801a075434c8628c59b5155db23",
        "tenantId": "connint5",
        "name": "secondary",
        "timezone": "Europe/Berlin",
        "twinType": "performance",
        "parentId": "1a9c1a342527440a90c7120afad20431",
        "typeId": "connint5.Battery",
        "_links": {
            "self": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/1e1ae801a075434c8628c59b5155db23"
            },
            "aspects": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/1e1ae801a075434c8628c59b5155db23/aspects"
            },
            "variables": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/1e1ae801a075434c8628c59b5155db23/variables"
            },
            "location": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/1e1ae801a075434c8628c59b5155db23/location"
            },
            "parent": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/1a9c1a342527440a90c7120afad20431"
            }
        }
    }

Asset Types

创建的所有 Asset Types 如下:

示例
    {
        "parentTypeId": "core.opcuadatatype",
        "instantiable": true,
        "tenantId": "connint5",
        "name": "ElectricEngine",
        "description": "ElectricEngine Asset Type",
        "scope": "private",
        "aspects": [{
            "name": "ElectricEngineFields",
            "aspectType": {
                "id": "connint5.ElectricEngineFields",
                "tenantId": "connint5",
                "name": "ElectricEngineFields",
                "category": "dynamic",
                "scope": "private",
                "description": "Information about ElectricEngine Data Instance Fields",
                "variables": [{
                        "name": "Voltage",
                        "unit": "V",
                        "searchable": true,
                        "qualityCode": true,
                        "defaultValue": null,
                        "dataType": "DOUBLE"
                    },
                    {
                        "name": "Current",
                        "unit": "A",
                        "searchable": true,
                        "qualityCode": true,
                        "defaultValue": null,
                        "dataType": "DOUBLE"
                    }
                ],

                "_links": {
                    "self": {
                        "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/aspecttypes/connint5.ElectricEngineFields"
                    }
                }
            }
        }],
        "_links": {
            "self": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assettypes/connint5.ElectricEngine"
            },
            "parent": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assettypes/core.opcuadatatype"
            }
        },
        "id": "connint5.ElectricEngine"
    },
    {
        "parentTypeId": "core.opcuadatatype",
        "instantiable": true,
        "tenantId": "connint5",
        "name": "Battery",
        "description": "Battery Asset Type",
        "scope": "private",
        "aspects": [{
            "name": "BatteryFields",
            "aspectType": {
                "id": "connint5.BatteryFields",
                "tenantId": "connint5",
                "name": "BatteryFields",
                "category": "dynamic",
                "scope": "private",
                "description": "Information about Battery Data Instance Fields",
                "variables": [{
                        "name": "Charging",
                        "unit": "",
                        "searchable": true,
                        "qualityCode": true,
                        "defaultValue": null,
                        "dataType": "BOOLEAN"
                    },
                    {
                        "name": "ChargeLevel",
                        "unit": "%",
                        "searchable": true,
                        "qualityCode": true,
                        "defaultValue": null,
                        "dataType": "INT"
                    }
                ],
                "_links": {
                    "self": {
                        "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/aspecttypes/connint5.BatteryFields"
                    }
                }
            }
        }],
        "_links": {
            "self": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assettypes/connint5.Battery"
            },
            "parent": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assettypes/core.opcuadatatype"
            }
        },
        "id": "connint5.Battery"
    }

Aspect Types

创建的 aspect types 如下:

示例
    {
        "id": "connint5.ElectricEngineFields",
        "tenantId": "connint5",
        "name": "ElectricEngineFields",
        "category": "dynamic",
        "scope": "private",
        "description": "Information about ElectricEngine Data Instance Fields",
        "variables": [{
                "name": "Voltage",
                "unit": "V",
                "searchable": true,
                "qualityCode": true,
                "dataType": "DOUBLE",
                "defaultValue": null
            },
            {
                "name": "Current",
                "unit": "A",
                "searchable": true,
                "qualityCode": true,
                "dataType": "DOUBLE",
                "defaultValue": null
            }
        ],
        "_links": {
            "self": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/aspecttypes/connint5.ElectricEngineFields"
            }
        }
    },
    {
        "id": "connint5.BatteryFields",
        "tenantId": "connint5",
        "name": "BatteryFields",
        "category": "dynamic",
        "scope": "private",
        "description": "Information about Battery Data Instance Fields",
        "variables": [{
                "name": "Charging",
                "unit": "",
                "searchable": true,
                "qualityCode": true,
                "dataType": "BOOLEAN",
                "defaultValue": null
            },
            {
                "name": "ChargeLevel",
                "unit": "%",
                "searchable": true,
                "qualityCode": true,
                "dataType": "INT",
                "defaultValue": null
            }
        ],
        "_links": {
            "self": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/aspecttypes/connint5.BatteryFields"
            }
        }
    }

Last update: December 1, 2023