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!