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.