Is there a way to collect tag changes into 1 variable?

Hi All,

Current I have around 5000 tags, and want to collect all the tags changes event every second.
Two ideas

  1. Memory dataset tag.
    For those 5000 tags, add tag change scripts to read and write the dataset tag. Question is whether some events will be missed.
  2. Python module variable.
    Add a python module with a dictionary variable and set/clear function. Then call the set function in tag change script in those 5000 tags. But question is the same. will some events be missed?

Any suggest will be appreciated.

Regards

Why do you want to do this? Ignition’s tag architecture automatically supplies tag changes on an as-needed basis to the bindings using them, and to historians that will record them. All individually configurable. What else are you trying to do?

I had tested several times with option 2.
5000 tags refer to the same modbus tcp address, then log the tag events to logger.
For those limited test, option 2 seems work.

Um, that is a request which need IG feed the tag change event to another system.

You can do an exception detection on these 5000 tags thru scripts or a module and send name value pairs of changed values to the other system requiring it. However the danger in exception based reporting is if you miss one exception then you will have wrong data on receiving system until you synchronize the whole 5000 tags once in a while. Its safer to send the whole data every time. In exception based reporting you have the over head of change detection and in worst scenario, you will send full data. So sending full data is like worst case every time , but its safer and easier to build full data transfer in my opinion.