Introduction To BACnet - Contemporary Controls

Transcription

www.bacnetinternational.orgVer. 1.0Introduction to BACnetFor Building Owners and EngineersPurposeThe purpose of this document is to provide an overview ofBACnet history, terminology and philosophy for buildingowners, managers and others involved with BACnet projects.The document provides an introduction to the topic of BACnetbut it is not a comprehensive description of BACnet and it isnot a product or system implementation guide.

www.bacnetinternational.orgVer. 1.0Introduction to BACnetFor Building Owners and EngineersTable of ContentsBriefly, What is BACnet? . 1BACnet History. 1Purpose of BACnet . 1BACnet Overview. 3Devices . 3Device Interoperability . 3Objects . 4Properties . 4Services . 4Transport Systems . 5Network Types . 5Network Type Caveats . 5Interoperability Areas. 7Data Sharing. 7BACnet Priority . 8Change Of Value (COV) . 8Trending. 8Scheduling . 9Alarm & Event Management. 10Device & Network Management . 10Specifying Interoperability with BACnet . 11Protocol Implementation and Conformance Statement (PICS) . 11BACnet Interoperability Building Blocks (BIBBs) . 12BACnet Listing . 13BACnet Terminology . 14BACnet International Contact Information .20Every effort has been made to assure that the content of this guide is accurate. However it isnot a reference document. The definitive document is the BACnet standard. Copyright 2014 BACnet International

Briefly, What is BACnet?BACnet , short for “Building Automation ControlNetwork”, is a data communication protocol forbuilding automation and control networks. BACnet isboth an international (ISO) and ANSI standard forinteroperability between cooperating buildingautomation devices.BACnet HistoryOriginally developed in 1987 under the auspices of theAmerican Society of Heating Refrigerating and Airconditioning Engineers (ASHRAE), BACnet has been anANSI standard since 1995 and an ISO standard since2003. BACnet is a registered trademark of ASHRAE.BACnet was developed, and is under continuousmaintenance, using an open consensus process whereany and all interested parties are welcome and mayparticipate without fees.Figure 1: BACnet is a consensus standard developed with allstakeholders represented at the table.ASHRAE (an ANSI-certified standards-body) overseesthe standards activities and assures a balanced rosterof voting members representing manufacturers,owners, consulting engineers, academia, governmentand general interest. This long history and openprocess has resulted in an extremely strong standardwith wide support and adoption worldwide by aconstantly growing number of manufacturers whoseproducts serve the building automation and relatedmarkets.Purpose of BACnetBACnet is a standard data communication protocolthat enables interoperability between differentbuilding systems and devices in building automationand control applications. The term “interoperability”has a variety of meanings from simple informationexchange, to deeper integration, to complete andcomplex interoperation between component devicesand systems. While BACnet does not enable "plug andplay" device interchangeability, BACnet provides themeans for many kinds of basic and complexinteroperations to take place using standardizedtechniques that have proven to be flexible and robustin over 15 years of practice in tens of millions ofdevices. BACnet does not replace the need for DDC orcontrol logic and does not attempt to standardize howdevices are programmed.BACnet offers a flexible range of networking optionsincluding the use of Ethernet or IP-centricinfrastructure and a simple, low cost twisted paircommunication called MS/TP that is based on EIA485. A sophisticated routing capability allows scalingof BACnet internetworks into large and efficientsystems, all within the same unified standard.BACnet uses an object-oriented model for abstractingand representing information. BACnet includes 54standard objects that cover many common andgenerally useful applications. In addition, there is amechanism for implementers to create and use theirown non-standard objects that can be easilyinteroperable with other devices that choose to usethem. This extensibility is free and guaranteed to besafe against unintended interference from otherdevices’ proprietary extensions. The object-basedmodel has been proven to be both robust and reliable1 Copyright 2014 BACnet International

while providing a high degree of backward andforward compatibility.Figure 2: BACnet provides a collection of objects manufacturerscan combine to build devices tailored to specific applications.BACnet also has an extensive application servicesmodel that provides many types of useful services thatimplementers may elect to support in their devices.These services are grouped into the following logicalareas: object access, alarm and event management,scheduling, trending, files, device and networkmanagement.In the increasingly important area of enterpriseintegration, BACnet has made a specific effort to defineand standardize a suite of Web Services that provideenterprise applications with well-defined access tobuilding automation information. In addition,initiatives have been undertaken to define XMLschema for BACnet-oriented information.Strong network security is of particular interest forapplications in security and access control, somespecific types of physical venues, and applications thatuse the public Internet. BACnet includes provisions fora very strong network security layer that address theneeds of these kinds of applications.BACnet currently employs a rigorous classificationmethodology for defining device capabilities. Thisallows vendors to publish the specific capabilities oftheir BACnet devices using standard terms and format,and for building owners and project specifiers todefine their requirements for BACnet devices.A global, independent third party testing and listingprogram for BACnet devices has been established. TheBACnet Testing Laboratories (BTL) is managed underauspices of BACnet International. BTL awards the “BTLMark” to devices that are shown to be tested accordingto ASHRAE Standard 135.1, the companion teststandard to BACnet.Figure 3: The BTL Mark on products assures users that theyhave been independently tested according toindustry standard test requirements.BTL requires the use of a single testing methodologyregardless of the specific organization performing thetests. Various third party companies also offer testrelated tools, services and consultation independent ofdevice manufacturers.2 Copyright 2014 BACnet International

BACnet Overviewproducts available in each of these categories: fire,security, lighting, HVAC, elevators, etc.The BACnet data communication protocol definesstandard methods that manufacturers can implementto make components and systems that can beinteroperable with other BACnet components andsystems.BACnet addresses the goal of interoperability bydefining a generalized model of how automationdevices work, a method for describing the informationthat they contain, and a method for describingprotocols that one device can use to ask another deviceto perform some desired action.Figure 6: BACnet addresses interoperability at all levels ofdevice communication architecture.Figure 4: The BACnet Standard was developed and is currentlyextended and maintained by the ASHRAE SSPC 135 committeecommCommitteeBuilding owners and system specifiers can also useBACnet as a tool for the specification of interoperablesystems.BACnet does not replace the need for specifying what auser wants or needs. It simply provides somestandardized tools to help enable the creation andspecification of systems that can interoperate.Figure 5: The BACnet Standard addresses integration across abroad range of building systems.BACnet includes but is not limited to HVACapplications. It is intended to apply to all types ofautomated building systems. There are interoperableDevicesA BACnet device is often comprised of amicroprocessor-based controller and softwarecombination that is designed to understand and usethe BACnet protocol. A BACnet device is typically acontroller, gateway, or user interface. Every BACnetdevice contains a device object that defines certaindevice information, including the device objectidentifier or instance number. A BACnet device objectinstance number must be field-configurable to beunique across the entire BACnet network where thedevice in installed. For brevity this number is oftencalled the device instance. In addition to the deviceinstance, each BACnet device contains a collection ofinformation about the device and any input and outputpoints that it monitors and controls. The collection ofinformation frequently includes control programs andlogic as well as data values.Device InteroperabilityBACnet divides the task of device interoperability intothree distinct areas: Objects (information), Services3 Copyright 2014 BACnet International

(action requests), and Transport systems(internetworking, electronic messages). BACnetdefines methods and requirements for implementationof each of these areas.ObjectsAll information within an interoperable BACnet deviceis modeled in terms of one or more informationobjects. Each object represents some importantcomponent of the device, or some collection ofinformation that may be of interest to other BACnetdevices. Objects may represent single pieces ofinformation, or a collection of multiple pieces ofinformation such as a logical grouping. Objectsrepresent either physical or virtual information, suchas analog and binary inputs and outputs, controlalgorithms, specific applications, and calculations.The BACnet standard defines 54 different standardobject types. The implementation of a given devicemay make use of arbitrary combinations of thesestandard object types to represent information andcontrol logic that are relevant to the device’s specificapplication. Standard object types are useful becausetheir meaning and application are well defined andtheir components consistently implemented from onedevice to another. The BACnet standard also allows forthe creation of non-standard or proprietary objects forwhich interoperability with other vendors may not beas consistent.Each object is identified with an object identifier. Anobject identifier is a 32-bit binary number containing acode for the object type and the object instancenumber. In addition, every object, no matter itspurpose or function, has a collection of properties thatdefine the object. Each property includes at least aname and a value.PropertiesA BACnet property conveys information about aBACnet object. Objects have a collection of properties,based on the function and purpose of the object. Eachproperty contains two pieces of information: aproperty identifier and the property’s value. PropertyIdentifiers are numbers that uniquely identify a givenproperty in the context of the Object type. Propertiesmay be defined as read-only or read/write. Aproperty’s purpose is to allow other BACnet devices toread information about the object containing theproperty, and potentially write (change) a differentvalue to the property. Depending on the type of objectthat the property belongs to, particular objectproperties may be optional or required forimplementation per the BACnet standard. For eachFigure 7: BACnet Objects include properties that define theircapabilities, operation and related datastandard BACnet object type, the BACnet standarddefines which properties are required and which areoptional. Objects may also contain properties that arenon-standard or proprietary.ServicesBACnet services are formal requests that one BACnetdevice sends to another BACnet device to ask it to dosomething.Services are grouped into five categories offunctionality – object access (read, write, create,delete); device management (discover, timesynchronization, initialize, backup and restoredatabase); alarm and event (alarms and changes ofstate); file transfer (trend data, program transfer); andvirtual terminal (human machine interface viaprompts and menus). The service defines each request,4 Copyright 2014 BACnet International

and any parameters that need to be conveyed in therequest and its reply.BACnet over LonTalk Foreign FramesBACnet over ZigBeeThe model of objects and services is realized byencoding messages into a stream of numeric codes thatrepresent the desired functions or services to beperformed. The "language" of this encoding is commonto all BACnet devices. BACnet devices exchangeinformation and do things by sending and receivingelectronic messages containing this coded language.BACnet provides flexibility by allowing multiple typesof transport systems to be used to convey these codedmessages between devices.The network types encompass the physical anddatalink layers of the protocol. This combination ofphysical and datalink layers is often called the MAC(Medium Access Control) layer.Transport SystemsA BACnet router is used to join multiple network types.A BACnet router is a device that links dissimilarThe transport system uses different types of electronicmessaging standards and methods to convey codedmessages. Even though different transport methodsare used, the coded message content remains the same.This philosophy allows the designer or specifier tochoose the most cost-effective transport method for agiven application.A BACnet message itself is independent of the MAClayer used to transport the message.Therefore, in BACnet, messages to command ormonitor information are the same, no matter whichMAC layer used for transport.Figure 9: BACnet allows for routers to connect various networktypes. Routers can be standalone devices or can be built intoautomation controllers.network types (e.g., BACnet/IP to MS/TP, BACnet8802-3 to ARCNET) and passes BACnet messagesamong the network types without changing ordisturbing the message content.Figure 8: BACnet provides multiple message transportoptions to meet the needs of different applicationsNetwork TypesThe 2012 BACnet standard defines seven networktypes, which serve as the transport for BACnetmessages. The seven supported network types are:BACnet/IPBACnet MS/TP (Master-Slave/Token Passing)BACnet ISO 8802-3 (Ethernet)BACnet over ARCNETBACnet Point-to-Point (EIA-232 and Telephone)Network Type CaveatsBACnet/IPThis MAC type is commonly used with existingEthernet infrastructure, VLAN and WAN networks.Devices plug directly into Ethernet switches or hubs.This is a fast and high performance type of LAN, butalso the most expensive. BACnet/IP uses UDP/IP forcompatibility with existing IP infrastructure. WhenBACnet/IP is used with multiple IP subnets, thenspecial additional device functionality called BACnetBroadcast Management Devices (BBMDs) are requiredto manage inter-subnet BACnet broadcast messages.5 Copyright 2014 BACnet International

BACnet MS/TPThis LAN type uses EIA-485 twisted pair for signalingup to 4000 feet. It is the most popular type of BACnetLAN for unitary and application-specific controllers,and is also the lowest cost.BACnet Point-to-PointThis MAC type is only used over dial-up telephonenetworks. The direct EIA-232 connection style isgenerally no longer used in favor of direct Ethernetconnection.BACnet over LonTalk Foreign FramesBACnet allows the transport component of LonTalk tobe used to carry BACnet messages. However, the twoprotocols are not interoperable.BACnet over ZigBeeFigure 10: Standard twisted pair wiring is one of the optionssupported by BACnetBACnet ISO 8802-3 (Ethernet)This MAC is a wireless mesh network generally usedwith very low-cost devices. It is typically used as agateway to ZigBee devices and not as a native BACnettransport.BACnet can be used directly with Ethernet 8802-3networks. This MAC type is comparable to BACnet/IPin terms of cost and speed, but limited to a singlephysical infrastructure that does not make use of IProuters.BACnet over ARCNETThis MAC type has two forms: 2.5Mbs coax, and156Kbs over EIA-485. The ARC156K form has amodest increase in performance compared to MS/TPfor a slight cost difference. A limited number ofvendors support BACnet using ARCNET.Figure 11: ZigBee is one of the wireless networkssupported by BACnet6 Copyright 2014 BACnet International

Interoperability AreasUsing the concepts of devices, objects, properties, andservices, BACnet provides functional capabilitiesreferred to as “Interoperability Areas.” There are fiveInteroperability Areas: Data Sharing, Trending,Scheduling, Alarm & Event Management, and Device &Network Management. These Interoperability Areasare defined by BACnet Interoperability Building Blocks(BIBBs), which are discussed in the SpecifyingInteroperability with BACnet section later in thisdocument.Data SharingData Sharing is the exchange of information betweenBACnet devices. It may be uni-directional or bidirectional. Interoperability in this area permits thecollection of data for archival storage, graphics, andreports, the sharing of common sensor or calculatedvalues between devices, the carrying out of interlockedcontrol strategies, and the modification of setpoints orother operational parameters of BACnet objects.Figure 12: BACnet enables data sharing among different typesof devices from a broad set of suppliersIn Data Sharing, a client device requests data from aserver device, and may also send control commands tothe server. Typical Data Sharing requests that a clientwill make to a server are ReadProperty andWriteProperty.A WriteProperty request allows a client device to writeto (possibly changing) a property of an object in theserver device. If two or more clients write to the sameproperty of the same object in the same device, thenthe most recent write takes effect.In situations where there is a need to synchronize theactions of multiple clients potentially writing to thesame property, implementers may elect to use acommand prioritization mechanism. In this case, thewrite property request will be accompanied by acommand priority from 1 to 16 where 1 is mostimportant and 16 is least important. If the commandpriority is absent from a write request, it defaults to 16(least important). If a command priority is provided toan object that does not support prioritization, then thepriority is ignored.A commandable object usually has one property, oftenthe Present Value property, which benefits from thisspecial behavior.Additionally, a commandable object has two specialproperties: Priority Array and Relinquish Default.When a new value is written to a commandablePresent Value at priority X, that new value is recordedin the Xth slot in the Priority Array. After the value isrecorded, the Priority Array is examined from slot 1 to16 (in decreasing order of importance). The valuecontained in first non-empty slot is then used to set thecommandable Present Value property. Valuesassociated with less important (lower priority) writesare still saved in the Priority Array. When a client nolonger requires control of the commandable object, itrelinquishes control at the priority level it hadpreviously written by writing a special null or emptyvalue to that priority. After control is relinquished, thePriority Array is again examined for the lowest (mostimportant) non-empty slot. If all 16 slots of thePriority Array are empty, then the special propertyRelinquish Default’s value is used to set thecommandable Present Value property.7 Copyright 2014 BACnet International

BACnet PriorityAs a rule, a given BACnet “site” may use its own uniqueinterpretation of the meaning for each priority level aslong as those meanings are consistent throughout thatlocation. However, BACnet recommends the followingstandard priority-level meanings that should be usedunless there is a compelling reason not to:1. Manual Life-Safety2. Automatic Life-Safety3. Available4. Available5. Critical Equipment Control6. Minimum On/Off7. Available8. Manual Operator9. Available10. Available11. Available12. Availablechange that is required for notification. After thesubscription is accepted, the server device itselfwatches the object property. If the value changes bymore than the trigger amount since the last reportedvalue, then the server issues a COV Notificationmessage that reports the change. In this way, onlychanging values get reported, thus saving a lot ofnetwork traffic. But COV is not a substitute for readingvalues. When the client tries to make a subscription,the server may not be able to accept it. Serverstypically have a limited number of subscriptionsavailable and they may all be in use. The client mustfall back to using a ReadProperty in that case. Oncesubscribed, if the client has not seen a changenotification for “a while” it may be because the valuehasn’t changed, or because the notification has notbeen able to reach the client due to traffic, routercongestion and other causes. So clients mustperiodically re-subscribe in order to keep values frombecoming stale, and to keep using the subscriptionresource.Trending13. Available14. Available15. Available16. Available (Default)Change Of Value (COV)In the simplest cases, data sharing uses reading andwriting of object property values to exchangeinformation between devices. However, when a largenumber of values are exchanged frequently, a sideeffect is that a lot of traffic must occur on the networkto carry the back and forth exchanges. In many casesvalues don’t actually change very often so thiscontinuous updating wastes available network timeexchanging values that haven’t changed since the lasttime they were sent. One way to mitigate this traffic isto use a Change Of Value (COV) scheme. With COV, theclient subscribes to the server device that contains thevalue of interest and indicates a minimum amount ofTrending allows BACnet devices to enable trendcollection and request trend data from other BACnetdevices. Although it is possible to use ReadProperty orCOV methods to sample data periodically from acentral location, these techniques do not scale verywell. As the number of sampled data points gets larger,more and more data must be brought back to thecentral location within the sample interval. In BACnet,rather than having the central location gather theaccumulated trend data, the burden of sampling isdistributed into multiple devices.Trend Log objects manage the sampling of data atsome interval, and the storing the data samplesthemselves. The Trend Log uses COV (when possible)to attempt to sample data from a monitored objectproperty, falling back to ReadProperty whennecessary. A supervisory client or workstation may8 Copyright 2014 BACnet International

periodically check the Trend Log and read its data inbulk. Alternatively the Trend Log can send a specialEventNotification after some number of samples orwhen the Trend Log starts to near its capacity. Thissignals the supervisory device to come and collect thetrend data.Some Trend Log implementations can only trend(sample) data from object properties of objects in thesame device as the Trend Log object (so-called internaltrending). Other implementations in client devices mayalso be able to communicate outside of the device tosample data from objects in other devices (externaltrending).day. The Schedule also has an Effective Period thatspecifies when it should be used.Although the Weekly Schedule may suffice for mostdays, if there are special days or a period where adifferent schedule is needed, that is accommodated byan Exception Schedule. BACnet calls these specialevents which are themselves an ordered list of(activedays, time values, priority). The activedays mayreference a Calendar so that the special event is onlySchedulingScheduling allows BACnet devices to establish and editschedules that reside in BACnet devices so that controlcan be coordinated based on dates and times. BACnetCalendar objects are used to indicate whether each dayis active or inactive according to that calendar. Deviceprograms may look at the Calendar and decide to dosomething based on that status. Individual dates maybe specified, as well as ranges of dates. The date listmay also include WeekNDays which are (day-of-week,week-of-month, month) ordered lists. Individual partsof dates, date ranges and WeekNDays may includespecial values for ANY. For example (Tuesday,2,ANY)means the second Tuesday every month. These allowfor powerful repeating schedules to be created that donot have to be revised every month or year.Schedule objects are based on the idea of time valueswhich are pairs (time,value) that specify a value to useat a particular time. One way of thinking of BACnetschedules is a variable value that changes at differenttimes during each day. In its simplest form theSchedule object has a Weekly Schedule which is anarray of seven slots that correspond to the days of anormal week: Monday, Tuesday, Wednesday, etc. Eachslot contains a list of time values to be used on thatFigure 13: BACnet provides robust scheduling mechanisms tosupport a broad set of building system requirementsvalid on days when the Calendar is active. Alternativelythe special event may be active for a particular Date,Date Range or WeekNDay. The time values representtimes on those days when the special event takesprecedence over any Weekly Schedule that may be ineffect on that day and time. If more than one specialevent is scheduled for the same day and time, theEventPriority specifies their relative importance toeach other.Although device programs may monitor a Scheduleobject value to determine what to do from moment tomoment, it is more common for the Schedule to writeto other object properties when the schedule valuechanges. The Schedule includes a list of references orbindings to other object properties that are written bythe Schedule object. Some devices are only servers anddo not have the ability to write to objects except thosethat reside in the same device as the schedule. These9 Copyright 2014 BACnet International

are called internal schedule devices. Devices that arealso clients may have the ability to write to objectproperties in other BACnet devices. These kinds ofdevices often can also provide external scheduling.The notifications may be prioritized and classified aswell.Alarm & Event ManagementDevice & Network Management allows BACnet devicesto discover other BACnet devices, discover objectswithin devices, establish and re-establishcommunications, synchronize time, and re-initialize adevice’s program.Alarm & Event Management defines the exchange ofdata based on pre-defined alarm limits or eventtriggers. The event or alarm may require humanintervention and acknowledgement. Alarms and eventsmay also be logged and summaries generated. InBACnet, alarms and events are essenti

BACnet offers a flexible range of networking options including the use of Ethernet or IP-centric infrastructure and a simple, low cost twisted pair communication called MS/TP that is based on EIA-485. A sophisticated routing capability allows scaling of BACnet internetworks into large and efficient systems, all within the same unified standard.