Link UDT property in template to nested UDT?

I have a template that I’m needing to modify. It has a TON of objects linked to a UDT. Because of reasons I had to take the UDT it was linked to and make it a member of a new UDT. Is there a way I can link the existing UDT property in my template to the Nested UDT?

To put it a different way:
I have a Parent UDT named “Bob”
Bob has an UDT Instance named “Tom”, let’s call it TomMaster

On a template I have a property of type “Tom”, let’s call it TomInstance
On the same template I have placed a custom property of type “Bob”, let’s call it BobInstance

Is there way to link TomIntance to the nested UDT of similar type within Bob?

I’ve tried to use indirect tag mapping using the following formats:
{1}.TomMaster
{1}/TomMaster
{1}::TomMaster

where {1} was linked to Root_Container…BobInstance

I think the problem I’m seeing is that when I try to link it to a property and select TomMaster, I can’t because Ignition views TomMaster not as a UDT instance or property, but as a folder. Is there a way around this or am I just going to have to grab a beer and pizza and do this the long way where I change each binding to use the new structure?

I’m not sure I understand 100% but I’ve given it a shot here. I think switching to expression binding for this will work well.

So you want to access a UDT of type Tom that is inside the UDT Bob, on a template. Try this in the expression binding of TomInstance:

tag({Root Container.TomInstance::Meta.TagPath} + "/TomMaster")

Thanks for the response, I’ve tried this a couple different ways, and it never would work for me. Unfortunately I haven’t had time to really investigate if it was just a problem with how I was doing it. For time’s sake, I just had to do a find and replace on the screen to update the scripts.

I am having a similar issue. Is there a workaround to bind nested UDT property to a nested Template that expects it?

I tried the Expression binding as suggested but it did not resolve the issue.

This article describes the issue, although the solution suggested in this article is not feasible for me. I have various templates and changing them all to indirect tag instead of UDTs will be a lot of re-work.

Is there a way to bind to nested UDTs?

If you put a custom property on the template of the parent UDT type, you should be able to browse down into the nested UDT using a property binding. In the picture below I created a test UDT called NestedUDT, inside that UDT I nested another UDT called Fault. You can see in the picture that you can just drill down into the Fault nested UDT and select a field.

Thank you for your response. I would like to bind to the entire UDT property, in your e.g: Fault. As your example shows the nested UDT named Fault is not recognized as a UDT (but a folder) and hence cannot be bound to.
Any other ides? or workarounds?

I would create a second custom property on the template but make it an internal custom property.
Make it of the sub UDT Type, then you can bind it to the template by browsing to the sub tag in the tag tree.


OK. Will give that a shot. Thanks a bunch

Just to make sure I understand, it seems like if I bind the internal property from the tag tree then it will be statically bound to that tag from the global tag tree.
Did I miss something?