Terminology
BACnet® devices have multiple addresses:
- MAC address – On MS/TP networks, this is the eight bit address used to identify devices on a single RS-485 subnet. For WattNode® meters, this is configured with the DIP switches in the range 0 to 63. Master devices (like the WattNode) may use addresses from 0 to 127. On BACnet/IP or other physical layers, the MAC address is generally longer.
- Device ID – (aka. Device Object Identifier) is a network-wide unique number. In the case of the WattNode meter, this defaults to the serial number, but may be changed if necessary to ensure uniqueness. The device ID is commonly used to look up the network number and MAC address.
- Network number – Each network segment (subnet might be a better term) within a larger network must have a unique number. This allows for multiple BACnet MS/TP segments, a BACnet IP network, and possibly others. The network number can be combined with the MAC address to direct a message to a particular device.
MS/TP MAC Address Spacing
When configuring devices on an MS/TP segment, the question sometimes arises, “Is it better to cluster all the device MAC address: 0, 1, 2, 3, 4, etc., or is it better to spread them out: 0, 4, 8, 12, 16, etc?” This question was answered on a LinkedIn post [1], and we’ll repeat here.
- It is better to cluster all the devices at adjacent addresses.
Each gap in the MS/TP MAC address space must be periodically polled for new devices (called “poll for master (PFM)”). Each device before a gap in the address space starts a new PFM cycle every fifty token passes and every address in the gap is checked during the cycle to see if a new devices has been added. During a PFM cycle, one new address is checked each time the device before a gap is about to pass the token. The timeout waiting for a new device to respond is allowed to range from 20 ms to 100 ms.
There are two problems with adding extra gaps:
- If all the devices start polling for master at the same time, the token passing will slow down significantly while all the devices are polling the gaps and waiting for timeouts.
- If there is only one gap, then every fifty times the token goes around the full loop, one polling cycle will start. But if there are five gaps, then there will be five polling cycles for each time the token goes around the full loop. The net result is that the subnet will spend more time polling for new master devices, reducing the available bandwidth for other traffic, and increasing latency.