Skip to main content

Ignition Integration

How to connect EG500 Gateway to Ignition via Sparkplug B

Introduction

Ignition is an industrial automation platform used to monitor, control, and analyze industrial processes in real time. It combines SCADA, HMI (Human-Machine Interface), and IIoT (Industrial Internet of Things) capabilities into one unified software solution. The Elastel Gateway EG500 is an open, high-performance, and user-friendly industrial embedded computer. With the prebuilt IIoT Gateway software ElastPro, it facilitates seamless integration with Ignition SCADA systems through the Sparkplug B protocol.

This tutorial will walk you through the configuration steps for the Elastel EG500 to collect data from Modbus TCP and post it to the Ignition platform via Sparkplug B.


Prerequisites

Before you begin, ensure you have:

  • An Elastel EG500 gateway
  • A PC running Ignition software

1. Ignition Configuration

1.1 Download and Install MQTT Modules

  1. Go to the Ignition official website and download the following modules:
    • MQTT-Distributor-signed.modl
    • MQTT-Engine-signed.modl
  2. In Ignition Web Interface, navigate to Config → SYSTEM → Modules.
  3. Click Install or Upgrade a Module... and upload both .modl files.

Install_mqtt_modules

1.2 Configure MQTT-Distributor

  1. In Ignition Web Interface, go to Config → MQTT DISTRIBUTOR → Settings → General.
  2. Enable MQTT Server service.
  3. Set the desired parameters (port, TLS, etc.) and click Save Changes.
  4. Under Users, add usernames and passwords for MQTT clients.

config_mqtt_distributor

For detailed steps, see the MQTT Distributor documentation.

1.3 Configure MQTT-Engine

  1. In Ignition Web Interface, go to Config → MQTT ENGINE → Settings → General.
  2. Enable MQTT Engine service.
  3. Configure connection settings to the Distributor and click Save Changes.

config_mqtt_engine

For detailed steps, see the MQTT Engine documentation.


2. Elastel Gateway Configuration

In this section, you will configure the EG500 to collect Modbus TCP data and publish it to Ignition via Sparkplug B.

2.1 Enable Data Collection

  1. Log in to the EG500 WebUI.
  2. Navigate to Data Collect → Basic.
  3. Enable Data Collect, configure the data collect and report period settings, and click Apply Settings.

enable_data_collect

2.2 Configure Modbus TCP Interface

  1. Go to Data Collect → Interfaces.
  2. Enable Network Node1 (or another node), set IP, port, and other parameters, then click Apply Settings.

modbus_tcp_interface

2.3 Create Modbus Rules

  1. Go to Data Collect → Modbus Rules.
  2. Click ADD to create a new rule.
  3. Configure the rule (Device ID, Tag name, register addresses, data types, etc.).
  4. Click Apply Settings to save.

config_modbus_rule

2.4 Connect Gateway to Ignition via Sparkplug B

  1. Navigate to Data Collect → North Apps → Reporting Center.
  2. Enable Server1 and select SparkplugB protocol.
  3. Enter broker URL (IP of Ignition Distributor), credentials, and EoN/EoT parameters.Click Apply Settings.

report_center_sparkplugb


3. Verify Data on Ignition

3.1 Launch Designer

  1. Open Ignition Designer Launcher.
  2. Click Add Designer and enter the Ignition server URL. add_designer
  3. Double-click the server entry to launch and login the Designer. launch_designer

3.2 View Tags

  1. In Designer, open the Tag Browser.
  2. Expand MQTT Engine → Edge Nodes → EG500 → 500 → test (the group we configured).
  3. Confirm real-time data points are appearing. view_tags_designer You can cross-check uploaded data on the EG500 WebUI under Modbus Rules to verify correctness. tag_value_gateway

4. Backfill Function Test

Elastel gateway support backfill feature, it caches data locally when the network is down and forwards it to reporting center when connectivity is restored.

4.1 Enable Cache on Gateway

  1. In EG500 WebUI, go to Data Collect → Basic and enable Cache. enable_cache
  2. Under Data Collect → North Apps → Reporting Center, enable Cache for the Sparkplug B server. enable_cache_sparkplug

4.2 Configure Ignition for Historical Data

4.2.1 Create/Use Database

  1. In Ignition Web Interface, go to Config → DATABASES → Connections.
  2. Use the default Sample_SQLite_Database or create a new connection. ignition_database

4.2.2 Enable MQTT History

  1. Navigate to Config → MqttTransmission → MQTT History.
  2. Ensure History Provider is enabled. enable_mqtt_history

4.2.3 Transmission Settings

  1. Go to Config → MqttTransmission → MQTT Transmission Settings.
  2. Confirm settings are enabled to allow backfill data transmission. transmission_enable

4.3 Enable Historical Logging in Designer

  1. In Ignition Designer, locate your Sparkplug-based tags.
  2. Double-click each tag, check History Enabled, choose your database as Storage Provider, set Deadband Style to Discrete, and Max Time Units to Seconds.
  3. Click OK to save.

enable_historical_logging

4.4 Test Backfill

  1. Disconnect the EG500 network for at least one minute.
  2. Reconnect the network.
  3. Verify that the EG500 automatically sends cached data to Ignition.

disconnect_data

4.5 Monitor Backfilled Data

Use the Ignition Database Query Browser in Designer to query your historical tables. Verify that timestamps align with the offline period (gateway uses Europe/London time). backfill_data_ignition


Conclusion

In this tutorial, we demonstrated how to collect industrial data via Modbus TCP and seamlessly publish both real‑time and historical data to the Ignition platform using the Sparkplug B protocol. With the pre-installed ElastPro IIoT software, integrating your IIoT data into Ignition system is more straightforward than ever.

For more information about Elastel gateway products, feel free to Contact us!