BACnet Server API - FAQ

Table Of Contents


BACnet Devices are used in Building Automation to control various operations. This tutorial is intended for those who have knowledge of Building Automation and are interested in some of the standard features available in BACnet to make this possible. To demonstrate the features we have provided working examples along with source code.

Where I can get more information about BACnet?

Developed under the auspices of the American Society of Heating, Refrigerating and Air-Conditioning Engineers (ASHRAE), BACnet is now an American national standard, a European pre-standard, and a potential global standard. BACnet is "a data communication protocol for building automation and control networks." A data communication protocol is a set of rules governing the exchange of data over a computer network. The rules take the form of a written specification (in BACnet's case they are also on compact disk) that spells out what is required to conform to the protocol.

What is a Device ID?

The Device ID is used to uniquely identify each BACnet Device, it can be in the range of 0 to 4194304. There cannot be more than 1 device using the same Device ID. Each of the sample applications operate as a device and requires it's own device id which defaults to zero.

What is a BACnet Object?

A BACnet object is a stored inside a BACnet device to hold information. There are standard object types like Analog Input, Analog Output, etc which are used to hold real time data and other information. Each Object Type is referenced by a number, for example 0 is an analog input. Each Object has many properties for holding information and must contain an ObjectName. Objects are numberred within a device from 0 to 4194304

What is a BACnet Property?

A property is an item within a BACnet Object. For example an ObjectName, PresentValue, Description etc are all properties of an object. In most cases, you will only ever use the PresentValue property.

What is the Array Index?

Some properties are stored as an array. For example the ObjectList is stored as an array of object identifiers. The PresentValue property is not an array, for all properties that are not arrays, an array index of -1 must be used.

Can I change values in another Device?

Yes, the most common operation is to Read or Write to Binary and Analog objects stored inside a BACnet Device. Sensors and actuators for temperatur etc. are connected directly to the device and then stored inside Inputs and Outputs objects. The value is stored inside the object in a property known as the presentValue. The ObjectName is stored as a seperate property inside the object. The ObjectName and PresentValue properties exist for all Inputs and Outputs. The Object Access Tutorial describes how the BACnet Server API can be used to Read and Write to BACnet objects.

How Do I Configure a Time Schedule in another Device?

The Time Schedule Tutorial describes how the BACnet Server API can be used to configure Time Schedules.

Further Reading




Download PuTTY
BACnet Server API - FAQ