PLCComEventsArgs has 3 properties of interest, Values(), PLCAddress, and ErrorID
You should always check to make sure ErrorID=0 before trying to use the Values() array.
An important thing to keep in mind about the DataChanged event is that if you subscribe to an array, it will only fire when the first element of the array has changed.
When using DataSunscriber2 with multiple elements, the events will fire separately for each item. You can use e.PLCAddress to determine which item the returned values are for.