Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Sparkplug B Publishers

For the following example, eACM is collecting data from a device named “Device1”.

AUTOSOL MQTT’s SparkplugB publisher has a GroupID of “LocalGroup” and NodeID of “FirstNode” (set on the SparkplugB Sparkplug B tab).

What topics should appear in the broker?

When the publisher first starts, there will be a node birth:

...

Followed by a birth message for our the device(s). These will contain the initial values for all of the tags associated with each device:

...

Finally, in the course of normal operation, there will be a series of data messages. These are published at a the rate defined by the Publish Interval in the device object, assuming if any tag’s value has changed within that interval:

...

If communications are lost, or AUTOSOL MQTT is stopped, a node death message will arrive, signalling signaling to all subscribers that the node is down:

Code Block
spBv1.0/LocalGroup/NDEATH/FirstNode
Info

As

...

Sparkplug B is not a human readable format, a Sparkplug Decoder is needed to resolve the contents of these messages.

Standard Publishers

For the following example, eACM is collecting data from a device named “Device1”, with the tag “Tag1”.

AUTOSOL MQTT’s Standard publisher has a NodeID of “LocalNode” (set on the MQTT tab).

What topics will appear in the broker?

When AUTOSOL MQTT starts up, tag data will appear with the topic:

Code Block
LocalNode/Device1/Tag1

It has a timestamp reflecting time of publication and the payload is the value of the tag.

When AUTOSOL MQTT stops, or when communication with the end device is lost, a death message will indicate that the node is offline with the topic:

Code Block
LocalNode/DEATH

To write to a tag using the standard publisher, publish to the topic below with the value in clear text.

Code Block
LocalNode/Device1/WRITE/Tag1