A BACnet Instance Number Is a Globally-unique Address

An oft misunderstood and neglected concept is the BACnet instance number of a BACnet device. Neglecting 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.

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.

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

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!