BACnet (Building Automation and Control networks) is a data-communication protocol specifically designed for building automation applications.

1987 the ASHRAE (American Society of Heating, Refrigerating and Air-Conditioning Engineers) founded the committee 135 to create an open and neutral communication protocol for building automation. First published in 1995 the BACnet standard is under continuous maintenance by SSPC 135. A public review process before the formal approval assures acceptance by the industry or interested parties.

While starting as a national American standard BACnet has become a world-wide standard and was accepted by ISO as the standards ISO 16484-5 and ISO 16484-6.

The general architecture of BACnet describes three main parts, the BACnet data link layers, the BACnet objects and the BACnet application services.

BACnet supports a total of 9 different network media (data-link-layer).

Those are:

  • BACnet Ethernet (ISO 8802-3 aka Layer-2 Ethernet, rarely used)
  • ARCnet (Network or EIA-485, rarely used)
  • LonTalk (any media supported by LonTalk, rarely used)
  • MS/TP (Master/Slave Token Passing) based on EIA-485 (serial networks, commonly used)
  • PTP (Point-to-Point) based on EIA-232 (serial connection, rarely used)
  • BACnet/IP (based upon IPv4 and UDP communication, commonly used)
  • BACnet/IPv6 (based upon IPv6 and UDP communication, rarely used)
  • ZIGBEE (wireless mesh networks, rarely used)
  • BACnet/SecureConnect (based upon TCP / websocket based communication, rarely used but expected to be commonly used in the future)

BACnet models the data of building automation components as objects. Those include Analog, Binary and Multi-State Input, Output and Value Objects, primitive data, the representation of devices, counters, calendar and scheduling, trend-logging, alarming, life-safety and access control objects as well as objects to represent a building structure (groups, structured views).

Objects consist of properties to represent the data associated to the specific information. This includes text information like the name and description, the technical address of the data, the present value, units, alarm-limits as well as specific building automation functionality like command priorities, elapsed active time or change-of-state counting. Due to the de-central approach of BACnet a client can request all information from a device representing data as a server.

The BACnet application services allow access to the objects and provide functions to interact between BACnet applications in a network. Another set of network services on layer 3 of the ISO/OSI model provide routing functions between the different data-link-layers as well as exchanging information about network security.

Application services include object access like reading, writing and change-of-value. Other services provide file-transfer, alarm information, remote device and network management and virtual terminal functions.

To assure interoperability between applications BACnet specifies a PICS (Protocol Implementation Conformance Statement) document. A PICS is a self-declaration by the vendor of a BACnet device and describes which parts of BACnet are supported by the implementation.

BACnet devices may support one of the 8 device profiles specified for better interoperability.

The profiles are:

  • B-AWS:Advanced Operator Workstation
  • B-OWS:Operator Workstation
  • B-OD: Operator Display
  • B-BC: Building Controller
  • B-AAC: Advanced Application Controller
  • B-ASC: Application specific controller
  • B-SS: Smart Sensor
  • B-SA: Smart Actuator