![]()
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![]()
When MQTT Transmission is configured with "Publish UDT Definitions" set to True, the UDT Definitions will be included in NBIRTH messages where each UDT Definition includes an "md5" metric.
For each named UDT Definition, MQTT Engine will compare the MD5 sum received in the NBIRTH with the MD5 sum of the UDT Definition stored to detect differences and identify collisions.
If a collision is detected, the UDT Definition received in the NBIRTH will be ignored and a warning will be logged from the com.cirruslink.mqtt.engine.gateway.sparkplug.SparkplugBPayloadHandler logger calling out the UDT Definition name - in the message sample below the UDT Definition name "TestUDT":
Turning this logger to TRACE will show additional logging messages to help identify the mismatch in UDT definitions as well as the edge node publishing the conflicting UDT Definition.
Lets break down the logger messages in our example:
These two messages identify the MD5 sum of the UDT Definition stored at MQTt Engine. Two methods are employed - calculated and from metadata
This message identifies the MD5 sum of the UDT Definition contained in the NBIRTH message from the Edge Node.
We are able to identify the publishing the conflicting UDT Definition from the topic.