BACnet Protocol : Architecture, Working, Types, Objects & Its Applications

BACnet protocol was developed by a committee named ASHRAE or the American Society of Heating, Refrigerating & Air-Conditioning Engineers in 1987. The main motto of this committee is to make a protocol that would provide systems from various manufacturers to communicate together in a pleasant way. So this protocol is a registered brand of ASHRAE. Since the time protocol was developed it is undergoing continuous changes with an open agreement procedure. So that all interested parties are welcome to participate with no fees. So this article discusses an overview of Bacnet Protocol basics – working with applications.

What is BACnet Protocol?

A data communication protocol that is used to build an automated control network, is known as BACnet or Building Automation Control Network. This data communication protocol is both an ISO & ANSI standard used for interoperability between cooperating building automation devices. Bacnet Protocol includes a set of rules for governing the data exchange on a computer network that simply covers all from what type of cable to utilize, to form a particular command or request in a normal way.

To attain interoperability across a broad spectrum of equipment, the BACnet specification includes three major parts. Primary, Secondary, and tertiary.  So the primary part defines a technique to represent any kind of building automation apparatus in a normal way.

The secondary part describes messages that can be transmitted across a network of computers to check and manage such equipment. The final part describes a set of suitable LANs which are used for conveying BACnet communications.

Why is Bacnet Protocol required?

The BACnet protocol’s importance is to define typical techniques that manufacturers can execute to build components as well as systems that are interoperable through other components & systems of BACnet.

It also specifies how data is signified on the network as well as the services that are utilized to transmit data from one node of BACnet to another node. It also has messages that recognize network & data nodes.


BACnet is used as a tool by owners of buildings & system specifiers for the specification of the interoperable system. This protocol does not change the need for indicating what a consumer needs. So, it provides simply some consistent tools to assist the creation & specification of systems that can interoperate.

BACnet protocol is used in all types of automated building systems. So, there are interoperable products available within different categories like security, fire, lighting, elevators, HVAC, etc. This protocol simply addresses the interoperability goal through simply defining a general working model of automation devices, a technique used for defining the data that they include, & also a technique used for explaining protocols that a single device can utilize to inquire one more device to execute some preferred action.

Bacnet Protocol Architecture

The BACnet protocol architecture is predominately restricted to lighting controls, HVAC & gateways. This protocol highlights lightweight and efficient communication which is optimized for short messages, small networks, and inter-networks.

Bacnet Protocol Architecture
Bacnet Protocol Architecture

BACnet protocol architecture is a collapsed architecture that matches to 4-layers of the OSI model. The four layers in the BACnet architecture mainly include Application, Network, Data Link & Physical. Even though, just the Network layer & Application layer are simply BACnet.

The above architecture is the BACnet protocol stack which includes different layers as shown in the diagram. This protocol is a collapsed version of the OSI stack. The transport and session layers are not used. The application layer takes on the functions of these two layers.

BACnet Physical Layer

The upper layers of BACnet do not depend on the physical layer. So the Physical layer of BACnet makes it feasible for BACnet to be executed on different networks. The physical layers of BACnet have been specified with ARCNET, Ethernet, IP tunnels, BACnet/IP, RS-232, RS485, and Lonworks/LonTalk. RS232 is for point-to-point communication. RS485 supports up to 32 nodes with a distance of 1200 m at 76Kbps.

BACnet Protocol Link Layer

BACnet protocol is implemented directly with LonTalk or IEEE802.2 link layers. So it specifies Point to Point (PTP) data link layer for RS232 connections. It specifies MS/TP data link layer intended for RS-485 connections. The standard simply specifies BVLL (BACnet Virtual Link Layer) which states all the services required through the BACnet device at this link layer.

IP BACnet Virtual Link Layer encapsulates required control data in a header of BACnet virtual link control information. Because of IP, BVLL, and BACnet protocol devices can directly communicate over IP networks without the requirement of any router device.

BACnet protocol utilizes BBMD (BACnet broadcast management device) concept which executes the required broadcast for the preferred link layer. So, the BACnet broadcast message is changed into IP-based broadcast or multicast messages.

BACnet Network Layer

This layer simply specifies the required addresses of the network for routing. BACnet network includes a minimum of one or above segments that are connected with bridges once they utilize similar LAN technologies. If they utilize various LAN protocols then they are connected through routers.

Application Layer

BACnet does not separate presentation as well as application layers. So it takes care of reliability & sequencing or segmentation mechanisms generally connected with both the session & transport layers. BACnet includes devices like objects to exchange service primitives which are described with ASN.1 syntax & serialized with ASN.1 BER.

BACnet Security Layer

The concept of BACnet security can be understood easily with an example say when BACnet device-A requests a session key from the key server for establishing secure communication through device-B, then this key is transmitted to both the device-A & device-B through the key server which is known as ‘SKab’. BACnet protocol uses 56-bit DES encryption.

How Does Bacnet Protocol Work?

BACnet is a typical electronic communication protocol that works by allowing different kinds of manufacturers’ building automation as well as monitoring systems like fire alarms, HVAC, and perimeter security for communicating with each other. This protocol can work with nearly any normal data protocol including TCP/IP.

BACnet protocol enables the comprehensive BMSs (building management systems) development that allows operators to construct, observe & control different building systems within a single application.
This protocol is also used to expand the flexibility & scope of the automation that can be executed. For instance, an automation system could be setup such that once the fire protection system notices a fire, then the system sends commands to the following.

  • To the control system of the elevator to send all elevators to the ground floor immediately.
  • To the paging system of the building to transmit an audible voice signal to inform occupants of the building wherever the blaze was detected & how to go out from the building.
  • From the audio or visual systems of the building to flash messages on TV displays within the conference rooms.
  • To an interface of phone system for sending alerts through text message to the facilities & engineering teams of the building.

With BACnet protocol, all the data is signified in terms of an object. So each object signifies data regarding a device or component. Signifying information like an object simply provides the benefit that the latest objects can be formed otherwise existing objects can be modified based on the requirements of the user.

An object signifies physical information (physical inputs, outputs) & nonphysical information (software/calculations). It is very significant to note that every object may signify a single portion of information otherwise a group of information which executes the same and exact function.

BACnet Object

BACnet object is a concept that allows the communication as well as a group of data related to i/ps, o/ps, software & calculations to be executed. The BACnet Object can visible itself in different ways like Single Points, Logical Groups, Program Logic, Schedules & Historical Data.

The BACnet objects are both physical & non-physical. For instance, a thermostat is considered a physical concept & the HVAC system is considered the output device. The best example of a non-physical concept is the maintenance schedule of an HVAC in the software form.

All BACnet objects include different properties of information exchange & commands. These properties represented in a tabular format with two columns. The first column includes the name of the property & the second column provides the value of the property. In the second column, the Information can exist in a write-enable/read-only format.

The BACnet object example for a binary input of a sensor within a building is shown below.

Object Name

Space Temp

Type of Object

Binary Input

Present Value


Status Flags

Normal, InService

High Limit                                   11110
Low Limit


In the above table, the first four properties are necessary by the BACnet standard whereas the last two properties are simply considered optional. So, these optional objects are frequently necessary by a developer, however, those objects should match the standard of BACnet. The example will show simply a few of the properties of an object. In real life, particularly in a building automation setting, different properties would be there within the object. Most experts & sources specify there are 23 standard BACnet objects utilized in building automation systems. So, standard objects operate in the BACnet standard.

The 23 standard BACnet objects are Binary i/p, Binary o/p, Binary value, Analog i/p, Analog o/p, Analog value, Averaging, LifeSafety Zone, LifeSafety Point, Multi-State i/p, Multi-State o/p, Multi-State value, Loop, Calendar, Notification Class, Command, File, Program, Schedule, Trend Log, Group, Event Enrollment & Device.

Once a set of objects executes a specific function then it is known as a BACnet device. All these objects should include an identifier, data type & additional information like read-only, modified through other devices, and many more.

Different Types

The different types of BACnet protocols are discussed below.


This is normally used with existing VLAN & WAN networks. So the devices can connect directly to hubs or Ethernet switches. This LAN is a high-performance & fast type, but very costly. BACnet/IP utilizes UDP/IP for compatibility through existing IP infrastructure. Once BACnet/IP is utilized with several IP subnets, then extra device functionality known as BBMDs (BACnet Broadcast Management Devices) is necessary to handle broadcast messages of inter-subnet BACnet.


This kind of LAN uses EIA-485 twisted pair for signaling up to 4k feet. So it is a very famous type of BACnet LAN which is used for unitary as well as application-specific controllers. This BACnet MS/TP is not expensive.

BACnet ISO 8802-3 (Ethernet)

BACnet is directly used with Ethernet 8802-3 networks which are similar to BACnet/IP in terms of speed & cost, although restricted to a single physical infrastructure that does not utilize IP routers.

BACnet over ARCNET

This BACnet is MAC type which includes two forms like 2.5Mbs coax & 156Kbs above EIA-485. This BACnet is supported by a limited number of vendors with ARCNET.

BACnet Point-to-Point

This BACnet Point-to-Point is simply used over the networks of dial-up telephones. Generally, thus direct EIA-232 connection is no longer used for a direct Ethernet connection.

BACnet over LonTalk Foreign Frames

This BACnet simply allows LonTalk’s transport component for carrying BACnet messages. But, the two protocols are not interoperable.

BACnet over ZigBee

Generally, this MAC is a wireless mesh network used with less costly devices. So it is normally used as a gateway to ZigBee devices & not like a native BACnet transport.

Bacnet to Modbus Converter

Protocon-P3 Gateway is a BACnet to Modbus converter which is used in designing automation systems in different applications like HVAC, access control, lighting control & fire detection systems, and their related equipment. The Protocon-P3 Gateway combines such BACnet systems & devices with Modbusbased management systems over Modbus RTU protocol & Modbus TCP/IP.

Bacnet to Modbus Converter
Bacnet to Modbus Converter

The main features of Bacnet to Modbus Converter include the following.

  • It includes a front panel that has LED for indication of quick diagnostic
  • Windows-based configuration utility.
  • It supports up to 100 BACnet devices interface to TCP Master/Slave or Modbus RTU.
  • It has the capacity for interfacing up to 5K mapping points.
  • It supports the COV bit packing feature.

Bacnet Protocol Vs Modbus

The difference between Bacnet Protocol and Modbus include the following.

BACnet Protocol


It was developed by ASHRAE. It was developed by Modicon Inc.
Bacnet is used for communication across devices. Modbus is used for communication between devices.
Its transmission modes are; IP, Ethernet, Zigbee & MS/TP. Its transmission modes are; ASCII, RTU, and TCP/IP.
Its standards are; ANSI/ASHRAE Standard 185; ISO-16484-5; ISO-16484-6. Its standards are; IEC 61158.
It is used in different markets like Industrial, Energy Management, Transportation, Building Automation, Regulatory, health & security. It is used in different markets like Lighting, Life Safety, Access Controls, HVAC, transportation & maintenance.
Network Interfaces: Existing LANs &LANs infrastructure. Network Interfaces: Traditional serial & Ethernet protocols.
Examples: Measurements of Tank Level. Boiler Control. Examples: Tasks like fan schedule, sending a status alarm, and requesting temperature reading.


The advantages of the Bacnet Protocol include the following.

  • BACnet protocol is particularly designed for building automation as well as control networks.
  • It doesn’t depend on present LAN or WAN technologies.
  • It is an American National Standard & a European pre-standard.
  • It is scalable completely from small single building applications to universal networks of devices.
  • The implementers of BACnet can securely include non-standard extensions as well as enhancements without influencing existing interoperability.
  • It is adopted by the most famous fire protection companies in both the USA & Europe.
  • It is supported by different chiller manufacturers like Dunham-Bush, Carrier, McQuay, York & Trane.
  • In real building control applications, this protocol has a proven track record.


The disadvantages of the Bacnet Protocol include the following.

The main drawback of the BACnet protocol was a compliant problem. So because of this issue, the BTL (BACnet Testing Laboratories) was introduced in the year 2000. BTL is compliance & and independent testing organization. The main intention of this is to test the products of BACnet to verify compliance with the standard. Once approved; the product will get the logo of BTL.

The problems or net-worthy attacks which are widely found in this protocol are; Lack of spoofing & authentication, DoS attacks, immobilized network connections, and lack of encryption & write access over devices.


The use of Bacnet Protocol includes the following.

  • The BACnet is used in HVAC applications, fire control lighting control, security, alarm & interfacing to utility companies.
  • This protocol was particularly designed for building automation as well as control applications.
  • This protocol is used to provide mechanisms, especially for automation devices for exchanging data irrespective of the specific building service they perform.
  • This protocol can be used by digital controllers, computers & application-specific otherwise unitary controllers with equivalent effect.
  • BACnet protocol was initially developed to develop interoperability between building automation devices; however, its data descriptions, as well as flexible architecture, will make it work within a broad range of control applications.
  • This is an object-oriented protocol, so used to signify network-accessible control equipment.

Thus, this is an overview of Bacnet protocol – working with applications. This is the best protocol used to build automation and also to connect different systems. So, Bacnet Protocol in IoT technology has a great future & it will develop by leaps & bounds. This protocol provides a great solution from a scalability viewpoint too. Considering the criticality & demand of the application, safety must be given & development must be done with security in mind. Considering the lack of standards, the right standards must be defined for vendors to follow & execute. Here is a question for you, what is the I2S protocol?