BACnet Binary Input Object

The BACnet Binary Input object (Clause 12.6) represents a two-state input like a contact or status

What the Binary Input Object Is

The Binary Input object, defined in Clause 12.6 of ANSI/ASHRAE 135-2024, is how a BACnet device represents a two-state physical input: a value that is either active or inactive. A door contact, a fan status, a flow switch, or any dry contact wired to the device shows up as a Binary Input whose Present_Value is active or inactive.

The one twist unique to binary objects is polarity. Polarity maps the physical signal to the logical state: with normal polarity, an energized input reads active; with reverse polarity, the mapping is flipped. This lets an integrator make a normally-closed contact and a normally-open contact both read active when the condition they monitor is true. Binary Input objects that support intrinsic reporting apply the CHANGE_OF_STATE event algorithm.

Where You’ll See It

  • Status and feedback. Fan and pump run-status, damper end-switches, and equipment proof points.
  • Alarm contacts. Freeze-stats, flow switches, and other dry-contact alarms wired into a controller.
  • Runtime tracking. With the optional state-change and elapsed-active-time properties, a Binary Input can count starts and total run hours for maintenance.

Required Properties

Clause 12.6 requires every Binary Input object to provide these properties. Datatypes are the spec’s names: BACnetBinaryPV is the two-state present value (active or inactive), BOOLEAN a true/false flag, and the other BACnet-prefixed types are structured values defined by the standard.

PropertyDatatypeWhat it holds
Object_IdentifierBACnetObjectIdentifierThe object’s type and instance number, unique within the device
Object_NameCharacterStringThe human-readable point name, unique within the device
Object_TypeBACnetObjectTypeAlways binary-input for this object
Present_ValueBACnetBinaryPVThe current state, active or inactive, after polarity is applied
Status_FlagsBACnetStatusFlagsFour health flags: in-alarm, fault, overridden, out-of-service
Event_StateBACnetEventStateThe object’s current event state (normal, off-normal, or fault)
Out_Of_ServiceBOOLEANWhen true, Present_Value is decoupled from the physical input for testing
PolarityBACnetPolarityMaps the physical signal to the logical state (normal or reverse)
Property_ListBACnetARRAY[N] of BACnetPropertyIdentifierThe list of properties this instance actually implements

Optional Properties

The properties integrators meet most are Inactive_Text and Active_Text (the labels a display shows for each state), Alarm_Value (which state is the alarm), and the runtime-tracking group (Change_Of_State_Count, Elapsed_Active_Time). The intrinsic-reporting group generally appears or is absent as a set.

PropertyDatatypeGroup
DescriptionCharacterStringGeneral
Device_TypeCharacterStringGeneral
Inactive_TextCharacterStringState labels
Active_TextCharacterStringState labels
Change_Of_State_TimeBACnetDateTimeRuntime tracking
Change_Of_State_CountUnsignedRuntime tracking
Time_Of_State_Count_ResetBACnetDateTimeRuntime tracking
Elapsed_Active_TimeUnsigned32Runtime tracking
Time_Of_Active_Time_ResetBACnetDateTimeRuntime tracking
Alarm_ValueBACnetBinaryPVIntrinsic reporting
Time_DelayUnsignedIntrinsic reporting
Notification_ClassUnsignedIntrinsic reporting
Event_EnableBACnetEventTransitionBitsIntrinsic reporting
Acked_TransitionsBACnetEventTransitionBitsIntrinsic reporting
Notify_TypeBACnetNotifyTypeIntrinsic reporting
Event_Time_StampsBACnetARRAY[3] of BACnetTimeStampIntrinsic reporting
Event_Message_TextsBACnetARRAY[3] of CharacterStringIntrinsic reporting
Event_Message_Texts_ConfigBACnetARRAY[3] of CharacterStringIntrinsic reporting
Event_Detection_EnableBOOLEANIntrinsic reporting
Event_Algorithm_Inhibit_RefBACnetObjectPropertyReferenceIntrinsic reporting
Event_Algorithm_InhibitBOOLEANIntrinsic reporting
Time_Delay_NormalUnsignedIntrinsic reporting
ReliabilityBACnetReliabilityFault detection
Reliability_Evaluation_InhibitBOOLEANFault detection
Audit_LevelBACnetAuditLevelAuditing
Auditable_OperationsBACnetAuditOperationFlagsAuditing
Interface_ValueBACnetOptionalBinaryPVIntegration
TagsBACnetARRAY[N] of BACnetNameValueTagging and profile
Profile_LocationCharacterStringTagging and profile
Profile_NameCharacterStringTagging and profile
  • Binary Output: the commandable two-state counterpart that drives a relay or output.
  • Binary Value: a two-state software point with no physical input.
  • Analog Input: the measured-value equivalent for continuous readings.

What Chipkin Provides

The Binary Input object, including polarity handling and the CHANGE_OF_STATE intrinsic reporting algorithm, is a first-class object type in the CAS BACnet Stack. Talk to us about modeling your device’s points.