Multiple layers of nested UDTs

I'm trying to nest several layers of UDTs and struggling to use the pre-defined parameters to make that happen. Trying to understand if I'm overthinking this or if it's not possible without creating my own parameters. An example would be pump -> vfd_starter->D2SD, with each of those being a UDT.

The D2SD UDT OPC Item Path would like something like ns=1;s=[{PLC_Name}]{InstanceName}.{TagName}, PLC_Name being the only custom parameter.

But then once I nest it within vfd_starter this Item Path no longer works. It would need to be something like ns=1;s=[{PLC_Name}]{ParentInstanceName}.{InstanceName}.{TagName}.

And so on and so forth, ns=1;s=[{PLC_Name}]{RootInstanceName}.{ParentInstanceName}.{InstanceName}.{TagName}.

Is there a way to easily nest hypothetically as many layers deep as you'd like while utilizing the pre-defined parameters? Or a parameter that provides the entire tag structure up to the UDT instance you are operating within?

Thanks,
Andrew

Consider not replicating your PLC's tag hierarchy in Ignition. Really. PLCs rarely have their tags organized in the folders you will need on the Ignition side to effectively parameterize your windows/templates/pages/views.

Instead, create UDTs that reflect your operational hierarchy, and use (one or more) UDT parameters that contain the necessary OPC Item Path prefix(es) needed to reach the right PLC tags. Then your UDT instances in Ignition can be in any folder that make sense for the UI, no matter where in the PLC(s) the data lives.

2 Likes