Transaction groups: Updating tags on database changes

Greeting, Ignition community,

I am working on a project which requires me to create a real time dashboard that is driven from an external MES system (one that was custom built a while ago). In particular this MES system has a "status" table that contains the status of all mes terminals (so all data is in that table). I would like to create this dashboard in ignition perspective, and my plan was to pull the data I need from the status table and write it to a series of tags.

Ideally, I would like to update my tags only when the data in the status table changes. I was thinking of using "transaction groups" to do this, but I am not sure if this is the correct approach or if it is, how to go about it.

If anyone has any suggestions I would greatly appreciate it. So far I am tinkering with transaction groups, but I don't really understand how to "bind" a tag to a row/column value in the database so that when I change the row/column value it updates the tag.

You're saying table - is this actually in a database? Can you directly connect to this database if so?

You're limited to what the database interface provides. You will have to poll something. If the MES places a timestamp or other "last updated" marker somewhere easy to query, you can poll that, and use it to trigger the larger query of the whole table. Otherwise you are simply going to have to query the whole table regularly, and compare its contents to the prior query before updating your client.

Transaction groups are not the right tool for this. If you don't care about comparisons, a query tag on a suitable update rate might be fine.

I would use timer script and a dataset memory tag. Updating the latter after polls where the new dataset content differs.

OK I understand. In that case I will switch to a query tag instead. The table is not large so I think poling at a fixed rate is my best option at this time.