March 2008 Newsletter

March 2008 Newsletter

CAS BACnet Explorer Updates

Profiles – Save all the explored data to a file for later loading/printing or for comparing to other profiles. This is an excellent test feature.

Monitor Tables – Watch a specific set of objects and object properties without having to refresh the full device or network. Save tables for later re-use.

Proprietary Objects and Properties – Read vendor specific data.

USB Key – A USB key makes activation easy and allows you to use your licence on more than one computer by simply moving the key.

Bug Fixes – Some important bugfixes are for the issue that caused the utility to find an incorrect IP address on computers that support IP6 (typically most Vista computers), and for the issue which caused the explorer to incorrectly report the optional properties on standard objects.

BACnet School

How does MSTP discover new devices on a network? Read more…

What happens when you have duplicate MAC addresses or device instance numbers?
Read more…


CAS BACnet Explorer Updates

When the explorer discovers networks, devices and properties its stores the data in a tree of objects. We call that tree a profile.

Using the explorer you can save a profile to disk. This allows you to capture information on site which you can later view or review when you return to your office.

You can load a previously saved profile and view it in the main window. This gives you a chance to print a report based on the saved profile. The profiles are saved in XML format file and they can be viewed using Internet Explorer, however some of the saved data is not user friendly. If you need to see all the data then we suggest you load the profile and print a report.

All –Shows all objects and properties from both profiles. The explorer attempts to line up common objects and proptires from both profiles.
Orphan –Shows objects and properties present in one device and not the other.
Differences –All differences are shown including orphans.
Send –Zips the reports so you can store/email them.
In the following sample screenshot the only difference between the two profiles is the present value of one single object.


A monitor table is a list of selected points and properties that you want to monitor/observe. By adding points to a Monitor table you are able see properties like the present value of a number of points together avoiding navigation of the main tree of objects.

To add an object to the Monitor table you simply right click on the object in the main window tree. Select ‘Add to Monitor List’ action. You can add objects from different devices.

Now you can customize the table by adding additional properties to be monitored. Select the Settings button to do this. You can save your table and load it later when you come back to your work.
Customers complained about the activation system, therefore we have changed the activation method. Avoid web/email activation by using the new USB key method.

Previously a new activation code was required each time you updated the package or changed the IP address of your network card. Now you can simply just use the USB key.

Another major advantage of the USB key is that you can transfer your license from one computer to another easily. Simply install the explorer on multiple computers and plug the USB key into the computer you wish to use it on.

IP Address
On computers which support TCP/IP with IPversion6 a bug prevented the explorer from recognizing the IP address of the network cards. This was the case on almost all new Vista machines. We have repaired this bug and tested the explorer on Vista extensively.

Missing Properties
In previous versions, we did not report the presence of some properties of an object. These were optional properties on standard objects. For example. We did not report the optional property Minimum_Value and Maximum_Value when we discovered Analogs inputs. This bug has now been corrected and functions properly.

Crash After Timeout

Packet Length > 255 Bug

CAS BACnet Watchdog

“Who changed the set point? Why did that device stop?”

The BACnet protocol does not support authorization or authentication. Use our Watchdog tool to monitor where the commands that changed set points/device states came from. Our tool allows you to monitor some or all devices/objects/properties.

The CAS BACnet Watchdog records MAC addresses, IP address, messages and other information useful in tracking down unauthorized/unexpected commands. It’s easy to install and easy to use.

BACnet Integration

FieldServers support the following BACnet protocols. They can be configured as clients/servers or as both.

  • BACnet Peer to Peer
  • BACnet Arcnet
  • BACnet MSTP
  • BACnet IP
  • BACnet Ethernet

Convert to / from 110 other protocols including Lonworks, Modbus, Metasys N2 by JCI, Ethernet IP, many fire alarm panels, many HVAC interfaces and many others.

For a limited time, if you purchase a FieldServer from us which uses a BACnet protocol we will provide a free BACnet Explorer licence. Our competitors retail their browsers at US$795.

BACnet School

(To provide clarity this article does simplify the issues to some extent.)

BACnet MSTP is a token passing protocol. Only nodes with the token are allowed to initiate service requests such as requests for data. A device that receives a request that requires a response may respond without having the token.

Based on this behavior it is easy to understand the difference between a MSTP master and slave. A slave is a device that can only send responses. A master is an initiator of a service request.

Only allowing masters to initiate a message exchange when they have the token provides a mechanism whereby there can be multiple masters on a network and contention/collision can be avoided. Ethernet uses a different system it allows collisions and provides a recovery mechanism. Imposing rules on the token passing such as specifying how much a master can do while it has the token provides a mechanism to balance the performance of various devices on a single network.

Back to the question of how new devices are added to the network. If you add a new slave device then you will need to program at least one master on the network to exchange data with that slave. The master needs to be programmed specifically to read that slave since slave devices don’t support discovery. (That’s one of the reasons that most field devices are not slave devices)

If you add another master it needs to receive the token before it can act like a master but the other devices on the network need to discover the new device first. Every master on the network, has the job, of periodically polling for a new master. Each master knows who the next master on a network is, because that is who it will pass the token to. So, each master, must poll for masters that could exist in the address range that exists between its own address and the next master’s address. Thus a master addressed as 1 must look for master’s in the range 2 to 10 if the next known master is 11. Master number 11 must look for new masters starting at 12 etc. The master with the highest number must try masters, 127,0… When a device receives a poll asking if it is a master (Called a ‘Poll for Master’ message) it replies immediately. In the above example, if master number 1 cant find a master number 2 it should try number 3. When should it try? That’s a choice that is left up to the implementor of the BACnet protocol on that device. The spec only demands a minimum of 1 Poll for Master every 50 times a master receives or uses the token. The new master must respond within 20 milliseconds.

You can see, that if every master polls for a large number of new masters and they do this often then lots of bandwidth is lost. For this reason BACnet MSTP has a parameter called Max Master. Each master has its own setting for this variable. Typically it is set at 127 but imagine that master number 50 is the highest master on the network, and its Max Master is set to 64. Then it will never discover a new master whose address is larger than its max master (it will never discover another master with an address of 65 to 127). This is a common reason why a new device on a network is not discovered.

Read the How does BACnet MAST discover new devices on a network article.



What would happen if you had two BACnet MSTP devices with different MAC address but the same BACnet Device ID (Node ID) on the same network and you send a Broadcast Who-is message.

This would be an illegal configuration (no two devices shall have the same Device ID) but the rules for address binding say the last one wins. If new information arrives saying “I-AM Device 7? the old information is replaced.

To understand this answer you must know a thing or two about a token ring networks.

Basically a token ring networks works by passing a token around the network, whoever has the token may send message out, and when they are done with the token they pass it on to the next person in line.

For Example:

  • Device A has the MAC address of 0x03
  • Device B has the MAC address of 0x04
  • Device C has the MAC address of 0x05
  • Device A has the token
  • Device A responses to any messages it got since the last time it got the token, then sends any custom messages it may have in queue
  • Device A sends the token to device B
  • Device B has the token
  • Device B responses to any messages it got since the last time it got the token, then sends any custom messages it may have in queue
  • Device B sends the token to device C
  • Device C has the token
  • Device C responses to any messages it got since the last time it got the token, then sends any custom messages it may have in queue
  • Device C has the token but there is no one with a higher MAC address then Device C so Device C sends it’s token to Device A
  • Repeat

If you have two different MSTP devices with the same MAC address your network will become unstable and unpredictable results will occur. Both devices will think that they received the token and both devices will attempt to talk at the same time. There will be collisions and you will not be able to determine what device will respond to what poll or what device has the token.

If you have two different MSTP devices with different MAC address and the same Node ID, the device next in line in the token ring will respond first to your requests. This happens because it will be the first device to be passed the token and the first device able to respond. When the token gets passed to the next device ready to respond it will also send a response. any values set by Device A will probably be over written by Device B.

For Example:

  • Device A has the MAC address of 0x03 Node ID 7
  • Device B has the MAC address of 0x04 Node ID 7
  • Device C has the MAC address of 0x05 Node ID 13
  • Device C sends a broadcast request for the properties of Node 7
  • All devices on the network receive the message and Device A and B start to compile a response
  • Device C sends the token to the next device in line, this happens to be Device A
  • Device A responses to the poll from Device C and passes the token to Device B
  • Device C processes the response
  • Device B responses to the poll from Device C and passes the token to Device C
  • Device C gets the response from device B and overwrites the results of device A

So in conclusion, having two BACnet MSTP devices with the same MAC address will produce unpredictable results and should be avoided. While having two BACnet MSTP devices with different MAC address and the same node ID will produce a predictable result it should be avoided because of the rule (no two devices shale have the same Device ID)

Read the 2 BACnet MSTP devices with the same device ID article.

For more articles, please visit the articles section of our website.

If you have any other questions relating to BACnet or MSTP feel free to contact us at 1-866-383-1657.

BACnet Interoperability Workshop – Plugfest

How do we test/evaluate our software?

Each year the BACnet Test Lab hold a workshop which allows vendors to test their software and devices against each other. The most recent, was held in Milwaukee, Wisconsin, October 16-18 2007. This was the eighth annual BACnet Interoperability Workshop. The event allowed vendors to test their BACnet products with BACnet devices from other vendors in a neutral and friendly environment. This year’s event was the largest ever with 34 test teams and over 140 participants!

We also do our own testing and use feedback from customers to improve our product on a continuous basis.


  • ABB
  • Aircuity
  • Alerton/Novar
  • American Auto-Matrix
  • Automated Logic
  • BACnet Testing Laboratories
  • Carrier
  • Centaurus Prime
  • Chipkin Automation Systems, Inc.
  • Cimetrics
  • Delta Controls
  • Eagle Technology
  • FieldServer Technologies
  • KMC Controls
  • Honeywell
  • ITT Bell & Gossett
  • Johnson Controls
  • Kiyon
  • Loytec, Inc.
  • Lithonia Lighting
  • McQuay
  • NIST Building and Fire Research Laboratory
  • Notifier
  • Phoenix Controls
  • Priva Building Intelligence
  • Reliable Controls
  • Siemens Building Technologies
  • Simplex
  • Teletrol Systems
  • T.A.C.
  • Trane
  • Trend Controls
  • Tridium
  • The Watt Stopper
  • WSPLab



2008 Chipkin Automation Systems –
BACnet is a registered trademark of ASHRAE.

Metasys® as used in this document is a trademark of Johnson Controls, Inc.

If you liked this post;
  • Please consider subscribing to our RSS feed