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?
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.
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.
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?