UDT - Parameter Inheritance

This is a pretty basic question, but I’m worried that I’m going to do a poor job of explaining it.

For all of my tags, I have “Base UDT’s”.
I have several complex UDT’s that use these Base UDT’s.

I have a couple of questions regarding how the parameters are inherited from the UDT’s in the tags:

First - If I use the Base UDT’s in my complex UDT, Like this:

Base UDT
-Param1 ‘Base Historian’ = MYHISTORIAN

Complex UDT


now I create a tag:

The Param1 ‘Base Historian’ value will be “MYHISTORIAN”, correct?

In answer to my own question, yes.

Second Question:
If I then go into the Complex UDT/MY_BASE_UDT_Tag and override Param1 ‘Base Historian’ to be a value of “DIFFERENTHISTORIAN”,
Then I create a tag:
DIFFHIST_COMPLEX_UDT_Tag, the Param1 ‘Base Historian’ value will be “DIFFERENTHISTORIAN”.


Finally, I go back into my Complex UDT/MY_BASE_UDT_Tag and delete the value in Param1 ‘Base Historian’ in an attempt to “un-override” the parameter, should the parameter of my DIFFHIST_COMPLEX_UDT_Tag/MY_BASE_UDT_Tag Param1 ‘Base Historian’ now equal “MYHISTORIAN”?


Upon testing, the answer is no. I don’t understand why this is. Any suggestions?

When I create a new BASE_UDT_INSTANCE, the parameter updates when I change it on the UDT Data Type. I would expect these changes to also affect any complex UDT’s using that base UDT.


A quick test tells me that if you don’t ever override it in the complex UDT, then the base changes will “trickle down”.

Can I “un-override” the parameter in the complex UDT?

This post evolved quite a bit as I was writing it and doing the testing / capturing screen shots.

-Rob W.