Sie sind auf Seite 1von 80
BACnet Fundamentals Course #801

BACnet Fundamentals Course #801

BACnet Fundamentals Course #801
e-Training Description
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 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
2
Course Content
Course Content

BACnet Fundamentals

Content Overview

BACnet Basics

BACnet Objects

BACnet Services

Specifying BACnet

Device Profiles

BACnet Networks

BACnet Network Configurations

Course ID #801

3
3
BACnet Basics

BACnet Basics

BACnet Basics
BACnet Standard
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:

building automation systems which can interoperate:  Objects: Represent data and control  Services:
 Objects: Represent data and control  Services: Convey requests and information/data  Network types:
 Objects:
Represent data and control
 Services:
Convey requests and information/data
 Network types:
For flexible and cost-effective networks
5
5
Story
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, emerged as a 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.

the broadest and most comprehensive adoption of BACnet. The shift is real, and the rate of
6
6
History
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 135-

2008

The Method of Test for Conformance to BACnet was published in 2003 as BSR/ASHRAE Standard 135.1 BACnet Testing Laboratories was established by BACnet International to support compliance testing and interoperability testing activities and consists of BTL Manager and the BTL-WG.

to support compliance testing and interoperability testing activities and consists of BTL Mana g er and
to support compliance testing and interoperability testing activities and consists of BTL Mana g er and
7
7
What is BACnet
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

 Flexible and cost-effective LAN network types  Internetworking to creat e large systems that work
8
8
Interoperability - Compatibility of systems
Interoperability - Compatibility of systems

The term "Interoperable“ describes the process of making devices that can interact with each other using a common communication network for the purpose of sharing functionality and responsibility for different control functions

BACnet was designed from the beginning to facilitate the interoperability between different building systems

BACnet has been proven to be a viable and practical technology for bringing different systems and vendors together in a common framework

to be a viable and practical technology for bringing different systems and vendors together in a
9
9
Specifying BACnet
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

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

profile  Devices ma y also provide additional capabilities Those topics will be detailed later in

Those topics will be detailed later in this course

10
10
The Protocol
The Protocol

BACnet separates the two aspects of any communication

Transport Message

There is a variety of different standards

for transporting messages BACnet can use optimized forms of media type to reduce cost

.

The message that is transported is the same regardless of the physical transport mechanism

Message

 The messag e that is trans p orted is the same regardless of the physical

Transport

 The messag e that is trans p orted is the same regardless of the physical
 The messag e that is trans p orted is the same regardless of the physical
11
11
Protocol Layers
Protocol Layers

Information data and value

,

Protocol Layers Information data and value , O b j e c t s Requests and

Objects

Requests and Responses

data and value , O b j e c t s Requests and Responses S e

Services

, O b j e c t s Requests and Responses S e r v i

N

t

rk &

w

Internetworking

Transport Method

12
12
Transport Options
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

Distech Controls devices are BACnet/IP and MS/TP devices Speed Ethernet BACnet/IP ARCNET LonTalk MS/TP PTP Zigbee
Ethernet
Ethernet

BACnet/IP Distech Controls devices are BACnet/IP and MS/TP devices Speed Ethernet ARCNET LonTalk MS/TP PTP Zigbee

ARCNET LonTalk
ARCNET
LonTalk
MS/TP
MS/TP
PTP
PTP

Zigbee Distech Controls devices are BACnet/IP and MS/TP devices Speed Ethernet BACnet/IP ARCNET LonTalk MS/TP PTP

Cost

13
13
Transport Options Comparison
Transport Options Comparison

Transport Type

Pros

Cons

 

Very Popular

   

Fast

Requires special setup

BACnet - IP

Shares existing IP network

Easy to configure

(BBMD) to enable broadcast messages

BACnet Ethernet

(8802-3)

Shares existing IP network

No real performance difference o

d t

BAC

t IP

compare

ne -

Cannot get across IP routers.

Not the preferred solution

 

Very popular, especially as a low- level bus technology

 

MSTP

Easy to install and configure

Lower speed

Low cost

14
14
Internetworking
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-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

is that each proprietary system is viewed as an "island" with the gateway being the only
is that each proprietary system is viewed as an "island" with the gateway being the only
15
15
Application Layer
Application Layer

A BACnet profile contains

Services

Standard objects

Non-standard objects

A device object

Object properties

contains  Services  Standard objects  Non-standard objects  A device object  Object properties
16
16
Services
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 CCCC SSSS
Initiate
Service
CCCC
SSSS

Execute

Service

17
17
Objects
Objects

Objects

Objects standardize the organization of data to facilitate the exchange of data between different vendors’ products

Objects represent physical inputs, outputs, and software processes

Objects standardize information presentation

BACnet defines a collection of standard objects (defined later in this presentation)

in formation presentation  BACnet defines a collection of standard objects (defined later in this presentation)
18
18
The Device Object Type The Device object  Defines a standardized object whose properties represent
The Device Object Type
The Device object
 Defines a standardized object whose properties
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
Properties

Object Properties

Properties are objects’ 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)

and optional properties  Pro p erties ma y either be read only or also writable
20
20
BACnet Objects

BACnet Objects

BACnet Objects
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, as well as non-physical concepts like 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

processes  Objects standardize in formation presentation  BACnet defines a collection of standard objects 22
22
22
Standard Objects
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
BI

Binary Input

MSI
MSI

Multi-state Input

BI Binary Input MSI Multi-state Input File

File

BO
BO

Binary Output

MSO
MSO

Multi-state Output

BO Binary Output MSO Multi-state Output Program

Program

BV
BV

Binary Value

MSV
MSV

Multi-state Value

BV Binary Value MSV Multi-state Value Schedule

Schedule

AI
AI

Analog Input

AI Analog Input Loop Trend Log

Loop

AI Analog Input Loop Trend Log

Trend Log

AO
AO

Analog Output

AO Analo g Out p ut Calenda r Grou p

Calendar

AO Analo g Out p ut Calenda r Grou p

Group

AV
AV

Analog Value

AV Analog Value Notification Class Event Enrollment

Notification Class

AV Analog Value Notification Class Event Enrollment

Event Enrollment

Averaging Command Device

Averaging

Averaging Command Device

Command

Averaging Command Device

Device

23
23
BACnet Device
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 Binary Input 1-x Binary Value 1-x Binary Outputs 1-x
Input Points
Internal Points
Output Points
Binary Input 1-x
Binary Value 1-x
Binary Outputs 1-x
Analog Input 1-x
Analog Value 1-x
Analog Outputs 1-x
Multi-state Input 1-x
Multi-state Value 1-x
Loop 1-x
Calendar
Schedule
24
24
Objects Types
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 of the object

: The type of object in a character string  Object Identifier : Type number and
25
25
Analog Types
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, variable)

The Analog Input’s Present Value is read only and the Analog Output can be overridden using the priority array.

Here is an example of an Analog Input object with it’s properties :

Required

Optional

Object Identifier _ 22 Object_Name SPACETEMP Object_Type ANALOG INPUT Present Value 73.3 Status_Flags Normal,
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
26
Binary Type
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, 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 S tatus_ Fl ags N
Object_Identifier
32
Object_Name
FanStatus
Object_Type
BINARY INPUT
Present Value
ACTIVE
S
tatus_
Fl
ags
N
orma ,
l
I
n
S
erv ce
i
27
27
MultiState Object
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

Example for a MultiStateValue object at a present value of 3 (High).

Object_Identifier 56 Object_Name FanSpeed Object_Type MultiState Value Present Value 3 State Text HIGH
Object_Identifier
56
Object_Name
FanSpeed
Object_Type
MultiState Value
Present Value
3
State Text
HIGH
Status_Flags
Normal, InService
28
28
Objects Instance Number
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, there can be no more than 4,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 1 Object_Name Object_Type Present_Value Status_Flags Occupancy Binary Input Active Normal,
Object_Identifier
1
Object_Name
Object_Type
Present_Value
Status_Flags
Occupancy
Binary Input
Active
Normal, InService
29
29
Object Value Priority Array
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

Priorities are processed from level1 to level16

Priority 1 being the most important and 16 being the least important

First priority that has a value different then Auto (or

Priority

BACnet Priority

1

Manual Life Safety

2

Automatic Life Safety

3

Available

4

Available

5

Critical Equipment Control

6

Minimum On/Off

7

Available

8

Manual Operator

9

Available

10

Available

11

Available

12

Available

13

Available

14

Available

15

Available

16

Available

Relinquish

Default Value

16 Available Relinquish Default Value ’ Null) controls the output s present value  Since
16 Available Relinquish Default Value ’ Null) controls the output s present value  Since

Null) controls the 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 the Manual Life Safety override at level1.

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
30
Device Object
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 properties; Object Name and the Object Instance, must both be unique 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: System_Status: Vendor_Name: Device Normal, InService
Object_Identifier:
123
Object_Name:
STAT-01
Object_Type:
System_Status:
Vendor_Name:
Device
Normal, InService
Distech Controls
Vendor_Identifier:
364
Normal, InService Distech Controls Vendor_Identifier: 364 An internetwork is all the networks that could be linked

An internetwork is all the networks that could be linked together through the use of routers, even if the media type is changing.

31
31
Other Common Objects
Other Common Objects

Loop

PID loop use to control equipments with a feedback control loop

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
32
BACnet Services

BACnet Services

BACnet Services
BACnet Services
BACnet Services

Services convey requests of information/data

BACnet Devices can provide several broad categories of services

Object Access

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:

Human Machine Interface (Console)  The Read service:  The most frequent is to pool data

The most frequent is to pool data from an object to display or use it’s value elsewhere

The Write service:

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
34
ReadProperty Service
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

asks the Server for it’s space temperature (AI 2) Client Request ReadProperty (msg#123 objectid=Analoglnput 2
Request ReadProperty (msg#123 objectid=Analoglnput 2 propertyid=PresentValue)
Request
ReadProperty (msg#123
objectid=Analoglnput 2
propertyid=PresentValue)
Response ReadPropertyAck(msg#123 objectid=Analoglnput 2 propertyid=PresentValue value=72.0)
Response
ReadPropertyAck(msg#123
objectid=Analoglnput 2
propertyid=PresentValue
value=72.0)

Server

Response ReadPropertyAck(msg#123 objectid=Analoglnput 2 propertyid=PresentValue value=72.0) Se rv er 35
35
35
WriteProperty Service
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 then answers back to the Client saying that the operation has been done successfully

Here is an example for that service where the Client Writes to Binary Output 3.

Client

service where the Client Writes to Binary Output 3. Cli en t Request WriteProperty(msg#124 objectid=BinaryOutput 3
service where the Client Writes to Binary Output 3. Cli en t Request WriteProperty(msg#124 objectid=BinaryOutput 3
Request WriteProperty(msg#124 objectid=BinaryOutput 3 propertyid=PresentValue value=1)
Request
WriteProperty(msg#124
objectid=BinaryOutput 3
propertyid=PresentValue
value=1)
Response SimpleAck(msg#124 service=WriteProperty)
Response
SimpleAck(msg#124
service=WriteProperty)

Server

objectid=BinaryOutput 3 propertyid=PresentValue value=1) Response SimpleAck(msg#124 service=WriteProperty) S erver 36
objectid=BinaryOutput 3 propertyid=PresentValue value=1) Response SimpleAck(msg#124 service=WriteProperty) S erver 36
36
36
ReadMultiple/WriteMultiple Service
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

ReadProperty AI1; Present_Value
ReadProperty AI1; Present_Value
ReadProperty AI1; Present_Flags
ReadProperty AI1; Present_Flags
ReadProperty AV3; Present_Value
ReadProperty AV3; Present_Value
ReadProperty AV3; Present_Flags
ReadProperty AV3; Present_Flags

With Read/WriteMultiple

ReadPropertyMultiple AI1;Present_Value, Status_Flags AV3;Present_Value, Status_Flags
ReadPropertyMultiple
AI1;Present_Value, Status_Flags
AV3;Present_Value, Status_Flags
37
37
Change Of Value Service (COV)
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 by the Server when the value changes

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.

Client

Server

S u b sc rib COV e COVNotification 38
S
u
b
sc
rib COV
e
COVNotification
38
Unsubscribed COV Service
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 network if many COV updates occur all the time. Some simple precautions, like the refresh rate for a COV, can eliminate the issue.

Clients

Server

COVNotification 39
COVNotification
39
Time Synchronization
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

on network. All the devices (servers) will then synchronize their time and date in regard to
40
40
Time Synchronization Service
Time Synchronization Service

Client

Time Synchronization Service Client Device ID (instance number) <everyone> TimeSynchronization Mon 07/15/2009
Device ID (instance number) <everyone> TimeSynchronization Mon 07/15/2009 17:23:00.00
Device ID (instance number) <everyone>
TimeSynchronization Mon 07/15/2009 17:23:00.00

Network Broadcast

Mon 07/15/2009 17:23:00.00 Network Broadcast Network Server Server Local Date=Mon 07/15/2009 Local

Network

Server

Mon 07/15/2009 17:23:00.00 Network Broadcast Network Server Server Local Date=Mon 07/15/2009 Local Date=Mon 07/15/2009

Server

17:23:00.00 Network Broadcast Network Server Server Local Date=Mon 07/15/2009 Local Date=Mon 07/15/2009
Local Date=Mon 07/15/2009
Local Date=Mon 07/15/2009
Local Date=Mon 07/15/2009
Local Date=Mon 07/15/2009

LocalTime=17:23:00.00 LocalTime=17:23:00.00

41
41
UTC Time Synchronization Service
UTC Time Synchronization Service

Client

UTC Time Synchronization Service Client Device ID (instance number) <everyone> UTCTimeSynchronization Mon
Device ID (instance number) <everyone> UTCTimeSynchronization Mon 07/15/2009 22:23:00.00
Device ID (instance number) <everyone>
UTCTimeSynchronization Mon 07/15/2009 22:23:00.00
Network Broadcast Network Server Server
Network Broadcast
Network
Server
Server
System offset from UTC: Time Zone is -5hours
System offset
from UTC: Time
Zone is -5hours
Server System offset from UTC: Time Zone is -5hours System offset from UTC: Time Zone is
Server System offset from UTC: Time Zone is -5hours System offset from UTC: Time Zone is

System offset

from UTC: Time Zone is -6hours

Local Date=Mon 07/15/2009
Local Date=Mon 07/15/2009
Local Date=Mon 07/15/2009
Local Date=Mon 07/15/2009

LocalTime=17:23:00.00 LocalTime=16:23:00.00

42
42
Dynamic Device Binding - Who-IS
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 <everyone>
Who-Is
Client
Network Broadcast
Network
Who-Is Client Network Broadcast Network MAC <035789438426> I-Am Device 102 MAC
MAC <035789438426> I-Am Device 102
MAC <035789438426>
I-Am Device 102
Network MAC <035789438426> I-Am Device 102 MAC <648546218946> I-Am Device 197 Server Server 43

MAC <648546218946> I-Am Device 197

Server

Server

43
43
Dynamic Object Binding - Who-Has
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 Network
MAC <everyone>
Who-Has AO14
Client
Network Broadcast
Network
Who-Has AO14 Client Network Broadcast Network I-Have Device 197 AO14 SpaceAirTemp Server Server 44
Who-Has AO14 Client Network Broadcast Network I-Have Device 197 AO14 SpaceAirTemp Server Server 44

I-Have Device 197

AO14

SpaceAirTemp

Server

Server

44
44
Specifying BACnet

Specifying BACnet

Specifying BACnet
BACnet Testing Laboratory (BTL)
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.

a demanding certification program for BACnet devices.  Vendors must present independent applications for their
a demanding certification program for BACnet devices.  Vendors must present independent applications for their

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
46
BIBBs
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 if two devices are interoperable for

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 (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 by a device

47
47
PICS
PICS

PICS : Protocol Implementation Conformance Statement

Describes the BACnet capabilities of a particular BACnet implementation according to the BACnet standard:

Vendor identification

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
48
PICS - Example Vendor, Model, Version Profile
PICS - Example
Vendor,
Model,
Version
Profile
PICS - Example Vendor, Model, Version Profile BIBBs 49
BIBBs 49
BIBBs
49
Data Sharing Interoperability
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,

Client

Sharing, RP=Read Property, WP=Write Property, Client PIC – Client: DS-RP-A Request information

PIC – Client: DS-RP-A

Request information

Property, Client PIC – Client: DS-RP-A Request information ReadProperty(msg#123 objectid=Binarylnput 1
ReadProperty(msg#123 objectid=Binarylnput 1 propertyid=PresentValue)
ReadProperty(msg#123
objectid=Binarylnput 1
propertyid=PresentValue)

Provide information

g objectid=Binarylnput 1 propertyid=PresentValue ReadPro ert Ack(ms #123 p y value=1)
g
objectid=Binarylnput 1
propertyid=PresentValue
ReadPro ert Ack(ms #123
p
y
value=1)

A=Initiate,

B=Execute

Server

BI 1 - Switch

ReadPro ert Ack(ms #123 p y value=1) A=Initiate, B=Execute S e r v e r BI
ReadPro ert Ack(ms #123 p y value=1) A=Initiate, B=Execute S e r v e r BI

PIC – Server: DS-RP-B

50
50
Device Profiles

Device Profiles

Device Profiles
Standard 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 profile

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: BACnet Advanced Workstation

52
52
Supported Services per Profile
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
53
Supported Services per Profile
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
54
Supported Services per Profile
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
55
Supported Services per Profile
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
56
Device Profiles Example
Device Profiles Example
Device Profiles Example 57
57
57
Two Basic B-ASC Devices Can’t Communicate!
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

means no communication is possible Basic B-ASC Profile Provide Information Provide Information Neither basic device

Provide Information

is possible Basic B-ASC Profile Provide Information Provide Information Neither basic device has the ability to

Provide Information

Basic B-ASC Profile Provide Information Provide Information Neither basic device has the ability to reques t

Neither basic device has the ability to request (initiate) the transfer of information

Basic B-ASC Profile

basic device has the ability to reques t ( i n iti a t e) th
58
58
Distech Controls’ B-ASC Devices Can Communicate!
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

and write) data with other devices B-ASC Profile + Initiate Request information Provide information B-ASC Profile

Request information

other devices B-ASC Profile + Initiate Request information Provide information B-ASC Profile + Initiate In this
other devices B-ASC Profile + Initiate Request information Provide information B-ASC Profile + Initiate In this

Provide information

B-ASC Profile + Initiate

information Provide information B-ASC Profile + Initiate In this scenario, at least one device has the

In this scenario, at least one device has the ability to request (initiate) the transfer of information

59
59
BACnet Networks

BACnet Networks

BACnet Networks
BACnet Networks Overview
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.

 Voltages  Cable specifications  Data packet  Flow control (collision avoidance)  Data modulation.
61
61
BACnet Networks Overview
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. A device's IP address serves the same purpose as a device's MAC or physical LAN address in other BACnet networks

62
62
Internetworking: Message Types
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 design, most modern routers will block IP broadcast traffic and restrict it to the local subnet.

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. 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
63
BACnet MS/TP (Master Slave Token Passing)
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.

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

It uses EIA-485 as its physical network at limited baud rates of 9,6K to 76.8Kbps EOL
It uses EIA-485 as its physical network at limited baud rates of 9,6K to 76.8Kbps EOL
64
64
BACnet MS/TP - Physical Specifications
BACnet MS/TP - Physical Specifications

BACnet MS/TP Data Bus Segment Physical Specifications and Cable Requirements

MS/TP - Physical Specifications  BACnet MS/TP Data Bus Segment Physica l Specifications and Cable Requirements
65
65
MS/TP Network Physical Configuration
MS/TP Network Physical Configuration

Single Segment BACnet MS/TP Architecture

Configuration Single Segment BACnet MS/TP Architecture Maximum of nodes depends on manufacturer Maximum is 128
Configuration Single Segment BACnet MS/TP Architecture Maximum of nodes depends on manufacturer Maximum is 128

Maximum of nodes depends on manufacturer Maximum is 128 Master nodes per segment

on manufacturer Maximum is 128 Master nodes per segment MS/TP Network EOL Terminator EOL Terminator Terminal
MS/TP Network
MS/TP Network

EOL Terminator

is 128 Master nodes per segment MS/TP Network EOL Terminator EOL Terminator Terminal Unit Controllers Central
is 128 Master nodes per segment MS/TP Network EOL Terminator EOL Terminator Terminal Unit Controllers Central
EOL Terminator
EOL Terminator

Terminal Unit Controllers

segment MS/TP Network EOL Terminator EOL Terminator Terminal Unit Controllers Central Plant Air Handling Controllers 66

Central Plant

Air Handling Controllers

66
66
BACnet Over IP Network
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
67
BACnet over Ethernet
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
68
BACnet/IP Network Configuration
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

“broadcast" messages since they are sent to every devices on the network Single Segment BACnet/IP Architecture
69
69
Internetworking Routers
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, the router repeats the message on the other LAN segment.

70
70
BACnet/IP with BBMDs
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

Multi-Segment BACnet/IP Architecture

Routers are required Multi-Segment BACnet/IP Architecture  BBMD s ( B ACnet B roadcast M anagement

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.

71
71
Broadcast Forwarding
Broadcast Forwarding

Device 5 wants to discover the BACnet network and send a Who-Is request (Green 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 its BDT table (Orange

Multi-Segment BACnet/IP Architecture

subnet 1 subnet 2
subnet 1
subnet 2

arrow).

The BBMD on subnet 2 receives the message and forward the broadcasts on subnet 2 (Red arrow).

72
72
Foreign Devices
Foreign Devices

Using the same concept of the BBMDs with their BDT table the BACnet Foreign

Devices can be re istered 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 message as Unicast

t

Multi-Segment BACnet/IP Architecture

subnet 1 subnet 3
subnet 1
subnet 3

g

ll th e

messages o a

devices that are in the FDT.

73
73
BACnet Network Configuration

BACnet Network Configuration

BACnet Network Configuration
Typical Network Addressing
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 Device Instance, and a Network Number:

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 binary 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
75
Networking Considerations
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
76
Networking Considerations
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 Address 1, one of these reserved MAC 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
77
Networking Considerations
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 while the passed token negotiates these address gaps to find the next active MAC 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, 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
78
Conclusions
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." 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 configuration a BACnet network and BACnet controllers using Distech Controls products.

79
79
Copyright
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. Niagara AX is a registered trademark of Tridium Inc.

80
80