WattNode BACnet power and energy meters are typically connected over an RS-485 serial network to a Building Automation System (BAS), also called a Building Management System (BMS). The BAS talks over the network to the WattNode submeters and reads out their power, energy and other measurement data. Most systems archive the data and provide an energy dashboard display.

Other computer platforms (PCs) equipped with BACnet software and an RS-485 port can also be used to communicate with a WattNode BACnet power and energy submeter. This can be useful for testing, configuration, and in applications where a BAS is not available. WattNode BACnet submeters can also be interfaced to an Ethernet network using a BACnet MSTP to BACnet IP communications adapter.

However, there are some caveats to be observed when using an RS-485 adapter (whether with a WattNode BACnet submeter or any other MSTP BACnet device). BACnet MSTP has timing requirements that must be met, typically using hardware dedicated to this task. RS-485 adapter drivers do not necessarily provide real-time access to the underling MSTP packets. Some of the RS-485 adapters that CCS has tested had drivers with a latency timer setting (accessed in Windows Device Manager under Advanced Port Settings) whose default value was 16 milliseconds (ms) —meaning that there could be a 16 ms delay between receiving a packet and the software actually being notified by the driver.

BACnet MSTP requires that devices begin their response between 15 and 20 ms for some message types, leaving a very small amount of time for software to respond (remember, PC software has to compete with other programs for processor time).

To compensate for this, set the latency timer to 1 ms (typically the lowest setting). Accurate timing on the PC is dependent on timer functionality provided by the Operating System (OS). On some machines, a high resolution timer is not available. This means that even though the software may be written to use the highest resolution timer provided by the OS, what it gets may not be as precise as the designers anticipated. As a result, BACnet software that runs great on one machine could experience intermittent failures on another.

Unfortunately, there is not any one specific way that PC timing issues will manifest themselves (aside from either outright failure to communicate with a BACnet device or intermittent packet errors or failures). However, as it will usually be the PC that is too slow to respond, there are a few failure modes that can result:

  • While passing the token, the BACnet device sometimes resends the token to the PC. Malformed packets only occur from the BACnet device to the PC because the PC software missed the start of the BACnet device’s response and started communicating / retrying the last message.
  • If you examine the bytes where the packet is corrupt, you may notice similarity to a TOKEN message being sent by the PC. The BACnet device periodically drops out of the token ring because the PC software thinks that the BACnet device didn’t respond. In fact, it did respond but took too long and the PC software dropped the device from its next poll station queue. When the next Poll-For-Master cycle begins, the BACnet device is able to rejoin the token ring.

See Also

Keywords: RS-485 adapter, RS-485 converter, EIA-485, EIA485