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:
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.
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.
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.
(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.
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.
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.
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:
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.
OBJECT | EXAMPLE OF USE |
---|---|
Analog Input | Sensor input |
Analog Output | Control output |
Analog Value | Setpoint or other Analog control system parameter |
Binary Input | Switch input |
Binary Output | Relay output |
Binary Value | Binary control system parameter |
Calendar | Defines a list of dates for scheduling, such as holidays or special occasions |
Command | Writes 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 |
Device | The 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 Enrollment | Describes 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 |
File | Allows read and write access to the device’s supported data files |
Group | Allows access to multiple properties of multiple objects in a single read operation |
Loop | Access to a “control loop” is standardised |
Multi state input | The status of a multi-state process, such as the On, Off, and Defrost cycles of a refrigerator is represented |
Multi state output | Represents 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 class | Contains a list of devices that will be notified if an Event Enrollment object determines that a warning or alarm message is required |
Program | Allows a programme running on the device to be started, stopped, loaded, and unloaded, as well as reporting on the program’s current status |
Schedule | Defines 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 |
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:
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.
Property | Encoding |
---|---|
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) |
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
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.