BACnet Overview¶
BACnet is an automation standard overseen by ASHRAE. Although it originates from the HVAC industry, it has grandually incorporated support for other types of building automation equipment, including lighting controls; elevators; and fire systems. As of 2021, essentially all major vendors offer BACnet support in favor of the proprietary communication protocols previously in use.
BACnet includes a number of components, including:
- Several different link layers, including IP; MS/TP; ARCnet; LON; and Ethernet;
- A networking protocol which include device, object, and service models as well as data encoding.
Because BACnet was developed in the early 1990's when processing and memory were expensive, it is well suited to constrained devices. However, it has some drawbacks such as a lack of any realistic security concept beyond network segmentation and certain properties which make it somewhat difficult to integrate into modern IT architectures, such as its use of UDP broadcast.
NF's BACnet Features¶
Support for BACnet in the Normal Framework is primarily designed around making "client devices": devices which consume data from other devices on a BACnet network.
To make a somewhat complex and brittle protocol easier to integrate, NF provides a number of features to help application developers to integrate BACnet into their systems without too much concern for low-level details, these include:
- A network-topology-aware I/O scheduler to avoid overwhelming limited BACnet links, and hide limitations such as the use of segmentation or small device APDU sizes;
- Flexible scanning tools for maintaining a view of the state of the network over time, as devices change, appear, and disappear;
- Support for efficiently collecting data periodically from underlying devices.
NF has been tested on large networks with more than 500 devices and 100,000 objects.