BACnet (Building Automation and Control Network) is a communications protocol that defines the services used to communicate between building automation end-devices and building control systems. The BACnet protocol specification like all protocol specification 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 also includes messages that identify data and network nodes such as Who-Is, I-Am, Who-Has, and I-Have.
The BACnet protocol is a completely non-proprietary open communication software standard. There are no proprietary chip sets or special electronics required to implement it. The standard itself is now controlled by the ANSI (American National Standards Institute) and ASHRAE (American Society of Heating Refrigeration and Air-Conditioning Engineers) Standard 135- 1995. BACnet stands for Building Automation and Control network. The BACnet Committee developed the standard with the intention of creating a technically sound and truly non-proprietary standard. They also kept in mind ease of use and did their best to eliminate many of the barriers to implement. In June of 1995, after years of industry input ASHRAE adopted BACnet as a standard for the Building Automation industry.
In BACnet’s early days, Ethernet was not used in building and industrial application like it is today. At that time there were a number of data link / physical layers used in those applications. To meet the needs of the widest possible set of applications BACnet was designed to support several different physical and link layers including:
PTP is unique to BACnet and provides for inter networked communications over modems and voice grade phone lines. PTP accommodates modern modem protocols (V.32bis and V.42) and also supports direct cable connections using the EIA-232 signaling standard. Speed is limited to from 9.6 kb it/s to 56.0 kbit/s.
MS/TP (master slave/token passing)
MS/TP is also unique to BACnet and is implemented using the EIA-485 signaling standard. This is a shielded twisted-pair (STP) LAN operating at speeds from 9.6 kbit/s to 76.0 kbit/s. This LAN type is low cost and particularly suitable for unitary controller communications.
(ANSI/ATA 878.1) ARCNET® is a token bus standard, and devices typically support it using single-source chips that handle network communications. ARCNET can run on a variety of media at different speeds-from 150 kbit/s on EIA-485 (STP) up to 7.5 Mbit/s over coaxial cable, STP, or fiber optics. Typically, ARCNET runs at 2.5 Mbit/s over twisted pair.
LONtalk is a proprietary technology developed by the Echelon Corporation and is the only LAN type that requires special development tools and a proprietary chip set to implement.
Today, the majority of users prefer to use Ethernet and the numbers of applications for many of these other physical layers are decreasing.
Like the Control and Information Protocol (CIP) used in industrial application, BACnet uses objects to represent data on a network. These objects are defined by the BACnet specification and have both required and optional data. Objects defined by the specification include Analog Input, Analog Output, Analog Value, Binary Input, Binary Output, Binary Value, Multi-State Input, Multi-State Output, Calendar, Event-Enrollment, File, Notification-Class, Group, Loop, Program, Schedule, Command, and Device.
BACnet is an unconnected, 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 without any time critical operations.
BACnet is a certifiable standard though certification is not required. The BACnet Testing Laboratory (BTL) provides services to validate the operation of devices against the specification. Prices vary with the device complexity but it costs several thousand dollars to certify a BACnet device.
BACnet Object Oriented Technology
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 interoperate. 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.
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.
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 a total of 32 standard services.
As a system developer or user, you don’t need to be concerned with the execution or processing of service requests; these will be transparent and automatic. As a system design engineer for a building automation system 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).
Conformance Classes and the Device PICS
Because not all devices need to have the same level of functionality, BACnet defines conformance classes 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 a protocol implementation conformance statement (PICS)-basically a 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.