# Opc path in udt

**URL:** <https://forum.inductiveautomation.com/t/opc-path-in-udt/43255>\
**Category:** Ignition\
**Created:** [February 10, 2021, 8:11pm UTC](https://forum.inductiveautomation.com/t/opc-path-in-udt/43255 "2021-02-10T20:11:29Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![mbai1](https://avatars.discourse-cdn.com/v4/letter/m/9fc29f/32.png) [@mbai1](https://forum.inductiveautomation.com/u/mbai1)\
**Post date:** [February 10, 2021, 8:11pm UTC](https://forum.inductiveautomation.com/t/opc-path-in-udt/43255/1 "2021-02-10T20:11:29Z")

</div>

In my UDT datatype, I have opc path set up as  
`s=1;s=[{opc_device}]{opc_folder}.{opc_tag}.amps`. It works for those instance which are something like `ns=1;s=[AB_PLC]ball.MBlower.amps` however, it does not work for `ns=1;s=[PLANT_2]Program:ball.MBlower.amps`, where I set `Program:ball`as opc\_folder. Is there any reason for this, like colon is not allowed? Thanks

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [February 10, 2021, 9:16pm UTC](https://forum.inductiveautomation.com/t/opc-path-in-udt/43255/2 "2021-02-10T21:16:43Z")

</div>

It matters depending on the driver. The modern Logix driver expects the `Program:` prefix to be followed by an actual program name in the PLC, and then the dot and the local tag name within that program. Is “ball” an actual named program in your AB PLC?

---

<div class="post-metadata">

**Author:** ![mbai1](https://avatars.discourse-cdn.com/v4/letter/m/9fc29f/32.png) [@mbai1](https://forum.inductiveautomation.com/u/mbai1)\
**Post date:** [February 11, 2021, 3:20pm UTC](https://forum.inductiveautomation.com/t/opc-path-in-udt/43255/3 "2021-02-11T15:20:38Z")

</div>

My actual program name is ‘ball’. Could you please give me an example with `Program`, what is the opc path should be? I am converting Logix from version 19 to 30.011, then I tried to change from the ignition side for the tags associated to it, that’s where this problem coming from.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [February 11, 2021, 3:35pm UTC](https://forum.inductiveautomation.com/t/opc-path-in-udt/43255/4 "2021-02-11T15:35:46Z")

</div>

First, when switching to v30 from v19, you’ll have to change to the Logix v21+ driver. The legacy ControlLogix and CompactLogix drivers only work through early v20.

Second, the syntax of OPC items changes. Wherever you start with “Global.”, take it out. Wherever you have arrays that have paths like ArrayName.ArrayName[0], take out the leading duplicate name. Most people who have to do this use an external text editor that can do regular expression substitutions.

I recommend you connect to your converted PLC (with the newer driver) and drag and drop some sample items into test tags to see the format.

---

<div class="post-metadata">

**Author:** ![mbai1](https://avatars.discourse-cdn.com/v4/letter/m/9fc29f/32.png) [@mbai1](https://forum.inductiveautomation.com/u/mbai1)\
**Post date:** [February 11, 2021, 3:41pm UTC](https://forum.inductiveautomation.com/t/opc-path-in-udt/43255/5 "2021-02-11T15:41:46Z")

</div>

Yes, I have convert to the logix 21+ driver and have the opc tags done, I only have the issue with the udts, where you need to kinda do both parameters and opc path.
