Logix Driver - Detect Edits in the PLC

I noticed when someone performs a change in the PLC we get a notification in the logs.

Is there a way to read that “version” and push it to a tag?

CompactLogixDriver 12Nov2020 14:43:11 [@@@@] Updating tagManager with edit version 23040 with 918 tags

Pretty sure this is already available in the diagnostics at [Diagnostics]/Device/EditNumber. Only for the legacy ControlLogix/CompactLogix drivers.

1 Like

You are right, I missed that

Is there a way to get it for the non-Legacy ones?

No, the newer driver reads 5 un-named attributes as specified by 1756-pm020 to determine if a re-browse is necessary but does not assign any meaning to them or expose them because their definition is not documented.

1 Like

I’ve studied (experimented) and can share what I determined:

The unnamed attributes of class 0xAC that signal a change are 1-4 & 10. Attribute #1 is a 16-bit tag edit count. In my testing, it starts over at zero after a program download. Attribute #2 is also 16-bit, but I never saw its value be anything but 1. Attributes #3 and #4 are oddly-encoded timestamps of download finish and start (respectively). They are 32-bit unix epoch timestamps times 1024, yielding millisecond-ish precision but uncertain year. Attribute #10 is the ACD file creation timestamp encoded/truncated the same way.

I also noted that Attribute #8 is another timestamp, updating with program edits, offline or online, fwiw.

3 Likes

I you’re able to make changes to the PLC, you could use a GSV instruction to read the audit value attribute of the controller object into a PLC tag, then read that with ignition.

1 Like

Dan, by any chance have you been able to make any sense out of the AuditValue information. That number increments whenever a change occurs as long as changes to detect are enabled. The number does not correspond to anything that I can find.

My understanding is that the audit value is some kind of hash code generated from the contents of the program. I don’t think there’s any way to determine the number of edits from the value itself. You would have to track the historical value of the tag and count the number of changes.

If you’re looking for a counter that increments, you might be better off using the (undocumented) values @pturmel explained above.