Handling PLC and internal alarming in a single data type

This is more of a “what have you done in the past” discussion question. I have a system with several Ignition-generated alarms (standard SCADA alarms) and several PLC-generated discrete alarms. I’m creating a single datatype that I’d like to use for all analog inputs.

Currently I have separate expression-type boolean alarm tags that I can override the expression for, to either use a separate PLC-sourced discrete tag’s value or a simple less-than IF statement for generating internal alarms; however, this seems a bit silly. My next idea was to make a diagnostic level alarm when I want to use Ignition generated alarms, and use that to drive the separate expression tag.

I’m trying to make it easy to understand down the road… but it’s getting more and more complicated. At this point I’m thinking I better just make two different datatypes.

Thoughts?