Get Alarm Properites from UDT Binding

I have some Vision templates that us a UDT binding, but you can't browse all the way down to Alarm Parameters with this appraoch.

I have been able to do this doing Indirect Binding, but that's a lot more taxing because I need to creation indirect property bindings to a component customer property before then utilizing that value in an expression.

Is there not a syntax / way do this kind of thing via the UDT properties?

I never use UDT type params, but you get what you're given and if they don't pull in the alarm props, then the indirect binding way is your only option (and the only way I use)

1 Like

After reading one of your posts from a couple years ago about the UDT binding causing active subscriptions to every tag within the UDT, not just the utilized tags, I also abandoned the UDT binding and went for the indirect approach. I think I have 30 or so tags in each UDT, and there will be 30-40 templates on each screen, and 4 screens.... so that would be a few thousand active subscriptions just to display the PV, Alarm State, and Instance Name.

I am, however, binding the UDT when the operator clicks the template instance and the faceplate opens since I will utilize pretty much every binding within the faceplate. Unfortunately, you can't get the alarm configuration information this way, so I still have to put some indirect tag binding on there to get what I want.

I was hoping to be able to read/write the Alarm Priority property from the faceplate so that I can easily change these settings from the faceplate, but I'm not sure if this is possible:

As an Admin user, in the Runtime I get error:

Error writing "2" to tag [default]OPC/F1/AnalogInput/Alm/HH/Act/Alarms/High-High.Priority
Bad_AccessDenied("Insufficient tag edit permissions")

As an Admin in Designer, utilizing the Preview Mode, I get:

Error writing "2" to tag [default]OPC/F1/AnalogInput/Alm/HH/Act/Alarms/High-High.Priority
Bad_Unsupported

What is the datatype of the Alarm Priority? Right now I am writing an integer (0-4) but perhaps that's not what its expecting, even though that is what that property returns when you read it.

Those props are read only. You need to use system.tag.configure to change tag config. Just beware using this in conjunction with getConfiguration with override the whole udt instance

1 Like