I have built my UDTs around OPC tag paths based on Allen Bradley PLCs that are version v21+ so I’ve been using the Logix driver.
However, I now have one PLC that is lower than v21. Up until now I have been using the same Logix driver for this device connection but I have noticed that the tag connections are much slower so every once in a while the tags will get bad quality and have an overlay but then the tag updates again and it’s fine.
Assuming that the OPC tag paths are different between the drivers and I would not be able to simply use the existing UDT with the older driver, I’m wondering what the OPC tag path differences may be. Is this documented anywhere? And do the OPC tag paths differ between the CompactLogix and ControlLogix legacy drivers?
But the differences can be automated with regex-based search and replace. Controller tags in the legacy format have an extra global. prefix, and all arrays have an extra named layer. (SomeArray.SomeArray[0] instead of just SomeArray[0].)
Same in both ControlLogix and CompactLogix.
Have you tried my alternate driver? (Keeps the v21+ OPC Item Path format and I don't recall significant performance probems.)
Which specific revision of v20? For example, if it is v20.19 performance will be bad with either driver and you probably will want to change the firmware.
Arrays of UDTs containing array members? Or deeper nested? Keep in mind that the fragment need with arrays is not constant--it has to match the array name. You should spend some time browsing a legacy processor's tags.
{ I'd make separate UDTs for legacy versus modern. }
FWIW anyone who finds this and wants to do the same, make sure you enter a character in the string parameter default value and then remove it otherwise you’ll get “null” instead of ““