Versions Compared

Key

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

...

  • Knowledge of Ignition and Module installation process: Cirrus Link Module Installation
  • Install Ignition on an 'host/backend' system
  • This must be a 'full version' of Ignition (i.e. not Ignition Edge)
  • Install MQTT Distributor and MQTT Engine Modules
    Cirrus Link's Ignition Modules can be downloaded from Installation of the following Cirrus Link MQTT modules selecting the version compatible with your Ignition installation.
    Modules can be downloaded from the Ignition Strategic Partner Modules download page.:
    • MQTT Distributor
    • MQTT Engine
    • MQTT Transmission
  • Cirrus Link Module Compatibility with Ignition versions
  • Install Ignition on an 'edge' system
    • This can be a 'full version' of Ignition or Ignition Edge
    •  Install the MQTT Transmission Module

Overview:

Transmission is an MQTT module for Ignition that can publish files using MQTT Sparkplug to be processed by MQTT engine. 

...

This tutorial shows how to configure the MQTT modules to publish and receive files from one Ignition system to anotherprocess files.

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.

...

Step 2: Install MQTT Transmission on the edge machine

...

By default, MQTT Transmission is configured to connect to MQTT Distributor on tcp://localhost:1883. As the MQTT Distributor is installed o a different server, we will need to edit the configuration to allow MQTT Transmission to connect to the host server.

Note

The MQTT Server must be accessible to the Ignition system running MQTT Transmission. In order for this to work port 1883 must be open to outside connections. Make sure this is allowed via your operating system's firewall configuration and any anti-virus software you may have installed.

This configuration is not recommended for production systems. If running this in production, you should be using TLS encryption on port 8883. More information on how to configure TLS can be found here.

Navigate to the MQTT Transmission > Settings in the left side bar of the Ignition Gateway UI and select the Servers tab.

Change the server URL to point to the server IP address or domain name of the Ignition system running MQTT Distributor and save the configuration. When complete, you should see something similar to the following:Image Removed

Warning
If you do not see '1 of 1' under the 'Connected' status, check the logs to show what may be going wrong and/or to validate the rest of your configuration

 

...

MQTT Transmission will also have an Example Transmitter configured pointing to a set of tags that are configured in the Ignition "default" tag provider. 

Tip
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.

Now we have This allows the three modules connected, we can setup the file publish configurationto automatically connect and provide a starting base for the tutorial.

Step

...

2: Config MQTT Engine File Handling

Now we can configure the MQTT Engine module to process the published files.

...

  • Ignore Files
    • Leave this property unchecked so that publish files will not be ignored
  • File Host Type:
    • ACTIVE to specify that a message ACK is sent back to MQTT Transmission
  • Base File Directory
    • Set to some directory file path (i.e. 'C:\My Files' or something similar) where the files will be stored
  • Add Topic Tokens
    • Leave this property as checked to add the Group ID, Edge Node ID and Device ID to the base file directory path
  • File Storing Policy
    • Set this policy to REPLACE_EXISTING_FILE
Tip
Review the MQTT Engine Configuration guide for information on all the File properties

When complete, it should look similar to the following. Save the changes after confirming.

...

    • Tag Provider
      • Set to 'default'. This is the tag provider where the publish control and information tags will be created
    • Tag Folder Path
      • Set to 'files_manual'. This is the tag folder in the specified tag provider where the publish control and information tags will be created
    • Enable Auto-Publish
      • Leave this unchecked. This will force manual publishes only  
    • Group ID
      • Use the Group ID from your Transmitters Sparkplug ID. For this example, My MQTT Group
    • Edge Node ID:
      • Use the Edge Node ID from your Transmitters Sparkplug ID. For this example, Edge Node faec7e 


Tip
Review the MQTT Transmission Configuration guide for information on all the File properties

When complete, it should look similar to the following. Save the changes after confirming.

...

With both files in place, we can now set the 'Publish File Path' tag.

This path must be the full path to the target file to publish over MQTT. In this example, we're using the path of '/tmp/transmission/sample_file.txt'. However, on a Windows system that would look something like 'C:\full\path\to\my\sample_file.txt'. When this is set, you should see something like this

...

  • Adjust the file transfer configuration to define how quickly a file transfer occurs and how long before a timeout will occur on failure to receive host side acknowledgements based on the size of files you are sending and any bandwidth constraints that you may have.

  • Setup two Ignition systems - a host system installed with MQTT Engine and MQTT Distributor and and edge system installed with MQTT Transmission

    By default, MQTT Transmission is configured to connect to MQTT Distributor on tcp://localhost:1883. As the MQTT Distributor is installed on a different server, we will need to edit the configuration to allow MQTT Transmission to connect to the host server.

    Note

    The MQTT Server must be accessible to the Ignition system running MQTT Transmission. In order for this to work port 1883 must be open to outside connections. Make sure this is allowed via your operating system's firewall configuration and any anti-virus software you may have installed.

    This configuration is not recommended for production systems. If running this in production, you should be using TLS encryption on port 8883. More information on how to configure TLS can be found here.

    Navigate to the MQTT Transmission > Settings in the left side bar of the Ignition Gateway UI and select the Servers tab.

    Change the server URL to point to the server IP address or domain name of the Ignition system running MQTT Distributor and save the configuration.





Excerpt Include
CLD80:FAQ: Ignition Modules
CLD80:FAQ: Ignition Modules
nopaneltrue