What is BACnet? — a Primer

In the commercial market place, controls integration is becoming a very common place thing. In the past, the protocols were mainly proprietary like LON, N2, LAN, and so on and open protocols like MODbus but, as manufacturers have come out with better and better controls, controls that contain a lot more information that can be read and written to,  open protocols like BACnet have become the standard language used in the controls. This allows anybody’s equipment to be tied into a common control system even when there is a mix of manufacturers on a given site.

Regardless of the protocol used, in the past, controls contractors (or sometimes the equipment manufacturer) have had to provide or out-source translators from the language used in the unit’s controls to the language used by the BAS system that was the being used on the site. In most cases, a controls contractor is brought in to integrate the equipment controls into the BAS system. It is the responsibility of the controls contractor to integrate these points of information into the BAS control system. The controls contractor needs to set the BAUD rate, which is the “speed” that the controls transmits and receives and they need to know the Device Instance Modifier so they can set the MAC address so the BAS system can identify the equipment it is controlling. One thing to remind the controls contractor and this is to prevent premature failure of the flash memory, it should not be written to more often than once every 10 minutes, on average. Conditions in a Heating/Cooling unit do not change very quickly. There is no need to ping the system for data more often than this.

A manufacturer’s only responsibility is to provide a points list of the objects in their controls to the controls contractor. The manufacturer needs to support their unit specific controls since the control sequence is managed by the control board in the unit. The data points on these systems are mapped to standard BACnet Objects which the controls contractor can then manipulate as necessary.

ASHRAE recently designated BACnet as the industry standard for this type of control system. So What is BACnet?

BACnet (Building Automation and Control Network) is an open data communications protocol, American National Standard (ANSI/ASHRAE135-1995). BACnet provides a means by which computer-based control equipment from different manufacturers can work together. BACnet is designed to handle many types of building controls, including HVAC, lighting, security, fire, access control, maintenance and waste management.

The BACnet protocol defines a number of 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. Services such as Read-Property and Write-Property are used for data sharing. The BACnet protocol defines a number of Objects that are acted upon by the services. The objects include Analog Input (AI), Analog Output (AO), Analog Value (AV), Binary Input (BI), Binary Output (BO), Binary Value (BV), Multi-State Input, Multi-State Output, Calendar, Event-Enrollment, File, Notification-Class, Group, Loop, Program, Schedule, Command, and Device.

In defining the format for BACnet communications, the Standards Committee chose a flexible, object-oriented approach. All data in a BACnet system is represented in terms of “objects,” “properties” and “services.” This standard method of representing data and actions is what enables BACnet devices from different manufacturers to work together. Understanding this object-oriented approach and its terms is essential to understanding BACnet.

All information in a BACnet system is represented in terms of objects. An object might represent information about a physical input or output, or it may represent a logical grouping of points that perform some function, such as a setpoint. Every object has an identifier (such as AI-1) that allows the BACnet system to identify it. In this regard, an object is much
like what is now commonly known as a “data point” in the HVAC community. Where an object differs from a data point is that a data point would typically have a single value associated with it, whereas an object consists of a number of prescribed properties, only one of which is the present value. It is only through its properties that an object is monitored and controlled.

To help clarify this difference, compare the room temperature as a data point to an analog input (AI) object that reports room temperature in a BACnet system. Both are associated with the temperature read from a physical input. When you reference the data point, the only thing it indicates is the room temperature, 72 degrees Fahrenheit. The AI object also reports the room temperature as 72. The key difference is that 72 is the Present-value property of the AI-1 object. Other properties of the object convey more information: the Units property tells the system that the value is in Fahrenheit, the Device-type property that the sensor is a 10k ohm thermistor, and the Description property that it is the conference room temperature. An AI object is much more robust and comprehensive than a simple data point.

A  service is the mechanism which a building automation system uses to access a property or request an action from a BACnet Object. Think of them as a task or action. 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 a total of 32 standard services.  Services = Capabilities.

As indicated in the discussion of objects, objects are monitored and controlled only through their properties. BACnet specifies 123 properties of objects. Three properties, Object-identifier, Object-name, and Object-type must be present in every object. BACnet also may require that certain objects support specific additional properties. The type of object and the type of device in which that object resides determine which properties are present.

BACnet objects have two classes of properties, required properties that must exist in the device and optional properties that exist at the discretion of the device manufacturer. In this example, the present value of the AI object is a required object. The Description property is an optional property that the device manufacturer may not support.

BACnet, like most other protocols, limits access to some properties. The BACnet specification limit defines some properties as Read-only and others as Read-write. The device manufacturer can also limit the access to some properties by classifying them as Read-only.

Conclusion                                                                                                                                   From a controls contactor’s point, in BACnet, they can go online and discover the devices on the network and then interrogate the devices so they report what data objects they contain and what properties each object supports and what the current state of each property is.

The ability to discover is the most universal truth in BACnet.  Most controls contractors cannot discover VENDOR created proprietary properties (like certain limit setting). If the BAS system software is half decent, it should not be necessary to type object/properties into the configuration screen. They just have to be discovered and then they can drag and drop them into the system.

This is a pretty basic explanation but, hopefully, it helps you understand how these types of control systems function and are integrated into today’s HVAC systems.


About yorkcentraltechtalk

I have been in the HVAC industry most of my life. I worked 25 years for contractors on anything from residential to large commercial boilers and power burners. For the past 23+ years I had been employed by York International UPG Division ( a division of Johnson Controls) as a Technical support/Service Manager but I am now retired. One of my goals has always been to "educate" dealers and contractors. The reason for starting this blog was to share some knowledge, thoughts, ideas, etc with anyone who takes the time to read it. The contents of this blog are my own opinions, thoughts, experiences and should not be construed as those of Johnson Controls York UPG in any way. I hope you find this a help. I always welcome comments and suggestions for postings and will do my best to address any thoughts, questions, or topics you may want to hear about. Thanks for taking the time to read my postings! Mike Bishop
This entry was posted in HVAC Tech Support. Bookmark the permalink.

3 Responses to What is BACnet? — a Primer

  1. micah vanderheide says:

    Great topic to cover, i’m sure we would all like more on this topic.

  2. dsomerv says:

    Very interesting articles on BACnet – much appreciated, thanks.
    Do you know whether York uses BACnet or their own proprietary protocol for their communicating control boards on residential heat pump systems ?
    Out of curiosity, I’d like to connect my laptop, via a USB to RS423 cable to a spare control board on the bench to see to what extent one can communicate with it: do interrogations, issue commands, change settings and the like; it’d be nice if there were a publication that described York’s protocol but it appears it’s a guarded trade secret – and for that matter whether they conform to the BACnet standards.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s