a division of Gustavo Preston Company

Tech Talk – Data Communications – BACnet

What is BACnet and Why Is It Used?

BACnet is a communications protocol for Building Automation and Control (BAC) networks. It is currently the most popular protocol use in Building Automation systems (BAS). BACnet is maintained by ASHRAE Committee SSPC 135.

BACnet was designed to allow communication of building automation and control systems for applications such as heating, ventilating, and air-conditioning control (HVAC), lighting control, access control, and fire detection systems. The BACnet protocol provides mechanisms for building automation devices to exchange information.

The BACnet protocol defines services that are used to communicate between building devices. The protocol services include Who-Is, I-Am, Who-Has, I-Have, which are used for Device and Object discovery. ANSI/ASHRAE 135-2016 BACnet protocol defines 60 object types to be acted on by these services.

The BACnet protocol consists of data link/physical layers referred to as BACnet flavors. They include BACnet IP, BACnet MSTP, BACnet ARCNET, BACnet Ethernet, BACnet IPv6, BACnet PTP, and ZigBee. BACnet IP and BACnet MSTP are the most popular.

BACnet devices are defined on the network as a collection of “objects”. Typical objects include Analog Inputs, Analog Outputs, Binary Inputs, Binary Outputs, and more complex objects such as Scheduler. The most frequently referenced property for an analog input is “present value”, which means data collected from a sensor or physical device. 

What is BACnet iP versus BACnet MS/TP?

BACnet IP Devices use IP addresses and Ethernet MAC addresses to represent as an IP network node. There is no master/slave token passing since Ethernet is peer to peer in nature. BACnet IP Devices transmit to their intended recipient allowing the Ethernet network to manage packet collisions and retries. BACnet IP devices view the IP internet as if it were a local area network. iP networks are transmit using Cat5 cabling allowing transmit speeds up to 100 Mbps. A device’s IP address (such as serves to physically address the device on the network.

BACnet MS/TP stands for Master Slave Token Passing. Each device on the link is considered the “master” when it has the token. If it does not have immediate need to use the token, it is required to pass the token along to the next device. All devices on the link which do not currently have the token are regarded as slaves and are expected to listen to any messages the current master may have for it. MS/TP Address or Station ID is an 8-bit number, which for master/slave devices is 0-127. This address is used locally on the RS-485 network to physically address devices and is not passed through routers. It is comparable to the Modbus RTU slave address. MS/TP is exclusive to BACnet via shielded twisted-pair (STP) allowing operating at speeds from 9.6Kbit/s to 76.0Kbit/s. This LAN type is particularly suitable for single controller and low cost communications.