Contents
Cirrus Link Resources
Cirrus Link Website
Contact Us (Sales/Support)
Forum
Cirrus Link Modules Docs for Ignition 7.9.x
Inductive Resources
Ignition User Manual
Knowledge Base Articles
Inductive University
Forum
...
In this scenario, the UDT tags are converted to normal tags with the name comprising the UDT instance and the UDT tag for example name: "Test_UDT/Int001" and associated dataType
...
{"topic":{"namespace":"spBv1.0","edgeNodeDescriptor":"Tutorial_Group/Tutorial_Edge_Node","groupId":"Tutorial_Group","edgeNodeId":"Tutorial_Edge_Node","type":"NDEATH"},"payload":{"timestamp":1652121534156,"metrics":[{"name":"bdSeq","timestamp":1652121534156,"dataType":"Int64","value":0}],"seq":-1}}
...
{"topic":{"namespace":"spBv1.0","edgeNodeDescriptor":"Tutorial_Group/Tutorial_Edge_Node","groupId":"Tutorial_Group","edgeNodeId":"Tutorial_Edge_Node","type":"NBIRTH"},"payload":{"timestamp":1652121535168,"metrics":[{"name":"bdSeq","timestamp":1652121535167,"dataType":"Int64","value":0}],"seq":0}}
...
{"topic":{"namespace":"spBv1.0","edgeNodeDescriptor":"Tutorial_Group/Tutorial_Edge_Node","groupId":"Tutorial_Group","edgeNodeId":"Tutorial_Edge_Node","deviceId":"Tutorial_Device","type":"DBIRTH"},"payload":{"timestamp":1652121535168,"metrics":[{"name":"Test_UDT/Int001","timestamp":1652121535168,"dataType":"Int32","metaData":{},"properties":{"Quality":{"type":"Int32","value":192}},"value":10},{"name":"Test_UDT/Int003","timestamp":1652121535168,"dataType":"Int32","metaData":{},"properties":{"Quality":{"type":"Int32","value":192}},"value":30},{"name":"Test_UDT/Int002","timestamp":1652121535168,"dataType":"Int32","metaData":{},"properties":{"Quality":{"type":"Int32","value":192}},"value":20}],"seq":1}}
...
{"topic":"namespace":"spBv1.0","edgeNodeDescriptor":"Tutorial_Group/Tutorial_Edge_Node","groupId":"Tutorial_Group","edgeNodeId":"Tutorial_Edge_Node","deviceId":"Tutorial_Device","type":"DDATA"},"payload":{"timestamp":1652121670904,"metrics":[{"name":"Test_UDT/Int001","timestamp":1652121669893,"dataType":"Int32","value":100}],"seq":2}}
...
{"topic":"namespace":"spBv1.0","edgeNodeDescriptor":"Tutorial_Group/Tutorial_Edge_Node","groupId":"Tutorial_Group","edgeNodeId":"Tutorial_Edge_Node","deviceId":"Tutorial_Device","type":"DDATA"},"payload":{"timestamp":1652121707709,"metrics":[{"name":"Test_UDT/Int002","timestamp":1652121706702,"dataType":"Int32","value":200}],"seq":3}}
Convert UDTs: False
...
In this scenario, the UDT tags are included in the DDATA or NDATA payloads with a dataType of Template and the tag name contained in the metaData
...
{"topic":{"namespace":"spBv1.0","edgeNodeDescriptor":"Tutorial_Group/Tutorial_Edge_Node","groupId":"Tutorial_Group","edgeNodeId":"Tutorial_Edge_Node","type":"NDEATH"},"payload":{"timestamp":1652122108771,"metrics":[{"name":"bdSeq","timestamp":1652122108771,"dataType":"Int64","value":0}],"seq":-1}}
...
{"topic":{"namespace":"spBv1.0","edgeNodeDescriptor":"Tutorial_Group/Tutorial_Edge_Node","groupId":"Tutorial_Group","edgeNodeId":"Tutorial_Edge_Node","type":"NBIRTH"},"payload":{"timestamp":1652122109797,"metrics":[{"name":"UDT001","timestamp":1652122109790,"dataType":"Template","value":{"isDefinition":true,"metrics":[{"name":"Int001","timestamp":1652121236868,"dataType":"Int32","metaData":{},"value":10},{"name":"Int002","timestamp":1652121244677,"dataType":"Int32","metaData":{},"value":20},{"name":"Int003","timestamp":1652121249789,"dataType":"Int32","metaData":{},"value":30}]}},{"name":"bdSeq","timestamp":1652122109795,"dataType":"Int64","value":0}],"seq":0}}
...
{"topic":"namespace":"spBv1.0","edgeNodeDescriptor":"Tutorial_Group/Tutorial_Edge_Node","groupId":"Tutorial_Group","edgeNodeId":"Tutorial_Edge_Node","deviceId":"Tutorial_Device","type":"DBIRTH"},"payload":{"timestamp":1652122109797,"metrics":[{"name":"Test_UDT","timestamp":1652122109809,"dataType":"Template","metaData":{},"value":{"reference":"UDT001","isDefinition":false,"metrics":[{"name":"Int001","timestamp":1652122109797,"dataType":"Int32","metaData":{},"value":100},{"name":"Int002","timestamp":1652122109797,"dataType":"Int32","metaData":{},"value":400200},{"name":"Int003","timestamp":1652122109797,"dataType":"Int32","metaData":{},"value":300}]}}],"seq":1}}
...
{"topic":{"namespace":"spBv1.0","edgeNodeDescriptor":"Tutorial_Group/Tutorial_Edge_Node","groupId":"Tutorial_Group","edgeNodeId":"Tutorial_Edge_Node","deviceId":"Tutorial_Device","type":"DDATA"},"payload":{"timestamp":1652122230548,"metrics":[{"name":"Test_UDT","timestamp":1652122229536,"dataType":"Template","metaData":{},"value":{"reference":"UDT001","isDefinition":false,"metrics":[{"name":"Int001","timestamp":1652122229536,"dataType":"Int32","metaData":{},"value":1000}]}}],"seq":2}}
...
{"topic":"namespace":"spBv1.0","edgeNodeDescriptor":"Tutorial_Group/Tutorial_Edge_Node","groupId":"Tutorial_Group","edgeNodeId":"Tutorial_Edge_Node","deviceId":"Tutorial_Device","type":"DDATA"},"payload":{"timestamp":1652122234323,"metrics":[{"name":"Test_UDT","timestamp":1652122233319,"dataType":"Template","metaData":{},"value":{"reference":"UDT001","isDefinition":false,"metrics":[{"name":"Int002","timestamp":1652122233319,"dataType":"Int32","metaData":{},"value":2000}]}}],"seq":3}}
Convert UDTs: False
...
Note |
---|
It will be the responsibility of the client subscribing to this data to reconstruct as UDTs if required |
{"topic":{"namespace":"spBv1.0","edgeNodeDescriptor":"Tutorial_Group/Tutorial_Edge_Node","groupId":"Tutorial_Group","edgeNodeId":"Tutorial_Edge_Node","type":"NDEATH"},"payload":{"timestamp":1652122380765,"metrics":[{"name":"bdSeq","timestamp":1652122380765,"dataType":"Int64","value":0}],"seq":-1}}
...
{"topic":{"namespace":"spBv1.0","edgeNodeDescriptor":"Tutorial_Group/Tutorial_Edge_Node","groupId":"Tutorial_Group","edgeNodeId":"Tutorial_Edge_Node","type":"NBIRTH"},"payload":{"timestamp":1652122381786,"metrics":[{"name":"UDT001","timestamp":1652122381778,"dataType":"Template","value":{"isDefinition":true,"metrics":[{"name":"Int001","timestamp":1652121236868,"dataType":"Int32","metaData":{},"value":10},{"name":"Int002","timestamp":1652121244677,"dataType":"Int32","metaData":{},"value":20},{"name":"Int003","timestamp":1652121249789,"dataType":"Int32","metaData":{},"value":30}]}},{"name":"bdSeq","timestamp":1652122381785,"dataType":"Int64","value":0}],"seq":0}}
...
{"topic":"namespace":"spBv1.0","edgeNodeDescriptor":"Tutorial_Group/Tutorial_Edge_Node","groupId":"Tutorial_Group","edgeNodeId":"Tutorial_Edge_Node","deviceId":"Tutorial_Device","type":"DBIRTH"},"payload":{"timestamp":1652122381786,"metrics":[{"name":"Test_UDT","timestamp":1652122381790,"dataType":"Template","metaData":{},"value":{"reference":"UDT001","isDefinition":false,"metrics":[{"name":"Int001","timestamp":1652122381786,"dataType":"Int32","metaData":{},"value":1000},{"name":"Int002","timestamp":1652122381786,"dataType":"Int32","metaData":{},"value":2000},{"name":"Int003","timestamp":1652122381786,"dataType":"Int32","metaData":{},"value":300}]}}],"seq":1}}
...
{"topic":{"namespace":"spBv1.0","edgeNodeDescriptor":"Tutorial_Group/Tutorial_Edge_Node","groupId":"Tutorial_Group","edgeNodeId":"Tutorial_Edge_Node","deviceId":"Tutorial_Device","type":"DDATA"},"payload":{"timestamp":1652122454226,"metrics":[{"name":"Test_UDT/Int003","timestamp":1652122453164,"dataType":"Int32","value":3000}],"seq":2}}
...
{"topic":{"namespace":"spBv1.0","edgeNodeDescriptor":"Tutorial_Group/Tutorial_Edge_Node","groupId":"Tutorial_Group","edgeNodeId":"Tutorial_Edge_Node","deviceId":"Tutorial_Device","type":"DDATA"},"payload":{"timestamp":1652122457602,"metrics":[{"name":"Test_UDT/Int001","timestamp":1652122456594,"dataType":"Int32","value":100}],"seq":3}}
...
{"topic":{"namespace":"spBv1.0","edgeNodeDescriptor":"Tutorial_Group/Tutorial_Edge_Node","groupId":"Tutorial_Group","edgeNodeId":"Tutorial_Edge_Node","deviceId":"Tutorial_Device","type":"DDATA"},"payload":{"timestamp":1652122558395,"metrics":[{"name":"Test_UDT/Int001","timestamp":1652122557388,"dataType":"Int32","value":1000}],"seq":4}}
Publish UDT Definition: False
...
True
{"topic":{"namespace":"spBv1.0","edgeNodeDescriptor":"Tutorial_Group/Tutorial_Edge_Node","groupId":"Tutorial_Group","edgeNodeId":"Tutorial_Edge_Node","type":"NBIRTH"},"payload":{"timestamp":
...
1652122381786,"metrics":[{"name":"
...
UDT001","timestamp":
...
1652122381778,"dataType":"
...
Template","value":
...
{"isDefinition":true,"metrics":[{"name":"Int001","timestamp":1652121236868,"dataType":"Int32","metaData":{},"value":10},{"name":"Int002","timestamp":
...
1652121244677,"dataType":"
...
Int32","
...
metaData":{
...
},"
...
value":
...
20},{"name":"
...
Int003","timestamp":
...
1652121249789,"dataType":"Int32","metaData":{},"value":
...
30}]}},{"name":"
...
bdSeq","timestamp":
...
1652122381785,"dataType":"Int64","value":0}],"seq":0}}
Publish UDT Definition: False
{"topic":
...
{"namespace":"spBv1.0","
...
edgeNodeDescriptor":
...
"Tutorial_Group/Tutorial_Edge_Node","groupId":"Tutorial_Group","edgeNodeId":"Tutorial_Edge_Node","type":"NBIRTH"},"payload":{"timestamp":1652123286421,"metrics":[{"name":"bdSeq","timestamp":
...
1652123286417,"dataType":"Int64","value":0}],"seq":0}}
Tip |
---|
This functionality is useful if your UDT definitions do not frequently change and you can avoid the data overhead of including the UDT definition in the NBIRTH payload |
...