BACnet / IP driver - Version 3

BACnet, short for “Building Automation Control Network”, is a data communication protocol for building automation and control networks. This driver supports the BACnet protocol across an IP subnetwork(s) that has been assigned a single BACnet network number. All communication to the BACnet network is done using the User Datagram Protocol (UDP). The new driver is based on the SCADA Engine SDK and is available in Windows and Linux. It has the following features:

  • Robust Enumeration
  • COV (Change of Value)
  • Priority Writes

The BACnet Driver (Version 3.0) will support zero touch provisioning, it will automatically discover all controllers in the network, optionally define and start them in deviceWISE. You will be able to pick multiple network adapters and ports to increase performance. You will be able to add controllers ad-hoc, when the networking environment blocks UDP Multicast frames. It will also support COV for many items in the controller — COV will be supported in the form of a BACnet deviceWISE Event.

The BACnet Driver will support BBMD(BACnet Broadcast Management Device). This is necessary when controllers are not on the same segment (i.e, subnet). The purpose of the BBMD is to make it possible to use WhoIs/IAm commands across subnets for Dynamic Address Binding. In addition to Dynamic Address Binding, it will also support Static Address Binding. The Dynamic Address Binding option is used when all devices and routers are on the same IP segment or when a BBMD is present. Static Address Bindings are required when there is no BBMD and the device or router is on a different segment. BACnet/IP to MS/TP(master-slave/token passing) routers are used on many systems and Dynamic Address Binding will work for MS/TP devices that are connected to a router on the same segment. Static Address Bindings improves network performance due to the reduction of WhoIs/Iam messages when deviceWISE starts. It is desirable to use the option to use Static Address Bindings when scanning the network.

BACnet Configuration

In order to configure the BACnet driver, a channel is first required to be setup and started by setting enable to "Yes" and pressing the start button for Channel 0. In most cases, a single channel will be enough. However, up to 4 channels can be configured to distribute the load.

Each channel requires an unique NIC/Port Number, and if a single NIC Adapter is available, then each channel would need a different port number. If 4 NIC adapters are available, then each NIC can use the same port number.

BACnet uses UDP for messaging, as we explained before. There is a limitation for sending broadcast messages which means a device scan only work when all devices are on the same port. The default port number for BACnet/IP is 47808 and most sites will be setup to use this port number on all devices and in this case, a device discovery will locate all the devices.

Device Scan

After the Channel has been started, the device scan can be used to locate all the devices connected to the network. Using the Device Scan tab from the Admin page, the Scan Network button can be selected to start the scan. There are options on this page to filter devices and limit the scan to a certain channel.

When a BACnet device receives a WhoIs request, it will respond with an IAm message. When the IAm is received by the BACnet driver, it will immediately create a corresponding deviceWISE device and start it.

When it starts, the driver will then initiate a discovery routine to read all of the objects from the device and save them to JSON file located in the staging directory. Future starts will be quicker, because the deviceWISE system will read the configuration from the JSON file instead of doing the discovery over the network.

If the device isn't found, Manual Device Configuration is possible and you can see details of it at the specific page at this documentation, or the troubleshooting article.

Assumptions

It is assumed that you have experience with the following:

  • BACnet architecture
  • BACnet devices
  • BACnet naming conventions
  • BACnet device specific configuration software
  • The Workbench

Before using information in this guide, you should have installed, and be familiar with:

  • An Asset Gateway or Enterprise Gateway product is installed in its operating environment
  • The Workbench is installed on a computer that has network connectivity to the node
  • The BACnet driver was installed using the Workbench > Administration > Packages tab
  • The BACnet devices have been configured and are accessible to the node.

What's Inside