* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download BACnet Fundamentals Course #801
Computer network 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
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