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. Otherwise, the LX knows nothing about the points on a BACnet 485 over TCP\IP channel.
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 it 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 do not have auto baud rate.
- Close Editor Mode and go to Real Mode.
- After the database has downloaded to the LX host controller and it shows Normal communication, wait 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 the 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 stat 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. DeviceID is what we call the Instance number, which makes connecting to the controller faster. See the 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 the Delete Probe File button and select the file.
- To import the points, program a Generic BACnet controller at that address (Editor Mode).
- Click the controller and click Import From Probe File to see the following.
- 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.
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.
When ready, click Import all Selected Points.