
BACnet, short for Building Automation and Control Networks, is a widely adopted communication protocol that enables seamless integration and interoperability between various building automation devices and systems.
In this comprehensive guide, we'll explore the different components that make up the BACnet message structure, object model, services supported, how vendors specify their device capabilities and BACnet conformance process.
It is recommended to have a look at our previous article introducing the BACnet protocol and its physical layers.
This section provides a high-level overview of BACnet/IP Message Structure.
BACnet/IP Message Structure
The Ethernet layer encapsulates the network layer (Internet Protocol (IP)) and the transport layer (User Datagram Protocol (UDP)) protocols. From the BACnet perspective, the packet is transferred over a BACnet Virtual Link Layer (BVLL). The BVLL is responsible for creating virtual links between BACnet devices. The next layer in a typical BACnet/IP message is the Network layer Protocol Data Unit (NPDU). The NPDU holds the information about the destination and source BACnet device addresses. BACnet protocol utilizes the NPDU to facilitate the routing and delivery of messages between BACnet devices. The NPDU is responsible for handling the addressing, segmentation, and reassembly of BACnet messages, ensuring that data is transmitted efficiently and reliably. BACnet supports different types of NPDU messages, such as Unicast, Broadcast, and Multicast, etc.
The Application Layer Protocol Data Unit (APDU) is the core component of the BACnet message structure, as it carries the actual data and control information exchanged between BACnet devices. The APDU is responsible for encapsulating the application-level data, ensuring its integrity and proper interpretation by the receiving device. It has many control fields such as segmented packet information, service request, service acknowledgement etc.
While this is a general structure of a BACnet/IP message, the presence of NPDU, APDU etc varies as per the actual data being transferred.
At the core of the BACnet protocol is the BACnet Object Model, which provides a standardized way of representing and interacting with various building automation system components. The BACnet Object Model defines a set of predefined object types, each with its own unique set of properties and behaviors. Some of the commonly used BACnet object types include:
By using these standardized object types, BACnet-enabled devices can communicate and exchange information in a consistent and interoperable manner, regardless of the manufacturer or the specific implementation details.
BACnet defines a set of services that facilitate communication and data exchange between devices in a building automation system. These services provide a common language and set of rules for how devices can interact with one another, ensuring seamless integration and coordination.
Some of the key BACnet services include:
By leveraging these services, BACnet-based building automation systems can achieve a high degree of interoperability, allowing for seamless communication, coordinated control, and efficient data exchange across a wide range of devices and systems.
BACnet devices come in a wide variety of forms, each with its own unique capabilities and requirements. In this section, we'll delve into the different types of BACnet devices, including:
BACnet Protocol Implementation Conformance Statement, or BACnet PICS for short, is a document that acts like a report card for a device claiming BACnet compatibility. Manufacturer of any BACnet device is expected to provide a PIC statement for the same to enable third parties to consume their device capabilities. As per the BACnet website, (Conformance (PICS) – BACnet Committee)The PICS typically contains the following information
To ensure the interoperability and compatibility of BACnet-enabled devices, the BACnet standard defines a conformance testing process. This process involves the evaluation of a device's implementation of the BACnet protocol, ensuring that it adheres to the specified requirements and can effectively communicate with other BACnet-compliant devices.
The BACnet Conformance Testing process typically includes the following steps:
The BACnet Conformance Testing process ensures that building owners, system integrators, and end-users can trust that BACnet-certified devices will seamlessly integrate and communicate within a BACnet-based building automation system, regardless of the manufacturer or the specific implementation details.
In this comprehensive guide, we've explored the intricate components that make up the BACnet message structure, from the foundational BVLL to the application-level APDU. The BACnet object model and services were introduced with some of the defined objects and services. The PIC statement can be used to specify the BACnet device capabilities while the conformance testing can help ensure device compatibility with the BACnet standards.
With an in-depth understanding of the BACnet internals, it will help to unlock the full potential of this powerful protocol, ensuring seamless integration, efficient data exchange, and optimized building performance.

Profibus is a fieldbus communication standard that allows devices to exchange data in real-time, enabling seamless communication between various components in an automated system.