BACnet Broadcast Management Device
TwinCAT BACnet/IP unterstützt die "BACnet Broadcast Management Device" (BBMD) Funktionalität. Mit Hilfe eines BBMD können IP-Broadcast-Nachrichten (z.B. 192.168.1.255), die von bestimmten BACnet-Diensten verwendet werden, über die Grenzen lokaler Netzwerke übertragen werden. Ein Beispiel ist der Who-Is-Dienst bei dem über eine IP-Broadcast-Nachricht andere BACnet-Geräte gefunden werden. Sendet ein BACnet-Gerät eine Who-Is Nachricht, wird diese mit einer Broadcast-MAC-Adresse (FF:FF:FF:FF:FF:FF) ins lokale Netzwerk gesendet. Alle BACnet-Geräte in diesem Netzwerk empfangen die Nachricht und können entsprechend antworteten. IP-Router, die in andere IP-Subnetze vermitteln, leiten diese Nachrichten jedoch nicht weiter. Um diese Problematik zu beheben, wurde BBMD eingeführt. In einem lokalen Netzwerk kann genau ein Gerät mit BBMD-Funktionalität konfiguriert werden, der IP-Broadcast-Nachrichten anhand einer Broadcast Distribution Table (BDT) in entfernte IP-Subnetze weiterleitet.
Für die Weiterleitung von BBMD-Nachrichten existieren zwei Verfahren, die als One-Hop und Two-Hop bezeichnet werden. Beim Two-Hop-Verfahren leitet ein BBMD-Geräte Broadcast-Nachrichten an einen weiteren BBMD im entfernten IP-Subnetz weiter. Dieser verteilt die Nachrichten wiederum in seinem lokalen Netzwerk als IP-Broadcast-Nachrichten seines IP-Subnetzes. Beim One-Hop-Verfahren leitet der lokale BBMD die Nachricht direkt an die entfernten Geräte weiter. Hierfür müssen allerdings die vermittelnden IP-Router die Weiterleitung von IP-Broadcast-Nachrichten in entfernte IP-Subnetze unterstützen.
![]() | Gateway Konfiguration Für die BBMD Funktionalität muss ein Gateway in der IP-Konfiguration des BACnet-Device eingetragen werden, da IP-Nachrichten zwangläufig in entfernte IP-Subnetze übertragen werden müssen. Ist kein Gateway konfiguriert, wird die BBMD Funktionalität automatisch deaktiviert. |
Beim "Foreign Device" Verfahren können sich entfernte Geräte, die sich z.B. über eine Internetverbindung einwählen, dynamisch in eine BACnet-Konfiguration einklinken. Hierfür existieren spezielle BACnet-Dienste, die auch von TwinCAT BACnet/IP unterstützt werden, um einen Eintrag in der Foreign Device Table (FDT) zu erzeugen. Wie auch bei der BDT leitet ein BBMD IP-Broadcast-Nachrichten an alle Einträge der FDT weiter. Im Gegensatz zur BDT haben Einträge in der FDT eine begrenzte Lebenszeit. Die Anmeldung muss also nach Ablauf einer Zeitspanne (Time To Live) erneuert werden.
Die Konfiguration eines BBMD erfolgt im Reiter "BBMD" des BACnet-Device. Jedes TwinCAT BACnet/IP Geräte kann als BBMD betrieben werden. Es darf aber immer nur ein BBMD pro Subnetz existieren. Mit der Option "Enable BBMD" kann die BBMD Funktionalität aktiviert werden. Zusätzlich kann die Größe der BDT und FDT konfiguriert werden. Während der Laufzeit können neue Einträge in der BDT und FDT hinzugefügt werden. Bei der Größenkonfiguration ist dies zu beachten. Einträge, die in die BDT zur Laufzeit ergänzt werden, werden als persistente Daten abgespeichert wenn diese Option aktiviert ist. Wie auch bei BACnet-Properties wird bei Einträgen der BDT zwischen Offline und Online-Daten unterschieden. Die "Initial BDT" beschreibt Einträge die beim Starten übernommen werden. Über den Reiter "Online BDT" kann der Zustand der BDT zur Laufzeit betrachtet werden. Die FDT kann im Reiter "Online FDT" eingesehen werden.
Über das Submenü "Registration as Foreign Device" kann sich ein TwinCAT BACnet/IP Geräte an einem bestehenden BACnet-Netzwerk anmelden. Dabei muss die IP-Adresse des entfernten BBMD aktiviert werden.

Der obige Screenshot zeigt die Konfiguration der BDT im Two-Hop-Modus. Anhand eines kleinen Beispiels soll die BBMD-Arbeitsweise kurz beschreiben werden. Im nachfolgenden Bild sind zwei IP-Subnetze über einen Router verbunden. Im Beispiel sendet das Gerät 192.168.1.2 eine IP-Broadcast-Nachricht (hier an 192.168.1.255) ins lokale Netz. Der BBMD, mit der IP Adresse 192.168.1.7, leitet die Nachricht als Forwarded-NPDU über den Router/Gateway (192.168.1.1) an den BBMD des IP-Subnetz 10.3.xxx.xxx weiter. Dies ist in diesem Fall der konfigurierte BBMD mit der IP-Adresse 10.3.1.8. Der entfernte BBMD verteilt die weitergeleitete Nachricht als IP-Broadcast (10.3.255.255) in sein lokales Netz.

Im nachfolgenden Screenshot ist die BBDM-Konfiguration im One-Hop-Modus dargestellt. Als Maske wird im Gegensatz zum Two-Hop-Verfahren die Subnetzmaske des Zielsystems eintragen, um anzudeuten, dass direkt eine Ziel-IP-Broadcast-Nachricht erstellt werden soll. Die letzten beiden Stellen der IP-Adresse sind in diesem Fall nicht relevant, da sie durch 255 ersetzt werden. Hier könnte also auch 10.3.0.0 stehen.

In diesem Fall sendet der BBMD (192.168.1.7) die Nachricht mit der MAC-Adresse des Router/Gateway an die IP-Broadcast-Adresse 10.3.255.255 des entfernten IP-Subnetz. Der entfernte BBMD leitet in diesem Modus keine Nachrichten weiter.

Über ein Kontext-Menü in der BBMD-Tabelle können Einträge in eine .txt-Datei exportiert und auch wieder importiert werden. Dies Erleichtert die Eingabe großer Tabellen.