Client Portal

Improved BACNet Diagnostics


New BACnet Diagnostics are now available using LX host controllers with CBAS version 20 dated March
23 2022 or newer. The channel must be programmed in CBAS and it must be BACnet “On Controller”.
These new Diags show controllers on the channel that haven’t even been programmed in CBAS and
gives the Vendor name for them. This is a great relief for setting up a new channel of third-party
controllers and will save a lot of time by allowing you to Probe any controller once it is found. Probing is
also faster now. Another thing that has changed is the list of packets going by on the left side, which will
give more information for troubleshooting.

The LX controller must have firmware from June 17, 2021 or newer, because the diagnostics work is
done in the LX. Program the channel as BACNet On Controller. In this type of channel, the databases of
the controllers on that channel are downloaded to the LX and the points are part of the LX database. If
you program the channel as BACNet 485 over TCP\IP , the LX knows nothing about the points on that
channel and just forwards packets back and forth.

In my testing I used a 16-LX and (2) Viconics stats that control air handling units.

Program your LX controller on the TCP/IP for Controllers Channel.

  • Click the controller and go to Channels, then add a BACNet On Controller Channel to either the
    Host or Secondary.
  • Wire your BACNet controllers to the correct terminals for Host or Secondary.
  • Determine the addresses of the BACNet controllers wired to the channel and program a BACNet
    Generic Controller for each. Or, leave them unprogrammed for testing purposes.
  • Make sure the controllers have the same baud rate and set that on the Program screen for the
    Channel. Viconics controllers have auto baud rate sensing.
  • Close Editor Mode and go to Real Mode.
  • After the database has downloaded to the LX host controller and it shows Normal Comm, wait
    about 30-60 seconds for it to start the channel, then click the controller and go to Channels.
  • Click the BACNet on Controller Channel, then Diags. See picture below.

Notice at the top right there are a lot of statistics. The first line has the baud rate that is set on the
channel and the Max Master setting. Click the Explain button to the right to get an explanation of what
each abbreviation means. Probably the most important line for troubleshooting is the Err line which
contains the number of errors of each type. If there is a wiring issue you will see the Framing Error
number rising next to Fr=. Click the Explain button for more info.

To the left you will see all packets that are being sent and received, or Traffic. First there is either a TX=X
or RX=X which means either a transmitted packet to an address or received packet from an address.
TX=3 is transmitted to address 3, for example.

Next is Sz=xxx which is the packet size in bits. Read Multiple packets will be larger.

Then there is a Read Multiple or Read Single (points). CBAS can read more than one point at a time if set
in the BACNet settings.

Invoke is a message ID. Every BACnet message has an Invoke number and the response message has the
same Invoke number. So, if you record the Invoke number you send, then you can match a response
with the sent message by the Invoke number in the response. This could be helpful to see if a BACNet
device is responding to some packets or no packets.

At the top of the Traffic screen there are some buttons related to the traffic. The Stop button stops the
Traffic from updating. Click it again (GO) to resume.

Click Capture Text to begin saving the traffic to a text file if you need to get info to Tech Support. Click it
again to Stop the capture and save the text file. It will tell you where it is saved to:
CBAS22\Sites\Database name\Data.

Now move over to the bottom right section below the statistics. This shows all controllers on the
channel whether programmed in CBAS or not.

The Name column shows the name you gave to any controllers you programmed on the channel and the
next column is the address of the controllers.

The Online column shows you if the controller has been Probed and in parentheses, it shows the
number of packets received from that controller in the last 5 seconds.

Finally, the Vendor column shows the name of the company that manufactured the device. If you click
that field, you will get more information. See picture above. DeviceID is what we call the Instance
number, which makes connecting to the controller faster. See previous picture. Click OK.

To Probe the unknown controller, click the Start Probe button at the bottom and you will see a
popup list of controllers that haven’t been Probed. Select one and the text should turn green.

  • Escape and you will see changes to the Probed column for that controller, and it updates
    progress on the probe. Finally, it says Probed.
  • The Probe file is actually stored on the controller. To retrieve it to your hard drive, click Get
    Probe and it will tell you where it was saved to: CBAS22\Sites\Database Name\Data\BACNet.
  • You can look at the Probe text file and see what the Instance number is and insert that on the
    Program screen of the Generic BACnet controller. This will make it connect faster.
  • To delete the Probe file from the LX controller, click Delete Probe File button and select the file.
  • To import the points, program a Generic BACNet controller at that address (Editor Mode) on the
    channel in Hardware View.
  • Click the controller and click Import From Probe File to see the following.
image 1

Select the correct file based on the address: in this case Add3-00 (00 is incremented based on
how many times you probe, but only one time should be necessary).

  • Then you will see the following window with the path to the probe file. Click the Load button to
    see the points.
image 2

Uncheck any points that you don’t want to import.

To add a prefix, click the button and type in the prefix, limited to 8 characters. You will see the points
change when you click OK. Prefixes are important so that you know what AHU or other device you are
working with.

When ready, click Import all Selected Points. Then you can view the points on the controller. Go to Real
Mode and make sure the points are working. Make changes as necessary.

On Multistate points, it will be necessary to give names to the “states” of the points. Once you have a
particular type of equipment set up the way you want it in CBAS, click that controller and click Export
Database. If you have to program another AHU that is exactly the same, use this Export file to import the
points when adding the new controller.

The naming convention for Probe files has also changed from the old method. When you go to add
points to a controller from a Probe file, the old method named the files “BACnetAddxxxxxx”. So, if you
go to add points from an old file, you just need to go to the file and add Probe_ to the beginning of the
file name. Then it will be easy to find.

More to explore