I had the opportunity to troubleshoot an MS/TP BACnet bus using my Rigol DS1052E oscilloscope. Oscilloscopes are much more useful for bus diagnostics than a multimeter. Although they don’t tell you where the problem physically is, they can immediately confirm that you are in fact looking at a bus fault instead of a software problem and also identify when it is corrected.

The Problem

The bus in question appears to have a short. Communication does still work, but it takes a long time to poll points or override them. I presume there’s a lot of error-correction and trying in the background making up for the bad bus on the platform I’m using here (Tridium AX).

You can’t really tell there’s a problem from the software side besides the slowness and some strange errors about frame errors printed in a log. With the oscilloscope I can see immediately that there is a problem and I know what conductor the problem is on. That doesn’t exactly solve it for me, but it’s a clear indication at least which has a clear, tedious solution.


The picture above is a good-quality frame. There’s a bit of rounding from capacitance, but it shouldn’t interfere with communication as it’s quite minor. The square wave signal is clear and the peaks are consistent. I took this sample in the middle of the problem bus with the ground clips for both my probes on the reference conductor. I told my oscilloscope to invert one of the channels, and I am displaying above the addition of both. That’s essentially what an RS-485 transceiver will do in your controller.

The above is not a good frame. It’s not that clear that it’s bad. You can see a bit of capacitance, you can see that the peaks are not that consistent, and maybe a bit of noise. The total amplitude is lower than with the good one. I was surprised to see this result on the bad side of the bus, so I looked at the channels separately. Then, I saw what is clearly a problem – here’s one of the conductors (A or B) of the bad side of the bus:

Yeah, that’s not a square wave signal. That looks like a signal that wants very much to stay near to ground. I.E., this wire is shorted to ground somewhere. Given that this is an underfloor ventilation system and we have a lot of wires bell-tied to struts we get a lot of damaged cables when people are over-zealous with pulling.

I’ll update as I investigate!

The Solution

Yup, that conductor was shorted to the shield which is grounded. This is a floating floor system, and the bus is cable-tied to struts under the floor. It looks like someone pulled a little too zealously. Very easy to repair.