This is the Sparkplug command workflow when using MQTT Engine and MQTT Transmission:

  1. On a Sparkplug edge client (MQTT Transmission) connection subscriptions are made for
    • spBv1.0/GroupId/NCMD/EdgeNodeId
    • spBv1.0/GroupId/DCMD/EdgeNodeId/#

  2. A write to an MQTT Engine tag generates a CMD message (either DCMD or NCMD depending on the Ignition folder tag hierarchy) encapsulating the tag write
    • Block Node commands and/or Block Device Commands must be disabled in the MQTT Engine configuration

  3. The CMD message is published to the appropriate Sparkplug edge client

  4. The Sparkplug edge client (MQTT Transmission) receives the CMD message and decodes the payload
    • Block Commands must be disabled in the MQTT Transmission transmitter configuration

  5. MQTT Transmission writes the tag on the Ignition edge gateway which results in two actions:
    • A write to the associated PLC via the Ignition OPC-US Server and associated driver if the tag is an OPC tag
    • Publish of a Sparkplug DATA message with the value change for the appropriate metric name

  6. MQTT Engine decodes the published Sparkplug DATA message and updates the appropriate tag under the MQTT Engine tag provider


  • No labels