UDTs with several controller brands in one project

Hi All.

I will soon be deploying ignition at our factory. We have a range of PLCs - Siemens, AB, Schneider and others.

In my last ignition project, I used UDTs linked to faceplates but this was only using S7-1200 controllers. This approach saved a lot of time and made maintenance and additions very simple.

What is the best approach for tags when using multiple controller brands? Is it better to set up many tags with basic data types (bool, real, int etc.) or to maintain a library of UDTs and faceplates for each controller brand?

Any experience or advice would be welcome.


If you use indirect binding for your templates, they’ll work alright with different UDTs for the different controllers as long as you give the same tags the same names and structure on the Ignition side (doesn’t matter if they have differing names/structure in the controller). You could also setup UDTs in Ignition that by default match up with your main controller UDTs, and then use OPC path overrides to link them up to controllers with differing UDTs. Using scripting to create the instances with overrides can make this reasonable. Either of these approaches would allow using the same templates with all the controllers.


+1 for @witman’s approach. Be sure to not use UDT parameters in your templates, just pass a tagpath string. Then indirect bind individual elements of your UDTs to properties in the templates. This allows you to point your templates at totally different UDTs, as long as they have they needed elements with the same names.


Yes, thanks for clarifying. This is what I meant by “use indirect binding.”

1 Like

Thank you for the quick reply. Sorry it took so long to respond.


Yes, this sounds good. All my existing templates have a tag path (string) input. I’ll do some testing.