Sparkplug B

Overview

Sparkplug B is a specification designed based on the characteristic features of IoT applications. It helps define topics and messages that are not specified by standard MQTT, and allows non-MQTT terminal devices to transfer data with MQTT Server through Edge of Network, which can be HMIs in this architecture.

Advantages of Sparkplug:

  • Multi-programming language support and cross-platform.
  • Binary encoding which is more efficient than JSON.
  • NDATA/DDATA (Node Data Message / Device Data Message) only publishes the data that has changed.

In this manual, HMI’s local MQTT server is used for explaining setup process.

System Requirement

Software Version: EasyBuilder Pro V6.01.01 or later
Applicable models: cMT Series HMI

Ignition:https://inductiveautomation.com/downloads/ignition
MQTT Modules: https://inductiveautomation.com/pricing/ignition/third-party-modules

Installing Ignition

  1. Run Ignition Installer.
  2. Select Ignition for Platform Edition, and Typical for Installation Mode.
  3. Ignition page opens after installation. Or enter “localhost:8088” in the browser.
  4. Click [Configuration section] to open Ignition Gateway, or enter “localhost:8088/main/web/config” in the browser.

  1. The default username/password of Ignition Gateway are: admin/password.
  2. Select [SYSTEM] » [Modules] on the left, and select [Install or Upgrade a Module] at the bottom of the page.

  1. Click [Choose File].
  2. Add MQTT Engine Module. This module can be found in Cirrus Link Solutions list after being added.

  1. Find [MQTT ENGINE] » [Settings]. Click [Servers] » [Create a new MQTT Server].

  1. Select Third Party as Server Type, and configure the settings.

  1. To enable write operations of Ignition Designer, do not select [Enable blocking of outbound edge node tag writes] and [Enable blocking of outbound device tag writes].

  1. Ignition Gateway is now all set.

Creating EasyBuilder Project

  1. Create a new cMT project file, select [MQTT] in [IIoT/Energy] tab.
  2. In General tab select [Sparkplug B] for [Cloud service]. When local HMI is used as MQTT Server, set IP address to 127.0.0.1, and Port number to 1883. Authentication is optional, while selected, please enter username and password.

  1. In Sparkplug B group box, open General tab, and enter [Goupt ID] and [Edge node ID].

  1. In [Device] tab create several tags readable using Sparkplug B.

  1. Download this project file to HMI.


Obtaining EoN Tag using Ignition Designer

  1. Click [Launch Designer] in the upper-right corner of Ignition Gateway page. The “designer.jnlp” file will be downloaded by doing so.
  2. Run designer.jnlp file after download.
  3. The default username/password of Ignition Designer are: admin/password.

  1. Create a new project, enter project name in its field and then click [Create New Project].

  1. When successfully connected, the tags added in EasyBuilder project file can be found in Tag Browser’s [All Providers] » [MQTT Engine] » [cMT Group] (Group ID) » [cMT EoN] (Edge node ID).

References

  1. Cirrus Link Documentation: https://docs.chariot.io/display/CLD/Cirrus+Link+Documentation
  2. Ignition User Manual: https://docs.inductiveautomation.com/display/DOC79/Ignition+User+Manual