Store and Forward Example Configuration - Ignition


The RediGate has the ability to store register values in .CSV format on the included SD card. This behavior is highly configurable, and the RediGate Configuration Manual explains all of the possible options in detail. The purpose of this document is to explain a common “store and forward” use case in which the RediGate buffers register values on the local SD card when the connection to the SCADA/IIoT host is lost. Once the connection is re-established, the RediGate publishes the stored values with MQTT, and those values are inserted into a SQL database. This example publishes data to the Ignition platform, however the RediGate has the ability to publish historical values in a JSON format that can be consumed by any MQTT-enabled application (such as Azure IoT Hub, AWS IoT, and IBM Watson IoT).


  1. A RediGate 100 or 400 series device with network connectivity
  2. Completion of the Getting Started Guide for your respective RediGate device (See RediGate 100 Series Getting Started Guide or RediGate 400 Series Getting Started Guide)
  3. Completion of the RediGate to Inductive Automation Ignition--Sparkplug B example
  4. Your own instance of Inductive Automation's Ignition software with the following plug-ins installed
    1. MQTT Engine
    2. MQTT Distributor (or your own MQTT broker such as Mosquito)
    3. An Ignition historian database connection


  1. In the Ignition Designer, edit the "Second" tag (which should be available from the configuration you used in the RediGate to Inductive Automation Ignition guide) so that it is marked as "historical":
  2. Using ACE, Open the default config you used in the RediGate to Inductive Automation guide
  3. Change the System → Date Format to "Universal Coordinated Time = GMT (UTC)"
  4. Right click the "Clients" object and add a "Store_And_Forward" object

  5. Update the settings to match those in the screenshot below:
    1. Pacing: "2"
    2. Delivery Technique: "Send Unpublished values via Sparkplug-B_0"
    3. Erase after Delivery: "Yes, Erase after delivery"
    4. Process to Monitor: "Sparkplug-B instance 0"
    5. RBE Processing: "Yes, OMIT Un-named RTDB Registers" 
  6. Save and upload the configuration to the RediGate
  7. Login to the RediGate and check that the RediGate's system clock reflects the correct time. If not, update the clock or add an NTP client object (see Checking and Setting the RediGate System Clock)
  8. In the Ignition Designer, create an "Easy Chart", and add the "Second" tag you marked as historical in step 1:
  9. Unplug your RediGate from it's internet connection for a few minutes and notice that the values are not longer populating on the Easy Chart:
  10. Reconnect the RediGate and see the data backfill:
    1. Connection reconnected:
    2. Data back filled:
  11. For more information and troubleshooting tecniques on the store and forward object, see RediGate Configuration Manual#StoreandForward

Congratulations – you have successfully configured the store and forward functionality on your RediGate.