Available with GENESIS64 Basic SCADA. |
An interesting attribute of the Building Automation and Control Network (BACnet) is that Ethernet is supported along with several data links, and communication between the various data links is possible through the use of routers. Each data link is treated as a separate network and the collection of data links is considered a single BACnet internetwork. BACnet routers facilitate the connections, but when BACnet/IP is used as one of the data links, adjustments must be made to how BACnet routers are used in an IP network.
For more details about BACnet architecture, look online or refer to:
BACnet - Fast Browsing BACnet Devices.
The Impact of BACnet/IP Upon BACnet Routers
BACnet/IP incorporates a four-layer ISO model as described in the BACnet standard (ANSI/ASHRAE Standard 135-2004). Routers operate at the network layer. Since routers were already defined in “The Network Layer” (clause 6 of the standard), Annex J makes reference to this clause. Annex J introduces the concept of the BACnet Virtual Link Layer (BVLL) which provides an interface between clause-6 equipment and another communications subsystem. BVLL messages can be either directed or broadcast messages. A directed message is exchanged between two IP addresses and no others. A broadcast message originates from one IP address and is sent to all other IP addresses on the subnet.
In the general case, a BACnet network consists of one or more IP subnets containing BACnet/IP devices using the same UDP port number. It is possible the BACnet network has only a single subnet. This is the simplest case since both directed and broadcast messages are sent along the subnet with no restrictions.
However, if more than one subnet comprises the BACnet/IP network, there is an issue. Referring to Figure 1, an IP router is required to connect the IP subnet to the Internet or to an internetwork. IP routers perform differently than BACnet routers. Broadcast messages could be (and usually are) blocked by these IP routers if the IP routers do not support what is called a directed broadcast. For a directed broadcast to pass through the IP router, the IP router must support a feature called bridging in which the IP router treats these directed broadcasts more like a switch than a router. If this type of IP router cannot be found, then a way of managing broadcasts in a sub-netted BACnet/IP network must be devised.
Figure 1 - BACnet/IP traffic is unrestricted with one subnet
BACnet/IP Broadcast Management Device (BBMD)
With a BACnet/IP network comprised of two or more IP subnets, a local broadcast may not be able to span multiple subnets. If so, a device called a BBMD must be used. A BBMD located on an IP subnet monitors the origination of a broadcast message on that subnet and, in turn, constructs a different broadcast message disguised as a directed message in order to pass though an IP router. This disguised message is directed to other BBMDs (located on the various subnets) that receive the directed message and retransmit the broadcast on their attached subnets. Since the BBMD messages are directed messages, individual messages must be sent to each BBMD.
Each BBMD device maintains a Broadcast Distribution Table (BDT), the content of which is usually the same for all BBMDs within the network. BBMDs must know the IP address of all other BBMDs in the network. Note in Figure 1 that there is one BBMD on each subnet.
Figure 2 - A foreign device can reside on a subnet without a BBMD
It is possible to communicate to a device on a subnet that does not have a BBMD as in Figure 2. This type of device is called a foreign device since it resides on a different IP subnet from devices attempting to communicate with it. Usually, in BACnet lingo, a foreign device is on a different network — but with BACnet/IP, a foreign device is on a different subnet. If the foreign device registers with the BBMDs, it can be seen and able to communicate with all other devices on the network. The BBMD must then maintain a Foreign Device Table (FDT).
The final example is shown in Figure 3. In this case a non- BACnet/IP data link is attached via a BACnet router — creating two networks but one BACnet internetwork. This example demonstrates the flexibility of BACnet in that legacy data links or lower-cost data links can be supported along with more modern IP networks. There is nothing to preclude the embedding of a BBMD within the BACnet router — thereby eliminating one device on the subnet.
Figure 3 - The addition of a non-BACnet/IP data link results in two networks
Preparing Network/Router/BBMD Device
Before you start to browse for the data, make sure the following:
Enabling BBMD Device via Workbench
This configuration shows how to configure a BBMD device for the case where GENESIS64 server plays the role of a BBMD device. By default, a BBMD device is not selected.
NOTE: If you have 2 network cards, make sure that you selected the right one via drop down menu.
Figure 4 - Enabling BBMD device in Workbench
NOTE: If you want to connect directly to “Foreign device”, then enable the checkbox “Foreign device” and set the BBMD parameters appropriately.
Resolving Values in GraphWorX64
NOTE: It can take some time to create a runtime application pool as all BACnet devices need to be scanned (broadcasted). You can also click on Refresh button to refresh the list of devices in Data Browser.
Figure 5 – Browsing BACnet / BBMD Device(s) via Data Browser
NOTE: Please notice that BACnet Runtime creates a cache and stores it into file. So, if you made some changes in Workbench or specifically on BACnet device and Unified Browser did not reflect these changes in runtime then you can always clear this cache by following these steps:
- C:\ProgramData\ICONICS\BACnetCache.csv
- C:\ProgramData\ICONICS\BACnetCache.csv.bak