What is a reasonable device number on a BACnet MSTP chain?
A site reported 50 MSTP devices attached to a BACnet/IP to MSTP router (like our Cimetrics B6000). Device chain response was slow…taking as much as three or four minutes to get under ten points from each device.
MSTP and many RS485 communications networks allow 250 addresses with data rates up into the 100 kBaud range and line lengths to a maximum of 1200 m. But having all of these maximums at once is almost never practical.
BACnet MSTP itself only allows 127 master devices in its address space. But even approaching that number would generally be problematic for the protocol and the underlying RS485 data-link.
The RS485 data-link as a bus topology needs proper wire type and proper biasing and termination to perform properly. RS485 transceivers have a loading factor which limits how many can be connected to the bus. For full-load transceivers more than about 16 are not a good idea, and even with modern quarter or sixteenth load transceivers, there can be problems. Reliable operation of nodes is often specified at moderate data rates around 10 kBaud and moderate line length of around 100m. These and other factors make it reasonable to stay within a 32 device limit. One can see such device number limits due to underlying RS485 issues with networks like JCI N2 and Siemens P1 as well.
Even when one has good RS485 wiring at reasonable speeds and distances and one has a reasonable number of nodes (say around 16), one can still get sluggish performance with MSTP with poorly tuned time-outs and MAX_MASTER.
Staying away from address 0 and 1 is nowhere a part of any standard, but it helps avoid defaults configuration and other implementation issues. If one has sixteen devices then put any router at 2 (or MAX) and number the devices 3,4,5…through MAX-1) and THEN set MAX_MASTER at MAX+3 for a little (bit not too much) headroom.
For an MSTP segment with 50 devices subdivide into at least two MTSP RS485 segments by adding routers like the Cimetrics B6000s. And for that matter for Modbus chains like connected with a Cimetrics B6030. Staying below 16 nodes per segment is safest. Check your RS485 wiring for good characteristics and keep your speeds and lengths moderate. Understand timing and MAX_MASTER issues.
And when you think that you are experiencing MS/TP performance problems, a network protocol analyzer such as the Cimetrics BAS-o-matic can help you to diagnose the problems.
Comments will be approved before showing up.