New Alarm Enrollments don't work, existing enrollment work fine.

Issue

Created new Alarm Enrollment, attach to point and put point in alarm but no alarm is received and the points alarm value does not show the point is going in alarm.

No problem when using an existing Alarm Enrollment created in the past when the total number of Alarm Enrollment objects was much less.

Product Line

Andover Continuum

Environment

  • CyberStation
  • CX9900
  • CX9640
  • CX9702
  • CX9680
  • ACX5720
  • ACX5740

Cause

Controller's handle id limit on Alarm Enrollment objects has been exceeded.

Resolution

Click here to download this article as a PDF: Continuum Alarm Enrollment Handle ID Limits

Continuum Alarm Enrollment Handle Ids Limit.

(Note the information presented here applies only to non BACnet alarms)

In Continuum there is a limit on the number of Alarm Enrollment objects that can be sent to the controller, the limit is 4000.

Unlike the BACnet alarms, the Continuum alarm enrollments are meant to be re-usable, the system was designed for the Alarm Enrollment to be reused hence the limit, when the system is used as designed is very unlikely if not impossible to exceed the 4000 Alarm Enrollment objects limit.

There have been cases where this limit has been exceeded due to site requirements that do not conform to the Continuum design, further more as of version 1.94 Continuum does not provided any feedback when the limit is exceeded, the alarm simply won’t work since the controller does not accept the alarm enrollment objects sent by the CyberStation.

Guidelines to avoid exceeding the alarm enrollment handle id limit.

  1. Re-use, re-use, re-use. The Continuum system was designed for the Alarm Enrollments to be reused.
  2. If for some reason the number of alarm enrollment object is approaching the limit, do not delete Alarm Enrollment objects, if you have an alarm enrollment that is no longer needed rename it and re-purpose it instead of deleting it and creating a new one, the reason for this is that the handle ids once assigned are never re-assigned, so if you delete an alarm enrollment its handle id is lost forever.

How to clean up if the limit is ever exceeded.

If there are any Alarm Enrollment objects with handle ids out of range in the database they should be deleted to avoid confusion but before they are deleted all links to the enrollments have to be identified and the links removed.

  1. To find any links to alarm enrollment objects with id out of range run the following query against the ContinuumDB
    		Select * from EventEnroll where AlarmRefLo > 562041735
    If you get any results look at the uiName column, the uiName will consist of the point’s number and the AlarmEnrollment’s name separated by a period.
    Example: Num1.TempTooHigh
    Now From the Continuum explorer, find the point named ‘Num1’ that has a link to ‘TempTooHigh’ and remove the link.
  2. After all the links have been removed run the following query to find all the Alarm Enrollment objects with handle ids out of range.
    		Select * from AlarmEnroll where ObjectIdLo > 562041735
    Note the name in the uiName column, from the Continuum explorer delete the AlarmEnrollment objects.