Download BACnet Fundamentals Course #801

Document related concepts

CAN bus wikipedia , lookup

RS-232 wikipedia , lookup

Computer network wikipedia , lookup

Zigbee wikipedia , lookup

Airborne Networking wikipedia , lookup

Universal Plug and Play wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Low Pin Count wikipedia , lookup

Network tap wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

I²C wikipedia , lookup

UniPro protocol stack wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Transcript
BACnet Fundamentals
Course #801
e-Training Description
Reading assignment
Provided electronically as part of this course, this slides presentation introduces and describes
key concepts and knowledge.
Intended Audience
This e-Training is intended for system designers, integrators, and field technicians who have
experience with control systems, and who want to learn about how to make a successful BACnet
i t ll ti
installation.

Conventions Used in this Document
Notes
This is an example of Note text. Wherever the note-paper icon appears, it means the associated
text is giving a time-saving tip or a reference to associated information of interest.


2
Course Content
BACnet Fundamentals
Course ID #801
Content Overview
BACnet Basics
BACnet Objects
BACnet Services
Specifying BACnet
Device Profiles
BACnet Networks
BACnet Network Configurations







3
BACnet Basics
BACnet Standard

BACnet : A data communication protocol for
Building Automation and Control NETworks

Open specification for building controllers to communicate

Applies to all building systems

Provides a universal model for creating building automation
systems which can interoperate:



Objects:
Services:
Network types:
Represent data and control
Convey requests and information/data
For flexible and cost-effective networks
5
Story



In the past, building systems and controls mostly were proprietary. Once an owner bought into a
particular vendor, they had limited choice about the range of possibilities for making that
equipment or system interoperate with other systems.
Many issues have added to the pressure to break away from the proprietary mindset.
Regardless of the causes, the industry became motivated to bring together a diverse group of
interests within ASHRAE beginning in 1987. After an intense effort over a period of eight years,
ANSI/ASHRAE Standard 135-1995, BACnet–A Data Communication Protocol for Building
Automation and Control Networks
Networks, emerged as a world-class
world class model for achieving
interoperability within the industry.
Five years later in 2000, dozens of manufacturers and a worldwide deployment of BACnet in
thousands of successfully interoperating systems have affirmed the need for a standard for
building automation interoperability. Traditional "proprietary" companies are losing market share
to companies that have the broadest and most comprehensive adoption of BACnet. The shift is
real, and the rate of change is accelerating.
6
History




BACnet became ASHRAE/ANSI Standard 135 in
1995, and ISO 16484-5 in 2003.
BACnet is under continuous maintenance by the
ASHRAE Standing Standard Project Committee 135
Current standard is ASHRAE/ANSI Standard 1352008
The Method of Test for Conformance to BACnet was
published
bli h d iin 2003 as BSR/ASHRAE St
Standard
d d 135
135.1
1
BACnet Testing Laboratories was established by
BACnet International to support compliance testing
and interoperability testing activities and consists of
BTL Manager
g and the BTL-WG.
7
What is BACnet





BACnet provides a universal model for creating building automation systems which can interoperate
BACnet is a specification that a manufacturer can use to make interoperable systems to work in a
BACnet environment.
Owners and specifiers use BACnet as a tool for specification of interoperable systems.
BACnet does not replace the need for specifying what one wants or needs. It simply provides some
standardized tools to help enable the creation of systems that can interoperate.
BACnet achieves these goals by defining a generalized model of automation systems; how to
describe the information and how to describe standard methods of data and action communications.




Objects for representing data and control
Services for conveying requests and responses
Flexible and cost-effective LAN network types
Internetworking to create large systems that work
as a whole
8
Interoperability - Compatibility of systems



The term "Interoperable“ describes the
process of making devices that can interact
with each other using
g a common
communication network for the purpose of
sharing functionality and responsibility for
different control functions
BACnet was designed from the beginning to
f ilit t the
facilitate
th interoperability
i t
bilit between
b t
diff
differentt
building systems
BACnet has been proven to be a viable and
practical technology for bringing different
systems and vendors together in a common
framework
9
Specifying BACnet
BIBBs
BACnet Interoperability Building Blocks. Define a set of BACnet services to provide a specific function
BIBBs are defined in 7 areas of interoperability
p
y


PICS
Protocol Implementation Conformance Statement
The PICS is a standard way of describing the BACnet functionalities of a specific device in a
standardized table format and contains information about the device supported BIBBs


Profiles
Profiles provide an overview of service collections
A Device Profile is defined with a standard collection of BIBBs
Any device that implements all the required capabilities for a particular device type and interoperability
area may claim to be a device of that particular profile
Devices may also provide additional capabilities




Those topics will be detailed later in this course
10
The Protocol

BACnet separates the two aspects of
any communication
Transport
Message
Transport

Message



There is a variety of different standards
for transporting messages.
messages BACnet can
use optimized forms of media type to
reduce cost
The message
g that is transported
p
is the
same regardless of the physical
transport mechanism
11
Protocol Layers
Information data and value
Information,
Objects
Requests and
Responses
Services
Transport Method
Network &
Internetworking
12
Transport Options


The transport system uses different types of electronic messaging standards (Network protocols)
to convey coded messages. BACnet provides the ability to choose the most appropriate trade-off
between cost and performance in the transport mechanism.
The listed options include optimized networking standards
Ethernet 8802-3 and BACnet/IP provide the fastest performance, but also the highest cost
ZigBee is a wireless mesh networking proprietary standard
Distech Controls devices are BACnet/IP and MS/TP devices



Speed
Ethernet
BACnet/IP
ARCNET
MS/TP
PTP
LonTalk
Zigbee
Cost
13
Transport Options Comparison
Transport Type
Pros

BACnet - IP



BACnet Ethernet
(8802-3)



MSTP


Very Popular
Fast
Shares existing IP network
Easy to configure
Shares existing IP network
No real performance difference
compared to BACnet-IP
Very popular, especially as a lowlevel bus technology
Easy to install and configure
Low cost
Cons




Requires special setup
(BBMD) to enable
broadcast messages
Cannot get across IP
routers.
Not the preferred
solution
L
Lower
speed
d
14
Internetworking
Simply put, internetworking is required whenever we need to couple
dissimilar LAN technologies and control the traffic exchanged
between them
Routers
A router is required whenever we need to couple similar or
dissimilar LAN technologies and control the traffic exchanged
between them
The router does not modify the BACnet message it just forward it
from one LAN to the other when ever it needs to
Gateways
Are special types of internetworking devices that couple BACnet
networks to non
non-BACnet
BACnet or proprietary networks
Like a router, the gateway is continuously listening to messages on
two or more LANs. The difference is that the gateway cannot simply
repeat the BACnet message on the non-BACnet LAN; “it needs to
translate it”
One common approach to gateways is that each proprietary system
is viewed as an "island" with the gateway being the only bridge to
that island






15
Application Layer

A BACnet profile contains
S i
Services
Standard objects
Non-standard objects
A device object
Object properties





16
Services

Classes of services
Alarm and Event
File Access
Object Access
Remote Device Management
Virtual Terminal






BACnet services follow a Client-Server model.
A BACnet client is a device that requests a service
A BACnet server is a device that performs a service


Initiate
Service
C
S
Execute
Service
17
Objects
Objects




Objects standardize the organization of data to facilitate the exchange of data between different
vendors’ products
vendors
Objects represent physical inputs, outputs, and software processes
Objects standardize information presentation
BACnet defines a collection of standard objects (defined later in this presentation)
18
The Device Object Type
The Device object



Defines a standardized object
j
whose p
properties
p
represent the externally visible characteristics
of a BACnet device
Only one Device object per BACnet device
A Device object is referenced by its Object
Identifier, which is unique:
To the BACnet device that maintains this
object
Throughout the BACnet internetwork


19
Properties
Object Properties


Properties
p
are objects’
j
p
parameters
Examples:
present value
alarm limits
Name
status
BACnet distinguishes between mandatory
and optional properties
Properties may either be read only or also
writable (modifiable by BACnet services)






20
BACnet Objects
BACnet Objects



All information in a BACnet system is represented in terms of objects
An object is an abstract concept which allows to talk about and organize information relating to
physical inputs and outputs
outputs, as well as non-physical
non physical concepts like software,
software or calculations or
control processes.
Objects may represent single physical "points", or logical groupings or collections of points which
perform a specific function.




BACnet is an Object oriented protocol
Objects represent physical inputs, outputs, internal values and software processes
Objects standardize information presentation
BACnet defines a collection of standard objects
22
Standard Objects




A BACnet standard object is one whose properties and what they do, are defined in the BACnet
standard
This set of standard objects represents much of the functionality found in typical building automation
and control systems today
BACnet devices are only required to implement the Device object.
Other objects are included as appropriate to the device's functions, that may include non-standard
objects
BI
Binary Input
MSI
Multi-state Input
File
BO
Binary Output
MSO
Multi-state Output
Program
BV
Binary Value
MSV
Multi-state Value
Schedule
AI
Analog Input
Loop
Trend Log
AO
O
Analog
g Output
p
Calendar
Group
p
AV
Analog Value
Notification Class
Event Enrollment
Averaging
Command
Device
23
BACnet Device

A BACnet device is simply a container with different BACnet objects that represent the actual
functions and I/O present in the actual device
Example of BACnet Device
Input Points
Internal Points
Output Points
Bi
Binary
IInputt 1-x
1
Bi
Binary
V
Value
l 1
1-x
Bi
Binary
O
Outputs
t t 1-x
1
Analog Input 1-x
Analog Value 1-x
Analog Outputs 1-x
p 1-x
Multi-state Input
Multi-state Value 1-x
Loop 1-x
Calendar
Schedule
24
Objects Types

All objects in BACnet are required to support some
standard properties:
Object Name: The name of the object in a character
string (must be unique within the device containing
the object)
Object Type: The type of object in a character string
Object Identifier: Type number and Instance
number
b off the
th object
bj t



25
Analog Types




Analog Input (AI) objects will display inputs of a controller (room temperature, humidity)
Analog Output (AO) objects refer to physical outputs on the controller (valve, damper, humidifier)
Analog Value (AV) objects represent internal values used in the controllers program (constant
(constant,
variable)
The Analog Input’s Present Value is read only and the Analog Output can be overridden using the
priority array
array.
Here is an example of an Analog Input object with it’s properties :
Required
Optional
Object Identifier
Object_Identifier
22
Object_Name
SPACETEMP
Object_Type
ANALOG INPUT
Present Value
73.3
Status_Flags
Normal, InService
High Limit
78.0
Low Limit
68.0
26
Binary Type




Binary Input (BI) objects will display inputs of a controller (fan status, occupancy)
Binary Output (BO) objects refer to physical outputs on the controller (fan start/stop, stages On/Off)
Binary Value (BV) objects represent internal values used in the controller (constant
(constant, variable)
The Binary Input’s Present Value is Read Only and the Binary Output can be overridden using the
priority array.
Here is an example of an Analog Input object with it’s properties :
Object_Identifier
32
Object_Name
FanStatus
Object_Type
BINARY INPUT
Present Value
ACTIVE
Status Flags
Status_Flags
Normal InService
Normal,
27
MultiState Object





MultiState objects are integer values which reference different states.
For example: 1=OFF, 2=LOW, 3=HIGH, 4=AUTO
MultiState objects cannot have a value of 0
Multi-state objects also come in Input, Output and Value types (MSI, MSO and MSV)
The State Text property is an array containing descriptions for each of the states
E
Example
l ffor a MultiStateValue
M ltiSt t V l object
bj t att a presentt value
l off 3 (Hi
(High).
h)
Object_Identifier
56
Object_Name
FanSpeed
Object_Type
MultiState Value
Present Value
3
State Text
HIGH
Status_Flags
Normal, InService
28
Objects Instance Number







Each device may contain any number of objects of any mixture of types
The Object Instance number is a unique number associated to each objects
Within a device,
device there can be no more than 4
4,194,303
194 303 objects of each type
The object instance numbers must be unique for each type within the device that contains them
(except for the Device Object)
For example [Analog Input, 5] would be called Analog Input instance 5
Object instances can range from 1 to 4,194,303. A device could have x number of Analog Inputs
that would each have a different instance number
Unique instance number for a Device Object is even more important because every device in the
whole BACnet internetwork is required to have a unique instance number
Object_Identifier
Object_Name
Object_Type
Present_Value
Status_Flags
1
Occupancy
Binary Input
Active
Normal, InService
29
Object Value Priority Array









Common objects like AO, AV, BO, BV and many other
have an output port that is controlled by an input port
value
It is convenient to be able to control the object with
different sources including manual override
To facilitate integration, priority levels for values have
been defined in the BACnet standard
P i iti are processed
Priorities
d ffrom llevel1
l1 tto llevel16
l16
Priority 1 being the most important and 16 being the
least important
First priority that has a value different then Auto (or
Null) controls the output’s
output s present value
Since there can be overrides from different sources or
workstations on the network, a priority array scheme
has been designed with 2 manual override levels one
being
be
g the
e Manual
a ua Life
e Sa
Safety
eyo
override
e de a
at level1.
e e
Priority
BACnet Priority
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Relinquish
Manual Life Safety
Automatic Life Safety
Available
Available
Critical Equipment Control
Minimum On/Off
Available
Manual Operator
Available
Available
Available
Available
A il bl
Available
Available
Available
Available
Default Value
Output objects like AO and BO are generally using this standard array
Input objects like AI, BI and also internal variables like AV generally have a different way of being
controlled without the full wedge of priority array
30
Device Object



Every BACnet Controller has one Device Object, this is critical for the network configuration.
The Device Object is unlike to all other objects types; it defines the controller on the network
Some of it’s p
properties;
p
; Object
j
Name and the Object
j
Instance,, must both be unique
q across the
whole BACnet internetwork.
Device Object Instance Number
The Device Instance uniquely identifies a device across the
BACnet internetwork
The Device Instance is any number between 0 and 4 194 303
It is with the Device Instance that messages are exchanged
between BACnet devices
The Device Instance is also used by routers to forward messages
to devices located elsewhere in the internetwork
For example, an IP network linked to an MS/TP network through a
router; a controller on the IP network cannot have the same
instance number as a controller on the MS/TP network, they all
have to be unique.



Object_Identifier: 123
Object_Name:
STAT-01
Object_Type:
Device
System_Status: Normal, InService
Vendor_Name: Distech Controls
Vendor Identifier: 364
Vendor_Identifier:


An internetwork is all the networks that could be linked together
through the use of routers, even if the media type is changing.
31
Other Common Objects

Loop
PID loop
p use to control equipments
q p
with a feedback control loop
p
Calendar
Keeps track of a list of calendar dates
A Calendar object can be used with the Schedule object to specify holidays and special
events
Schedule
A standardized object used to describe a periodic schedule
May include exceptions at arbitrary times on arbitrary dates







32
BACnet Services
BACnet Services
Services convey requests of information/data
BACnet Devices can provide several broad categories of services
Object
Access
j
Read, Write, COV (Change of Value)
Device Management
Discover, Time synchronization, Backup, Restore
Alarm and Event
Alarms, Changes of state
File Transfer
Program, Trend
Virtual Terminal
Human Machine Interface (Console)
The Read service:
The most frequent is to pool data from an object to display or use it’s value elsewhere
Th W
The
Write
i service:
i
To change/edit an object’s value using a source being external to this controller
The Read Multiple service:
Reading lots of values in one device all at once

















34
ReadProperty Service


ReadProperty service is used by a BACnet device (the Client) to ask another BACnet device (the
Server) to provide the value of one of it’s objects properties
The Server then answers back to the Client with the information required
Here is an example for that service where the Client asks the Server for it’s space temperature (AI 2)
Client
C e t
Server
Se e
Request
ReadProperty (msg#123
objectid=Analoglnput 2
propertyid=PresentValue)
Response
ReadPropertyAck(msg#123
objectid=Analoglnput 2
propertyid=PresentValue
t id P
tV l
value=72.0)
35
WriteProperty Service



WriteProperty service is used by one BACnet device to ask another to change the value of one
of it’s object properties
A BACnet device (the Client) write a value in another BACnet device (the Server)
The Server
S
then answers back to the Client
C
saying that the operation has been done successfully
f
Here is an example for that service where the Client Writes to Binary Output 3.
Cli
Clientt
Request
WriteProperty(msg#124
objectid=BinaryOutput 3
y
propertyid=PresentValue
value=1)
S
Server
Response
SimpleAck(msg#124
service=WriteProperty)
36
ReadMultiple/WriteMultiple Service



Sometimes the need to read a bunch of properties from objects in the same device (or write to
them) can require many requests
We can see here the same transaction done either with basic Read Property requests or with
Read Property Multiple
Sometimes the response can be too big to be transmitted all at once and may have to be
segmented
Not all devices support segmentation
Not all devices support "multiple" services so any client that wants to use them must be
prepared to fail back to using ReadProperty


Without Read/WriteMultiple
With Read/WriteMultiple
ReadProperty AI1; Present_Value
ReadPropertyMultiple
AI1;Present_Value, Status_Flags
AV3;Present_Value, Status_Flags
ReadProperty AI1; Present_Flags
ReadProperty AV3; Present_Value
ReadProperty AV3; Present_Flags
37
Change Of Value Service (COV)



Change Of Value (COV) service allows the Client device to subscribe to Server device for a
change of value of one of its objects
The Server will then send a COV notification to the Client every time the value changes for a
predefined amount
Subscriptions can be made for ever or for a limited amount of time; the Client has to re-subscribe
when the subscription time is over
Pros: The client does not have to ask for an update on the value all the time since it will be
notified
tifi d b
by th
the S
Server when
h th
the value
l changes
h
Cons: Not all devices support COV. The amount of COV subscriptions is limited on the
Server. COV subscriptions put a lot of burden on the Server device which have to deal with
all those subscriptions.


Server
Client
SubscribeCOV
COVNotification
38
Unsubscribed COV Service


Devices can send COV notifications without having been given an explicit subscription
A device broadcasts an UnsubscribedCOV notification anytime the value of the monitored object
changes from a certain amount
Pros: The server does not have to deal with COV subscriptions. It only cares about
broadcasting the new value on the network
Cons: Not all devices support Unsubscribed COV. The value is broadcasted on the
network without knowing if the targeted devices got it or not. COV Storms could be created
on the
th network
t
k if many COV updates
d t occur allll the
th time.
ti
Some
S
simple
i l precautions,
ti
like
lik the
th
refresh rate for a COV, can eliminate the issue.


Clients
Server
COVNotification
39
Time Synchronization



There are two ways of synchronizing time in BACnet devices
The TimeSynchronization is the service which will broadcast a time synchronization request
from a Time Master device (client) for all BACnet devices (servers) that will then adjust their
time and date with the master
The UTC TimeSynchronization service is used when the BACnet network spreads into
different time zones. The Time master device (client) will then initiate a broadcast of UTM time
on network. All the devices (servers) will then synchronize their time and date in regard to their
time zone offset
40
Time Synchronization Service
Client
Device ID (instance number) <everyone>
TimeSynchronization Mon 07/15/2009 17:23:00.00
Network Broadcast
Server
Local Date=Mon 07/15/2009
LocalTime=17:23:00.00
Network
Server
Local Date=Mon 07/15/2009
LocalTime=17:23:00.00
41
UTC Time Synchronization Service
Client
Device ID (instance number) <everyone>
UTCTimeSynchronization Mon 07/15/2009 22:23:00.00
Network Broadcast
Server
Network
Server
System offset
from UTC: Time
Z
Zone
is
i -5hours
h
Local Date=Mon 07/15/2009
LocalTime=17:23:00.00
System offset
from UTC: Time
Z
Zone
is
i -6hours
6h
Local Date=Mon 07/15/2009
LocalTime=16:23:00.00
42
Dynamic Device Binding - Who-IS






The Who-Is and I-Am services broadcast on the network from a Client
The Servers reply with an I-Am message that includes the device ID and MAC address
To talk over Ethernet devices must use the other device’s MAC address for communication
purposes
This is called a Dynamic Device binding because if one controller dies and gets replaced by another
one, its MAC address will be different but its assigned Device ID will be the same
We can then send a Who-Is to discover the new MAC address of the new Device
Who-Is service is typically use by a Network Management Tool to learn a Network
MAC <everyone>
Who-Is
Client
Network Broadcast
Network
MAC <035789438426>
I-Am Device 102
Server
MAC <648546218946>
I-Am Device 197
Server
43
Dynamic Object Binding - Who-Has




Who-Has and I-Have services let you do a dynamic object binding
Determine which device(s) contain a particular object
It is possible to restrict the range of device instances responding
Typically use by a Network Management Tool to learn a Network
MAC <everyone>
Who-Has AO14
Client
Network
Broadcast
N t
kB
d
t
Network
I-Have Device 197
AO14
SpaceAirTemp
Server
Server
44
Specifying BACnet
BACnet Testing Laboratory (BTL)


ASHRAE Standard 135.1 – A new standard for testing BACnet conformance
In accordance with the ASHRAE standard,, the BACnet Manufacturers Association (BMA)
(
) created
the BACnet Testing Laboratory (BTL) in order to address interoperability, testing and certification
services for BACnet device manufacturers.

BTL is an independent testing laboratory which adheres a demanding certification
program for BACnet devices.



Vendors must present independent applications for their controllers to be tested.
BTL has been testing products since late 2001.
Industry Collaboration with BACnet Interest Groups – ie. BIG-EU for the European
Community -- in order to encompass a uniform certification standard worldwide.
46
BIBBs
BIBBs: BACnet Interoperability Building Blocks
BIBBs defines a service or group of services (building blocks) that are capable of initiating or
executing a service
This allows to quickly see iff two devices are interoperable for
f
Data Sharing (DS)
Alarm and Event Management (AE)
Scheduling (SCHED)
Trending (T)
Device and Network Management (DM, NM)
To have an interaction, two BIBBs are defined; one for the request and one for the response role
For example Data Sharing, Read Property
y ((DS-RP))
In DS-RP-A, A means it can initiate the interaction, it is considered as the Client
In DS-RP-B, B means it can execute the interaction, it is considered as the Server
BIBBs are used in Protocol Implementation Conformance Statements (PICS) to define the
services that are supported
pp
by
y a device












47
PICS
PICS : Protocol Implementation Conformance Statement
Describes the BACnet capabilities of a particular BACnet implementation according to the BACnet
standard:
Vendor identification
f
BIBBs supported by the device
Standard Device Profiles
All non-standard application services that are supported along with an indication for each
service of whether the device can initiate the service request, respond to a service request,
or both
For each object type supported:
Any optional properties that are supported
Which properties can be written-to using BACnet services
If the objects can be dynamically created or deleted using BACnet services
Any restrictions on the range of data values for properties
Whether segmented requests / responses are supported











48
PICS - Example
Vendor,
Model,
Version
P fil
Profile
BIBBs
49
Data Sharing Interoperability
In order to exchange information;
The client needs to be able to initiate (A) the request
The server needs to be able to execute (B) the request
The preferred solution is to have both services (A & B) enabled in both controllers


DS=Data Sharing, RP=Read Property, WP=Write Property, A=Initiate, B=Execute
Request information
Client
ReadProperty(msg#123
objectid=Binarylnput 1
propertyid=PresentValue)
t id P
tV l )
Server
BI 1 - Switch
Provide information
PIC – Client: DS-RP-A
ReadPropertyAck(msg#123
objectid=Binarylnput 1
propertyid=PresentValue
value=1)
PIC – Server: DS-RP-B
50
Device Profiles
Standard Device Profiles
Profiles
Define a list of typical set of services (BIBBs) to be supported by a device
Manufacturers need to meet the minimum set of BIBBs for a controller to be certified as a
specific
f profile
f
Manufacturers can extend a profile to include additional BIBBs
The Following are the 8 Standard Device Profiles defined by ASHRAE:












B-SS: BACnet Smart Sensor
B-SA: BACnet Smart Actuator
B-ASC: BACnet Application-Specific Controller
B-AAC: BACnet Advanced Application Controller
B-BC: BACnet Building Controller
B-OD: BACnet Operator Display
B-OWS: BACnet Operator Workstation
B-AWS:
B
AWS: BACnet Advanced Workstation
52
Supported Services per Profile
Here is a list of the minimum requirements for each profile:

B-SS: BACnet “Smart Sensor”
Responds to ReadProperty requests


B-SA: BACnet “Smart Actuator”
Responds to ReadProperty requests
Responds to WriteProperty requests



B-ASC: BACnet “Application-Specific Controller”
Responds to Read/Write Property requests
Allows Dynamic Device Bindings (DDB)
Allows Dynamic Object Bindings (DOB)
Allows Device Communication Control (DCC)
Allows Re-initialization of Device (RD)





53
Supported Services per Profile

B-AAC: BACnet “Advanced Application Controller”
All Services included in B-ASC
Responds to Read/Write Property Multiple
Alarming
Scheduling
Time Synchronization






B-BC: BACnet “Building Controller”
All Services included in B-AAC
Client Read/Write Property
Trending
Initiate Who-Is (DDB) & Who-Has (DOB)
Backup & Restore
Establish Connection for Routing






54
Supported Services per Profile

B-OD: BACnet “Operator Display”
Presentation of data (graphics)
Client for Read/Write Property & Read/Write Property Multiple
Alarm Reception, Acknowledgment and Limits
Initiate Who-Is (DDB)





B-OWS: BACnet “Operator Workstation”
Presentation of data (graphics)
Client for Read/Write Property & Read/Write Property Multiple
Alarm Reception, Acknowledgment and Limits
Calendar and Schedule Modification
Time Master
Trend Display
Initiate Who-Is (DDB)







55
Supported Services per Profile

B-AWS: BACnet “Advanced Workstation”
All services included in B-OWS
Alarm Creation and Routing
Calendar and Schedule Creation
Trend Log Creation
Initiate Who-Has (DOB)
Backup & Restore Configurations
Establish Connection for Routing







56
Device Profiles Example
57
Two Basic B-ASC Devices Can’t Communicate!

The basic B-ASC Profile does not require the device to be able to initiate any request
All services are execute only
Two basic B-ASC devices cannot initiate an interaction
No ability of either device to initiate an interaction means no communication is possible



Basic B-ASC Profile
Basic B-ASC Profile
Provide Information Provide Information
Neither basic device has the ability to
request (initiate) the transfer of
information
58
Distech Controls’ B-ASC Devices Can Communicate!



Many Distech Controls’ controllers conform to the B-ASC Device Profile
But many controllers also support more services like DS-RP-A, DS-WP-A and more
(DS=Data Sharing, RP=Read Property, WP=Write Property, A=Initiate)
Thus, those controllers can exchange (read and write) data with other devices
B-ASC Profile + Initiate
B-ASC Profile + Initiate
Request information
Provide information
In this scenario, at least one device
has the ability to request (initiate) the
transfer of information
59
BACnet Networks
BACnet Networks Overview
Physical network layer
Defines the physical communication method for sending a data signal across a wire
It defines the electrical and physical specifications that include:
The connector type
Pin assignments
Voltages
Cable specifications
Data packet
Flow control (collision avoidance)
Data modulation.









61
BACnet Networks Overview

BACnet defines a standard message format that can be carried on any of the following transport
network types. This flexibility allows you to choose between performance versus cost. The
fallowing are the communally used transprot types:


BACnet MS/TP (IEA-485) : Master-Slave/Token Passing standard network.
BACnet/IP (BACnet + IP +UDP) - BACnet/IP devices view the IP internet as if it were a local
area network
network. A device's IP address serves the same purpose as a device's MAC or physical
LAN address in other BACnet networks
62
Internetworking: Message Types



Unicast
Unicast packets are sent from host to host. The communication is from a single host to another
single host. There is one device transmitting a message destined for one receiver.
Broadcast
Broadcast is when a single device is transmitting a message to all other devices in a given
address range. This broadcast could reach all hosts on the subnet, all subnets, or all hosts on all
subnets. Broadcast packets have the host (and/or subnet) portion of the address set to “all”. By
d i
design,
mostt modern
d
routers
t
will
ill block
bl k IP broadcast
b d
t ttraffic
ffi and
d restrict
t i t it tto th
the llocall subnet.
b t
Multicast
Multicast is a special protocol for use with IP. Multicast enables a single device to communicate
with a specific set of hosts, not defined by any standard IP address and mask combination. This
allows for communication that resembles a task related group of device
device. Anyone from anywhere
can join the group, and everyone in the group hears the message. The message isn't broadcasted
everywhere, but only to those in the group itself. A special set of addresses is used for multicast
communication.
63
BACnet MS/TP (Master Slave Token Passing)






The BACnet MS/TP data bus protocol is a peer-to-peer, multiple-master protocol that shares data
bandwidth by passing a token between devices (Masters) that authorizes the holder device to
initiate communications on the data bus
Once the device with the token has established a round of communication with another device
(Master or Slave) and has completed its request, it closes the communication channel, passes the
token to the next Master device making it the current Master.
The token is passed through a short message from device to device on the BACnet MS/TP data
bus in consecutive order starting from the lowest MAC address (MAC Address = 0)
Only master devices can receive and send the token on an MS/TP network. Slave devices can
only respond to requests from other master devices.
Slave devices will not accept broadcast messages. This means it will not respond to a Who-Is
command.
command
BACnet MS/TP is the less expensive of all the BACnet implementation. It uses EIA-485 as its
physical network at limited baud rates of 9,6K to 76.8Kbps
EOL Terminator
Token
EOL Terminator
64
BACnet MS/TP - Physical Specifications

BACnet MS/TP Data Bus Segment Physical Specifications and Cable Requirements
65
MS/TP Network Physical Configuration
Single Segment BACnet MS/TP Architecture
MS/TP Network
EOL Terminator
Maximum of nodes depends on
manufacturer
Maximum is 128 Master nodes per segment
EOL Terminator
Central Plant
Air Handling Controllers
Terminal Unit Controllers
66
BACnet Over IP Network









BACnet/lP differs from Ethernet in that each BACnet/lP device understands how to use IP directly
Each BACnet/lP device knows how to build its own UDP message and send it, via IP addressing,
to the desired destination device
Such device-to-device messages are called "unicast" messages
Usual IP routers already present in a building with IT infrastructure can be used for communication
of unicast messages
ln this example, all of the devices share a common BACnet network number even thought the
devices might reside on wide-separated IP subnets called a "BACnet/IP network“
The limitation with this popular solution are broadcast messages. BACnet uses broadcast
messages for several useful services like the DDB (Who-Is)
The workaround for this limitation is to use configured tunnel routers. In the BACnet standard,
such service is called BBMD.
The BBMD is able to forward a broadcast message to another BBMD present in a different subnet.
The message is then transmited as a broadcast message in the other subnet on behalf of the
Initiator.
The BBMD is also able to forward a broadcast message as individual unicast message to a list of
devices called Foreign devices
67
BACnet over Ethernet







Ethernet is a world known protocol (IEEE 802.3) is the forerunner of today’s IP networks.
Considered as legacy, but still easy to implement and it’s cost has been going down a lot in the
past years
BACnet over Ethernet uses the same Ethernet network that BACnet/IP uses, the difference is
that Ethernet uses the MAC addresses for network addressing (BACnet/IP use the IP
addresses for network addressing)
It can operate at speeds of 10 Mbps, 100 Mbps and 1 Gbps
It uses MAC addresses for communicating over the network
The biggest drawback is that it cannot communicate through IP routers on different subnets
because usual IP routers does not use MAC addressing but IP addressing
BACnet Ethernet is used when the device is not IP capable which is very uncommon these
days
68
BACnet/IP Network Configuration




Unlike BACnet Ethernet devices, BACnet/IP devices understand how to use IP addressing
A BACnet/IP device knows how to send a message over IP to another BACnet/IP device
Device-to-device messages such as ReadProperty are called "unicast" messages
Services such as Who-Is are “broadcast" messages since they are sent to every devices on the
network
Single Segment BACnet/IP Architecture
69
Internetworking Routers




Simply put, internetworking is required whenever we need to couple dissimilar network
technologies. This coupling is achieved using a device called a router.
A router relays BACnet messages between different transport network types by re-framing the
same BACnet message into the format of the other network type.
The router is physically attached to two or more LAN segments and continuously “listens” to
messages on all LAN segments.
When the router "hears" a message on one segment, that is destined for a device on another LAN
segment,
t the
th router
t repeats
t the
th message on the
th other
th LAN segment.
t
70
BACnet/IP with BBMDs




When using IP routers,
broadcast messages (used
by BACnet for certain
services) are generally not
propagated by standard IP
routers.
Tunnel Routers are required
BBMDs (BACnet Broadcast
Management Device) were
developed for this purpose.
It uses a BDT(Broadcast
Distribution Table) to
identify peer BBMDs and
special BVLL (BACnet
Virtual Link Layer)
messages to indicate that
the enclosed message is to
be broadcast to all BACnet
devices on the remote IP
subnet.
Multi-Segment BACnet/IP Architecture
71
Broadcast Forwarding



Device 5 wants to discover
the BACnet network and
send a Who-Is request
(Green arrow).
arrow) The request
is broadcasted on subnet1
but it is blocked at the
router and does not get
propagated to subnet 2.
The BBMD on subnet1
sends a Unicast message
to the other BBMDs listed in
subnet 1
its BDT table (Orange
arrow)
arrow).
subnet
b t2
The BBMD on subnet 2
receives the message and
forward the broadcasts on
subnet 2 ((Red arrow).
)
Multi-Segment BACnet/IP Architecture
72
Foreign Devices


Using the same concept of
the BBMDs with their BDT
table the BACnet Foreign
Devices can be registered
in a FDT (Foreign device
table).
When a broadcast
message is sent on the IP
subnet 1 and there are no
BBMDs on subnet 3. The
controller will forward the
subnet 1
message as Unicast
messages to all the
subnet
b t3
devices that are in the
FDT.
Multi-Segment BACnet/IP Architecture
73
BACnet Network Configuration
Typical Network Addressing


Device addressing allows the coordinated transfer of messages between the intended devices on the
data bus and with devices connected to the internetwork
For this, each device connected to the BACnet MS/TP data bus is identified by a MAC address, a
De ice Instance,
Device
Instance and a Net
Network
ork N
Number:
mber
The MAC Address uniquely identifies a device on a data bus segment
The MAC address is an identifier given to a BACnet device that must be unique on one network segment
Master devices can have addresses 0 to 127 and slave devices can have addresses 0 to 254
MAC address is often set with DIP switches in a binaryy scheme. 8 switches offer 256 combinations of
addresses
Devices on another network segment can have the same MAC Address as messages are not passed at the
internetwork level using the MAC Address
The Device Instance uniquely identifies a device across the BACnet internetwork
The Device Instance is any number between 0 and 4 194 303
It is with the Device Instance that messages are exchanged between BACnet devices
The Device Instance is also used by routers to forward messages to devices located elsewhere in the
internetwork
Unlike a MAC Address, a Device Instance cannot be reused elsewhere in the BACnet internetwork
The Network Number is any number between 0 and 65 534
Each segment of the network have a different Network Number
A network number is used in LAN for routing purposes










75
Networking Considerations
About the Addressing System
Adopting a numbering system for MAC Addresses, Device Instance Numbers, and Network
Numbers is part of the best practices
Good network planning requires a well thought-out numbering scheme for device MAC Addresses,
Device Instance Numbers (DI), and Network Numbers
Best practice recommends the following scheme, as it reuses the MAC Address and Network
Number in the Device Instance number to make it easier for a network administrator to know where
a device is located in the network



76
Networking Considerations
About the reserved MAC Addresses
The MAC Address is a number from 0 to 255; however best practice recommend reserving some
MAC Addresses for common commissioning and maintenance tasks
For example, when a portable router is set to use MAC
C Address 1, one off these reserved MAC
C
Addresses, it can be temporarily connected with certainty to any data bus of any site without
conflicting with other devices already connected to the data bus
The MAC Addresses to reserve are shown below



77
Networking Considerations
About the MAC Address Range
Addresses 0 to127 must be used for master devices, not for slave devices
Gaps or pockets of unassigned device MAC Addresses should be avoided as this reduces bus
performance
f
while the passed token negotiates these address gaps to find
f
the next active MAC
C
Address on the data bus. This eliminates the passing of the token to unused MAC Addresses
situated after the final Master device which would unnecessarily slow-down the data bus.
The used set of addresses at the beginning or the end of a assigned addresses are also to be
avoid To limit the range of addresses being used
avoid.
used, a minimum and a maximum can be set in the
bus master
Leave 5 to10 free addresses to the range limit for future easy network expansion
Slave devices cannot accept the token, and therefore can never initiate communications. A Slave
can only communicate on the data bus to respond to a data request addressed to it from a Master
device
Addresses 128 to 254 are strictly for slave devices
Address 255 can not be assigned, it is used as a wildcard address in all broadcast messages sent







78
Conclusions






A conscious decision was made while developing BACnet to focus on issues that are important for
day-to-day operation of building control systems. This is the area where the need is greatest and
the impact of a standard protocol is most important.
BACnet is not "plug-and-play."
"plug and play " In general it is not possible to simply remove one controller and
connect another in its place. Replacement controllers must be carefully matched to ensure that
they have the appropriate control functionality and communication capabilities. When expanding a
system more is involved than just wiring up additional controllers.
BACnet provides interoperability by defining a common, abstract view of information. Each vendor
creates their own way to store and use that information in their products. It is still necessary to
have vendor-specific configuration tools and programming languages. This is likely to remain true
for quite some time.
BACnet does not make configuration problems harder to solve. But, good choices, best practices
and cost vs performance decisions have to be made.
This conclude the BACnet Fundamentals training presentation.
Fallowing this training, Distech Controls recommends to all network integrators and programmers
to take the training 851 – BACnet Network Design and Programming. That next course covers in
details the config
configuration
ration a BACnet network
net ork and BACnet controllers using
sing Distech Controls
products.
79
Copyright
BACnet Fundamentals e-Training
Course ID: 801-10
© Copyright Distech Controls Inc.
June 2010, Canada.
While all efforts have been made to verify the accuracy of information in this document, Distech
Controls is not responsible for damages or claims arising from the use of this document. Persons
using this document are assumed to be trained HVAC professionals and are responsible for using
the correct wiring procedures, correct override methods for equipment control and maintaining safe
working conditions in fail-safe environments. Distech Controls reserves the right to change, delete
or add to the information in this document at any time without notice.
Distech Controls and the Distech Controls logo are trademarks of Distech Controls Inc. BACnet is
a registered trademark of ASHRAE. Windows, Windows XP, Windows Vista, and Visual Basic .Net
are registered trademarks of Microsoft Corporation. NiagaraAX is a registered trademark of Tridium
Inc.
80