BACnet – Global standard for open building management solutions
Adopted from:
1. Slides from Christian Mueller, Honeywell Building Solutions Germany
2. http://www.bacnet.org/Tutorial/HMN-Overview
Amarjeet Singh
?
2
The BACnet History
He has a real problem ...
3
The BACnet History
He has got a solution ...
4
Increasing Demand for Integration
0
2
4
6
8
10
12
14
16
Number (%)
Lighting
Video
AccessFire
Smoke
Energy M
anagement
Other systems
Percentage of construction projects in Germany
that demand integration
1992
1995
1997
2000
I&I Limited
The European Market 2000-2005
Intelligent Controls in Buildings
5
Heterogeneous System Integration
Cost for
integrating
three systems
System A
System B System C
Resulting
system-
functionality
6
1987
1991
1995
1998
2001
2002
2003
2004
Foundation of the ASHRAE (American Society of Heating Refrigeration and Air-Conditioning Engineering) committee SPC135. Team charter: Development of a communication protocol which would be neutral and allow monitoring, control and energy management within buildings.
First draft version of the new protocol available
BACnet was published as ASHRAE 135-1995 standard. BACnet also becomes ANSI standard
BACnet becomes EN 1805-1 and ENV13321 by CEN TC247
FND withdrawn by CEN as ENV
ANSI/ASHRAE 135-2001 published
BACnet becomes worldwide ISO norm as the only BMS-protocol
The first BACnet devices are conformance tested in Europe
BACnet History ...
7
What is BACnet?
BACnet is a communication standard that allows for data exchange (including complex data) between systems from various vendors Correspondingly allows for interoperability of devices and
systems from various vendors
BACnet is most suited for HVAC control applications
Integration with other building sub-systems
8
What can BACnet Provide?
BACnet does standardize transactions like: COS/COV (Change of State/ Change of Value)
Alarm/event handling supporting alarm/event priority
Historical data
Data access control
Command priority
File transfer
Save/Restore of programs
Calendar and Scheduling functionality
BACnet is independent from any specific hardware, operating system or software platform
9
BACnet Objects
Objects Represent physical inputs, physical outputs and software
processes
Devices and systems are seen as black boxes consisting of a number of objects
BACnet objects only define the outside behaviour of the devices and systems – no internal functionality is defined
Examples A physical device (device objects)
A temperature input (analog input)
A relay control (binary output)
10
Object Properties
Standard Objects have required and optional properties defined Properties are of the form “name and value”
Vendors may add proprietary object properties or vendor specific objects to a device
Object_Name ROOM_TEMP
Object_Type ANALOG INPUT
Present_Value 20.3
Unit
High_Limit 30.0
Low_Limit 15.0
required
optional
62 = °C
11
BACnet Object Types
BACnet defines 23 object types
For each of the above object, minimum behaviour (properties it contains and services it provides) is also defined
12
BACnet Binary Object
13
BACnet Object Identifiers
14
BACnet Devices
Most important object types in BACnet
Represent controllers
Contain a list of point objects related to the device (e.g. I/O if a device)
Typical BACnet device might have 16 BI and BO objects, 2 or 3 Schedule objects, and so on.
BACnet Device is uniquely located by network number (ranges between 1-65534) and MAC address (ranges between 1-99 for MS/TP)
Device Object Identifiers are unique “internetwork wide” 15
Standard BACnet device profiles
B-OWS BACnet Operator Workstation, GLT
B-BC BACnet Building Controller
B-AAC BACnet Advanced Application Controller
B-ASC BACnet Application Specific Controller
B-SA BACnet Smart Actuator
B-SS BACnet Smart Sensor
B-GW BACnet Gateway
16
Proprietary Objects
Proprietary objects: Vendor may create proprietary objects or proprietary properties for standard objects Objects/Properties to be documented in the same style
as standard objects
Must use BACnet-defined data types to represent values
17
BACnet Services
Services Communication between BACnet devices and systems is
done using specific services.
Services can be used for example to read object properties.
Server: Object that provides the service
Client: Object that requests a service
Most objects can be both server and client
18
BACnet Client/Server architecture
A BACnet device may trigger a service or can react on a service request:
Client: Requests services (Service user)
Server: Offers services (Service provider)
A Direct Digital Control (DDC)-system for example may act as
client for various field devices in an automation system,
server for other DDC-systems or for a BMS (Building Management System) that requests specific data or alarms
S C
Initiate
Service
Execute
Service
19
BACnet Services
BACnet currently includes 38 services on the application layer which are subdivided into 5 categories: Object Access
Remote Device Management
Alarm and Event
File Access
Virtual Terminal
20
Services - Object Access
Object access services include services like: Read and write data (object
properties) Request a specific data range (e.
g. to retrieve trend log data) Services to create other objects at
runtime or delete them (like notification class objects or schedule objects)
Services to add data to lists or remove data from lists (data point and events to/from notification class objects)
21
Services - Device Management
Network start-up Who-Is, I-Am
Who-Has, I-Have
Time Synchronization
Request device start-up (via network) …
22
Services - Alarm- and Event
Services include Alarm- and event handling and
COV/COS (Change of Value/State)
Request alarm summary list (e. g. after a communication restart)
Services to acknowledge alarms
23
Alarm and Event handling
BACnet allows for three different methods for alarm and event handling COV Events
One or more recipients subscribe specific changes to state or value from a COV-server using SubscribeCOV(Property) service.
The COV-Server sends changes to the receivers that have subscribed for the event using (Un)ConfirmedCOVNotification
Intrinsic Event Reporting
The recipient list of alarms and events from specific objects will statically or dynamically be managed using NotificationClass objects
The objects to support intrinsic alarming will have to support various optional properties like the EventEnable property
Algorithmic Change Events
In order to support algorithmic change events, the EventEnrollment object needs to be supported. The EventEnrollment object list contains stages and values of datapoints that need to be monitored.
In case of a limit violation, the distribution of alarms/events can either be handled by the EventEnrollment object itself (if recipients are defined) or via a Notification Class object list if a NC object is defined with the object in alarm.0
24
BACnet Confirmed Services
25
BACnet Unconfirmed Services
26
BACnet Networking Options
Ethernet
BACnet over IP
Serial (RS232/RS485)
ARCnet
MS (Master Slave)/TP (Token Passing)
LonTalk (is not equal to LonMark!)
Data-Link
Media-Access
Physical
Network
Application BACnet Application Layer
BACnet Network Layer (allows Routing)
ISO 8802-2 Type 1
RS 485 RS 232
MS/TP PTP LonTalk
ARCNET ISO 8802-3 „Ethernet“
BACnet/IP
27
Native BACnet
To interconnect multiple LANs a “network layer”
protocol is required
28
Routers for Interconnection
Routers implement the BACnet network layer protocol and
allow devices on disparate networks to communicate 29
Routers for Interconnection
• Routers build and maintain routing tables automatically using
network layer protocol messages (e.g. Who-Is-Router-To-
Network, I-am-Router-To-Network)
30
Gateways for Translation
Gateways translate messages before retransmission – can
get tricky if the two protocols do not support same messaging
concepts 31
Example Gateway: Modbus to BACnet
32
BACnet Data on IP Network - I
• Annex H: Place in the standard where the process of converting
BACnet packet into IP packet is defined
• Annex H routers talk to each other using UDP (encapsulating BACnet
packet)
• Each message shows up twice in each network 33
BACnet Data on IP Network - II
• BACnet/IP: BACnet + Intrinsic IP
• BACnet/IP devices: don’t need Annex H routers to talk
• IP routers don’t normally broadcast messages: Hence the need for
BBMD (BACnet Broadcast Management Device)
• Alternatively IP multicast may be used 34
BACnet Broadcast Management Device
The BACnet Broadcast Management Device (BBMD) handles broadcast telegrams (Who-Is, Who-Has, I-Am, I-Have, …) through routers that connect different IP-subnets.
The BBMD can be an external device or be integrated in another BACnet device like B-BC, B-OWS.
BBMD: act as Annex-H devices except that they only handle forwarding of broadcasted (infrequent) IP messages
BBMD Function
IP-Segment A IP-Segment B
IP-Router
B-BC
B-OWS B-OWS
B-BC
35
Foreign Devices Within BACnet
Foreign devices can talk to any BACnet device directly but will only receive broadcast if registration procedure is followed
36
BACnet/IP Devices
BACnet/IP devices should behave like other BACnet devices in terms of their network activities. They should be able to Communicate directly with peer devices on their network Make use of local broadcasts, received by all peer devices on their
network Send remote broadcasts to devices residing on networks with different
network number Global broadcasting should still work as before
Assumptions: Devices have unique address (IP address) and they know what the
address is Device do not know (or do not need to know) their BACnet network
number
BACnet/IP uses UDP for IP communication
37
The BACnet PICS
PICS: Protocol Implementation Conformance Statement
The PICS is a standard way of describing the BACnet functionality of a specific solution in a kind of table format and contains information about BACnet services supported
BACnet standard objects supported including information Whether or not BACnet objects can be created and deleted
during runtime
Which object properties are supported and which are read-only
38
The BACnet PICS
PICS continued ... Data Link Layer Options
Description of the network options supported (like Ethernet, BACnet /IP)
Special functionality Restrictions to properties, if exist
e. g. the max. number of characters for a key name or the character set (e. g. ANSI X3.4)
The BACnet PICS is an important means for end customers and consultants to understand the functionality provided by a BACnet solution.
This is achieved through BACnet Interoperability Building Blocks (BIBBs) Standard device profiles
39
BACnet Interoperability Building Blocks
BIBBs – Define a set of BACnet services to provide a specific function. BIBBs are either client (A) or server (B) related.
There are BIBBs for the following areas of interoperability: Data Sharing (DS)
Alarm and Event Notification (AE)
Scheduling (SCHED)
Trending (T)
Device Management (DM)
Network Management (NM)
Virtual Terminal Management (VT)
40
BACnet Interoperability Building Blocks
BIBBs example: DS-COVP-B (Data Sharing-COVP-B)
(A) is user (Client), (B) is server (Server)
(A) subscribes change of value of a specific property from (B)
(B) serves (A) with COV of the object property without the need of polling
BACnet Service Initiate Execute
SubscribeCOVProperty X
ConfirmedCOVNotification X
UnconfirmedCOVNotification X
42
Standard BACnet Building Blocks
43
BIBBS, tested in Europe today
DS-RP-B (B) provides data upon request from (A)
DS-WP-B (B) allows a value to be changed by (A)
DS-COV-B (B) accepts subscription requests from (A) and replies with COVNotifications
DM-DDB-B (B) provides information about itself to (A)
DM-DOB-B (B) provides information about its objects upon request from (A)
DM-DCC-B (B) responds to comm. control request from (A)
DM-TS-B / DM-UTC-B (UTC – Greenwich Mean Time) (B) accepts time sync. request from (A)
44
BACnet PICS (Extract)
45
B-BC Example: Honeywell Excel Web
LINUX operating system
10/100MBit/s network interface
Integrated Web-Server with HTML-pages installed for parameter setting, local operation via browser
No need for ActiveX controls
Trend capacity can be expanded using standard CF memory cards
Up to 1.000 BACnet objects
I/O modules based on LonTalk (78kbps, Free topology wiring
DIN rail or direct mounting
LINU
X
inside
!
46
Case Study: Technology compound at the German Parliamentary Buildings
Reichstag
Jakob-KaiserHaus
Paul-Löbe
Haus
Supervisorx BMS
Marie-Elisabeth-Lüders
Haus
BACnet/IP
Supervisory BMS of the Energy compound
Ethernet (TCP/IP)
Unter den Linden 71
Wilhelmstraße 60
Unter den Linden 50
Honeywell
Schadowstr. 12/13
und Dorotheenstr. 88
Dorotheenstraße 88
47
Case Study: Technology compound at the German Parliamentary Buildings
Access to BACnet objects like schedule, calendar and loop
48
BACnet/OPC comparison
49
OPC Introduction
The task: Get data from a PLC (Programmable logic controller) into
a Microsoft based application within a PC-based network. Prior to OPC a special driver needed to be written and
maintained for each protocol that had to be integrated into a visualisation (SCADA system)
Target: Provide a standard interface with standard objects (OPC server)
that every PLC-vendor could integrate and that could also be integrated by every vendor of visualisations (OPC client)
Provide a standard interface between plant control level and information technology
50
OPC History
1995 A task force composed of Fisher-Rosemount, Rockwell Software, Opto 22,
Intellution, and Intuitive Technology developed a basic, workable, OPC specification.
OPC = Object linking and embedding for process control
1996 A simplified, stage-one solution was released in August 1996.
OPC foundation group started up.
1998 OPC becomes an industry standard
1998 OPC Data Access 2.0 published
2001 Compliance Testing and Certification program available
2004 The OPC Foundation has got more than 300 members.
Honeywell is also a member of the OPC Foundation.
51
OPC Introduction
OPC (OLE for Process Control) is a Client-/Server Software Interface, based on the Microsoft COM / DCOM component technology. It is used to exchange data between different applications on one machine (COM) or between different applications on a network (DCOM).
OPC is not a new bus standard, no norm It may be compared with a printer driver available with a
printer which is the interface between the hardware and the office application
OPC is best suited for Simple I/O type of information which need to be
integrated into office applications Data exchange between software applications
52
OPC data types, object model
OPC only supports simple data objects (so called OPC Items). OPC Items consist of Value, state
Time stamp
Information about the quality of data
OPC Object model OPC Groups are defined on an OPC server. OPC groups
contain OPC Items that are handled in a similar way. E. g.: Periodical data transmission
Data transmission on a COV/COS
Each OPC Item may have properties defined like value range, engineering unit
53
OPC Specifications
OPC Data Access Used to move real-time data from PLCs and other control
devices to HMIs and other display clients. Standard on the market is OPC DA 2.04. The Data Access 3 specification is now a Release Candidate.
OPC Alarms & Events Provides alarm and event notifications on demand
(in contrast to the continuous data flow of Data Access). OPC Clients can subscribe for alarms and events from the
OPC server (OPC-AE 1.10).
OPC Data eXchange This specification takes OPC from client/server to server-to-server with communication across Ethernet
field bus networks.
54
OPC Specifications
OPC Historical Data Access Where OPC Data Access provides access to real-time,
continually changing data, OPC Historical Data Access provides access to data already stored. (OPC DX 1.0)
OPC Security OPC Security specifies how to control client access to these servers in order to protect this sensitive
information and to guard against unauthorized modification of process parameters (OPC Security 1.0)
OPC XML-DA OPC XML-DA is developed to expose plant floor data
using XML and SOAP. Specification still under development
55
Need more information?
OPC Foundation web pages www.opcfoundation.org
OPC European membebr web pages www.opceurope.org
56
BACnet
Vendor independence ISO Standard, independent
from OS, hardware or vendor
Best suited for Automation and
management level
Peer-to-Peer communication for HVAC control and safety controls
Communication IP support, Client-Server
OPC
Vendor independence De-facto-Industry Standard,
based on Microsoft COM/DCOM technology
Best suited for Move real-time data from PLC
to visualisation and business applications
Peer-to-Peer communication possible if OPC data eXchange extension becomes available
Communication IP support, Client-Server
OPC/BACnet Comparison
57
BACnet
Specifications/Profiles
Data Sharing (with
priority)
Alarms and Events
Historical Trends
Scheduling
Device and Network
Management
Access Control
mechanisms build in
BACnet via XML:
Specification in public
review
OPC
Specifications/Profiles
Data Access (DA)
Alarm & Events (AE)
Historical Trends: Only few
implementations exist, Normally
done on SCADA level
Scheduling: needs to be done
on SCADA level
Access Control: available. Only
a few Implementations make
use of OPC Security
OPC XML-DA : spec. under
development
OPC/BACnet Comparison
58
BACnet
Planning and Start-up
BACnet is not Plug & Play : example due to optional object properties
An in depth comparison of the PICS is required
Test installation recommended
OPC
Planning and Start-up
OPC allows for Plug & Play if the network is correctly set up.
No optional object properties
Configuration of DCOM in complex network environment can be tricky.
Many times firewalls do not allow for port 15 (OPC/DCOM) to be open as several virus attacks (like W32Lovsan) came through this port
OPC/BACnet Comparison
59
BACnet and OPC complement each other
BACnet is most suitable if it comes to ... Building Management applications (alarming with
acknowledgement, scheduling, save and restore of application programs, command priority, Peer-to-Peer data communication)
Data exchange between devices (e. g. an energy manage-ment application requires data from various DDC systems on the LAN for peak load control)
OPC is best suited if it comes to ... Simple data exchange between a SCADA system and a
PLC or integration of a fire panels into a Visualisation
Data exchange with IT- or ERP (Business) applications
60