I have already seen some posts on this topic, but none of them answered my questions.
I want to monitor tag changes and react to them. This monitoring has to be robust (It is a heartbeat. I added some margin and can handle some lost events, but if I regularly loose events this will cause alarms all the time)
Now there are 2 ways to do this:
Tag Change scripts in Gateway Events
I really like this solution because all the scripts are in the project scope. They are all in one place,
easily manageable and can be reused for multiple tags. Script libraries from the project scope can
also be used. Value, quality and timestamp changes can be monitored with the same script.
Tag Event Scripts directly on the tag
Not really my preferred solution. Scripts are scattered all over the place, each tag has its own
script, not ideal for maintainability and documentation. Everything happens in the gateway scope.
To use custom script libraries they need to be placed in the gateway scripting project. Has a way to detect lost events.
These are the differences I found so far. However after implementing and testing both solutions I have the feeling that the tag event scripts are way more reliable than the gateway event scripts.
I have to mention that my Ignition Gateway is running in a VM and sometimes resources get scarce. (dev. environment, not production grade system)
When monitoring the tag changes with gateway event scripts I constantly miss change events, while when monitoring the changes with tag event scripts it seems to work fine.
So my question is: Is there any difference in the backend of Ignition how these events are handled / prioritized? Is it just a wrong conclusion or is the tag event system really more "robust" than the project scoped gateway event scripts?