BACnet: Event Enrollment Object

The Event Enrollment object is defined by the standard as information related to the management of events for BACnet systems. Events are essentially changes in the value of any property concerning any object that meets specific criteria.

The central purpose for the Event Enrollment object is to define an event, and offer the developer a connection between the event occurrence and the transmission of notification messages.

The Event Enrollment object contains the following information for effective operation:

  • Event Type Description
  • Event Occurrence Notification
  • Device Notification

The following table will present the actual properties and associated datatypes of the Event Enrollment object from the BACnet standard:

PropertyDatatype
Object_IdentifierBACnet Object Identifier
Object_NameCharacter String
Object_TypeBACnet Object Type
DescriptionCharacter String
Event_TypeBACnet Event Type
Notify_TypeBACnet Notify Type
Event_ParametersBACnet Event Parameter
Object_Property_ReferenceBACnet Device Object Property Reference
Event_StateBACnet Event State
Event_EnableBACnet Event Transition Bits
Acked_TransitionsBACnet Event Transition Bits
Notification_ClassUnsigned
Event_Time_StampsBACnet Array (3) of BACnet Time Stamp
Profile_NameCharacter String

The BACnet standard states that there's a specific relationship among three properties:

  • Event_Type
  • Event_State
  • Event_Parameters

The Event_Type represents the algorithm used to determine the Event_State. The Event_Parameters property provides certain parameters required by the algorithm. The developer should pay special attention to the relationship of these three properties.

The following table from the standard will examine the three properties and their associated values:

Event_TypeEvent_StateEvent_Parameters
Change_of_ BitstringNormal
OffNormal
Time_Delay
Bitmask
List_of_Bitstring_Values
Change_of_StateNormal
OffNormal
Time_Delay
List_of_Values
Change_of_ValueNormal
OffNormal
Time_Delay
Bitmask
Referenced_Property_Increment
Command_FailureNormal
OffNormal
Time_Delay
Feedback_Property_Reference
Floating_LimitNormal
High_Limit
Low_Limit
Time_Delay
Setpoint_Reference
Low_Diff_Limit
High_Diff_Limit
Deadband
Out_of_RangeNormal
High_Limit
Low_Limit
Time_Delay
Low_ Limit
High_ Limit
Deadband
Buffer_ReadyNormalNotification_Theshold
Change_of_Life_SafetyNormal
OffNormal
Life_Safety_Alarm
Time_Delay
List_of_Alarm_Values
List_of_Life_Safety_Alarm_Values
Mode_Property_Reference

The next two examples from the standard will reveal the Event Enrollment object structure from an actual automation application. Specifically, the two examples will involve temperature control in a certain room of a building:

Property: Object_Identifier = (Analog Input, Instance 2)
Property: Object_Name = "Zone1_Temp"
Property: Object_Type = ANALOG_INPUT
Property: Present_Value = 86.0
Property: Description = "Receptionist Lobby Temp"
Property: Device_Type = "PT 3K RTD"
Property: Status_Flags = {FALSE, FALSE, FALSE, FALSE}
Property: Event_State = NORMAL
Property: Reliability = NO_FAULT_DETECTED
Property: Out_Of_Service = FALSE
Property: Update_Interval = 5
Property: Units = DEGREES_FAHRENHEIT
Property: Min_Pres_Value = 55.0
Property: Max_Pres_Value = 95.0
Property: Resolution = 0.1

The Analog_Input object above is assumed for the following Change_of_Value Event example, and the object is located in Device 12.

Property: Object_Identifier = (Event Enrollment, Instance 2)
Property: Object_Name = "Zone1TempCOV"
Property: Object_Type = EVENT_ENROLLMENT
Property: Description = "Zone 1 Temperature COV"
Property: Event_Type = CHANGE_OF_VALUE
Property: Notify_Type = EVENT
Property: Event_Parameters = (5, 0.25)
Property: Object_Property_Reference = ((Device, Instance 12),(Analog Input, Instance 2), Present_Value)
Property: Event_State = NORMAL
Property: Event_Enable = (TRUE, FALSE, FALSE)
Property: Acked_Transitions = (TRUE, TRUE, TRUE)
Property: Event_Time_Stamps = ((23-MAR-95,18:50:21.2),(*-*-*,*:*:*.*),(23-MAR-95,19:01:34.0))

Written by: Scott Cosby

Contact Us

Contact us via phone (+1 866-383-1657) or leave a detailed message below for sales, support, or any other needs

*Required Field
*Required Field
I'd like to receive the newsletter. *Check email for confirmation.
*Required Field
8:00am - 12:00pm 12:00pm - 5:00pm
Message Sent Successfully