Versions Compared

Key

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

...

In conjunction with the Sparkplug specification, it is very useful to set up a working system that uses the MQTT Sparkplug specification in order to observe a simple but fully functional system.  This section of the tutorial will provide step by step instructions for installing and configuring Ignition Edge MQTT and an Ignition Gateway to show tags being published from Ignition Edge to the Ignition Gateway running MQTT Distributor and MQTT Engine.

  • Central Ignition Gateway Installation
    • MQTT Distributor – An MQTT Server that runs as an Ignition module.
    • MQTT Engine – Engine is an MQTT Client that implements the Sparkplug specification and automatically creates Ignition tag structures for Edge Node and Device metadata and process variables.
  • Ignition Edge MQTT
    • MQTT Transmission – Transmission is an MQTT Client that implements the Sparkplug specification to bridge local Ignition tags (OPC-UA and Memory tags) and publish the resulting structure to an MQTT infrastructure.
    • Additional Ignition Edge MQTT devices could (and normally would) be added to the architecture.

Upon completion of this tutorial you will have all of the required components to configure, deploy, and observe the Sparkplug MQTT specification in action.

Architecture

Tutorial

Step 1: Download and Install the Central Ignition Gateway

Ignition is an Industrial Application Platform that can be used to create SCADA and HMI solutions. A fully functional Ignition system can be downloaded and run in trial mode. Using Ignition as a tool in this way, we can install the Sparkplug MQTT Modules and observe everything working.

...

  • Install MQTT Distributor and MQTT Engine into the Central Ignition Gateway installed in step 1.
  • Install MQTT Transmission into Ignition Edge MQTT that was installed in step 2.

...

Now log in to the Ignition Edge MQTT installed in step 2 using the default credentials of admin/password.  Click on Configuration tab and then click on the Modules tab on the left side of the page.  Scroll to the bottom of the Modules section and click on the Download/Upgrade modules button.  When prompted, select the MQTT Transmission module from the file browser and install it.  When complete, the Ignition Edge MQTT Web UI module section should look similar to what is shown below.

Step 4: Configure the MQTT Modules on the Central Ignition Gateway

By default, MQTT Engine is already configured to point to an MQTT Server at tcp://localhost:1883.  This means it will automatically connect to MQTT Distributor which is installed with it.  There are some other configuration parameters that could optionally be set.  The first is the 'Primary Host ID'.  This is a setting that is highly recommended and should be set on both MQTT Engine and any MQTT Transmission instances that are reporting in as well.  The ASCII string should match exactly on MQTT Engine and all MQTT Transmission instances.  Also, optionally the 'Block Node Commands' and 'Block Device Commands' could be unchecked if you want to allow tag writes in MQTT Engine to result in tag writes on the MQTT Transmission instances (i.e. remote tag writes).  Save the settings after making the changes.

Image Added