# UDT OPC Path Issues

**URL:** <https://forum.inductiveautomation.com/t/udt-opc-path-issues/26493>\
**Category:** Ignition Early Access\
**Created:** [July 11, 2019, 8:21pm UTC](https://forum.inductiveautomation.com/t/udt-opc-path-issues/26493 "2019-07-11T20:21:49Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![lauren.chandler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lauren.chandler/32/9664_2.png) [@lauren.chandler](https://forum.inductiveautomation.com/u/lauren.chandler)\
**Post date:** [July 11, 2019, 8:21pm UTC](https://forum.inductiveautomation.com/t/udt-opc-path-issues/26493/1 "2019-07-11T20:21:49Z")

</div>

I am having trouble making UDTs that have OPC tags that use a parameter in the path. I tried pulling the tags I want over from the OPC browser and creating a type. I then did a find and replace on the part of the tag path that I wanted replaced with a parameter. This process appears to work until I go to make an instance of the UDT and set the parameter to the correct value but the tags don’t update with the correct path. instead they are have an error and their path is " ns=1;s={PLC\_PATH}{InstanceName}.ALM2" instead of being the correct path “ns=1;s=[PLC]F01\_HPRD.ALM2”. It does work if instead of doing a find and replace I go into the UDT and edit the path to include the parameters instead. The Problem is This particular function udt I am making contains around 1000 opc tags I need to replace their paths with parameters for. I use to do this in ignition 7.9.10 by pulling the opc tags I wanted over to the tag tree browser doing a find and replace then using the create UDT from selected option but that doesn’t seem to be an option any more. Does anyone know a way to replace the paths with parameters without needing to do each one by hand in the new ignition 8 or is this a known bug?

---

<div class="post-metadata">

**Author:** ![MMaynard](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mmaynard/32/3366_2.png) [@MMaynard](https://forum.inductiveautomation.com/u/MMaynard)\
**Post date:** [July 11, 2019, 9:22pm UTC](https://forum.inductiveautomation.com/t/udt-opc-path-issues/26493/2 "2019-07-11T21:22:06Z")

</div>

For bulk edits like that we export the UDT to XML, edit, then import it back.  
We also have a few excel sheets worked up for locations to use for building the XML imports for creating instances that way as well.

---

<div class="post-metadata">

**Author:** ![Walt](https://avatars.discourse-cdn.com/v4/letter/w/71e660/32.png) [@Walt](https://forum.inductiveautomation.com/u/Walt)\
**Post date:** [July 12, 2019, 1:31pm UTC](https://forum.inductiveautomation.com/t/udt-opc-path-issues/26493/3 "2019-07-12T13:31:03Z")

</div>

When we first converted to v8 our UDTs had a hard time realizing that a parameter wasn’t just a string. We just exported and re-imported the datatype.

---

<div class="post-metadata">

**Author:** ![lauren.chandler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lauren.chandler/32/9664_2.png) [@lauren.chandler](https://forum.inductiveautomation.com/u/lauren.chandler)\
**Post date:** [July 12, 2019, 6:55pm UTC](https://forum.inductiveautomation.com/t/udt-opc-path-issues/26493/4 "2019-07-12T18:55:50Z")

</div>

Yeah this seems like the issue we are having. I exported and reimported but the issue is persisting.

---

<div class="post-metadata">

**Author:** ![swolnisty](https://avatars.discourse-cdn.com/v4/letter/s/7bcc69/32.png) [@swolnisty](https://forum.inductiveautomation.com/u/swolnisty)\
**Post date:** [July 12, 2019, 8:02pm UTC](https://forum.inductiveautomation.com/t/udt-opc-path-issues/26493/5 "2019-07-12T20:02:15Z")

</div>

> . . . their path is " ns=1;s={PLC\_PATH}{InstanceName}.ALM2"

Is everything between the quotation marks copied and pasted directly from the OPC path you're having trouble with? If that's the case, the space before the ns=1 could be your issue?

---

<div class="post-metadata">

**Author:** ![Sam\_Oostendorp](https://avatars.discourse-cdn.com/v4/letter/s/49beb7/32.png) [@Sam\_Oostendorp](https://forum.inductiveautomation.com/u/Sam_Oostendorp)\
**Post date:** [May 12, 2022, 7:38pm UTC](https://forum.inductiveautomation.com/t/udt-opc-path-issues/26493/6 "2022-05-12T19:38:27Z")

</div>

Hello, I am currently experiencing an identical issue as what is described here. Though it does not appear a solution was given. I tried exporting and re-importing the UDT and that did not fix it.

Is there a solution out there?

---

<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:** [May 12, 2022, 7:42pm UTC](https://forum.inductiveautomation.com/t/udt-opc-path-issues/26493/7 "2022-05-12T19:42:29Z")

</div>

You’ll probably want support to look over your shoulder.

---

<div class="post-metadata">

**Author:** ![ggross](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ggross/32/12668_2.png) [@ggross](https://forum.inductiveautomation.com/u/ggross)\
**Post date:** [May 13, 2022, 10:46pm UTC](https://forum.inductiveautomation.com/t/udt-opc-path-issues/26493/8 "2022-05-13T22:46:26Z")

</div>

> [@Sam\_Oostendorp](#):
>
> Is there a solution out there?

You may want to try the just released version of Ignition (8.1.17). The tag editor was refactored in this version and there were some changes made to ensure Parameter bindings were better recognized. If you are still running into issues, I would ask that you call support and walk them through the issue you are seeing so we can narrow down the cause of the problem.

Thanks,  
Garth

---

<div class="post-metadata">

**Author:** ![IAI\_Colin](https://avatars.discourse-cdn.com/v4/letter/i/439d5e/32.png) [@IAI\_Colin](https://forum.inductiveautomation.com/u/IAI_Colin)\
**Post date:** [August 2, 2022, 4:23pm UTC](https://forum.inductiveautomation.com/t/udt-opc-path-issues/26493/9 "2022-08-02T16:23:48Z")

</div>

I’m having a similar issue. I exported the UDT to a JSON file, search and replaced the OPC paths with my parameters, and it doesn’t seem to recognize the parameters. I exported the UDT as a JSON, deleted the UDT, and then imported it again. Our server is running Ignition 8.1.17.

Example

Right after import. Notice the text isn’t italicized:

 ![SearchReplacePath](https://us1.discourse-cdn.com/inductiveautomation/original/3X/f/f/ffa1bb055f4da94c343b8fd8f4d8abb850bedb2a.jpeg)

Browsing to the tag, then typing the parameters in. You can see they’re italicized and the link has gone blue:

 ![ManualPath](https://us1.discourse-cdn.com/inductiveautomation/original/3X/2/4/2430f7643fd0609db4ade545770d7ea968c21183.jpeg)

Here are my tag paths as direct copies, the one on the top is the search and replaced path and the second is when I did it manually. They appear to be identical (edit: they show a space at the end when highlighted, I’ve double checked that it is not in my tag path in Ignition, seems to be a formatting issue in the post):

ns=1;s=[{PLCName}]Program:{StationName}.{TagName}.I.MovePB  
ns=1;s=[{PLCName}]Program:{StationName}.{TagName}.I.MovePB

I played around with it further, and if I delete any character and click off the OPC path field it immediately italicizes and the chain goes blue. Then I add the character back and I get my proper path.

---

<div class="post-metadata">

**Author:** ![FNNewGuy](https://avatars.discourse-cdn.com/v4/letter/f/ecc23a/32.png) [@FNNewGuy](https://forum.inductiveautomation.com/u/FNNewGuy)\
**Post date:** [March 18, 2024, 8:12pm UTC](https://forum.inductiveautomation.com/t/udt-opc-path-issues/26493/10 "2024-03-18T20:12:10Z")

</div>

Has anyone found a fix for this issue?

I am in a similar situation and haven't found the solution posted anywhere. In my search I found a post that said if you go to the path and delete a character, click elsewhere on the screen to lose focus, the path goes italic and the binding link turns blue. Then you add the character back in and it stays as a binding. This works but is obviously not ideal when dealing with 1000s of tags.

In my troubleshooting, I thought to use the find and replace function to change all of the identical bindings to something one character off and then change them back. That didn't work, but in the Find and Replace tool it does show the difference between the tags with and without the binding.  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/9/7/97613267915042c114a8da44947ea9e08c9e9b94.png)

The only difference between these is that on one I went to the binding, deleted a character, then went back and added it back in. Somehow this reevaluates the string and causes it to add the "bindType = parameter", and "binding = "x"" to the string.

Version 8.1.26

A fix for this would be greatly appreciated, thank you.

---

<div class="post-metadata">

**Author:** ![Matej\_Medvecky](https://avatars.discourse-cdn.com/v4/letter/m/a698b9/32.png) [@Matej\_Medvecky](https://forum.inductiveautomation.com/u/Matej_Medvecky)\
**Post date:** [February 21, 2025, 8:47pm UTC](https://forum.inductiveautomation.com/t/udt-opc-path-issues/26493/11 "2025-02-21T20:47:48Z")

</div>

This seems to be still an issue in version 8.1.45.  
Did anyone found a workaround to this problem? Export and reimport did not help, neither the tag restart.

---

<div class="post-metadata">

**Author:** ![ATech](https://avatars.discourse-cdn.com/v4/letter/a/a88e4f/32.png) [@ATech](https://forum.inductiveautomation.com/u/ATech)\
**Post date:** [March 6, 2025, 2:45pm UTC](https://forum.inductiveautomation.com/t/udt-opc-path-issues/26493/12 "2025-03-06T14:45:26Z")

</div>

I had an issue with 8.1.44 nested UDT instances which had parameters in the OPC Item Path.  
I had to "overwrite" OPC Item Path to make the tags working. Was not pleasant but it was an easy fix. Have not wrote to the Support yet.

---

<div class="post-metadata">

**Author:** ![Dominic\_Liva](https://avatars.discourse-cdn.com/v4/letter/d/dbc845/32.png) [@Dominic\_Liva](https://forum.inductiveautomation.com/u/Dominic_Liva)\
**Post date:** [February 5, 2026, 5:13pm UTC](https://forum.inductiveautomation.com/t/udt-opc-path-issues/26493/13 "2026-02-05T17:13:24Z")

</div>

Has anyone found a solution to this? We are currently experiencing the same issue on a deployment with tens of thousands of tags.

---

<div class="post-metadata">

**Author:** ![fih](https://avatars.discourse-cdn.com/v4/letter/f/839c29/32.png) [@fih](https://forum.inductiveautomation.com/u/fih)\
**Post date:** [February 10, 2026, 12:08pm UTC](https://forum.inductiveautomation.com/t/udt-opc-path-issues/26493/14 "2026-02-10T12:08:46Z")

</div>

I have the same issue. I have found out that a change to the OPC Item Path of the UDT, regardless of it is an error or working will activate the link, and each tag will then be able to receive the correct Item Path.

It looks to me as if some information is not exported, and when you overwrite the Item Path completely the link is lost. Because if the link is working before you import and you do a MergeOverwrite on the import, the link will continue to work.

---

<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, 2026, 2:49pm UTC](https://forum.inductiveautomation.com/t/udt-opc-path-issues/26493/15 "2026-02-10T14:49:25Z")

</div>

If you export the item path as a string, you lose the bindings. You have to export as JSON, and you can see the special binding structure in the JSON. If you import JSON with the right structure you get bindings.

Only the designer UI can interpret the embedded bindings in a string.

---

<div class="post-metadata">

**Author:** ![fih](https://avatars.discourse-cdn.com/v4/letter/f/839c29/32.png) [@fih](https://forum.inductiveautomation.com/u/fih)\
**Post date:** [February 10, 2026, 3:03pm UTC](https://forum.inductiveautomation.com/t/udt-opc-path-issues/26493/16 "2026-02-10T15:03:12Z")

</div>

Ok thanks, that explains why the interpretation only happened in the UI.

---

<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, 2026, 3:07pm UTC](https://forum.inductiveautomation.com/t/udt-opc-path-issues/26493/17 "2026-02-10T15:07:37Z")

</div>

If you are importing programmatically, you can supply the special binding structures are dictionary values to `system.tag.configure()`.
