The BACstory
Established in the mid-1990s, BACnet (Building Automation and Control Network) is the common term for a non-proprietary communications protocol created by the American Society of Heating, Refrigeration, and Air-conditioning Engineers (ASHRAE). This protocol enables building automation and control devices to freely communicate and exchange information regardless of who manufactures the equipment.
The protocol specifies a set of rules that apply to the following aspects of a BACnet network:
- Electrical Signaling
- Addressing
- Network Access (Master/Slave, Peer-to-Peer)
- Error Checking
- Flow Control
- Message Sequencing, Segmentation, Checkpointing
- Presentation Format (Compression, Encryption)
- Message Format
This protocol is defined and published as ASHRAE Standard #135, with periodic updates by ASHRAE mostly to accommodate changes/advances in the IT industry’s realm of networking technology. Anyone can join the BACnet world if they abide by the guidelines outlined in the BACnet standard.
Compliance with the standard’s rules is tested and verified by an independent company called BACnet Testing Laboratories (BTL). BTL maintains a listing of all BACnet-approved products and publishes the list on its public website. Go to http://www.bacnetinternational.net/btl/ to view a listing of all manufacturers’ products tested and approved by BTL for compliance with the BACnet standard.
BACnet Structures
Let’s look at some fundamental elements in the BACnet world and see how they relate to each other.
BACnet Device - An entity in a building network that follows the communications standards outlined in the BACnet protocol.
-
- Each device is identified by a unique network address called a Device Instance.
- A Device Instance is a numerical software address ranging from 0 – 4,194,302. It is a unique number throughout the BACnet internetwork that identifies the device for BACnet communications. BACnet reserves device instance 4,194,303 for special purposes. Do not use device instance 4,194,303.
- No two BACnet devices can share the same Device Instance number in a common BACnet network.
- A “Native BACnet” device refers to an entity that supports the BACnet protocol without a gateway to communicate in the network.
- Currently, there are eight (8) different categories of BACnet Devices:
- BACnet Operator Workstation (B-OWS)
- BACnet Advanced Operator Workstation (B-AWS)
- BACnet Operator Display (B-OD)
- BACnet Building Controller (B-BC)
- BACnet Advanced Application Controller (B-AAC)
- BACnet Application Specific Controller (B-ASC)
- BACnet Smart Sensor (B-SS)
- BACnet Smart Actuator (B-SA)
- BACnet Object – A data structure contained within a BACnet device.
- BACnet objects can be physical or virtual software-based processes (intangible things you can’t touch or feel).
- Physical objects include Binary Inputs, Analog Inputs, Binary Outputs, or Analog Outputs.
- Virtual software-based objects include Binary Values, Analog Values, Calendars (Schedules), Event Enrollments (Alarms), and Trend Logs.
- Object Instance – Each BACnet object has a unique numerical identifier to distinguish it from all other objects in the BACnet device.
- For more information about BACnet object, see the article on BACnet Object Type Enumeration
- BACnet Property – Information that either describes behavioral aspects of a BACnet object or governs its operation. Each BACnet object has the following (3) properties at a minimum:
- Object_Identifier
- Object_Name
- Object_Type
BACnet Device Functionalities
Now that we understand how things are organized in BACnet, we can discuss how BACnet entities are designed to act or work in the network. Consider the following:
- Object-Oriented Protocol - BACnet is an object-oriented protocol, meaning it is designed intentionally so that objects in the network will interact with one another in a purposeful manner.
- Client-Server Model – BACnet is designed based upon a client-server model where tasks or workloads are partitioned between servers – the providers of a resource or service – and clients – the service requesters. At times, a BACnet device may act as a server, and at other times, it may act as a client, depending on the situation's circumstances and the design of the BACnet device itself. BACnet communication messages are called “services,” which are carried out by a server on behalf of a client.
- BACnet Interoperability Building Blocks (BIBBs) – BACnet devices have pre-defined functionalities (per the BACnet standard) that determine how they interact with other network devices to promote overall building system interoperability.
- In terms of BIBBs, there are a total of six (6) major categories of potential activities/services/functions for interoperability supported by a BACnet device:
- DS (Data Sharing)
- AE (Alarm & Event Management)
- DM (Device Management)
- NM (Network Management)
- T (Trending)
- SCHED (Scheduling)
- These six interoperability areas represent the functionality needed in a BAS system to perform the day-to-day activities of running a building.
- A BACnet device will either support these BIBB functionalities as a Client (A), as a Server (B), or as both (A & B).
- In terms of BIBBs, there are a total of six (6) major categories of potential activities/services/functions for interoperability supported by a BACnet device:
BACnet Networking Communications - LAN Options
At the heart of the protocol are various LAN options that provide pathways by which BACnet devices can communicate with each other. The following networking technologies have been adopted into the structure of BACnet and are the most commonly used LANs today:
- BACnet / IP – Used primarily for Global Controllers at the Integration Level to communicate with each other (peer to peer) or with the Server or Client Workstations at the Management Level. Highlights of BACnet/IP include:
- Treating the IP Internet as a local area network option
- Associating an IP address (a 4-octet number like 128.253.245.74) with all BACnet/IP devices
- Using the IP protocol to encapsulate BACnet messages
- Enabling BACnet messages to be shared across multiple subnets with IP router devices, making Wide Area Networking (WAN) possible
- Physically comprised of Cat-5e (or similar) Ethernet cabling with a cabling distance limitation of 100m (330 ft) per single unrepeated segment of cable
- Allowing messages of up to 1,500 bytes (Max Transmission Unit) per message
- BACnet / Ethernet – Also used primarily for Global Controllers at the Integration Level to communicate with each other (peer to peer) or with the Server or Client Workstations at the Management Level. Highlights of BACnet/Eth include:
- Using raw Ethernet packets to send messages
- Restricting BACnet messages to a single common subnet, making a Local Area Network (LAN) environment
- Physically comprised of Cat-5e (or similar) Ethernet cabling with a cabling distance limitation of 100m (330 ft) per single unrepeated segment of cable
- Allowing messages of up to 1,500 bytes (Max Transmission Unit) per message
- BACnet / MSTP (Master-Slave Token Passing) – Used primarily as a means for Field Controllers to communicate with Global Controllers. Highlights of BACnet/MSTP include:
- Following RS-485 network wiring standards
- Daisy chain topology – no “star” wiring patterns allowed!
- Physically comprised of single twisted pair, low capacitance 22 AWG wire with a cabling distance limitation of 4,000 ft per single unrepeated segment
- Allowing messages of up to 245 bytes (Max Transmission Unit) per message
- Max 128 BACnet devices per MSTP network, but Alerton commonly restricts this device count to 64 or fewer per MSTP network for reliability and stability reasons
- Master devices are capable of initiating service requests in the network using a “token,” which is generated by a Global Controller (typically) and gets passed between all master devices at least once a second in the network
- Slave devices are not capable of initiating service requests in the network. Instead, they can only respond to service requests when asked to do so by a master device
- Common Baud Rates: 19200, 38400, 76800, and up to 115K
BACnet Device Addressing
Addressing BACnet devices is similar to how the US Post Office organizes our mail service. To get a letter delivered (physically!) somewhere in the United States, we need to know a recipient’s house address, the street they live on, etc.
The first thing to do is to assign each device a physical numerical address called the MAC (Medium Access Control) Address. For Alerton devices, the MAC Address is set by a series of binary dip switches, which can be turned on and off to add up to a value ranging from 0 – 127. Think of the MAC address as your house number.
Going further with this analogy, the “streets” that BACnet devices live on are the Network LANs. These Network LANs are uniquely numbered in the range of 1 – 65,534. Just like no two streets are named the same in any given city, so goes it with Network LANs – every LAN is uniquely numbered.
And then, to expediently identify a BACnet device within the network, a Device Instance number ranging from 0 – 4,194,302 is assigned in software to each device. No two BACnet devices can share the same Device Instance.
Comments
0 comments
Please sign in to leave a comment.