Using a recent nightly build of 8.0.3, I have tried creating a UDT with an alarm pre-configured. Some alarm properties are bound to parameters of the UDT such as display path, label, priority, etc.
I have encountered quite a few problems while doing this:
-
UDT parameters can’t be named the same as an existing property. Example: Binding the alarm label to a parameter called “Label”. You also can’t bind the alarm label to a parameter called “displayPath”, “priority”, etc. If you do bind the property to one of these, the string will just return blank. Maybe prevent the user from creating parameters with these names?
-
If you copy/paste a UDT instance and then rename it, the property Alarms/[Alarm Name]/Source does not update to the new name. I don’t know if this is actually a problem, it doesn’t seem to stop the alarm from working, I just noticed it when trying to troubleshoot a different issue.
-
Deleting parameters from a UDT definition doesn’t delete them from existing UDT instances. You have to go delete them manually. Shouldn’t all instances of a UDT stay synced with the definition?
-
Minor Complaint: Create a folder under “Data Types”, create a new UDT definition in that folder, then delete the folder. That folder will still be visible as an option when you right click and select New Tag>Data Type Instance.
-
Minor Complaint: Values in the tag browser just disappear randomly and you have to click somewhere to get them to re-appear. Also, when changing a value from the tag browser, you have to click away to see the value update.
Most of these are not huge issues (#3 is probably the worst), but they have definitely cause me some headaches over the past few hours. #1 took me a while to figure out why my alarms weren’t working.