Tel: +1-617-350-7550

BACnet Devices, Objects and Properties

BACnet Devices, Objects and Properties

July 10, 2020

This is the second part of BACnet Protocol Stack Tutorial

BACnet Protocol Stack Tutorial Part 2

The BACnet protocol represents control equipment as a collection of "Devices" containing "Objects". Usually, the building control industry uses the term "Points" - they can be sensor inputs, control outputs or control values, with different characteristics according to the manufacturer. A BACnet Object can be used to represent a Point.

BACnet defines a standard set of "Object Types", each of which has a standard set of "Properties"; that describe an Object and its current status to other devices on a BACnet internetwork. It is through these properties that the Object may be controlled by other BACnet devices. Learn more

BACnet Services

The BACnet protocol also defines various services that BACnet devices can be asked to perform. Those services are divided into 5 categories:

  • Object Access services, which are used to access and manipulate the properties of BACnet objects;
  • Alarm and Event services, which are used to obtain alarms, events and change of value notifications;
  • File Access services, which are used to access and manipulate files contained in BACnet devices;
  • Remote Device Management services, which are used for device discovery, time synchronization, device communication control and reinitialization;
  • Virtual Terminal Services, which are used to facilitate the bi-directional exchange of character-oriented data.

What is a BACnet Device 

A BACnet Device is the network-visible representation of control equipment connected to a BACnet network, which responds to BACnet service requests. A Device represents the control equipment by maintaining a collection of BACnet Objects. The Objects contain Properties that can be accessed and manipulated using BACnet's Read-Property and Write-Property service requests. The Objects within any Device are uniquely identified by an Object type and by an instance number (together these data make up an Object Identifier). Each Device must contain one Device Object to represent the BACnet capabilities of the Device. 

Here is an example of such a Device which has objects and properties that you can view with BACnet Explorer

Cimetrics BACnet Explorer

Each Device on a BACnet internetwork must have a unique Device Object instance number and, consequently, a unique Device Object identifier. Devices can be contacted directly if their BACnet Address is known, or they can be discovered using the Who-Is and Who-Has broadcasts.

In applications built using the Cimetrics BACstac, a Device is represented in the BACstac Object Database by a Device handle. The BACstac internally maintains the Device information such as the BACnet Address of the Device and the list of Device’s Objects. The BACstac uses this information when it generates or responds to service requests.


What is a BACnet Object 

A BACnet Object makes visible one specific control function of a Device to other devices on a BACnet network. An Object contains a list of Properties that describe its functionality. The BACnet standard defines mandatory Properties and behaviors for standard types of Objects such as Analog Input, Analog Output, Schedule etc. See the BACnet Standard for detailed information about standard types of Objects.

Clause 12 of the BACnet Standard, “MODELING CONTROL DEVICES AS A COLLECTION OF OBJECTS,” contains descriptions of the Properties required to be present in Objects that conform to a standard object type. An Object in a BACnet Device is uniquely identified within the current Device by an Object Identifier, which consists of an Object type and instance number. A Device must contain one Device Object, which has an instance number that is unique within the BACnet internetwork. All other objects in the Device do not have to be unique within the network.

Objects are represented in BACstac applications by an Object handle. The BACstac maintains information internally about an Object, such as the list of Properties that it contains. An Object’s handle can be obtained by searching through the list of Objects contained in a Device. An Object’s handle can also be obtained if its Object Identifier (type and instance number) is known. 

While this Standard prescribes the most widely applicable object types and their properties, implementers are free to create additional object types if desired.

There are currently 60 standard BACnet Object Types:

Analog Input Object Type

Program Object Type

Time Value Object Type

Analog Output Object

Pulse Converter Object Type

Integer Value Object Type

Analog Value Object

Schedule Object Type

Positive Integer Value Object Type

Averaging Object Type

Trend Log Object Type

Date Value Object Type

Binary Input Object Type

Access Door Object Type

DateTime Pattern Value Object Type

Binary Output Object Type

Event Log Object Type

Time Pattern Value Object Type

Binary Value Object

Load Control Object Type

Date Pattern Value Object Type

Calendar Object Type

Structured View Object Type

Network Security Object Type

Command Object Type

Trend Log Multiple Object Type

Global Group Object Type

Device Object Type

Access Point Object Type

Notification Forwarder Object Type

Event Enrollment Object Type

Access Zone Object Type

Alert Enrollment Object Type

File Object

Access User Object Type

Channel Object Type

Group Object Type

Access Rights Object Type

Lighting Output Object Type

Life Safety Point Object Type

Access Credential Object Type

Binary Lighting Output Object Type

Life Safety Zone Object

Credential Data Input Object Type

Network Port Object Type

Loop Object Type

CharacterString Value Object Type

Timer Object Type

Multi-state Input Object Type

DateTime Value Object Type

Elevator Group Object Type

Multi-state Output Object

Large Analog Value Object Type

Lift Object Type

Multi-state Value Object

BitString Value Object Type

Escalator Object Type

Notification Class Object Type

OctetString Value Object Type

Accumulator Object Type

 

Here is an example of an Analog Input Object, as displayed in the Cimetrics BACnet Explorer:

Example Analog Input

What is a BACnet Property

Each object is characterized by a set of attributes or "properties." While this Standard specifies the most widely applicable object types and their properties, developers are free to create additional properties if desired. 

Communication is accomplished by reading and writing the properties of particular objects and by the mutually acceptable execution of other protocol "services." 

Within each object there are:

  • Required properties - these properties must be present and readable using BACnet services;
  • Optional properties, which may or may not be present;
  • Writable properties - these properties are readable and writable using BACnet services if present.

Data Types of each standard Property are defined individually for each BACnet Object Type. The ASN.1 encoding of these data types is described in Clause 21 of the BACnet Standard. 

Cimetrics BACstac Software provides you with the ability to create client and server application programs which use the BACnet protocol for communication. Certain versions of the BACstac Software also allow you to create gateway application programs that make a collection of non-BACnet devices appear as a virtual BACnet network containing multiple BACnet devices. Learn More.



Leave a comment

Comments will be approved before showing up.


Also in Cimetrics News

July 2020 Newsletter

July 31, 2020

Building Analytics Webinar Video, Reopening Guide for Universities and Schools, Monday Live Industry Conversation, Cybersecurity news
and more...

Read More

Photo by Jorge Jesus from Pexels
Cybersecurity Recap July 2020

July 24, 2020

Cybersecurity Market Expected to Grow, Garmin Ransomware Attack, NIST Cybersecurity Framework, CISOs discuss cybersecurity in the COVID-19 environment and more...

Read More

BACnet Protocol Stack tutorial Part 1
BACnet Protocol Stack tutorial Part 1

July 02, 2020

In series of articles - BACnet Protocol Stack tutorials we will discuss what BACnet Stack is, what kind of stack to use for what kind of purposes and generally talk about BACnet.

Read More