Hi everyone,
I'm looking for the a way to implement an event logging system in Ignition. For those familiar with Aveva System Platform, I’m trying to replicate the "Log Data to Event" functionality where tag state changes are automatically written to a centralized event table. Ideally this would be the audit events table so operator setpoints changes can be tracked as well.
Potential Options:
- Tag Change Scripts: Use a tag change script to write to the audit events table using system.util.audit. I suspect this is the ideal option as it would keep events in the audit events table. That said i have concerns this could become a performance bottleneck as more and more data is logged.
- Alarms (Diagnostic Priority): This seems like it would be the most performant and log tag event changes to the alarm history table but it feels like a bit of a hack and would require some work to reconcile with the audit events table to view when setpoint changes were made.
- Historize the tags: I know this is an option but doesn’t feel like the appropriate way to do what i am looking for but if the community has thoughts / insight into this option i would like to hear it.
- Transaction groups: I could do this to but it is not event driven meaning the DB inserts wouldn’t happen when the event occurs. If there is a way to create an event driven transaction group per tag i would like to know if its possible.
Desired Output Format (Based on the audit_events table):
| Event ID | Timestamp | Actor | Action Value |
|---|---|---|---|
| 1 | 8:00 AM | Control System | Fill Required |
| 2 | 8:05 AM | Control System | Pump Required |
| 3 | 8:06 AM | Control System | Pump Running |
| 4 | 9:30 AM | Control System | Fill Not Required |
| 5 | 9:35 AM | Control System | Pump Stopped |
Thanks
