RediGate to Inductive Automation Ignition--Sparkplug B

New Example Using Sparkplug B Payload

Prior to September 2017, the RediGate to Inductive Automation Ignition--MQ-RBE example used the proprietary Elecsys "MQ-RBE" payload for publishing data to Ignition. While this payload is still supported, it is recommended that new users utilize the Cirrus-Link "Sparkplug B" payload, which is open source and contains more features (such as historical "store-and-forward" functionality). This document outlines how to use the RediGate to publish data in the Sparkplug B payload format.

Introduction

In this tutorial, we will be demonstrating connectivity to the Ignition platform (www.inductiveautomation.com) using the MQTT modules available from Cirrus Link (http://www.cirrus-link.com/). Elecsys has a publicly hosted Ignition server that our customers can use for testing connections to their RediGate and RediLink devices. We will use a RediGate 120e with internet connectivity to demonstrate this connectivity, but this tutorial can be applied to any RediGate device with internet connectivity. To setup your own MQTT-enabled Ignition server to publish data to, visit https://docs.chariot.io/display/CLD/MQTT+Module+Installation.

Pre-Requisites

  1. A RediGate 100 or 400 series device with internet connectivity
  2. Completion of the Getting Started Guide for your respective RediGate device (See RediGate 100 Series Getting Started Guide or RediGate 400 Series Getting Started Guide)
  3. Ability to ping ignition.mqtt.com from your RediGate device (see Ping Utility for information regarding how to ping devices/websites from the RediGate)
    1. If you are unable to ping ignition.mqtt.com, you may need to enable DNS on your device:

Instructions

  1. Using ACE, Open the default config you used in the "Getting Started Guide"
  2. Download and open the Elecsys-Ignition-Demo-SPB.xml from https://ftp.elecsyscorp.com/RediGate/Examples/Elecsys-Ignition-Demo-SPB.zip within the same ACE window as your getting started configuration

    You will need to extract the .xml file from the .zip file you downloaded from the website. By default, ACE stores configuration files in the Documents\Elecsys\ACE\CFG folder, but you can store the configuration in any file location accessible by the ACE program.

     

  3. Copy and paste the following objects from the Elecsys-Ignition-Demo-SPB config into the configuration you created in the "Getting Started" guide:
    1. Data Simulator Unit 2 (Paste under "Null Circuit")
    2. Data Simulator POD (Paste under "Internal Channel 15")
    3. SparkPlugB_RBE (Paste under "Clients")
    4. Report 0 - Simulated Data (Paste under "Master Channels")

    Renaming Copied Nodes

    Each node must have a unique name, so ACE automatically appends a timestamp to the name when it is pasted into a configuration. You can rename the nodes by clicking on the name of the node or by right-clicking on the node and selecting the "Rename Node" option (ACE 3.5 or later). The name has no operational significance and is user-definable – just make sure that the name remains unique in this configuration.

  4. Under the "Virtual Unit 3" object, change the "Produce RBEs" value to "No"
  5. Change the System → Unit Name parameter to something unique to your device


  6. Update the "Internal Channel 15" object's scan table so that it scans the poll table in the FieldUnitInternalMast2 object we added, and also performs a "self-poll" so the RediGate knowns a poll has been completed and thus marks the simulation RTU as alive:
  7. Save your configuration with a different name than your default config
  8. Upload the configuration to your device
  9. Visit http://ignition.mqtt.com and launch the "Public MQTT Tags" application
    1. Username: demo_user
    2. Password: demo_user_pass
  10. You should be able to view the tags that correspond with your System → Unit Name
  11. If you have your own Ignition + Cirrus-Link Modules server you would like to publish the data to, simply edit the "SparkPlugB_RBE" object so that it has the correct server credentials:

    1. To setup a TLS connection using port 8883 instead of the basic 1883 port, see TLS Connection to MQTT Broker