BACnet MS/TP Best Practices
BACnet MS/TP gets a bad rap in the field. Some installers do a great job and have networks that run with zero errors for years. Other networks suffer continuous (and largely invisible) communication errors. This page will accumulate a list of best practices for designers, installers and users.
Two-wire vs Three-wire
Firstly consider the following scenario.
If there is only one pair pf wires (A and B signals), and if a device is floating (i.e. not connected to a ground anywhere, think battery powered or transformer isolated), then due to the various designed in or parasitic resistances, the circuit common (or 0v) will naturally be a few volts below the A/B potential. The RS-485 transceiver will then be able to extract the data signal quite happily.
With this arrangement, the circuitry 0v is normally grounded to the building ground by manufacturer's specifications and common practices. There is nothing wrong with this approach if all the grounds of all the devices are within +/- 7 volts of each other.
The problem comes when there are large ground differences between nodes. This happens all the time when different building supply phases are used for different BACnet nodes, or if there are large loads scattered around the building, which cause large currents, thus voltage drops in the various supplies.
Three-Wire (or Isolated RS-485)
The third, or common wire carries the 'reference signal' from node to node. Per the scenario above it is not needed for operation, since the isolated circuit will arrange itself around the A/B voltages. However, the common return is important to remove the common-mode noise on the wire, thus removing the for emitted noise from the network.
It should never be grounded at more than one point, since this is a) unnecessary, b) introduced ground-loop noise into the circuit.
A-/B+ or Polarity Issues
Signal Polarity, in particular is fraught with contradictions and errors. We have tried to summarize the situation in the RS-485 Polarity page.