BACnet Numbers for BACnet MS/TP MAC Addresses, Device Instances, and BACnet Networks

BACnet numbers are identifiers used in the BACnet protocol to help ensure that data is accurately transmitted and received between devices. However, assigning BACnet numbers can be a bit confusing. This article is the first a series of articles explaining the different types of BACnet numbers and how these numbers are assigned. This article outlines the rules for numbering BACnet MS/TP MAC addresses, device instances, and BACnet networks.

MS/TP MAC addresses must be unique on the MS/TP network. However, if you have multiple unconnected MS/TP networks, each network can use the same set of MAC addresses because each network will also have a unique network number to help identify the device. For example, as shown in the network diagram above, MS/TP network 1 can have MACs 0,1,2,3. MS/TP network 2 can also have MACs 0,1,2,3. To talk to device MAC 0 on network 1, you would talk to 1/MAC 0. To talk to MAC 0 on network 2, you would talk to 2/MAC 0.

Device instances are used to uniquely identify a device the network. Therefore, each BACnet device must have its own device instance number. Let’s build upon our example. The two MS/TP MAC 0 devices on different networks will each have their own unique device instance, and you can use this device instance to identify the device.

For example, you can use 111 for the network 1 device – 1/MAC 0 – and 222 for the network 2 device – 2/MAC 0. Then, you only need 111 to fully address the network 1 device and 222 to address the network 2 device. The device instance can be thought of as the BACnet device’s “numeric domain name.” You don’t need to know Google’s IP address to access the site, you only need to know the website’s domain name. This allows the IP address to change, while the easy-to-remember domain name remains the same. The same applies to BACnet. Once a head-end is given a device instance, the device’s physical address or its network number can change. The head-end will learn how to talk to this device through BACnet discovery techniques, such as our BACnet discovery tool.

BACnet devices must have their own unique device instance. 

BACnet network numbers identify different networks within a BACnet system and must be unique for each network. In our example, network numbers 1 and 2 were used to help differentiate between the two different MS/TP networks. Network numbers are typically only configured in BACnet routing devices because these devices generally apply these network numbers to messages that flow through them. Therefore, in our example, it is important that the two BACnet routers know that their connected MS/TP network numbers are 1 and 2. However, their BACnet/IP network numbers must also be set.

In this example, the BACnet/IP network numbers do not need to be unique. The two BACnet routers are directly connected. Thus, each of the BACnet/IP network numbers should be the same. In this example, we set the BACnet/IP network number for both routers to 3. This allows requests that come from the head-end to be addressed to the devices on network 1 and 2, and the responses to those messages go back to network 3 where the head-end is located.

BACnet/IP network numbers should be the same when BACnet routers are directly connected.

When should the BACnet/IP network number be unique? BACnet/IP communication occurs over UDP, and port number 47808 is used by default. All BACnet communications to the same UDP port number should use the same BACnet/IP network number. If your system uses multiple UDP ports, such as in situations where you want to isolate BACnet/IP traffic between groups of devices (and your head-end supports this), you can assign different UDP port numbers for the different groups. For example, you can assign 47808 to the first group, 47809 to the second group, etc. Broadcast traffic sent to one group (one UDP port) will not be seen by the other group. This can help keep broadcast messages to a minimum in each group.

BACnet/IP network numbers should be unique when multiple UDP ports are used for BACnet communications.

To learn more about BACnet devices communications, visit Contemporary Controls’ BACnet Info Page.

LinkedIn
Twitter
Pinterest
Facebook