BACnet/IP (HVAC / Gebäudeautomation)
BACnet (Building Automation and Control networks) ist das Standard-Kommunikationsprotokoll im Bereich der Gebäudeautomation (BA). Es ist in Klimatechnik (HVAC), Beleuchtung, Brandmeldung und Zutrittskontrolle am weitesten verbreitet; BACnet/IP, also BACnet über IP, ist heute faktisch der Standard.
Dieses Gateway unterstützt BACnet/IP über die gemeinsame Integrations-Engine im Lesemodus.
BACnet begegnet Ihnen in der Regel nicht an klassischen Industrie-PLCs, sondern an BMS-Controllern (Building Management System) (Honeywell, Johnson Controls, Schneider Andover, Delta Controls, Siemens Desigo usw.). Wenn bereits ein BMS in Betrieb ist, sollten Sie zunächst dessen Gateway bzw. Integrations-API prüfen, statt direkt zu pollen.
Eingabewerte im Registrierungsformular
| Eingabefeld | Was einzutragen ist | Beispiel |
|---|---|---|
| IP-Adresse | IP des BACnet-Controllers | 192.168.10.50 |
| Port | BACnet/IP-Port | 47808 (= 0xBAC0, Standard) |
| Device ID (device-id) | BACnet Device-Instanznummer | 1001 |
| Antwort-Timeout | Wartezeit auf Antwort (ms) | 3000 |
BACnet identifiziert Geräte über die Kombination aus IP und Device ID. Scannen Sie das Netzwerk mit einem kostenlosen Tool wie YABE (Yet Another BACnet Explorer) — damit sehen Sie Device-Instanznummern und Objektlisten auf einen Blick. Auch das BACnet-PICS-Dokument der BMS-Unterlagen (Submittal) führt sie auf.
Bei BACnet/MSTP (seriell)
Wenn Vor-Ort BACnet/MSTP (RS-485) installiert ist, kann PlantPulse Edge nicht direkt kommunizieren. Eine der folgenden Lösungen ist erforderlich.
| Methode | Hinweis |
|---|---|
| BACnet-Router (Cimetrics B6020, Contemporary Controls BASrouter usw.) | Umsetzung MSTP ↔ IP. Am gebräuchlichsten |
| IP-Modul auf BMS-Seite ergänzen | Firmware-/Modul-Upgrade des Controllers |
| Über ein Integrations-Gateway (Niagara, Tridium) | Standard bei großen Liegenschaften |
PLC-Adressnotation der Tags
BACnet-Objekte werden im Format <objectType>:<instance> eingetragen.
| Notation | Bedeutung |
|---|---|
analogValue:1 | Analog Value 1 (Gleitkommawerte wie Temperatur/Feuchte/Durchfluss) |
analogInput:5 | Analog Input 5 (direkter Sensoreingang) |
analogOutput:2 | Analog Output 2 (Ventil-/Klappenbefehl) |
binaryValue:10 | Binary Value 10 (boolescher Wert) |
binaryInput:5 | Binary Input 5 (Digitaleingang / Kontakt) |
binaryOutput:3 | Binary Output 3 (Relaisbefehl) |
multiStateValue:1 | Multi-State Value 1 (Modus / Status) |
Häufig verwendete Objekttypen.
| Typ | Code | Verwendung |
|---|---|---|
| Analog Input / Value / Output | analogInput / analogValue / analogOutput | Gleitkomma (Temperatur, Luftmenge usw.) |
| Binary Input / Value / Output | binaryInput / binaryValue / binaryOutput | 0/1 (Betrieb, Alarm) |
| Multi-State Input / Value / Output | multiStateInput / multiStateValue / multiStateOutput | 1, 2, 3, … (Betriebsart) |
Zuordnung der Datenformate
| BACnet-Objekt | Datenformat | Formatzusatz |
|---|---|---|
| analogValue / analogInput / analogOutput | Float | REAL |
| binaryValue / binaryInput / binaryOutput | Boolean | (leer) |
| multiStateValue / multiStateInput / multiStateOutput | Integer | (leer) |
| (Eigenschaft) Zeichenketten wie Object Name | String | (leer) |
Standardmäßig wird die Eigenschaft Present_Value des Objekts gelesen. Werden andere Eigenschaften benötigt (z. B. Status_Flags, Out_Of_Service), rufen Sie diese direkt über Erweitert — REST API ab.
Häufige Probleme und Lösungen
| Symptom | Mögliche Ursache | Lösung |
|---|---|---|
| „No response“ / Timeout | Device ID stimmt nicht, Port 47808 blockiert, BBMD nicht konfiguriert | Gerät mit YABE suchen und ID prüfen, 47808/UDP in der Firewall freigeben |
| Geräte in anderen Subnetzen nicht sichtbar | BACnet arbeitet grundsätzlich innerhalb derselben Broadcast-Domäne | BBMD (BACnet Broadcast Management Device) oder Foreign Device Registration einrichten |
| Werte kommen an, sind aber inhaltlich unklar | Engineering Units sind in den Objekteigenschaften hinterlegt | Einheiten je Objekt (°C, kPa, %, …) in YABE / BMS-Unterlagen prüfen |
| Nur Multi-State-Zahlen sichtbar | State_Text ist eine separate Eigenschaft | Über die BMS-Zuordnungstabelle (1=Stopp, 2=Betrieb, 3=Alarm usw.) und eine Formel in Labels umsetzen |
Nächste Schritte
- BACnet-Beispiele unter Erweitert — REST API
- Bei Gebäudeliegenschaften ist eine Integration über Niagara / Tridium meist einfacher — stimmen Sie sich mit dem BMS-Team ab.