8.0.0 (b2019040718)
I have a UDT with a parent UDT type that were converted across from a v7 project. I added an extra parameter to the parent UDT, but this parameter isn’t coming through into the child UDT. I have tried re-initialising the tag provider with no luck.
UDT definitions attached. EngLow and EngHigh parameters are not showing in FlowMeter UDT. Edit: None of the parent UDT parameters are shown in new instances of the child UDT.
AnalogueInput Flowmeter tags.json (20.1 KB)
EDIT: Related bug: creating new tags of the FlowMeter UDT type show only the 2 parameters that are defined within the FlowMeter UDT type, the parameters from the parent UDT AnalogueInput are not shown. I have a feeling that the only reason the parent UDT parameters are showing in my pre-existing UDTs with the FlowMeter type is because they are assigned to values. The new UDT type instance has no values defined for the parent type’s parameters, so they’re not shown…
Hi,
I imported this file and noticed one big thing: the parent type of FlowMeter is “Devices/AnalogueInput”, BUT, there is no “Devices” folder. The “AnalogueInput” type does exist, but it appears that it lost its parent folder.
Once I created a Devices folder and moved it there, FlowMeter now shows all parameters, as do new instances.
Quick side note: we already have a ticket to make invalid/incorrect type hierarchies more visible. Right now it’s not really showing you that the parent type isn’t present, or else you probably would have noticed yourself.
The main question is: where did this go wrong. Is it incorrect in your system too, or is it that all of these types are under the “Data Types/Devices” folder, and the export is just of that folder, which would explain why they’re all at the same level?
Hi Colby, sorry we’ve had a fair few public holidays over here amongst other work.
The UDTs defined in that json should all be in the Devices folder.
However you can easily reproduce this manually by:
-
Create new UDT with a few parameters and a tag
-
Create another new UDT with the parent as step 1 UDT and add a new parameter
-
Create a UDT instance of New Type 1 (step 2 UDT)
When you create the instance, all of the parameters show:
But when you close and re-open the tag editor the parent’s parameters vanish:
I believe this is an issue with the Tag Browser just not refreshing the definition of the UDT Instance after the UDT Parent’s parameters have been modified. If you refresh the Tag Browser tree, does the new parameter show up properly?
Garth
I’ve tried using both the Restart Tag and Refresh Providers context menu buttons with no luck at bringing these parent properties back. Also tried refreshing the tag provider from the gateway webpage by saving it.
A couple more questions:
- If you restart the Gateway, do the parameters appear?
- If they do appear, does adding more parameters work with just a refresh of the provider?
I have seen something similar, but cannot consistently replicate the issue. I am leaning toward the issue having something to do with UDTs that have been created since the last time the Gateway was restarted.
Garth
I’m working in 8.0.1 and am having the same issue. Restarting the Gateway, and refreshing the provider doesn’t fix it.
I am unable to use parent UDTs as they only show up with one parameter in the child UDT.
It’s annoying, but you can manually add in the parent UDT’s parameters in the exported json/xml tag definition, and then you can see them in the Designer.