Alarm Trend Tag Override Suggestion

Most of our alarms in Ignition are PLC driven for analog events/inputs. LIke HH/H/L/LL alarms are just bits in an alarm integer that turn on based on the PLC alarm status. The alarm status component allows trending of alarm tags if they're historized, but the history of those tags isn't what's important in our UDT, it's the actual analog value inside the same UDT. It would be nice to be able to override these alarm configurations to use a different tag for their alarm trends.

So, I posted an idea on the Ideas/Suggestions site that if anyone else would like this, feel free to upvote it:

We also handle alarming in the PLC, as I'm sure most do, and what I've done is include the analog value in the alarm display path/label so that the tag journal shows the alarm and what the level was when the alarm went off (I also do this for the raw analog signal when the OOR alarm goes off).

If I understand what you want here, you basically want a tag that's 0 when not in alarm and equal to the analog value when it is in alarm. Sounds like a job for an expression tag with History enabled.

Something like this for each?

if({[.]HH_Alarm},{[.]Analog_Value},0)

Except that there may be some cases where 0 would be out of the "normal" range and would raise an alarm, so maybe turn trending on/off based on HH_Alarm instead? - That would be a bit trickier and require some scripting for the alarmActive event. I'd probably just make a parameter for the analog UDT for the "Not in alarm" value (default of 0)

if({[.]HH_Alarm},{[.]Analog_Value},{Normal_Value})

No, I want the alarm tag to always be a 1 or 0, but since the trend function of the alarm status component is useless for these, allow the component to look at some sort of tag override to use for the trend and pull that tag's history instead. This way all your HH/LL/H/L alarms point to the same tag, and if you select one of those alarms in the alarm status component, the trend would show the trend from the value tag instead with indicators or something showing the points where the alarm triggered (based on timestamp alone).

Ok, I think I'm with you now. You basically want a way to overlay alarm points on the trend of whatever tag raised the alarm (within the PLC).

Of course the alarm tag itself would still be 1 or 0. I agree, trending the alarm tag itself would be rather useless, especially because the alarm journal exists.

The option that I proposed would be a set of new tags within the analog reading UDT (assuming that one exists, which it should). One "alarm value" tag for each alarm that then gets trended. The alarm value is 0 (or, whatever the non-alarm value might be) unless the associated alarm is on.

It would look something like this (blue = analog value, magenta = high alarm value)

Or, you can trend the alarm setpoint (assuming that it also exists in the UDT) with a fixed, longer logging interval so the operator can see where it crosses the value.

There's not really a way to put a single point (or a vertical line) on a trend.

I think an "associated trend" property for alarms would be difficult to implement, and is unlikely to happen.

I wouldn't think it would be that hard. Literally just a tag path to the analog tag that when pulling up the trend panel inside the alarm status component it shows the alternative trend data with the associated alarm entries just like shown in the manual, but pull the historical data from an alternative tag:

Is this an actual screenshot of an existing component you have? I'd be interested to know how you got the point/shapes and vertical lines on there. That does look very nice, especially if it's available as a dropdown off of a selected alarm in the alarm table.

This is the built-in Alarm Status component.

I wasn't aware of that feature on the alarm status table.

Then, yes. That would be a very useful feature.