Dynamic Alarm Enable and Pipeline Issues (v8.1.17)

Background
I have Float tag and have configured 3 (classic) alarms; HHH, HH and H.
Using an expression in the HH and H Alarms Enable property:-

  • I enable the HH alarm when the HHH alarm is not active
  • I enable the H alarm when the HHH and HH alarms are not active.
    have a functional alarm pipeline that sends email and SMS notifications when the alarms are activated and cleared. This works…for the most part…now see the issue.

Issue
Sequence of events:

  1. Tag value is less than the HHH, HH, and H alarm setpoints (no active alarms).
  2. I set the tag value to something greater than the HHH alarm setpoint and the HHH alarm activates. I receive an email and SMS notification the HHH alarm is activated. The HHH alarm appears in the Perspective alarm table.
  3. I set the tag value between the HH and H alarm setpoint.
  4. I receive email and SMS notification that the HHH alarm has cleared.
  5. The alarm table shows the HHH alarm has cleared and the H alarm is activated.
  6. Issue - the H alarm never enters the pipeline, I don’t receive email or SMS messages telling me the H alarm is active. And yes, I do get H alarm email/SMS message if in step # 3 I set the tag value to something between the HH and H setpoints.

So, am I doing something wrong, bad configuration, or is there something funky with dynamically enabling alarms losing sync with enabled/active alarms and the pipeline?

The image below are the tags parameters used to configure each of the alarms.

Thank you cleaver Ignition Folk!
Regards,
Ted.

Perhaps you can show what your expressions are for the HH and H Enable properties?

You say that you enable the HH alarm (I assume you made a typo here) when the HHH alarm is not active and the H alarm when the HHH and HH alarms are not active. I feel like you might be having a logical mix-up involving De Morgan’s Law with your H Enabled property.

Hi @obober
You’re correct, a typo in my original post (I just corrected it). The typo was in the post, not the logic.

HH Enable expression: !{[.]xServer Rack Temp Deg F TEST/Alarms/High High High Alarm.IsActive}

H Enable expression: !{[.]xServer Rack Temp Deg F TEST/Alarms/High High Alarm.IsActive} && !{[.]xServer Rack Temp Deg F TEST/Alarms/High High High Alarm.IsActive}

Original issue still exists…the H alarm doesn’t enter the pipeline.

@obober
Something else to note, as I change the tag value to test the dynamic enabling and disabling of the alarms I see inconsistent behavior of the H enable value and HH enable value. Sometime the bit is true with tag value that should activate the alarm but doesn’t. Sometimes the value is false when it shouldn’t be and sometime the value is null.

I think there is more going on here than just the H alarm (original issue) not entering the pipeline.

Have a look at [Bug-6178] Alarm {state} value isn't clear after clearing an alarm that was acknowledged
I believe they’re probably related.

Regards,
Ted.