Post Tags

BACnet Device Commissioning: Addressing & Setup

BACnet device commissioning has three parts: assigning the device a unique address, wiring it correctly onto the MS/TP trunk, and mapping its points into the building automation system (BAS). Manual addressing and oversized point lists account for most of the time lost on site, both of which are avoidable with a consistent procedure.

Functional Devices, Inc. has manufactured building automation and control devices in the United States since 1969, including a line of BACnet MS/TP relays that follow the procedure below.

What Commissioning an MS/TP Device Involves

BACnet MS/TP runs over an RS-485 serial bus. Devices pass a token around the trunk, and the device holding the token may transmit, which is what "Master-Slave/Token-Passing" (MS/TP) describes. A field device joins that trunk as one node with one address, and the BAS reads and writes its points as BACnet objects.

Three things have to be right before the device works on the network: its addressing (a MAC address and a device instance), its physical connection (polarity, baud rate, and termination on the RS-485 trunk), and its point list (the objects the BAS maps to and from).

Addressing a BACnet Device: MAC Address and Device Instance

Every device on a BACnet MS/TP segment needs two unique identifiers, and confusing them is a common commissioning error.

The MAC address identifies the device on its local MS/TP segment. Master devices use addresses 0 through 127, and the range above that is reserved for slave devices. The MAC address only has to be unique on that segment.

The device instance (the Device object's Object_Identifier) identifies the device across the entire BACnet internetwork. It has to be unique system-wide, and its range runs from 0 to 4,194,302 (the top value, 4,194,303, is reserved).

On a Functional Devices BACnet relay, the MAC address is set with the on-board DIP switches, and the device derives a default device instance from it. The default Device ID is 277 followed by the MS/TP address set on the DIP switches. You can change it by writing the Object_Identifier of the Device object from the BAS.

Wiring and Termination on the MS/TP Trunk

The RS-485 trunk is a daisy chain: each device connects to the next, with no stars or stubs. Use shielded twisted-pair cable rated for RS-485 (22–24 AWG) and keep polarity consistent end to end. Reversed polarity is a common reason a device won't communicate, and it can look like a dead device when the wiring appears to be otherwise correct.

Functional Devices labels its RS-485 terminals A(–) and B(+). Match A to A and B to B across every device on the trunk; if a device won't come online and the wiring looks right, check that A and B haven't been swapped.

Every device on a segment has to use the same baud rate. On Functional Devices BACnet relays the baud rate is DIP-selectable, so set every device on the trunk to the same value before powering up. A baud-rate mismatch is one of the first things to check when a device won't appear.

Terminate the trunk at its two physical ends and nowhere else: a segment needs exactly two end-of-line (EOL) terminating resistors, one at each end. Functional Devices includes an EOL resistor on its BACnet relays: connect the jumper on the two end devices and leave it disconnected on every device in between. More than two terminations, or a termination on a middle device, degrades the signal. BACnet MS/TP allows up to 4,000 feet (1,200 m) per segment and up to 127 master nodes, though many integrators keep a segment well below that to limit token-passing latency.

Point Lists and BACnet Objects

The BAS doesn't read a device's wires; it reads its BACnet objects. Each point is an object with a type and an instance number—Binary Output (BO) for a relay, Binary Input (BI) for a dry contact, Analog Input (AI) for a sensor, and so on. The point list is the map between those objects and the names and control logic in the BAS.

Oversized point lists are a common time sink. A device can expose more objects than a given application uses, and mapping every one of them clutters the BAS database and slows the integrator down later. Map the objects the sequence needs and leave the rest unmapped.

One detail trips up integrators on Functional Devices relays: the object instance numbers start at 1, not 0. A point map built for a device whose first instance is 0 will be off by one and read the wrong point. On the RIBTW2401B-BC, the relay is a Binary Output object and the dry-contact input is a separate Binary Input object, each addressable on its own.

Discovering a BACnet Device in the BAS

Once the device is addressed, wired, and terminated, the BAS supervisor discovers it on the trunk. The workflow is similar across the major platforms—Tridium Niagara on a JACE controller, Automated Logic WebCTRL, and Distech Controls: run a device discovery on the MS/TP network, confirm the device by its instance number, then bind its objects to points in the controller's database.

A device that doesn't appear in discovery almost always points back to a physical setting rather than a device fault: a baud-rate mismatch, reversed A/B polarity, a duplicate MAC address, or missing or extra termination. Confirm those first.

Functional Devices BACnet MS/TP Devices

Functional Devices, Inc. manufactures BACnet MS/TP field devices that join the trunk as a single addressable node, set up through on-board DIP switches.

  • The RIBTW2401B-BC is an enclosed BACnet MS/TP relay with one Binary Output (a 20 A SPDT relay with override) and one Binary Input (a Class 2 dry contact), powered by 24 Vac/dc or 120 Vac. The dry-contact input is general-purpose and not tied to the relay internally, so it can report the state of any dry-contact device, including an external current sensor. External LEDs show network communication and relay status, and a 120 Ω EOL resistor is included as an option.
  • The RIBTW2402B-BC is the same device with a 24 Vac/dc or 208–277 Vac power input.
  • The RIBTWX2402B-BC adds a second Binary Input (a load-sensing current-sensor input plus a dry contact) on a 24 Vac/dc or 208–277 Vac input, in a NEMA 1 housing.
  • The RIBPM413-BC is a BACnet MS/TP revenue-grade energy sub-meter for power monitoring on the same network.

Each attaches to the MS/TP bus as one address and exposes its points as standard BACnet objects, which adds control and monitoring points without a larger controller.

Common Commissioning Problems

Most BACnet MS/TP commissioning problems trace to a few causes:

  • The device won't appear in discovery. Check the baud rate first (it must match the trunk), then A/B polarity, then for a duplicate MAC address on the segment.
  • Two devices conflict. A duplicate MAC address on a segment, or a duplicate device instance across the internetwork, will knock one or both off the network. Each has to be unique at its own level.
  • Intermittent or garbled communication. Look at termination: exactly two EOL resistors, one at each physical end. A middle device with its EOL connected, or a missing end termination, corrupts the signal.
  • Objects read the wrong point. On a device whose object instances start at 1, a map built for a 0-based device is off by one. Confirm the starting index against the datasheet.

Frequently Asked Questions

What is the difference between a MAC address and a device instance?

The MAC address identifies a device on its local MS/TP segment and only has to be unique there; master devices use 0 to 127. The device instance identifies the device across the whole BACnet internetwork and has to be unique system-wide.

How many devices can go on one MS/TP segment?

BACnet MS/TP allows up to 127 master nodes and a trunk length up to 4,000 feet (1,200 m). Many integrators keep a segment well below that to limit token-passing latency.

Why won't my BACnet device show up during discovery?

Almost always a physical setting: a baud-rate mismatch with the trunk, reversed A/B polarity, a duplicate MAC address, or missing or extra termination. Confirm those before suspecting the device.

Where do I set the baud rate on a Functional Devices BACnet relay?

On the on-board DIP switches, along with the MS/TP address. Every device on the segment has to be set to the same baud rate.

What is the default device ID on the RIBTW2401B-BC?

277 followed by the MS/TP address set on the DIP switches. You can change it by writing the Object_Identifier of the Device object from the BAS.

Specify BACnet MS/TP Devices for a Project

To specify BACnet MS/TP field devices, contact Functional Devices at 800-888-5538, or find an authorized distributor in your region.