Building Automation is the focus this month as the annual International Air-Conditioning, Heating, Refrigerating Exposition (AHR Expo) occurs at the end of January. This show started a whopping 85 years ago and is now the event of the year. RTA will be there (Las Vegas this year) along with 2,000 other vendors to introduce two new products; the BACnet Refrigeration Monitoring System and the best on the planet, BACnet router.
Even though you might not be in the Building Automation industry, it’s important to understand a little about each of the major technologies that shape the buildings and factories where we work. BACnet is THE technology of the building automation industry and as we continue to integrate the enterprise, the facility and the factory, it’s important to know all these technologies.
Besides heating and cooling, BACnet is used in lighting, access control, video surveillance, water chilling, and security and safety systems. BACnet accommodates these disparate systems by using an Object-oriented approach to standardize the representation of processes and data within a device. It’s an approach that you’ll find is very similar to OPC UA. And just like OPC UA and other technologies, there are standard services to access data in those objects. And just like our factory floor automation technologies, BACnet is there to standardize how we access all the disparate devices that are needed to have an integrated view of the system (the building in this case).
Building vs. Factory Automation
There are two key differences between building and factory automation. In general building automation moves at human paces. Seconds not milliseconds are the norm. Also building automation installations are often much larger than anything in a factory. Networks with thousands of nodes across multiple campuses are not uncommon.
So exactly what is BACnet?
BACnet (Building Automation and Control Network) is a completely non-proprietary open protocol specification that defines both how data is represented on the network and the services that are used to move data from one BACnet node to another. It includes messages that identify data and network nodes such as Who-Is, I-Am, Who-Has, and I-Have.
In the early days of BACnet, prior to the advent of Ethernet, there were many different physical and data link technologies used to link devices over BACnet. Though some of those other transport mechanisms are still around, BACnet commonly only uses an RS485 and an Ethernet transport mechanism.
BACnet MS/TP
MS/TP is the RS485 version of BACnet. It is a Master/Slave, Token Passing system in which devices communicate using serial communications. It remains very popular due to the large installed base of MS/TP devices.
BACnet/IP
IP is the most common Ethernet version of BACnet. It is a Client / Server implementation in which BACnet messages are embedded in UDP/IP packets.
Like the Control and Information Protocol (CIP) used in many industrial applications, BACnet defines a set of standard objects to represent data on a network. These objects have both required and optional properties. Objects defined by the specification include:
Analog Input |
Binary Input |
Analog Output |
Binary Output |
Analog Value |
Binary Value |
Group |
Loop |
Multi-State Input |
Schedule |
Multi-State Output |
Command |
Calendar |
Device |
Program |
Event-Enrollment |
File |
Notification-Class |
Information in a BACnet device is represented in terms of one or more of these objects. Object can represent information about some physical input or output, or it can represent a logical point that performs some function, such as a setpoint. Objects have an identifier (such as AI-1 for Analog input) that allows the BACnet system to identify it. It’s more than a data point. An object consists of a number of prescribed properties (attributes in CIP), only one of which is the present value (the data point). It is only through its properties that an object is monitored and controlled.
BACnet specifies hundreds of possible object properties, the majority of which are meta-data type properties such as high and low limits, status flags, data types and so on. Three required properties, Object-Identifier, Object-Name, and Object-Type, are present in every object. Like factory floor technologies some of these properties are required and some are optional. Some are defined as Read-only and some as read-write.
A service is the mechanism which a building automation system uses to access a property or request an action from a BACnet Object. Services are how one BACnet device gets information from another device, commands a device to perform certain actions (through its objects and properties, of course), or communicates events to other objects. The only required service that must be supported by all devices is the Read-property service. There are many standard services including services for file access, alarming and events, object access and network management.
Users and system developers don't need to understand how services are executed by a BACnet device, those operations are transparent and automatic. But to design a system or configure a Building Automation System (BAS) you will need to know what objects and services are supported by which devices. This information is found in the device's Protocol Implementation Conformance Statement (PICS).
Because not all devices need to have the same level of functionality, BACnet defines profiles that categorize the capabilities and functionality of devices. All devices of a certain conformance class will have a minimum set of required features (in the form of objects and services). Some other features can be optional. BACnet insists that this information is made public in the PICS, the list of features that the device supports. The PICS lists what objects are present in the device and whether the device initiates a service request (asks or commands) or executes the request (responds or acts). The PICS also provides you with the conformance class of the device. By comparing a device's PICS with project requirements or with another vendor's PICS, you can determine how well a BACnet product "fits" a given application.
BACnet is an unconnected, peer-to-peer network. Any device can send service requests to any other device. Unlike connected protocols where devices have ongoing data transfers, communication in BACnet is unscheduled with few time critical operations.




