Versions Compared

Key

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

...

Central Ignition Gateway Setup

MQTT Distributor can be left in its default configuration.  Note in a production system you would likely want to set up TLS especially if MQTT connections are using the Internet.

MQTT Engine can also be left in its default configuration.

MQTT Recorder requires that a Database be set up in Ignition.  That can be done as described here.  Note Ignition supports additional database types.  For more detailed information about supported types, take a look at the information provided here.  Once a database is set up, MQTT Recorder can be configured.  Do so by opening the Ignition Gateway Web UI and browsing to the Configure tab at the top of the screen and then selecting 'MQTT Recorder Settings' as shown in the lower left below.

Image Added

Once there, select a Datasource as shown in the image below.  This drop-down will be populated with any database connections you have set up in Ignition.  Optionally you can select a Partition Period if you would like tables segregated by time blocks.

Image Added

At this point, the Central Ignition Gateway with MQTT Distributor, MQTT Engine, and MQTT Recorder is fully configured and ready to receive MQTT Sparkplug messages from the Remote/Edge Ignition Gateway.  MQTT Distributor listens on TCP port 1883 by default for inbound MQTT connections.  Make sure your Operating System's Firewall, Antivirus, and Malware protection services allow inbound connections on port 1883/TCP before proceeding.


Remote/Edge Ignition Gateway Setup

With the Central Ignition Gateway ready to receive MQTT/Sparkplug RECORD objects, we can set up the EFM Emerson ROC and MQTT Transmission modules on the Remote/Edge Ignition Gateway.  Start by configuring the EFM Emerson ROC module.  This is done as described in the Emerson ROC Configuration manual.  In going through the basic setup and configuration for Alarm confguration you must perform the following steps at a minimum.

  1. Define the global TLP definitions available for all ROC devices in this Ignition instance
  2. Create the base device connection to the ROC
    1. The 'Alarm Scan Rate' in this connection configuration must be greater than zero to tell the driver to poll for alarm data at the specified rate.
    2. Set the Sparkplug Group ID, Edge Node ID, and Device ID that represent this device.  These will be used again later in the MQTT Transmission configuration.
  3. Specify the subset of TLP definitions that this specific ROC uses

These steps can be skipped if you will not be configuring the driver to poll for TLP data.

  1. Create TLP Template(s) which define groups of TLPs should be polled as a logical group
  2. Create TLP Poll Group(s) which specify the logical parameters associated with a given TLP Template
  3. Use Ignition designer to pull tags into a tag provider

At this point the EFM Emerson ROC driver is configured and is polling for alarm data at the rate specified in the EFM Emerson ROC device configuration.  The next step is to configure MQTT Transmission.  Do so by opening Ignition Designer and creating a tag structure similar to what is shown below.


Image AddedNote this structure is based on usage of the 'Default Transmitter' in MQTT Transmission.  So, the directory structure is very important.  Note the structure.

  • tag provider/Edge Nodes/Sparkplug Group ID/Sparkplug Edge Node ID/Sparkplug Device ID

In the example below this implies the following definitions:

  • Sparkplug Group ID = G1
  • Sparkplug Edge Node ID = E1
  • Sparkplug Device ID = Flow Computer 1

These values must match the EFM Emerson ROC connection Sparkplug parameters exactly.  This tells the EFM Emerson ROC which MQTT Transmission Transmitter configuration to use and in turn, which MQTT connection to use to send the alarm data on.

Note at least one tag is also required below the Sparkplug Device ID level.  Often times there would be TLP tags at this level.