As I understand it there are two ways to back fill data when your connection is lost.
1. Roll your own solution.
You will need to check the connection with some sort of heart beat and when it goes down then start buffering the data (in what ever format you chose, xml, csv, txt) on the client.
Once the connection is up you will need to start sending the back filled data along with the current live data.
The server then needs to understand the difference in time stamps and what do with that data.
2. Use Ignition and tick the box.
For Ignition Edge:
Edit the connection and enable the history store setting.
For EPIC native MQTT;
Enter how many tag values you want to store in memory. This number will depend on how many tags you are scanning and how frequently you are scanning them / how often are they changing value (depends on their dead-band setting).
Lastly, enable history in Ignition for each of your tags on the server end.
That should take care of everything for you.
(That’s the power of MQTT SparkplugB)