So, assuming tag instance 0x50A is one of the targeted tags, you are getting multiple transfers due to oversize responses. Data can change in between those separate fractions.
{ Your buffer size is 500. Older processor? }
You will certainly need to implement a handshaked "quiet period" for Ignition to gather this information.
I'm pretty sure it is, that would be the transfer string. Can I see the name of it in the wireshark capture though? I can see the 0x50A, but can't find the name of the tag.
Not sure what the processor is onsite, I will check early next week. I can probably increase this.
I need all of the tags that I identified, but the actual PLC array elements contain a few more tags within the UDTs they use. Only 5-6 tags in them, 2 of them are strings though with 20 characters each.
I'd like valid data every second.
The transfer string is the largest string, at 2200 or so characters to allow for the longest transfer string. Most are < 300 characters though.
I'll have to see if duplicates will fit. The transfer string I'm not so concerned about, as I can easily handle this in my script.
Realistically, you can’t get this data atomically.
Only chance would be a special purpose UDT containing only and exactly the data you need. But with all the strings you’re mentioning it’s still unlikely.
Consider the following for a reliable handshake and data transfer:
Make duplicates of the important tags.
Make two DINT tags for handshake trigger and echo.
In the PLC, at the end of each scan, compare the two DINTs. If equal, copy from the original tags to the duplicates, then increment the trigger DINT (with rollover).
In Ignition, make tags for just the two DINTs. Make a timer script at the desired pace that reads the two DINT tags, and if unequal, uses system.opc.readValues() to grab all of the data (from the duplicate tags, no concerns about synchronization across requests). Then write the trigger tag's value to the echo tag.
I suppose trigger and echo could be SINTs, if you prefer.
We're definitely keen to get your EtherNet/IP V2 driver at some of our key sites where AOI tags are being read extensively! I'll see what I can do in terms of testing with the new RC on the test server. The site has ~100 odd PLCs, mostly various different AB's