Ignition & Logix Best Practice Tips for better communications

I recently decided it was time to actually test the theories with scan rates for different structures in the PLC, and found the results below.

What I found (obviously) backed Phil's recommendations to only read UDT tags and to ensure that all members of them are set to at least read access. However what I found was negligible difference in response rate at 100ms when reading the UDT tags from within different structures (e.g. individual UDT instances at the root/controller level, addressing UDTs within an array, or addressing aliases to UDTs within an array)

Ignition request scan rate for all tests (except one): 100ms
Number of instances read: 250 (+800ish UDT tags outside of the test, however all are set to ext access = read/write)
Driver used: IA's Logix driver
PLC: L82

Test Tag Count Actual PLC Response Rate Request Count
Individual UDT instances 7845 100.39ms 20
Individual UDT instances, Scan rate set to 1ms, CIP Connection Size = 4000 6787 1.05ms 2
Array of UDT instances 7845 101.19ms 21
Aliases to each item in an Array of UDT instances 7872 100.69ms 21
AOIs with same tags as in UDTs 7899 978.20ms 303
Individual UDT instances with a single member set to External Access = None (Note: SCADA didn't actually read this tag) 7845 714ms 20

(all members set to read/write ext. access)

(all members set to read/write ext. access, CIP Connection Size = 4000)

(all members set to read/write ext. access)

(all members set to read/write ext. access)

(all members set to read/write ext. access)

Note: I think the slight difference in tag counts is a result of reading 1 or 2 fewer udt/aoi instances, but it shouldn't make much of a difference

8 Likes