« How BACnet Tools Can Help You | Main | Using the BACnet® Discovery Tool – BDT »
Friday, July 03, 2009
BACnet MS/TP MAC Addresses — Any Significance to the Addresses?
There are 256 possible BACnet MS/TP addresses ranging from 0–255, however, you cannot assign a device to 255 since it is reserved as a broadcast address. No device is allowed to have a source address of 255. There is another restriction on addressing. Master devices, those who participate in the token-passing protocol, must be addressed from 0 to 127. Addresses from 128 to 254 are reserved for slaves who do not participate in the token passing — however, they can occupy lower addresses as well. Each MS/TP master must be assigned a unique address in the valid range, but is there any significance to the value of the address? Actually, there is.
If you study Johnson Controls’ (JCI) MS/TP Communications Bus Technical Bulletin, JCI states that MAC address 0 is reserved for bus controllers and cannot be changed. Addresses 13 are also reserved. Therefore, field controllers should begin being addressed from 4 on up with no gaps in the sequence. This allows the best possible performance since no time is wasted passing tokens to non-existent devices. Another parameter comes into play and that is Max. Master. This parameter does not mean the maximum number of devices but the highest address used by any master in the network. We know you can only address up to 127 masters — so this is the default value for almost all devices. However, this is not the most efficient setting since the device with the highest address will periodically poll-for-master (PFM) up to the Max Master limit. This is a waste of time if you only have 20 devices addressed from 0–19. Ideally, you would like all devices to have their Max Master set to the address of the highest master address on the network. However, seldom do you see this parameter changed.
There is significance to being the MAC 0 “guy”. By having the lowest possible address, you are the first in line to begin PFM in case there is a network disruption. If you have Max Info Frames set high, and you receive the token, you can quickly flush your queue before the other devices get the token and begin polling for nonexistent devices. So if you are a bus controller or a BACnet/IP to MS/TP router like the BASRT-B, assign yourself MAC 0 for the best performance.