BACnet Grundlagen BACnet Grundlagen allgemeinverständlich René Quirighetti Siemens Schweiz AG, Building Technologies Group Oktober 2005 Seite 1 GA-Systemebenen • Positionierung BACnet im CEN - Ebenenmodell Standards: BACnet ManagementEbene Standard: BACnet AutomationsEbene Standard: FeldEbene LonMark Konnex BACnet Seite 2 Protokollschichten und ihre Bedeutung • Transport der Daten – Netzwerkschicht – Sicherungsschicht – Physikalische Schicht • Interpretation der Daten – Anwendungsschicht • Dienste • Objekte BACnet Application Layer BACnet Network Layer TCP/IP ISO 8802-2 ETHERNET ARCNET MS / TP RS 485 Dial-up PTP LonTalk RS 232 Seite 3 Transport: Der Bus • Flexibilität durch verschiedene Medien • Medien bedingen bestimmte Sicherungsschichten – Ethernet / TCP/IP: Mit TCP/IP Zugang zu Firmennetzen – LonTalk: Mit allen dort definierten Medien – Punkt zu Punkt (PTP): Vor allem für ModemÜbertragung – Arcnet – MS/TP Seite 4 Transport: Die Netzwerkschicht • BACnet besitzt eine homogene Netzwerkschicht – Routing (Routenwahl) über verschiedenartige Busse möglich, z.B. von Modemverbindung (PTP) über Ethernet zu einem LonTalk Zweig. – Annex J des BACnet Standards definiert das Routing über ein TCP/IP Netzwerk. Damit ist die Einbindung von BACnet in Firmennetzwerke gewährleistet • Die homogene Netzwerkschicht ist entscheidend für die Flexibilität von BACnet Netzwerken Seite 5 Beispiel: Netzwerke • Routers: – Arbeiten auf Netzwerkschicht, d.h. völlig unabhängig von Anwendungsschicht – Standard-Routers in “IP-Netzen”, d.h. BACnet lässt sich in beliebig komplexe Firmennetze integrieren MS60 - Shell File Standard IP- Router (Serieprodukt) Edit Applications Settings Help O n 232 P2 2 . 4 C Out sit e: 29.5 C 2 2 .4 C 21.0C 0 % Of f 75 % On 75 % Date: 2.9.94 Time: 14:45 User : Muller Level: 3 Unacknowledged alarms: 1 High priority alarms :3 BACnet auf Ethernet/IP BACnet auf Ethernet/IP Intermediate Network (Internet) z.B.Weitverkehrsnetz BACnet LON-IP router BACnet auf LON Ethernet-IP Beliebiger WAN / LAN-IP Standard Seite 6 Anwendung: Objekte • Datenpunkt-Objekte – Analog In / Out / Value – Binäre In / Out / Value – Mehrstufige In / Out / Value – Objekte für Zählwerte / Impulse • Alarmbehandlungs-Objekte – Notification Class (Verteilung der Alarmmeldungen) – Event Enrollment (Festlegen der Alarmbedingungen) • Diverse Objekte – Geräte-Informationen (Device Object) – Zeitschaltkatalog / Ausnahmekatkalog – Trenddaten-Objekte – Regler-Objekt (Loop) – Programm / File Objekte – Virtual Terminal Seite 7 Amwendung: Objekt-Properties • Properties sind Parameter von Objekten – Beispiele: Hauptwert, Alarmgrenzen, Name, Status • BACnet unterscheidet zwischen obligatorischen und optionalen Properties • Properties können nur lesbasr oder auch schreibbar (mit BACnet Diensten veränderbar) sein object-identifier object-name object-type present-value description device-type status-flags event-state reliability out-of-service update-interval units min-pres-value max-pres-value resolution cov-increment time-delay notification-class high-limit [75] [77] [79] [85] [28] [31] [111] [36] [103] [81] [118] [117] [69] [65] [106] [22] [113] [17] [45] BACnetObjectIdentifier, CharacterString, BACnetObjectType, REAL, CharacterString OPTIONAL, CharacterString OPTIONAL, BACnetStatusFlags, BACnetEventState, BACnetReliability OPTIONAL, BOOLEAN, Unsigned OPTIONAL, BACnetEngineeringUnits, REAL OPTIONAL, REAL OPTIONAL, REAL OPTIONAL REAL OPTIONAL, Unsigned OPTIONAL, Unsigned OPTIONAL, REAL OPTIONAL, und so weiter Seite 8 Anwendung: Dienste • BACnet bietet 38 Dienste auf Anwendungsebene – Diese sind in folgende 6 Klassen aufgeteilt: • Alarm-Handhabung • Objekt-Zugriff • Geräte-Verwaltung • Netzwerk Sicherheit • File-Zugriff • Virtuelles Terminal – Beispiele: Lesen, Schreiben, Information über Wertänderung (COV-Notification), Zeitsynchronisation, Alarmmeldung Seite 9 Modelle: Reales Gerät und BACnet Objekte • Mit BACnet Objekten wird die "äussere" Sicht auf das Gerät via Netzwerk abgebildet – die BACnet Objekte definieren keine internen Gerätefunktionen (Algorithmen) • BACnet Objekte geben die “äussere” Sicht von Gerätefunktionen wieder – Beispiel: Das BACnet Loop Objekt ist so ausgelegt, dass verschiedene Regelalgorithmen, z.B. PI, PID, Sequenzen, Zustandsregler, prediktive Regler abgebildet werden können Seite 10 Modelle: Client - Server Beziehung • Der Client (Kunde) beansprucht die Dienste des Servers (Dienstleister) – Der Client • abonniert sich auf Wertänderungen • gibt Trendaufzeichnung in Auftrag • setzt Alarmgrenzen – Der Server hält ein Abbild der Gerätefunktion und führt die geforderten Dienste darauf aus Client-Server Beziehung Seite 11 Modell: Peer to Peer Kommunikation MS60 - Shell MS60 - Shell File Edit Applications MS60 - Shell Settings Help File Edit Applications File Settings Edit Applications Settings Help Help O n 232 P2 2 . 4 C Out sit e: 29.5 C 2 2 .4 C O n 21.0C O n 232 P2 2 . 4 C 232 Out sit e: 29.5 C % Of f 75 Date: 2.9.94 Time: 14:45 C 0 2 2 .4 C 21.0C 0 P2 2 . 4 Out sit e: 29.5 C 2 2 .4 C 0 % Of f 75 % Of f 21.0C % On 75 % 75 % On 75 % % On 75 % User : Muller Level: 3 Unacknowledged alarms: 1 High priority alarms :3 Date: 2.9.94 Time: 14:45 User : Muller Level: 3 Date: 2.9.94 Time: 14:45 Unacknowledged alarms: 1 High priority alarms :3 User : Muller Level: 3 Unacknowledged alarms: 1 High priority alarms :3 Management Ebene MS60 - Shell File Router Edit Applications Settings Help O n 232 P2 2 . 4 C Out sit e: 29.5 C 2 2 .4 C 21.0C 0 % Of f 75 % On 75 % Date: 2.9.94 Time: 14:45 User : Muller Level: 3 Unacknowledged alarms: 1 High priority alarms :3 Router Automations Ebene Feld Ebene Seite 12 Beispiel: COV-Handhabung COV Client MS60 - Shell File Edit Applications Settings Help O n 232 P2 2 . 4 C Out sit e: 29.5 C 2 2 .4 C 21.0C 0 % Of f 75 % On 75 % Date: 2.9.94 User : Muller Time: 14:45 Level: 3 Unacknowledged alarms: 1 High priority alarms :3 2 1 Router 4 Router 1 3 4 1. Client abonniert sich auf einen Wert (Datenpunkt) des Servers 2. Server sendet mit Quittierung den Wert 3. Server sendet den Wert, wann immer er sich ändert 4. Client erneuert Abonnement oder wiederruft es 2 COV Server COV Client 3 COV Server Seite 13 Erweiterbarkeit des BACnet Protokolls • Das BACnet Protokoll ist so ausgelegt, dass es jederzeit erweitert werden kann – Erweiterungen durch das BACnet Standard Komitee (SSPC-135) – Proprietäre Erweiterungen durch Hersteller • Erweitert werden können – Objekte: Neue Objekte und / oder neue Properties – Neue Services • Damit ist BACnet zukunftssicher Seite 14 Kompatibilität und Konformität • Kompatibilität von GA-Systemen - Interoperabilität – BACnet Interoperabilitätsbausteine BIBBs und Geräteprofile für den Überblick. – PICS für die Details: Dienste als Client / Server, Objekttypen, Bustypen, .... • Konformität zum Standard als Voraussetzung – Nur Norm-Konformität ermöglicht Interoperabilität – ASHRAE definiert Testprozeduren – BACnet Interest Group ist daran, Testumgebungen und Zertifizierungsverfahren bereit zu stellen Seite 15