Automation Glossary • BACnet

What Is BACnet?

Merobix Engineering • • 7 min read

BACnet (Building Automation and Control Networks) is the dominant open protocol for building automation systems - HVAC, lighting, access, and energy metering. Standardized as ASHRAE 135 and ISO 16484-5, it gives building controllers from different vendors a common language, and it increasingly overlaps with industrial SCADA at facility level.

Back to Blog

BACnet in one line: BACnet is an open building-automation protocol (ASHRAE 135 / ISO 16484-5) that models devices as standardized objects (such as Analog Input or Binary Output) and defines services to read, write, and subscribe to their properties over data links including BACnet/IP and MS/TP.

Objects, Services, and Data Links

BACnet represents everything as objects with properties. An analog sensor is an Analog Input object; a controllable damper is an Analog Output or Binary Output; there are also objects for schedules, trend logs, calendars, and alarms. Each object has properties like Present_Value, Units, and status flags. Services then act on these objects - ReadProperty and WriteProperty for point access, and change-of-value subscriptions (COV) so a client is notified only when a value changes rather than polling constantly.

BACnet runs over several data links. BACnet/IP carries the protocol over standard Ethernet and UDP/IP, which is now the common choice for controllers and supervisory systems. BACnet MS/TP (Master-Slave/Token-Passing) runs over RS-485 twisted pair for lower-cost field controllers, similar in spirit to other serial fieldbuses. A BACnet/IP-to-MS/TP router bridges the two.

BACnet and Industrial SCADA

BACnet lives in the building-services world, but it meets industrial SCADA wherever a facility's mechanical and electrical systems matter to operations - control-room HVAC, equipment-shelter cooling on remote sites, data-center facility monitoring, and building energy metering. Because it is object-oriented and self-describing, mapping BACnet points into a SCADA tag database is straightforward once a driver or gateway can browse the device.

For unified monitoring, operators often want building-automation data alongside process data in one place. A cloud SCADA can ingest BACnet points either through a native BACnet/IP driver or a gateway that republishes them over a common protocol. Merobix supports BACnet among its device protocols, so facility HVAC, metering, and equipment-shelter data can share the same dashboards, alarms, and historian as process telemetry - useful for remote wellsites and processing plants where keeping equipment within temperature limits is operationally critical.

Device Discovery and Addressing

BACnet is designed so a client can find devices without a preloaded configuration. A Who-Is broadcast asks devices to identify themselves; each responds with an I-Am announcing its device instance number. That instance number must be unique across the entire BACnet internetwork - not just the local segment - because it is how clients address a device regardless of which data link it sits on. Within each device, individual points are addressed by object type and object instance, so a full point reference looks like device instance, then object, then property.

BACnet/IP uses UDP port 47808 (0xBAC0) by default, and discovery relies on broadcasts. On a flat subnet that works out of the box, but IP routers do not forward broadcasts between subnets. The standard's answer is the BBMD - BACnet Broadcast Management Device - a function, usually enabled on one controller or gateway per subnet, that re-distributes broadcasts to its peers on other subnets. A single remote client, such as a supervisory host on a different network, can instead register with a BBMD as a foreign device and receive forwarded broadcasts without needing a BBMD of its own.

Planning an MS/TP Segment

MS/TP rides on RS-485, so all the usual serial discipline applies: a single daisy-chained trunk with no stars or stubs, termination at both physical ends, shielded twisted pair, and adherence to the RS-485 unit-load limit for the transceivers used. Every device on the segment must run the same baud rate; ASHRAE 135 defines the standard MS/TP rates of 9600, 19200, 38400, and 76800 baud. Mixed rates on one trunk produce devices that simply never appear.

MS/TP is a token-passing network among master devices. Each master's Max_Master property tells it the highest address it should ever poll for; if a device's MAC address is above another master's Max_Master, that device may never be handed the token. Gaps in the address sequence also cost time, because the token holder periodically polls unused addresses looking for new masters. The practical rule: number masters contiguously from low addresses, set Max_Master consistently, and document the map.

A short commissioning sequence for a new segment:

  1. Verify polarity, termination, and shield grounding at one point before applying power.
  2. Set unique MAC addresses and a common baud rate on every device.
  3. Confirm each device's device instance is unique network-wide, not just on the trunk.
  4. Bring devices online a few at a time and run a Who-Is after each group.
  5. Check Max_Master on all masters against the highest address in use.
  6. Record the final address map with the panel schedule.

COV Subscriptions vs Polling

Change-of-value subscriptions are BACnet's answer to wasteful polling: the client subscribes once, and the device pushes a notification only when the value moves by more than its COV increment. That keeps traffic low on slow MS/TP trunks and gives faster updates on the points that matter. The costs are that subscriptions have finite lifetimes and must be renewed, devices support a limited number of active subscriptions, and an ill-chosen COV increment either floods the network or hides real movement. Confirmed COV adds an acknowledgment per notification; unconfirmed trades certainty for less traffic.

Polling still earns its place. Continuously moving analogs generate a notification stream under COV that is worse than a steady, predictable poll cycle, and some field devices expose too few subscription slots to cover every point of interest. A common working pattern is COV for binary states and alarm-relevant points, with slow scheduled polls for drifting analogs like temperatures. Whichever mix you choose determines the sample density your historian and trends inherit downstream, so decide it deliberately rather than by driver default.

Troubleshooting a BACnet Integration

Most integration failures trace to a small set of causes: duplicate device instances (two devices answer to one identity, and reads return data from whichever responds first), duplicate network numbers configured on two routers, two BBMDs active on the same subnet echoing broadcasts, a baud-rate mismatch on MS/TP, or missing termination that lets a trunk work on the bench and fail in the field. The symptoms - intermittent discovery, points that read from the wrong device, or a segment that degrades as devices are added - look mysterious until checked against this list.

Work methodically from the wire upward. Confirm the physical layer first; the discipline is the same as testing a serial RS-485 SCADA link. Then run discovery and read each device's Device object properties directly, before involving the supervisory layer, so you know whether a fault is in the field or in the mapping. Once the network is clean, the remaining work is tag mapping and read-strategy tuning, which is covered in more depth in the guide to connecting BACnet to a cloud SCADA platform.

Frequently Asked Questions

What is the difference between BACnet/IP and BACnet MS/TP?

BACnet/IP carries BACnet over standard Ethernet and UDP/IP and is used for supervisory systems and higher-end controllers. BACnet MS/TP runs over RS-485 twisted pair for lower-cost field controllers. A BACnet router bridges the two so they form one logical network.

Is BACnet an open standard?

Yes. BACnet is an open, vendor-neutral standard published as ASHRAE 135 and ISO 16484-5. That openness is why controllers from different building-automation vendors can interoperate on the same network.

Can SCADA read BACnet points?

Yes. A SCADA platform with a BACnet driver can browse a device's objects and read or write their Present_Value and other properties over BACnet/IP, or read them through a gateway. This lets facility HVAC, metering, and equipment-shelter data appear alongside process telemetry.

What is a BBMD and when do I need one?

A BACnet Broadcast Management Device forwards BACnet broadcasts between IP subnets, which routers otherwise block. You need one on each subnet that hosts BACnet/IP devices when the network is routed. A single remote client can instead register with an existing BBMD as a foreign device.

Why must BACnet device instance numbers be unique?

The device instance is the address clients use to reach a device anywhere on the BACnet internetwork, across all data links. If two devices share an instance number, discovery and reads become ambiguous - clients may bind to either one - producing intermittent wrong-device data that is hard to diagnose.

More in Industrial Protocols
BACnet discovery finds no devices  •  BACnet Device Object  •  BACnet Object and Property Model  •  BACnet Object Identifier  •  BACnet Present_Value Property  •  All Industrial Protocols →
Free SCADA operator training
Merobix University - 70 video lessons & 261 quiz questions, from first login to compliance reporting. No demo call required.
Start free →