You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Prerequisites

Overview

Within MQTT Transmission, a record is a collection of tags under an Ignition folder which are treated as a single entity and published on demand. They are usually used for, but not restricted to, sending flow computer records such as events, alarms and history data.

Records are published via an MQTT client using a Sparkplug-like topic format with a JSON payload.

Records received at MQTT Engine are passed to MQTT Recorder which automatically generates database tables and populates the rows within the tables with records as they are received. 

This tutorial shows how to configure the MQTT modules to generate and publish records to be stored in an MySQL database.

The topology of this example shows MQTT Distributor, MQTT Engine, Record Store, and MQTT Transmission all running in the same Ignition instance.  This is done for simplicity of the tutorial, but this isn't required or even intended to be a real use case.  In a more realistic scenario MQTT Transmission and MQTT Engine would be located on separate machines.

Step 1: Install the MQTT modules

Install the four MQTT modules listed in the pre-requisites onto your Ignition system following the Cirrus Link Module Installation guide.

By default, both MQTT Engine and MQTT Transmission are configured to connect to MQTT Distributor on tcp://localhost:1883 and will show as Connected under their respective Servers configuration setting in the Ignition UI. MQTT Transmission will also have an Example Transmitter configured pointing to a set of tags that are configured in the Ignition "default" tag provider. 

Review the MQTT Transmission Transmitters and Tag Trees tutorial for additional information on how Transmitter configurations interact with Ignition tag trees to create the Sparkplug IDs required.

This allows the three modules to automatically connect and provide a starting base for the tutorial.

Step 2: Configure a database connection

Follow the Ignition Connecting to MySQL guide to configure a database connection to your SQL database.

Step 3: Import tags to create Records in the Ignition tag provider

Within MQTT Transmission, a record is a collection of tags under an Ignition folder which are treated as a single entity and published on demand. The next step is to create the Ignition folders representing the Records within Ignition.

Use the Design Launcher to launch a Designer connection to the Ignition Gateway and create a new project. In the 'default' tag provider, import the recorder_tutorial_tags.json to build a set of Ignition folders to represent the records.

Note the set of tags under the MQTT Tags folder that were automatically configured when the MQTT Transmission module was installed

The imported tags will create three records as shown below:

Step 4: Configure the MQTT Transmission Records

Now we can configure the MQTT Transmission module to publish records using the existing MQTT client created by the Example Transmitter. Navigate to the MQTT Transmitter > Settings in the left side bar of the Ignition Gateway UI and select the Transmitters tab. Note the Sparkplug IDs configured for your transmitter.

For our example we have the Group ID as My MQTT Group and the Edge Node ID as Edge Node 994161


Now we can setup a configuration which points to a record folder and also configs the boolean tag which controls the on demand publish of the record.

Review the MQTT Transmission Configuration guide for more details on the MQTT Transmission Records module 

Select the Records tab and then click the Create new Records.. link. Use the following configuration settings:

  • Tag Settings
    • Tag Provider
      • default
    • Tag Folder Path
      • MyRecords/Record_One
    • Record Type
      • Event
  • Sparkplug Settings
    • Group ID
      • My MQTT Group
    • Edge Node ID
      • Use the Edge Node ID from your Transmitters Sparkplug IDs. For my Transmitter, I will use Edge Node 994161
  • Advanced Settings
    • Override Publish Tag
      • Leave as unchecked. This will create a boolean tag named Publish in the Tag Folder Path MyRecords/Record_One which will be used to trigger the record publish
    • Publish Tag Path
      • Leave blank

Select Create New Record





Step 5: Configure the MQTT Recorder module 

Now we can configure the MQTT Recorder module to receive the published records and store in a database. Navigate to the MQTT Recorder > Settings in the left side bar of the Ignition Gateway UI and select the General tab.

Select the Datasource as the database connection configured in Step 2.

Select a Partition Period - in this tutorial we will use "Hourly

Review the MQTT Recorder Configuration guide for more details on the MQTT Recorder module 







  • No labels