A BACnet Instance Number Is a Globally-unique Address

An often misunderstood and neglected topic is the BACnet instance number of a BACnet device. Neglecting to think about this number at installation might not bite you today, but it remains as technical debt that complicates future work. It’s a number that identifies a device uniquely on the entire interconnected BACnet network. No other device anywhere on the network may have the same BACnet instance number. It is unique across different buses in different buildings, so long as they are on the same network.

Device A (201001) ◽ (BACnet Network) ◽Device B (301001)

The benefit of the uniqueness is that it simplifies communication. Device A can talk to device B just by knowing B’s address. It lets the network figure out how to get the message to B, all A needs to know is B’s number. Not very different from a phone number.

If two devices can see each other, they can’t have the same address. This is in contrast to the MS/TP address (“MAC address”), which doesn’t have to be globally unique.

If you plan this at installation, you can avoid accidentally assigning the same address to two devices. You also make it easier to physically track down devices if you only know the address.

More Technical

The instance number is an unsigned decimal number that can range from 0 to 4,194,302. Every device on a BACnet network gets an instance number, and two devices must not have the same number. Devices on different physical network segments that can talk to each other are on the same BACnet network – they can’t have the same instance numbers!

Don’t neglect the instance number uniqueness just because you’re installing MS/TP devices. MS/TP devices also have MAC addresses and need to communicate to BACnet/IP devices through a gateway, but they still have unique BACnet instance numbers that cannot be duplicated anywhere else on the network.

Devices fresh from the manufacturer typically have a default address. Do not use it. Plan your network!

If you have duplicate instance numbers on your network you’ll have a problem similar to what you’d see if you have duplicate IP addresses. Some devices on the network will talk to one and not the other, and the devices themselves will have unreliable communication with the overall network.

To avoid problems, start your installation with a clear numbering convention. Here’s an example one I like to use:

SITE/Building – Floor – Bus/Network Number – MAC Address

1 – 23 – 03 – 23 = 1230323

I keep to this even if it’s only for one building as it makes future expansion easy. The numbers are a bit limited, you can only expand to 4 sites/buildings this way (remember, the maximum number is 4,194,302). If you have a broader campus/etc. you’d probably want to arrange a different numbering convention. Just spend the time to think carefully about it and you’ll save yourself in the long run!

Do you have an issue with BACnet instance numbers and need some guidance? Reach out!