Change Log with Old Value


We have a new project (v8.0.10) that has the following requirement for a tag change log:

  • Tag name
  • Timestamp
  • Username of who made change
  • Old value
  • New value

This would be doing things like recording the old and new values of a setpoint, alarm limit, alarm enabled, etc… I’m expecting to have about 75-100 UDT instances which each could have 10-20 different parameters we would want to monitor. Basically, a lot of things.

It seems like the audit log would do this pretty well except for the old value. Is there a good way to record that value without doing some fancy querying to associate the previous new value as the old value for the latest record?

The other option that we were thinking of was to create a single tag UDT for each of the base tags that we expect (boolean, integer, float, string) that has a tag event script that will log all the information we need into a custom database table using a property change script. This would be for the purpose of only having to maintain a few scripts. These building block UDTs would then be used in the main UDTs instead of the normal float/int/boolean/etc. tags.

On a similar question, we have another requirement to record all of the setpoints at the end of the day and back them up. We would then create a daily report on those. Additionally, a user would be able to roll the setpoints back to those previous values. Are transaction groups the best option for that? I’m not excited about having to maintain a group that potentially has 2,000 individual tags in it.

Thank you in advance!

Hi BryanB
Create a separate SQL DB with fields mentioned by you. Now create one common pop-up to change a value for each set points (tag). So when you click on any tag, it will display this pop-up. This pop-up contains your current value and also a numeric entry field for new value. When you click on the tag, it will pass necessary tag path on the pop-up.When pop-up opens, store the current value in one variable. Now you have one button on the pop-up which has the script. After changing the value, if you click the button, it will write the value to PLC tag and after that it will insert record in the SQL with old Value, new value.

Thanks for the idea. This is a nice, simple way to make this maintanable.