For those of you who leverage UDTs, we have a new feature that will start appearing in our nightly builds on 10/22/2022 and will be part of 8.1.23 that we are call the UDT Hierarchy Tool. The goal of this tool is to help visualize the relationships between interconnected UDT definitions and instances by showing the following:
Inheritance between UDT definitions
Overrides of inherited properties
Instances that are directly related to the definition
The tool is accessed by right clicking on a UDT Definition or UDT Instance and selecting the View UDT Hierarchy. Doing this will open a new dialog window that looks like the following:
On the left side of the panel, you can see the related definitions to visually understand how UDTs interconnect if they are related. If you expand the Instances of ... folders, you will see UDT instances that directly inherit the definition as a parent. Note that nested UDT Instances are not yet visible in this list.
On the right side of the panel, you are able to see information about member tags and overridden properties for the selected UDT Definition or UDT Instance.
If you need additional filtering for instances, right clicking on the Instances of ... heading will allow you to open the Tag Report Tool with the search pre-populated for that specific set of UDT instances. This can allow you to filter for items with specific overrides or other insights you may be after.
We hope this tool will benefit you. As always, we welcome any feedback you may have!
Hi @ggross, I found a couple of bugs in 8.1.25 where UDT instances aren't reported that are inside of UDT definitions. E.g. if UDT Def "TypeA" includes an instance of "TypeB", the UDT Hierarchy tool on TypeA, with "show instances" enabled, doesn't show the instance inside of the "TypeB" definition.
It also doesn't show the instances of TypeB within the instances of TypeA either. This one should probably be another option, as sometimes you may not care about nested udt instances
Both of these choices were intentional as there weren't really good ways to understand where everything existed when it was presented to the user, because there wasn't a good way at the time to group things in a manner that would make sense. We should look at adding the ability to show these things though and I will add a ticket to investigate what needs to be done to support it.
I just had an instance where I tried to use this tool. I wanted to see instances of a particular UDT (UDT called Alarm) which are instances inside multiple other UDT definitions.
Nothing came back when looking for this in the Hierarchy tool.
I then tried the tag report tool and still no luck.
I hope something like this gets added because this is the only feature I thought would benefit me from this tool and it's unavailable and I use a lot of UDTs withing UDTs.
Which version of Ignition are you currently using? For the Tag Report tool, we did add the following options that should allow you to do a search on this. While they weren't in the original release of the Tag Report Tool, it is part of 8.1.21+ versions of Ignition (which should also be in any version that has the UDT Hierarchy Tool).
You should be able to search Ancestor: Alarm with the Include UDT Members option enabled to return any UDT Instances with that Alarm Instance. If you want definitions as well, make sure the Include UDT Definitions option is selected.
If neither of these are working, can you please private message me an export of the Tags in the tag provider you are running the Tag Report query on so that I can troubleshoot?
Any chance you can send me a direct message with a tag export so that I might be able to understand what might be broken? If not, I would ask that you open a ticket with support as this should be working based on what you have described.