BACnet MSTP (RS485) – Bandwidth usage
There are several non-electrical factors to consider when determining how many devices to install on a single BACnet MS/TP (RS-485) trunk. One of the most important is the amount of available network bandwidth.
The chart below illustrates bandwidth usage from one installation. Only a portion of the available bandwidth is used to transfer application data. APDUs are application-layer messages used to poll devices and return property values. The rest of the bandwidth is used to maintain the MS/TP network, including passing the token and looking for new devices.
There is no simple calculator that can determine exactly how many devices should be installed on a single MS/TP network. However, the following factors can help you assess the bandwidth requirements of an installation.
How Many Devices Will Be BACnet Slaves?
Token passing and looking for new devices on the MS/TP trunk can consume a significant amount of bandwidth.
A BACnet slave can be read from and written to, but it does not receive the token. Because it never receives the token, it cannot initiate messages. The more slave devices on the network, the fewer token passes are required.
In practice, you are typically not able to configure a device as a slave. Most vendors implement their devices as masters, which means they participate in token passing.
How Many Objects in Each Device Will You Monitor?
The more objects you read, and the more frequently you read them, the more network bandwidth you will consume.
As an approximate guideline:
- Polling a single property takes approximately 30 bytes.
- A reply takes approximately 40 bytes.
- A token is 8 bytes.
- A Poll For Master message is also 8 bytes.
Assume that approximately 50% of the available bandwidth may be used by network overhead such as token passing and Poll For Master messages.
Divide the baud rate by 10 to estimate the number of bytes per second available on the network.
Using approximately 70 bytes per transaction as a best-case estimate (30 bytes for the poll plus 40 bytes for the reply), and 100 bytes as a worst-case estimate, multiply this by the number of objects and properties that will be polled regularly.
Some properties, such as descriptions, may require more data.
These estimates assume that the device does not support the BACnet Read Property Multiple or Write Property Multiple services discussed below.
How Many Properties Will You Read From Each Object?
The number of properties being read from each object also affects bandwidth usage. Reading more properties requires more network traffic, particularly when each property must be requested individually.
What Is the Baud Rate?
The baud rate directly affects the amount of data that can be transmitted over the MS/TP network. When estimating available bandwidth, divide the baud rate by 10 to approximate the available bytes per second.
What Is Max Master Set To?
Every few token cycles, each master device on the network must look for new devices.
The Max Master setting determines the highest MS/TP MAC address that must be searched. Each search requires sending a message and then either receiving a response or waiting for a timeout if no device exists at that address.
Timeouts consume time and therefore reduce usable bandwidth.
The higher the Max Master value, the more potential addresses must be searched. The default Max Master value is 127.
If you adjust Max Master to improve bandwidth utilization, the setting must be adjusted appropriately in each device.
Do the Devices Support Read Property Multiple and Write Property Multiple?
If a device supports the BACnet Read Property Multiple or Write Property Multiple services, multiple properties can be handled within a single message.
Reading a group of properties in one message is more efficient than reading each property using a separate message.
Can You Use BACnet COV?
COV stands for Change of Value.
When a device supports COV, another device or application can subscribe to receive notifications when an object property changes.
This means the data client does not need to continuously poll the device for the same information. Instead, it can wait to be notified when the value changes.
Using COV can dramatically reduce the number of messages transmitted on the network.
Some Devices Are Slower Than Others
BACnet allows up to 15 milliseconds for a device to use the token.
Because many messages on an MS/TP network are token passes, a device that uses the token in 5 milliseconds will consume less bandwidth than a device that takes 15 milliseconds.
Some vendors relax this timing requirement to accommodate implementations from other vendors. The more relaxed the timing becomes, the more network bandwidth may be consumed while waiting.