Edge Datalogging

Hi Folks,

Looking for ideas / suggestions on this one.

Normally, we have machines with edge installed for local basic HMI local access and MQTT. Send a message every hour just to update machine run time and some temps etc.

I have a use case for a mobile machine that needs more info. Siemens controlled, Siemens HMI, edge used for MQTT and remote perspective HMI to help set up, fault find etc.

This machine is going to Africa so will have a sim card in, charged at a 10c per mb rate. I have done some testing on different compressions and poll rates with MQTT transmission and found a suitable balance, polled every 15 mins, will use around 1.4mb per day.

The client has requested datalogs/reports every time a "pour" happens. I could do it through the siemens HMI, csv file writing to SD card but ignition has a much better reporting module and wont need operator input, i.e having to remove SD cards to retrieve logs.

I started reading about edge sync. I could use edge Historian for the values I want to log, use a tag to log time stamps (pour start, pour stop), sync that then somehow correlate that data back on the main server. This will of course use more data, how much I don't know but as long as we are not in the 100's of mb per day, not a issue. I only need to capture the data during the pour, may only be 5-6 per day for a few mins each.

I think edge sync is the only failsafe way to get the data as a MQTT message gets lost, even using transmission history store . The PLC will log the last pour data in a DB but that is just a snap shot, start pour values and end pour values.. Even better would be using data points to plot a graph of values during the 'pour' which could be a couple mins (temps, pressure, ratio etc). Historian would only need to log when a tag is active if that's possible but in my experience its not straight forward querying historian for specific data when its split over multiple tables. Even if I was just to use the PLC snapshot how do I get that tag data synced with the main server.
A transaction group on a incremental int every second during the pour from the PLC would be prefect but not available in edge.

I'm probably in way to deep and overlooking this and missing the obvious. How would you tackle this challenge ?

Correct, however, you could achieve an equivalent (or better) to a TG using a Gateway script, with the Edge Compute add-on license.

Edit: hmm maybe not, as it would need a DB connection. You could setup remote gateway and script if from the main gateway, but then if the connection goes down, you would have no buffer.

Sometimes Edge is not the answer. A standard Ignition license with limited UI counts may be a better option.

1 Like

That crossed my mind too. I already have a edge install on the machine, so that can be the remote perspective HMI and Mqtt to limit costs. But its still 7k for a base license, reporting and SQL bridge.
An sql bridge module for Edge would be great but I understand there needs to be a definitive divide between the two products / price structures. I could have then done a DB sync back to the main server from edge so no data is lost.

Been doing some more research, MQTT Transmission has a store and forward, also has the possibility to trigger a manual push on a separate tag folder (record). Having a separate tag folder keeps my overhead down as I don't need to publish all tags repeatedly for logging.

So in my mind I'm thinking create the tags I want to log. The plc can pulse a bit or increment something when "pouring". This will in theory keep triggering the manual push. I can include a incremental int in the logs so the main server transaction group will trigger on every int change. If there is no connection it will save the messages and publish once reconnected.

What I'm unsure about is what the transaction group will do when its bombarded with a pile of info as the MQTT engine tags update. Unless transmission has a time delay before each send to let the transaction group digest the info. Wouldn't matter what order the messages were received as the int tag or a time stamp tag in the message could sort them in the DB, each "pour" also has a unique name which would also be sent.

Maybe a good Q for Cirrus, Or I guess there is only one way to find out...

Leave out reporting and SQL bridge. Script your DB operations. Do your actual reporting from the central server.

So if understand correctly.

Script the DB operations to a local DB, then sync that DB periodically back to the main DB where everything else is performed ? Worst case, if there is a total loss of comms, the data can be stripped when the machine is back from the project.

1 Like

$3,585 for one Perspective + Platform. Excludes support.

I already have a licensed edge install on the machine which gives me perspective.

The above is what I was understanding what was need but Phil suggested leaving out Bridge and Reporting, so that leaves just the platform. Not sure if the platform is available just by itself.

Thinking out loud, would be cheaper easier just to throw a PI in there and use node red to put values in a DB, as all the new install of ignition would be doing is reading the siemens OPC tags and putting them in a DB.

It is, I think, possible to have a "headless Ignition", which would be platform only, with no Vision/Perspective.

If I were in your shoes I would transfer that edge license to another site that doesn't have this requirement for remote logging, and install one Perspective with the platform.

I certainly would not install Edge and a separate platform on the same machine. That would be one designer for each gateway, and the issue of ensuring non-conflicting ports and install directories.

3 Likes