BACnet Broadcast Management Device

TwinCAT BACnet/IP supports the "BACnet Broadcast Management Device" (BBMD) functionality. BBMD can be used to transfer IP broadcast messages (e.g. 192.168.1.255), which are used by certain BACnet services, beyond the boundaries of local networks. One example is the Who-Is service, which is used to find other BACnet devices via an IP broadcast message. A Who-Is message sent by a BACnet device is relayed to the local network with a broadcast MAC address (FF:FF:FF:FF:FF:FF). All BACnet devices in this network receive the message and can respond accordingly. However, the message is not relayed by IP routers that communicate with other IP subnets. BBMD was introduced to resolve this issue. In a local network only one device with BBMD functionality can be configured, which relays the IP broadcast messages to remote IP subnets via a Broadcast Distribution Table (BDT).

Two procedures are available for transferring BBMD messages, referred to as One-Hop and Two-Hop. With the Two-Hop procedure a BBMD device transfers broadcast message to a further BBMD in the remote IP subnet, which then distributes the messages in its local network as IP broadcast messages for its IP subnet. With the One-Hop procedure the local BBMD transfers the message directly to the remote devices. In this case the IP routers must support the transfer of IP broadcast messages to remote IP subnets.

BACnet Broadcast Management Device 1:

Gateway configuration

The BBMD functionality requires a gateway to be entered in the IP configuration of a BACnet device, since IP messages must be relayed to remote IP subnets. If no gateway is configured, the BBMD functionality is automatically disabled.

The "Foreign Device" procedure can be used to enable remote devices that dial in via an Internet connection, for example, to link dynamically with a BACnet configuration. Special BACnet services exist, which are also supported by TwinCAT BACnet/IP, for generating an entry in the Foreign Device Table (FDT). Like the BDT procedure, a BBMD IP broadcast relays messages to all FDT entries. In contrast to BDT, FDT entries have a limited lifetime. This means that login has to be refreshed after a time interval (Time To Live) has elapsed.

The BACnet device has a BBMD tab for configuring the BBMD. Each TwinCAT BACnet/IP device can therefore operate as a BBMD. Only one BBMD may exist for each subnet. The BBMD functionality can be activated with the option "Enable BBMD". In addition, the size of the BDT and FDT can be configured. During runtime new entries can be added to the BDT and FDT. This should be considered when configuring the size. Entries that are added to the BDT at runtime are stored as persistent data if this option is activated. As for BACnet properties, BDT entries are distinguished between offline and online data. The "Initial BDT" describes entries that are used on startup. During runtime the state of the BDT can be monitored via the tab "Online BDT". The FDT can be viewed via the tab "Online FDT".

Via the submenu "Registration as Foreign Device" a TwinCAT BACnet/IP can register devices in an existing BACnet network. To this end the IP address of the remote BBMD must be activated.

BACnet Broadcast Management Device 2:

The above screenshot shows the configuration of the BDT in two-hop mode. A small example will be used to describe the BBMD functionality. The following figure shows two IP subnets that are connected via a router. In the example the device 192.168.1.2 sends an IP broadcast message (in this case 192.168.1.255) to the local network. The BBMD (IP address 192.168.1.7) relays the message as forwarded NPDU via the router/gateway (192.168.1.1) to the BBMD of IP subnet 10.3.xxx.xxx. In this case it is the configured BBMD with the IP address 10.3.1.8. The remote BBMD distributes the relayed message as an IP broadcast (10.3.255.255) to the local network.

BACnet Broadcast Management Device 3:

The following screenshot shows the BBDM configuration in one-hop mode. In contrast to the two-hop procedure, the subnet mask of the target system is entered to indicate that a target IP broadcast message should be generated directly. In this case the last two digits of the IP address are not relevant since they are replaced with 255. In other words, it would make no difference if 10.3.0.0 was used, for example.

BACnet Broadcast Management Device 4:

In this case the BBMD (192.168.1.7) sends the message with the MAC address of router/gateway to the IP broadcast address (10.3.255.255) of the remote IP subnet. In this mode the remote BBMD does not relay messages.

BACnet Broadcast Management Device 5: