BACnet B-BC Building Controller Profile

B-BC is the BACnet Building Controller profile (Annex L): what it is, where it's used, and every service a B-BC device must initiate and execute.

What B-BC Is

A BACnet device profile is a standardized capability level: a checklist of things a device must be able to do before it can wear the label. B-BC (BACnet Building Controller) is the flagship controller profile, defined in Annex L of ANSI/ASHRAE 135-2024 (clause L.4.1) as a general-purpose, field-programmable device capable of carrying out a variety of building automation and control tasks. Of the controller profiles, B-BC carries the heaviest requirement set: it must share data in both directions, generate and manage alarms, schedule actions in itself and in other devices, collect trend data, and support backup and restore.

The checklist items are BACnet Interoperability Building Blocks (BIBBs), each a named unit of capability such as “can answer read requests” (DS-RP-B). A device claims a profile by implementing every BIBB the profile requires, and documents the claim in its PICS (Protocol Implementation Conformance Statement). Specifiers use profile codes as shorthand in tender documents: writing “B-BC” into a specification demands the full capability set below without listing every individual service. To verify a vendor’s claim, ask for the PICS and check the profile line.

Where It’s Used

B-BC devices sit at the top of the controller tier: the programmable panel in the mechanical room rather than the terminal-unit controller above the ceiling.

  • Central plant controllers. A hospital’s chiller-plant controller sequencing chillers, pumps, and towers, while serving trend data to the BMS and writing setpoints to downstream equipment.
  • Supervisory field controllers. A school district’s per-building controller that runs the schedules, aggregates alarms from application-specific controllers, and keeps operating through an outage of the head end (the central BMS server).
  • Plant automation controllers. A manufacturing site’s air-handler plant controller that both serves its own points and pulls values from other devices to run its sequences.

Required Services

The table below is the exhaustive service set required by the B-BC BIBBs. Initiates means the device sends the request or notification; Executes means the device receives and acts on it (responding, for confirmed services). BIBB codes encode the same split: a -A BIBB is the initiating side, a -B BIBB the executing side. A - means the profile does not require that direction; a device may still support it. A service can appear under two capability areas when two different BIBBs use it.

Capability areaServiceRequired by BIBBInitiatesExecutes
Data sharingReadPropertyDS-RP-A, DS-RP-BYesYes
Data sharingReadPropertyMultipleDS-RPM-A, DS-RPM-BYesYes
Data sharingWritePropertyDS-WP-A, DS-WP-BYesYes
Data sharingWritePropertyMultipleDS-WPM-B-Yes
Alarm and event managementConfirmedEventNotificationAE-N-I-BYes-
Alarm and event managementUnconfirmedEventNotificationAE-N-I-BYes-
Alarm and event managementAcknowledgeAlarmAE-ACK-B-Yes
Alarm and event managementGetEventInformationAE-INFO-B-Yes
Alarm and event managementGetEnrollmentSummary ¹AE-ESUM-B-Yes
Alarm and event managementWriteProperty (recipient-list configuration) ²AE-CRL-B-Yes
SchedulingWriteProperty (schedule write-out to other devices)SCHED-E-BYes-
TrendingReadRangeT-VMT-I-B-Yes
TrendingConfirmedEventNotification (buffer-ready)T-ATR-BYes-
Device and network managementWho-IsDM-DDB-A, DM-DDB-BYesYes
Device and network managementI-AmDM-DDB-A, DM-DDB-BYesYes
Device and network managementWho-HasDM-DOB-B-Yes
Device and network managementI-HaveDM-DOB-BYes-
Device and network managementDeviceCommunicationControlDM-DCC-B-Yes
Device and network managementTimeSynchronization ³DM-TS-B-Yes
Device and network managementUTCTimeSynchronization ³DM-UTC-B-Yes
Device and network managementReinitializeDeviceDM-RD-B, DM-BR-B-Yes
Device and network managementAtomicReadFile (backup)DM-BR-B-Yes
Device and network managementAtomicWriteFile (restore)DM-BR-B-Yes

The services are only half the checklist. The scheduling and trending rows also require the device to host working Schedule, Calendar, and Trend Log objects, and the alarm rows require Notification Class objects with writable recipient lists. One notable absence: B-BC does not require COV subscription support, so do not assume a B-BC device serves COV without checking its PICS.

¹ Not required of devices at protocol revision 13 or later. (Protocol_Revision is a readable property of the device’s Device object.) ² AE-CRL-B is required only of devices at protocol revision 19 or later. The recipient lists must be writable with WriteProperty; list-manipulation services are optional. ³ The profile requires one of the two time-synchronization services, not both.

ProfileHow it differs from B-BC
B-AACAdvanced Application Controller: one step down. Internal scheduling only, no trending requirement, no backup-and-restore
B-ASCApplication Specific Controller: fixed-function, serves and accepts writes but has no alarming, scheduling, or trending requirement
B-SS / B-SASmart Sensor and Smart Actuator: minimal devices that serve values (and accept writes, for B-SA)

What Chipkin Provides

The CAS BACnet Stack implements the full BIBB set the B-BC profile requires, including the schedule execution engine and backup-and-restore. Talk to us about building or integrating a B-BC device on the stack.