In June 1987, a group of HVAC and building automation professionals gathered in Nashville to develop an open control specifically designed for the building automation industry. Their collaborative efforts resulted in the creation of BACnet, which later became a replacement for the industry’s private (or unique) and closed protocol offered by prominent vendors.

Users, integrators, and equipment vendors benefited from BACnet’s user-friendliness (related to the attractive design and construction of buildings, etc.) and capacity to control and monitor any building automation process.

Aspects that contributed to BACnet’s success includes:

  1. Give users of devices a variety of ways to access the data they contain. Sending a “who is” message to any BACnet device will reveal all of its properties using the BACnet Explorer.
  2. The representation of data inside a device is made more accessible by object-oriented design (making something look or function the same way every time).
  3. Offers numerous physical (connecting points/ways of interacting with something) communication channels to interact with various systems.

What is BACnet?

BACnet is a network for Building Automation and Control (BAC). It follows a standard protocol defined by ASHRAE, ANSI, and ISO 16484-5.

BACnet was created to facilitate the communication of building automation and control systems for applications such as heating, ventilating, and air-conditioning control (HVAC), lighting control, access control, and fire detection systems, as well as the equipment that is connected to them. The BACnet protocol offers machines, methods, and ways for computerised building automation devices to exchange information without any consideration for or connection to the specific building service they perform.

Benefits of BACnet

  • There is no cost associated with using it; anyone may create and put it to use.
  • All industry sectors are represented by the ASHRAE Committee that maintains it.
  • Constructed especially for controlling buildings.
  • It is applicable to all sizes of devices.
  • Enhancement and improvement are easily possible.

BACnet MS/TP (master slave/token passing)

MS/TP is a BACnet-exclusive signalling standard that can be used with the EIA-485 signalling standard. This shielded twisted-pair (STP) LAN can reach speeds of 9.6Kbit/s to 76.0Kbit/s. This LAN type is ideal for single controllers and low-cost communications.

BACnet IP

Through the BACnet IP Protocol, users can send and receive data between devices over Ethernet. It enables users to use various computer applications to find devices, objects, and object properties of any field device that supports BACnet IP.

BACnet ARCNET

(ANSI/ATA 878.1) Devices typically support the symbol/symbolic bus standard known as ARCNET® using single-source chips that manage network communications. ARCNET can operate at speeds ranging from 150Kbit/s on EIA-485 (STP) to 7.5Mbit/s over coaxial cable, STP, or fibre optic cable (transmitting information by pulsing light through glass fibres). ARCNET typically operates at 2.5 Mbit/s over twisted pairs.

BACnet PTP (point to point)

PTP is a BACnet-specific protocol that allows for buried networked communications over modems and voice-grade phone lines. In addition to supporting direct cable connections with the EIA-232 signalling standard, PTP changes something (to help someone), takes care of someone’s modern modem protocols (V.32bis and V.42), and changes something else. The speed ranges from 9.6kbit/s to 56.0kbit/s.

BACnet represents data on a network using objects, much like the Control and Information Protocol (CIP) used in industrial settings. The BACnet specifies the following types of objects: Analog Input, Analog Output, Analog Value, Binary Input, Binary Output, Binary Value, Multi-State Input, Multi-State Output, Calendar, Event-Enrollment Program, Schedule, Command, Device, and so on. The BACnet Protocol is a one-of-a-kind open software communication standard. The ANSI/ASHRAE Standard 135-1995 now governs the standard. BACnet was adopted as a standard for the Building Automation industry by ASHRAE in June 1995.

Services

The services enable BACnet devices to exchange data with one another, notify other objects of events, and request specific actions from other devices. There are 32 standard services in BACnet altogether. A service is the machine, method, or way a building automation system uses to access a BACnet Object property or request an action. The only required or demanded service that all devices must support is the Read-property service.

You don’t have to worry about the execution of service requests as a system developer or user; this will happen automatically. Knowing which objects and services are supported by which devices is essential for system design engineers to build automation systems.

Objects

A BACnet object is a logical representation used in the BACnet protocol. It can be used to provide information about different facets of a device. Some instances include a variety of control system aspects. For example:

  • A physical device (device objects)
  • A pressure input (analog input)
  • A switch control (binary output)
  • A state of alarm (Multi-state Inputs/Outputs)

What differentiates an object from a data point is now a question. The difference between a data point and an object is that a data point typically only has one value associated with it, whereas an object consists of several prescribed properties, only one of which is the present value. The numerous properties of BACnet objects aid in controlling and monitoring BACnet objects.

Assume we’re reading the temperature from the system. A data point will only tell us that the temperature is 24 degrees Celsius, whereas Analog Input (AI) will tell us the unit of measurement, the type of device from which we are reading the values, a description of the area whose temperature value we are reading, and so on.

Standard BACnet Objects

OBJECTEXAMPLE OF USE
Analog InputSensor input
Analog OutputControl output
Analog ValueSetpoint or other Analog control system parameter
Binary InputSwitch input
Binary OutputRelay output
Binary ValueBinary control system parameter
CalendarDefines a list of dates for scheduling, such as holidays or special occasions
CommandWrites multiple values to multiple objects across multiple devices to achieve a specific goal, such as switching from day to night mode or entering emergency mode
DeviceThe properties of a device indicate which objects and services it supports, as well as other device-specific information such as vendor, firmware revision, and so on
Event EnrollmentDescribes an event that could be an error condition (for example, “Input out of range”) or an alarm that other devices should be aware of. It can either tell one device directly or use a Notification Class object to notify multiple devices
FileAllows read and write access to the device’s supported data files
GroupAllows access to multiple properties of multiple objects in a single read operation
LoopAccess to a “control loop” is standardised
Multi state inputThe status of a multi-state process, such as the On, Off, and Defrost cycles of a refrigerator is represented
Multi state outputRepresents the desired state of a multi-state process (for example, It’s Time to Cool, It’s Cold Enough, and It’s Time to Defrost)
Notification classContains a list of devices that will be notified if an Event Enrollment object determines that a warning or alarm message is required
ProgramAllows a programme running on the device to be started, stopped, loaded, and unloaded, as well as reporting on the program’s current status
ScheduleDefines a weekly schedule of operations (with exceptions such as holidays) that are performed by writing to a specified list of objects. For exceptions, a Calendar object may be used

Properties

As previously stated, objects are only monitored and controlled through their properties. BACnet has specified 123 object properties. Every BACnet object must have at least three properties, including:

  • Object identifier
  • Object name
  • Object type

Which properties are present are determined by the object type and device in which the object resides.

There are two types of properties in BACnet objects. One of them is an obligatory property such as present value. Any BACnet Object must have this property to function. The other type of property is optional, which the vendor may or may not provide. The vendor will add these values based on the customer’s requirements.

Some properties in the BACnet specification are Read-only, while others are Read-write. The device manufacturer can also restrict access to certain properties by designating them as Read-only.

PropertyEncoding
Object_Identifier(75)BACnetObjectIdentifier
Object_Name (77) (W)CharacterString
“Analog Input n
Object_Description (28) (W)Character String
Same as Object_Name, is only alias for Object_Name
Object_Type (79)BACnetObjectType
ENUMERATED:
analog-input (0)
analog-output (1)
analog-value (2)
binary-input (3)
binary-output (4)
binary-value (5)
device (8)
multi-state-input (13)
multi-state-output (14)
multi-state-value (19)
Present_Value (85) (W)REAL (analog objects)
ENUMERATED (binary objects)
Unsigned (multi-state objets)
(no index)
(priority required when writing commendable objects)
(input objects writeable only when out of service)
Status_Flags (111)BACnetStatusFlags
BIT STRING: fault(1), out-of-service(3)
Event_State (36)BACnetEventState
ENUMERATED: normal(0), fault(1)
Reliability (103)BACnetReliability
ENUMERATED: normal(0)
Vendor specific:
no response (64)
crc error (65)
exception, illegal function code (66)
exception, illegal data address (67)
exception, illegal data value (68)
exception, code+65, rarely used (69..79)
configuration property fault (80)
exception, code not recognized (81)
BACnet client read/write timeout (82)
BACnet client received error response from slave (83)
SNMP client received no response from agent (84)
SNMP client unable to parse data (85)
SNMP client reply does not match request (86)
Out_Of_Service (81) (W)BOOLEAN
COV_Increment (22) (W)REAL (analog objects only)
COV_Period (180) (W)Unsigned
Priority_Array (87)BACnetPriorityArray (commendable objects only)
SEQUENCE SIZE (16) OF BACnetPriorityValue
REAL (each element, analog output objects)
ENUMERATED (each element, binary output objects)
Unsigned (each element, multi-state output objects)
Relinquish_Default (104) (W)REAL (analog objects)
ENUMERATED (binary objects)
Unsigned (multi-state objets)
Polarity (84)BACnetPolarity (binary objects only)
ENUMERATED: normal(0)
Number_Of_States (74)Unsigned (multi-state objects only)
Units (117)BACnetEngineeringUnits (analog objects only)

BACnet network Architecture

The OSI (Open System Interconnection) architecture model of ISO and the BACnet network architecture can both be related. However, there is a streamlined architecture that only refers to the physical, link, network, and application layers. Layers such as transport, session, and presentation are not used in this case.

Specific BACnet protocols govern the network layer and application specifications. Layers: physical link and refer to existing specifications independent BACnet

  • ISO 8802-02 + (ISO 8802-3 or Arcnet)
  • MS / TP EIA-485 +
  • PTP + EIA-232
  • Lon talk
  • UDP / IP

bacnetlayer

ProtoConvert offers outstanding solutions for every type of protocol such as ‘Modbus’, ‘BACnet’, ‘LonWorks‘, ‘SNMP‘, etc. Explore our gateway page for details or send an inquiry for personalized assistance. Visit our Protoconvert Home page for more information about our services. Also Check out our All Tutorials page for more helpful guides. Learn more about our mission on our About Us page.

Get in Touch