Y'all might find this topic helpful:
Further things to consider:
-
Anything you can do with a transaction group you can do with a gateway timer script or a gateway tag change event. Scripted manipulation of wide tables can perform more complicated and/or more robust handshaking with PLCs than transaction groups.
-
If you only care about a particular data item's relationship to time, and you only need to store it when it changes, then it is a good candidate for the tag historian.
-
If the value represents a process reading (analog perhaps) that has a bit of jitter you can ignore, then it is a very good candidate for the tag historian.
-
If you care about a particular data item's relationship to other items, they probably need to be sampled and stored together. Use a wide table, not the historian. If sampling on a trigger, use OPC Read mode in the transaction group, or
system.opc.read*()
in a script, to ensure you have the associated data from after the trigger change.
If you need the data stored in a SQL DB in a predictable structure for non-Ignition access, avoid the tag historian. Unless you are willing to implement a web API with the webdev module to deliver data to external consumers.