Allen Bradley Legacy Driver Performance

I have designed my UDTs around the OPC path to Allen-Bradley Logix Driver tags. However, we now have a v19 processor that needs to be connected to.

Options are:

  1. Update UDTs to include an option for legacy tag.
  2. Use the Logix Driver despite the performance hit.
    a. How big of a performance hit are we talking?

Pretty big, whether it matters depends on how many tags you need to access. You'll probably have to just try it and see.

2a) If you've organized your PLC tags for best performance, by having few top-level tags, and making them arrays of completely readable structures, every element of which is read at the same pace, then the Logix driver will make fairly efficient bulk reads. (As will mine.) The hit for using symbols instead of instance numbers will be amortized over many hundreds or thousands of actual values.

If you haven't organized your PLC tags and data structures, you are [expletived].

Not sure if budget allows, but performance wise, we've seen a lot of customers upgrading from even the L7x processors to L8x due to the better performance especially for comms (no more system overhead timeslice to deal with) and the dedicated core for communications.

1 Like

update on how this went

Everything worked ok, but everything was also quite delayed. Changing to the legacy driver did make a very significant difference and is worth the effort.

PSA: the OPC path difference between the latest AB driver and both of the AB Legacy drivers is the omission of "Global." for controller-scoped tags, the repetition of array names, and the addition of ".STRING" for string tag reference. To update my UDTs to account for this, I've added a "Legacy" string parameter that is an empty string by default and can be filled in with "Global." (or whatever routine scope may be required) for use with the legacy drivers. Any string or array references will have a "_Legacy" derived UDT that will override the OPC path.

The legacy drivers also repeat array names. The v21+ driver uses OPC Item Paths that are the same as what you'd use in Studio 5000. (As does my alternate driver.) The legacy driver does not.

Not quite sure what you mean by "repeats array names" but I'm sure I'll find out soon. Sounds like another headache - wish there was a way to use expression functions in the expression binding for the OPC paths

I see now... ugh

Also good to note, initial creation of a string parameter in a UDT results in a "null" value, instead of a blank string. However, if you double-click the default parameter value input in the UDT definition, hit backspace, and then enter the default value is now an empty string, instead of null.

Hi,

I am really interested to see on how you did this. Hopefully you can share it. I have the same situation and I am using a L55 processor with v13

Thanks.