Bacne t Integration Ref
Comments
Description
Technical PublicationsBACnet Integration Reference Niagara Release 2.3.5 Published: April 26, 2004 Tridium, Inc. 3951 Westerre Parkway • Suite 350 Richmond, Virginia 23233 USA http://www.tridium.com Phone 804.747.4771 • Fax 804.747.5204 Copyright Notice: The software described herein is furnished under a license agreement and may be used only in accordance with the terms of the agreement. © Copyright 2004 Tridium, Inc. All rights reserved. This document may not, in whole or in part, be copied, photocopied, reproduced, translated, or reduced to any electronic medium or machine-readable form without prior written consent from Tridium, Inc., 3951 Westerre Parkway, Suite 350, Richmond, Virginia 23233. The confidential information contained in this document is provided solely for use by Tridium employees, licensees, and system owners; and is not to be released to, or reproduced for, anyone else; neither is it to be used for reproduction of this Control System or any of its components. All rights to revise designs described herein are reserved. While every effort has been made to assure the accuracy of this document, Tridium shall not be held responsible for damages, including consequential damages, arising from the application of the information given herein. The information in this document is subject to change without notice. The release described in this document may be protected by one of more U.S. patents, foreign patents, or pending applications. Trademark Notices: BACnet and ASHRAE are registered trademarks of American Society of Heating, Refrigerating and Air-Conditioning Engineers. Microsoft and Windows are registered trademarks, and Windows 95, Windows NT, Windows 2000, Windows XP Professional, and Internet Explorer are trademarks of Microsoft Corporation. Java and other Java-based names are trademarks of Sun Microsystems Inc. and refer to Sun's family of Java-branded technologies. Communicator and Navigator are registered trademarks of Netscape Communications Corporation. Echelon, LON, LonMark, LonTalk, and LonWorks are registered trademarks of Echelon Corporation. Tridium, Niagara, the Niagara Framework, Vykon, Java Desktop Environment, WorkPlace Pro, Web Supervisor, JACE-4, JACE-5, JACE-NP, and JACE-NX are trademarks of Tridium Inc. All other product names and services mentioned in this publication that are known to be trademarks, registered trademarks, or service marks have been appropriately capitalized and are the property of their respective owners. BACnet Integration Reference Copyright © 2004, Tridium, Inc. All rights reserved. C O N T E N T S About This Document Intended Audience. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prerequisite Knowledge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Document Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Formatting Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Important Information Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Commonly Used Terms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Document Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix ix x x xi xi xii xiv xiv CHAPTER 1 Getting Started Supported BACnet Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Client Support (Shadow Objects) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exposing Objects (Server Support) . . . . . . . . . . . . . . . . . . . . . . . . . . . BACnet Alarming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Data Link Layer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . COV (Change Of Value) Subscriptions . . . . . . . . . . . . . . . . . . . . . . . . BBMD Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Time Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BACnet Integrations vs. Other Integrations . . . . . . . . . . . . . . . . . . . . . . . . Differences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Similarities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Installing and Configuring the BACnet Service . . . . . . . . . . . . . . . . . . . . . Licensing Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Installing BACnet Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding the BACnetService in a JACE station . . . . . . . . . . . . . . . . . . Configuring Essential Station Properties . . . . . . . . . . . . . . . . . . . . . . Verifying Communications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WhoIs Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Learning a BACnet Network. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Station Engineering Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Important General Facts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 1-1 1-2 1-3 1-4 1-4 1-5 1-6 1-6 1-7 1-7 1-7 1-8 1-8 1-9 1-10 1-11 1-13 1-15 1-15 1-19 1-20 Niagara Release 2.3.5 BACnet Integration Reference Published: April 26, 2004 iii Contents CHAPTER 2 Using the BACnet Utility Opening the BACnetUtility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Action Buttons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Status Line History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Network Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . whoIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . whoHas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . learnNetwork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Device Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . learnDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . getAlarmSummary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Manually Adding BACnet Shadow Objects . . . . . . . . . . . . . . . . . . . . . . . Adding a Device Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding a Child Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 2-1 2-2 2-2 2-3 2-3 2-5 2-6 2-9 2-9 2-13 2-14 2-15 2-16 CHAPTER 3 BACnet Client Operation About BACnet Shadow Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Property Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . About Lite BACnet Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . About Writable Input Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BACnet Integration Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BACnetDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BACnet objects (children) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BACnetAnalogInput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BACnetAnalogOutput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BACnetAnalogValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BACnetAnalogValuePriority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BACnetBinaryInput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BACnetBinaryOutput. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BACnetBinaryValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BACnetBinaryValuePriority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BACnetMultistateInput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BACnetMultistateOutput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BACnetMultistateValue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BACnetMultistateValuePriority. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 3-1 3-2 3-3 3-3 3-5 3-5 3-15 3-26 3-30 3-33 3-35 3-38 3-40 3-43 3-45 3-48 3-51 3-54 3-56 iv BACnet Integration Reference Niagara Release 2.3.5 Published: April 26, 2004 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Contents CHAPTER 4 BACnet Server Operation Device Object . . . . . . Adding BACnet Logs . . . . . . Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuring BACnet/IP Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuring BACnet/Ethernet Properties . . . . . . . . . . . . . . . BACnet Log Shapes . . . . . . . . Accessing Poll Scheduler Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exporting Objects . . . . . . . . Collection Time Differences. . . . . . . . . Commands to the BACnet Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Requirements and Restrictions . . . . . . . . . . . . . . . . . . . . . . Status. . . . . . . . . . . . . . . . . . BACnet Log Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Config . . . . . . .5 BACnet Integration Reference Published: April 26. Engineering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Accessing Device Status Monitor Properties . . . . . . . . . . . . . . . . . . BACnetRecipient. . . . . . . . . . . . . . Requirements and Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . About the Poll Scheduler . . . . . . . . . . Configuring for BACnet Alarm Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 6-2 6-3 6-3 6-4 6-7 6-9 6-9 6-12 6-15 6-16 6-18 6-18 6-20 6-22 6-22 Niagara Release 2. . . . . . . . . . . . . . . . . . . . . . . . . Setting Object Properties . . . . . Using BACnet Log Objects. . . . . . Configuring BACnet Polling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Object Name Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuring for BACnet Alarm Reception. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 4-1 4-2 4-3 4-7 4-8 4-9 4-9 4-10 4-11 4-11 CHAPTER 5 Configuring BACnet Alarming Generating BACnet Alarms . . . . . . . . . . . . . . . . . . . . . Configuring Device Status/Ping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1 5-1 5-2 5-3 5-5 5-7 5-8 5-8 CHAPTER 6 Configuring BACnetService Properties BACnetService Property Sheet Overview. . . . . . . . . . . . . . . . . . . . 2004 v . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Receiving BACnet Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . General Properties . . . . . . . . . . . . . . . . . . Allowing BACnet Write Access . . . . . . . . . Engineering . . . . . . . . . . . . . . . . . . . . . . . .3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using the bacxNotifier Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit drivers. . .properties . . . . notifier (bacxNotifier) . . . . A-1 A-1 A-2 A-2 A-6 A-7 APPENDIX B BACnet PICS BACnet Protocol Implementation Conformance Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Internetwork = BACnet Routers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Debug and Standard Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BACnet/IP and BBMDs. . .Contents Using Debug Options. . . . . . . . . . . . . . . . . . . . . . . 6-24 6-24 6-25 6-28 6-29 APPENDIX A Troubleshooting Go/No-Go Communications Checklist . . . .properties . . . . . . . . .3. . . . . . .properties . . . . . . . . . . . . . . . . . . . . Internetwork Rules . . . . . . . . . . . . . . . . . . . . . . . . . D-1 D-1 D-2 D-2 D-3 D-3 D-4 APPENDIX E Internetworks and BACnet/IP BACnet Network Numbers . . . . . . . . . . . . . . . . . . . . . . . . BACnet Over Ethernet Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BACnet Router Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . E-1 E-1 E-2 E-2 E-3 E-3 vi BACnet Integration Reference Niagara Release 2. . . Manually Editing driver. . . . . . . . . . . NotifierBinaryValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Object Color and Status . B-1 B-1 APPENDIX C BACnet PC Notes Installing the BACnet Service . . . . . . . . . Objects Not Polling Checklist . . . . . . . . . . . . . . . Using the bacxNdio Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 Published: April 26. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1 C-1 C-2 C-2 C-3 C-5 APPENDIX D Niagara bacnetx Modules About bacnetx Modules . . . . . . . . . . . . . . . . . .properties File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using setAdapter. . ndio (bacxNdio) . . . . . . . 2004 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BACnet Troubleshooting Tips . .exe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adjunct Configuration: bacnet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing bacnet. . . . . Standard BACnet Debug Output . . . . . . . . . . . . . . . . . . . . . . . . . . . Debug Option Selections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MS/TP Boundaries . . . . . . . . . . . . Working with Slave Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Station Engineering Considerations . Configuring for BACnet MS/TP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Recommended MS/TP Learn Tips . E-3 E-5 E-7 APPENDIX F Niagara MS/TP Support Niagara MS/TP Overview . . .Contents About BBMDs . . . . . . . . . . . . . . . . . . . . . . . . . . .5 BACnet Integration Reference Published: April 26. . . . . . . . . . . . . . . 2004 vii . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prepare the JACE Host . . . . . . . . . . . . . . . . . . . . . . . . Example Internetwork Diagrams. . . . . . . . . . . . . . . . . . . . . . Configure Essential MS/TP Link-Layer Properties . . . . . . . . . . . . . Engineering Considerations for MS/TP . . . . . . .3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MS/TP Network Configuration Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Token Passing and Related Operation . Niagara BBMD Configuration Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F-1 F-1 F-2 F-3 F-3 F-3 F-7 F-13 F-13 F-14 F-17 F-18 INDEX Niagara Release 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.Contents viii BACnet Integration Reference Niagara Release 2.5 Published: April 26. 2004 . If you have a BACnet Supervisor job. Niagara Release 2. Included are getting started procedures.P R E F A C E About This Document This document is intended to help you use the BACnet service for a Niagara station. This preface includes the following sections: • • • • • • • Note Intended Audience Prerequisite Knowledge Document Summary Formatting Conventions Commonly Used Terms Related Documentation Document Updates The Niagara BACnet Supervisor Reference is very similar to this document.3. • Vykon application programmers. you may simply refer to the Niagara BACnet Supervisor Reference instead of this manual. and contains all equivalent information. Intended Audience The following people should use this document: • Vykon systems integrators and installers responsible for initial setup and ongoing configuration of JACE controllers that are part of a BACnet® integration. 2004 ix . reference information on integration objects.5 BACnet Integration Reference Published: April 26. station engineering considerations. and troubleshooting tips. ”—Provides detailed information on each of the BACnet shadow object types. that is. Appendix B. “Configuring BACnet Alarming. “BACnet Server Operation. “BACnet Client Operation. “Troubleshooting.”—Provides an overview of the Niagara BACnet implementation.5 BACnet Integration Reference Published: April 26. nodes. x Niagara Release 2. Chapter 5.”—Provides an explanation of the BACnetUtility View provided by the BACnet service. “Niagara bacnetx Modules. Appendix A. summarized below. Appendix C.”—Provides troubleshooting information specific to the BACnet service. Information on special BACnet log objects is also provided.”—Provides configuration details for running the Niagara BACnet service on a PC platform.”—Provides an explanation of how BACnet alarming is performed by the BACnet service.”—Explains the configuration required to expose standard Niagara objects as BACnet objects. “BACnet PC Notes. device status.”—Information on BACnet extension modules. 2.”—Provides explanations and procedures to configure various BACnet service properties that affect polling. “BACnet PICS. Ideally. “Configuring BACnetService Properties.3.Preface Prerequisite Knowledge About This Document Prerequisite Knowledge Readers of this document should know or have experience with the following: • Basic Niagara concepts. and procedures to use its various commands. Chapter 2. Chapter 6. used for exposing Ndio objects or for integrating Notifier® panels. as well as debug operations. initial checkout of BACnet communications. Access to the native programming tools of the foreign BACnet devices is typically necessary to verify integration methods. Also covered is how to manually add BACnet shadow objects. • Familiarity with the specific foreign BACnet devices included in the Niagara integration. “Getting Started. Chapter 1. Procedures cover installation. including allowing write access. Chapter 4. have successfully passed Tridium’s formal Niagara Technical Certification Program.”—The PICS (Protocol Implementation Conformance Statement) for the BACnet Supervisor and also JACE controllers. “Using the BACnet Utility. Included are the device object and “lite” objects. Document Summary This document contains six chapters and six appendixes. Procedures for configuration and testing are provided. you should be Niagara-certified. various link-layer options. Chapter 3. Appendix D. including the necessary tasks to provide system control and user interface. 2004 . which vary by vendor in levels of BACnet conformance.4 and later. and learning external BACnet devices. start up. • Niagara’s Java Desktop Environment (JDE. formerly called WorkPlace Pro).3. objects. properties and links. such as stations. Formatting Conventions This document uses the following text-formatting conventions: • Bold text indicates an important keyword. “Niagara MS/TP Support. a keyboard key name. <password>. might produce unexpected results. or an interface object name. “Press ENTER.” or “Press CTRL+C. For example. The Microsoft Manual of Style or Niagara Web Solutions Guide.”—Explains how multiple BACnet networks are combined to form an internetwork. • “Quotation marks” are used to refer to the names of sections within the current document. • <Text between brackets> is also used to indicate a variable in contexts where italic text is not appropriate or is not easily discernible from other text. Niagara Release 2. An Index provides alphabetical reference to important topics in this manual. It is also used to refer to the titles of other publications and document filenames. or the File menu. and related issues and rules. or might cause lost data. • Italic text is also used for non-literal text that represents a variable. For example. D:\niagara\<release number>\stations. They are also used to identify keyboard keys in instructions. For example. For example. Note Caution Cautions remind you to be careful.” • Italic text is used for emphasis. Appendix F. • <Text between brackets> is used as a placeholder for user-supplied values. station_name or DONOFF_n. • CAPITAL letters are used for acronyms. as listed below: Notes typically contain significant details related to the topic in the nearby text. There is a chance that you could perform an action that cannot be undone. They alert you to important information that might otherwise be overlooked. For example. such as WPP (WorkPlace Pro). Also covers BBMD operation (specific to a BACnet/IP network).5 BACnet Integration Reference Published: April 26. the ENTER key. “Internetworks and BACnet/IP. a specially-licensed option. Important Information Indicators In addition to text formatting.3.”—Explains the MS/TP support provided by JACE-4/5 controllers. For example. see “Paragraph Styles” for additional information. Cautions typically explain why the action is potentially problematic.Preface About This Document Formatting Conventions Appendix E. 2004 xi . this document uses important information indicators. For example. references are made to acronyms and terms encountered with a BACnet integration. ASHRAE® BACnet American Society of Heating. 2004 . it has become the most popular BACnet link-layer protocol (except in lowest-cost devices. This section provides definitions for these terms and is intended to ensure their consistent use.3. the BACnet service (if configured for BACnet IP) supports operation as a BBMD. which otherwise typically block broadcast-type messages). or the nearly identical Niagara BACnetWSService. Introduced in “Annex J” of the BACnet standard. A device that receives and redistributes broadcast-type BACnet messages (Who-Is. including capability of BBMD operation. An ASHRAE-developed “open” communications protocol designed for the HVAC controls industry. Starting in Niagara r2.” Operation mode for a BACnet system or device. an option for a Web Supervisor. xii Niagara Release 2. which runs in a JACE station. BACnet MS/TP The BACnet link-layer protocol used for lower-cost devices. Operation mode for a BACnet system or device. Tips typically contain recommendations that will help you use the product more effectively. Refrigerating and Air-Conditioning Engineers. where it provides a service to a requesting client.4 and later with many new features. See MS/TP. where it makes use of a BACnet device for some particular purpose via a service request instance. By having one BBMD on each subnet. BACnet client BACnet server BACnet service (Niagara) BBMD BACnet/Ethernet or B/Eth BACnet/IP or B/IP “Native” BACnet over Ethernet. Timesaver Means a shortcut. They might include keyboard combinations or buttons that can be used instead of menu selections to perform the same action. one of the original BACnet link-layer types.Preface Commonly Used Terms About This Document Tip Means a best practice or other helpful instruction. Refers to either/both the Niagara BACnetService. and sends broadcast-type messages to BBMDs on other subnets. Commonly Used Terms Throughout this document.) to other BACnet/IP devices on its own subnet. Timesavers typically tell you a quicker or shorter way to perform a task. I-Am. and the first BACnet protocol supported in Niagara. Building Automation Controls network. sometimes called BACnet/TCP or BACnet TCP/IP.5 BACnet Integration Reference Published: April 26. etc. Niagara support for the BACnet/IP protocol was extended in r2.3.4. BACnet over Ethernet IP. BACnet/IP Broadcast Management Device. a BACnet/IP network can span subnets (between IP routers. where MS/TP is used).3. where data is modeled using a common set of “objects” and a standard set of “services. In general Niagara terms. The shadow objects represent BACnet control objects in the parent device. Device object foreign device A BACnet/IP term for a BACnet device that exists on an IP subnet without a BBMD.) A Niagara term for a (child) BACnet shadow object that has both BACnet “required” and “optional” properties (for that object type). The graphical engineering tool for creating Niagara station databases (formerly WorkPlace Pro). Specific to a BACnet integration. External to a Niagara host. Specific to BACnet shadow objects. A BACnet method to identify a particular object within a device. a child object refers to any of the “full” or “lite” shadow objects contained under a BACnetDevice (parent) object. Full objects are intended for use when external BACnet devices are implemented with objects having both required and optional properties.3. COV device object. a BACnetDevice object is a container (parent) object that shadows a particular external BACnet device (specifically. The BACnetDevice may contain other child shadow objects. Change-of-Value. value. See also “full object”.Preface About This Document Commonly Used Terms child object In general Niagara terms. using a combination of its object type and a unique instance number.4 and later provides direct support for MS/TP networks with JACE-4/5 series controllers. This Device object has the station’s name. any object contained in another object’s Workspace. Java Desktop Environment. A BACnet link-layer type for “lower cost” devices that are networked using RS-485 multidrop networks. 2004 xiii . and uses Config properties in the BACnet service. (In no way does it imply any reduced functionality. Specific to a BACnet integration. Two or more BACnet networks connected by a BACnet router. its “Device object”). Niagara r2. where the device can “register” with a BBMD on another (remote) subnet as a “foreign device” to explicitly receive BACnet broadcast messages. the station appears as a BACnet device with a BACnet Device object.3. full object instance limits internetwork JDE Lite object MS/TP object identifier. data store. there are two specific classes of shadow objects: a device object (BACnetDevice) and the various child objects. (object ID) shadow object Niagara Release 2. any object in the station database that represents some externally-programmed device or data point (object. and none of the BACnet “optional” properties. by range(s) of instance numbers. In general Niagara terms.5 BACnet Integration Reference Published: April 26. See also “Lite object”. A term used in learnDevice or learnNetwork that narrows the scope of shadow objects created for a device. any object representing an external device. A Niagara term for a (child) BACnet shadow object that has only BACnet “required” object properties (for that object type).). Lite objects are useful when external BACnet devices are implemented with objects having only required properties. Master Slave / Token Passing. etc. entitled: • BACnet®.3.5 BACnet Integration Reference Published: April 26. Table 1 Updates to the BACnet Integration Reference.3. Visit the official BACnet website.org. Document Updates Updates to this document are listed below.5 For general BACnet information.bacnet.3.3. please refer to the following other Niagara Technical Publications: • Niagara BACnet Supervisor Reference. Niagara Release 2. xiv Niagara Release 2.5 Release Notes document. and for other BACnet-related information.3.5. the definitive BACnet reference is the comprehensive ASHRAE specification developed and maintained by the ASHRAE Standing Standard Project Committee (SSPC) 135. Date 04/12/04 Update Initial document published for Niagara Release 2. A Data Communication Protocol for Building Automation and Control Networks. r2. r2. www. please refer to the Niagara 2.Preface Related Documentation About This Document Related Documentation For additional information related to Niagara and BACnet. for information on obtaining a copy of this specification.3.5 • Niagara Standard Programming Reference. 2004 . For information on changes made in the tridiumx/bacnet module.5. 3. Core object functionality such as status flags. BACnet is the most tightly-coupled.5 BACnet Integration Reference Published: April 26. priority arrays and levels. In fact. event notification. have direct BACnet heritage. the standard Niagara object set builds from the collection of BACnet objects. Other Integrations Installing and Configuring the BACnet Service Verifying Communications Learning a BACnet Network Station Engineering Considerations Important General Facts Supported BACnet Features Niagara support for various BACnet features are described in the following sections: • • • • • • • Client Support (Shadow Objects) Exposing Objects (Server Support) BACnet Alarming Data Link Layer Support COV (Change Of Value) Subscriptions BBMD Functionality Time Synchronization Niagara Release 2. including most BACnet object properties and definitions. This chapter provides the following main topics: • • • • • • • Supported BACnet Features BACnet Integrations vs. 2004 1–1 .CHAPTER 1 Getting Started Of the many integrations provided by the Niagara Framework. and so on. most are modifiable from the Niagara property sheet. BACnet services WriteProperty and WritePropertyMultiple (if supported) are used. BACnet shadow objects provide various right-click commands. “Using the BACnet Utility. providing that it is “out_of_service.5 BACnet Integration Reference Published: April 26. which include all required properties plus BACnet-defined optional properties.” 1–2 Niagara Release 2. Shadow objects of both types (standard or lite) are available for the following types of BACnet objects in remote devices: • • • • AnalogInput1 AnalogOutput AnalogValue AnalogValue (priority) • • • • BinaryInput1 BinaryOutput BinaryValue BinaryValue (priority) • • • • MultistateInput1 MultistateOutput MultistateValue MultistateValue (priority) 1. data archiving.Chapter 1 Supported BACnet Features Getting Started Client Support (Shadow Objects) Operating primarily as a BACnet client. which include only BACnet-required properties. and can be linked into other logic in the station database for control. the continuously requested properties are “Present_Value” and “Status_Flags. BACnet client information is represented by BACnet shadow objects. The JDE’s BACnet Utility also provides client support at the network-level for BACnet services “Who-I” and “Who-Has”. or standard objects. and at the device-level for the BACnet service “GetAlarmSummary. Using the JDE. refer to Chapter 2. “BACnet Client Operation. All properties of a shadowed BACnet object are available for upload. the JACE station requests object data from other devices using BACnet services “ReadProperty” (and if remotely supported) “ReadPropertyMultiple. An option is provided to create “lite” versions of objects. These objects exist at the BACnet device (parent) level and at the control object (child) level.” and Chapter 3.” This data from other BACnet devices is continuously updated in either of two ways: COV (Change Of Value) Subscriptions (if the device supports SubscribeCOV) • A communications polling routine • In the station.” For most BACnet object types. a BACnet Utility provides methods to automatically learn (and create) BACnet shadow objects. and presentation on web-accessible graphics. The collection of a station’s BACnet shadow objects define the data items for COV subscriptions/polling.” Use of these objects is expected to be rare. and if so enabled in the target (server) device. 2004 . review.3.” For more information. Writable versions allow the present value to be set by a (Niagara) input value. Special “writable” versions of input shadow objects are also available. there are currently 8 types of standard Niagara objects that can be exposed directly as BACnet objects. using the station’s name. activates this feature. For any log you wish to expose to BACnet. “BACnet Server Operation.5 BACnet Integration Reference Published: April 26. 2004 1–3 . other station data can be easily exported to BACnet. you use one of these log objects instead of the “standard” Niagara equivalent (which they otherwise closely resemble). refer to Chapter 4. Its numerical object ID is assigned as a config property in its BACnet service. the Niagara station operates as a BACnet server. Server log objects include: • • • • • BACnetAnalogLog BACnetBinaryLog BACnetIntegerLog BACnetMultistateLog BACnetStringLog For more information. including: • • • • ReadProperty ReadPropertyMultiple Who-Has Who-Is • • • • WriteProperty WritePropertyMultiple I-Have I-Am For more information. you can also expose Niagara logs as BACnet “Trend_Log” objects. refer to “Using BACnet Log Objects. Server Support for BACnet Services The Niagara station also provides server support to client requests for various BACnet application services. along with other Device-type properties.Chapter 1 Getting Started Supported BACnet Features Exposing Objects (Server Support) The station running on the JACE appears to the BACnet network as a BACnet Device object.” page 4-8. Because many standard Niagara objects are closely modeled after BACnet objects.” Niagara Release 2. for any Niagara station is running the BACnet service. When making this data available. foreignAddress.3. A single property in each object. Specifically. The standard Niagara objects that provide external BACnet server visibility are: • • • • AnalogInput (AI) AnalogOutput (AO) BinaryInput (BI) BinaryOutput (BO) • • • • Calendar Schedule MultistateInput (MSI) MultistateOutput (MSO) Exposing Niagara Logs By using special “server” objects available in the tridiumx\bacnet jar in the Local Library. For more information. with up to four separate RS-485 MS/TP networks.3. the station broadcasts the BACnet “I-Am-Router-To-Network” message to inform other BACnet routers that may exist on the internetwork. If BACnet/IP is enabled. The station can route Niagara alarms to BACnet recipients. 1. Typically. convert them to the Niagara alarm format. “Configuring BACnet Alarming. say BACnet/IP and BACnet/Ethernet. 1–4 Niagara Release 2. BACnet/IP is becoming more typical and is often used for newer installations. see “BACnet/IP Considerations. This confirms communication status and generates Niagara “device down” alarms when offline status is detected. • The station can also be configured to continuously ping shadowed BACnet devices. • Device objects shadowing BACnet devices also provide a “Get Alarm Summary” command. and can be acknowledged like native alarms. routers are automatically detected and stored as a result of various “Who-Is” and “I-Am” BACnet broadcast messages. the JACE station is configurable as either a BACnet “Foreign Device” or as a BBMD (BACnet/IP Broadcast Management Device) host. These alarms appear as BACnet alarms to the targeted BACnet devices (which can also provide alarm acknowledgement). it automatically operates as a BACnet router between the different BACnet networks.” • Data Link Layer Support The JACE station can be configured to use link-layer types BACnet/IP (BACnet over TCP/IP over Ethernet) or BACnet/Ethernet.” page 1-11. or both simultaneously. additional simultaneous MS/TP (master-slave/token-passing) support is also available. or BACnet/IP and BACnet-MS/TP. you can manually enter known BACnet routers. MS/TP support for JACE-NX and -NP platforms to be available at some future date. Upon startup. both as a client and server. If a JACE-41 or JACE-5.Chapter 1 Supported BACnet Features Getting Started BACnet Alarming The JACE station supports BACnet alarming. using special notification objects. either of which allows BACnet/IP operation though IP routers. which returns a list of objects currently in alarm. refer to Chapter 5. In addition. • A JACE station can also receive incoming BACnet alarms.5 BACnet Integration Reference Published: April 26. Unique BACnet network numbers are used for each of the link-layer tabs enabled in the JACE station. For more information. 2004 . These BACnet alarms appear in the JDE Alarm Console (and remote Vykon Alarm Service clients). and route them through a Niagara system as any other alarm (including the numerous recipient options). Remote BACnet Router Detection The property sheet for the Niagara BACnet service provides a router table listing any other identified BACnet routers. BACnet Router Operation If the JACE station is configured to have more than one link-layer tab enabled. Router operation is independent of other station operation (no particular station configuration is required). and so server-side support for “Read Property Multiple” is typically used. 2004 1–5 . plus a status value showing the number of currently COV-subscribed (or confirmed-COV-subscribed) objects. a BACnet shadow (client) object enabled for COV registers a “subscription” in the remote device. For any analog-type object. whereby it is sent data updates (notifications) upon changes in “Present_Value” and/or “Status_Flags. For any BACnet device that does not support the SubscribeCOV service.” You can then select specific child objects to “useCOV. If the device was “learned” by Niagara. each BACnetDevice object has a “useCOV” property. Often. for some reason COV subscriptions are unsuccessful.3. a “progressive backoff” scheme was implemented for COV re-subscription attempts. one of which is the device has run out of subscriptions.” It applies to all client (child) objects enabled for “useCOV. Essentially. polling is automatically substituted. in cases where fallback polling of objects temporarily occurred. this means each value change. via client-side support for the BACnet SubscribeCOV service. In the Niagara station. polling request/response messages are used to get all data values. This mechanism results in quicker data updates for shadow objects than polling requests.” For any binary or multistate-type object. COV Configuration Overview Niagara support for SubscribeCOV is available for any remote BACnet (server) device that supports it—and for as many objects that the device allows subscribed to a single client. A “useConfirmedCOV” property is also available. as well as more efficient network utilization.5. but then in operation limit the number of actual COV subscriptions to only a few objects. Depending on the capabilities of the target device. a device may state support for SubcribeCOV. At the device-level.” This means that Niagara objects exposed as BACnet do not generate COV notifications.” Polling is automatically used for any COV-enabled shadow object that has met with unsuccessful attempts at COV subscription. Notes • Niagara support for SubscribeCOV is “client-side only. • • • Niagara Release 2. Adjust the device property “maxCOVSubscriptions” within this value. Starting in r2.” such that COV updates are used instead of polling. a “maxCOVSubscriptions” property limits the number of attempted COV subscriptions.Chapter 1 Getting Started Supported BACnet Features COV (Change Of Value) Subscriptions The JACE station can receive COV (change of value) updates from BACnet objects.” However. This may occur for a variety of reasons. note that this service requires extra messaging by both the station and the remote device.5 BACnet Integration Reference Published: April 26. However. and it supports SubscribeCOV. For any BACnet device that supports Confirmed COV Notification. This provides automatic re-usage of SubscribeCOV for object updates. and select objects carefully before enabling “useCOV. the value change must be equal or greater than the object’s COV_increment value. its useCOV property is initially set to “True. with a default value of 50 objects. you may wish to adjust this up or down. most Niagara stations operate primarily as BACnet clients. you can choose this at the device-level (useConfirmedCOV) instead of just “useCOV. If.3. Chapter 1 Supported BACnet Features Getting Started Note The similar (but different) BACnet SubscribeCOVProperty service is not currently supported in Niagara. In that service, the subscriber can specify a particular property, for example, “High_Limit.” However, because Niagara always requests “Present_Value” and “Status_Flags,” the overhead of this service would outweigh any benefits. COV, Polling, and Poll On Demand Shadow objects under a device supporting SubscribeCOV are still added to the station’s BACnet polling queue, as a means of tracking subscriptions. However, polling messages (requests) are not sent for these objects. When shadow objects are in PollOnDemand containers, those that are inactive (not viewed or in the view cache) are dynamically removed from the BACnet poll queue, as before. They are “unsubscribed” from the BACnet device at that point. When activated, they are “resubscribed” and added back to the queue. BBMD Functionality If using BACnet/IP, the JACE station can be configured to operate as a BBMD (BACnet Broadcast Management Device). In this way, the JACE can provide support for BACnet broadcast messages to its local IP subnet. Included is the ability to register other BACnet devices as BACnet “foreign devices,” and to review the “broadcast distribution table” common to all BBMDs on the same BACnet/IP network. If no other BACnet devices exist on the same IP subnet as the JACE, its station can be configured instead to register as a “foreign device” with a BBMD on another IP subnet. • If a BBMD already exists on the JACE’s local IP subnet, the station can be simply left at the default configuration (neither a BBMD or a foreign device). Broadcast message operation relies on the existing device. • Time Synchronization The JACE station can be configured to accept time-synchronization messages from a designated BACnet time-synchronization master. Either “regular” or “UTC” (universal time coordinated) messages, or both, can be accepted. UTC synch messages allow synchronization across time zones. This configuration is done on the BACnetService’s property sheet, General, Engineering tab. Use of this feature requires configuration of the BACnet time master device, specifically, to name the JACE station as a time-synchronization recipient. This configuration is a local matter to that remote BACnet device. 1–6 Niagara Release 2.3.5 BACnet Integration Reference Published: April 26, 2004 Chapter 1 Getting Started BACnet Integrations vs. Other Integrations BACnet Integrations vs. Other Integrations A BACnet integration has both differences and similarities to other Niagara integrations (LonWorks, Modbus, proprietary types such as Andover Infinity, etc.). Differences • A BACnet integration is not required to be organized under a specific container in a Niagara station (for example, lonTrunk, AcInfinityNetwork, so forth). The only requirement is that client shadow objects reside under their appropriate parent (device) shadow object. These (BACnet) device objects can be located as needed in the station database. By convention, however, you may wish to group client BACnetDevices together into containers by BACnet network, especially when multiple networks exist (BACnet internetwork). Note that on the “server side”, standard Niagara objects can be exposed as BACnet objects while located anywhere in the station database. A remote BACnet device may be a BACnet workstation, typically a PC running an operator interface implemented with the BACnet protocol. In this scenario, a station’s BACnet server operations may used more than client operations—for example, to export information originating in another Niagara integration (LonWorks, Modbus, or other proprietary). • The BACnet application service “Who-Has,” provided by the BACnetUtility View of the Niagara BACnet service, offers unique network-level search functionality. Using this command, you can search all networked BACnet devices for instances of objects by name, type, instance number, or combinations of type and instance number range. Devices report back with their objects’ deviceIds, objectIds, and objectNames. This data can be useful when selecting which devices and BACnet objects are of interest. • • Client-side support for the BACnet SubscribeCOV service provides for better network utilization than in most other integrations, which are “poll-only.” Similarities • In the JDE, the BACnet service provides a BACnetUtility View that provides “learnNetwork” and “learnDevice” commands. These commands automate the station’s creation of the available BACnet shadow objects, from which you can keep those needed (and delete those that are not). These commands are similar to others in network- and device-level “manager views” in other integrations. For more information, refer to Chapter 2, “Using the BACnet Utility.” Real-time values in BACnet shadow objects are updated using a polling mechanism (if the source BACnet device does not support the SubscribeCOV service). The same polling model is used in other integrations (for example, • Niagara Release 2.3.5 BACnet Integration Reference Published: April 26, 2004 1–7 Chapter 1 Installing and Configuring the BACnet Service Getting Started AcInfinity, Modbus, others). In addition, a device-status mechanism is also available. Refer to Chapter 6, “Configuring BACnetService Properties,” for more information. • As with most other integrations, shadow objects can be placed in PollOnDemand containers to further increase overall data updates. Installing and Configuring the BACnet Service These main topics explain initial BACnet module installation and configuration: Licensing Considerations • Installing BACnet Modules • Adding the BACnetService in a JACE station • Configuring Essential Station Properties • Licensing Considerations JACE Controllers • Web Supervisor • JACE Controllers JACE controllers are typically licensed to run the BACnetService. Verify this by using the Admin Tool to open the JACE, and then select the Installation tab, View License. The features line will contain “bacnet.” Contact Tridium if it does not. Starting in Niagara r2.3.5 (or r2.301.432 or later), a new line in the license.properties file, if present, defines the maximum number of client BACnet devices that can be shadowed in the station database. This line is: numberOfBACnetDevices=n Note Note that after reaching this device limit, BACnet device “learns” will stop, or if BACnet device objects are manually added, will fail to properly initialize. This device limit applies across all BACnet link-layer types (BACnet/IP, MS/TP, and BACnet/Ethernet). Depending on the JACE model or licensed purchased, this limit value may vary. If this line is absent, there is no explicit device limit. In addition, the BACnet MS/TP option for a JACE-4/5 has additional license considerations. Refer to “Licensing for BACnet MS/TP,” page F-4. Caution Do not attempt to edit the license file. If you make any changes to the license file, your JACE station will not operate! Contact Tridium if you need any changes made to your license, so that you may be sent a proper license. 1–8 Niagara Release 2.3.5 BACnet Integration Reference Published: April 26, 2004 Chapter 1 Getting Started Installing and Configuring the BACnet Service Web Supervisor A special Web Supervisor product, the BACnet Supervisor™, is available for use on a BACnet network without requiring JACE controllers. For the equivalent Niagara document on this product, refer to the Niagara BACnet Supervisor Reference. A typical Web Supervisor PC is not licensed to run the BACnetService. However, the engineering PC used by a Vykon systems integrator may be licensed that way. In this case, use the Admin Tool to open the engineering PC host, and then select the Installation tab, View License. Verify that the features line contains “bacnet.” A Niagara host PC may require some additional driver configuration to use the Niagara BACnet service. Refer to Appendix C, “BACnet PC Notes.” Note Installing BACnet Modules Any Web Supervisor requires a “bacnet” module in its modules directory. The Niagara “bacnet” module is typically installed on a JACE-NX or -NP at the factory, prior to shipment. For any JACE-4 or JACE-5, you must install all needed modules. You may receive updated BACnet module files as: (for JACE-4 and JACE-5) • bacnet-<release>.jar.nt (for JACE-NX, JACE-NP and Web Supervisor) where <release> is 2.305.508, or whatever the current build number is. • bacnet-<release>.jar.jace You can follow this procedure to install all BACnet modules. Procedure 1 Installing the necessary Niagara modules. Step 1 Make station backups of any existing stations running BACnet services, saving databases to XML. For procedures, see the Niagara JDE User’s Guide. On your Niagara engineering PC/Web Supervisor, copy the nt jar file to the Niagara modules subdirectory, for example, D:\niagara\<release>\nre\modules Remove the “.nt” portion from its filename, so it is now bacnet-<release>.jar This makes BACnet components available to the Web Supervisor and Local Library. Step 2 Step 3 Step 4 Close and restart the JDE to load updated module(s) on your PC. On your Niagara engineering PC/Web Supervisor, copy the nt jar file (again) to the Niagara subdirectory you use to store JACE-NX/NP modules, for example, D:\niagara\<release>\nt Remove the “.nt” portion from its filename, so it is now bacnet-<release>.jar This makes the module available for installation on a remote JACE-NX or JACE-NP. Step 5 On your Niagara engineering PC/Web Supervisor, copy the jace jar file to the Niagara subdirectory you use to store JACE-4/5 modules, for example, D:\niagara\<release>\emb Remove the “.jace” portion from its filename, so it is now bacnet-<release>.jar This makes the module available for installation on a remote JACE-4 or JACE-5. Niagara Release 2.3.5 BACnet Integration Reference Published: April 26, 2004 1–9 Step 16 Adding the BACnetService in a JACE station Procedure 1-1 Adding the BACnetService in a JACE station.3. as well its link-layer options. In the Database Backup dialog box. Step 1 Using the JDE. In the summary dialog box. If you are installing modules on a JACE-NX/NP controller. When the installation is complete. you should first specify the BACnet device ID for the station. In the Niagara Remote Installation dialog box. this process takes a couple of minutes. See the next section. 2004 . Step 2 Step 3 Step 4 Step 5 1–10 Niagara Release 2. select nt. select the database to be backed up. Step 7 Step 8 Step 9 Step 10 Note Step 11 Step 12 Step 13 Step 14 Step 15 Click Next. Click Finish. In the Configure Modules dialog box. select emb. scroll down to find the row for the bacnet module and click in the Upgrade/Add column beside it. click the radio button for Configure Modules Only. click OK to continue. Open the Local Library. open the JACE host and select Installation tab. However. b. A dialog box displays each task as it is performed. Right-click the BACnetService and select Copy. expand the bacnet jar to tridiumx/bacnet/services. Click Install. “Configuring Essential Station Properties”. Enter an administrative-level station user name and password. Click Next. This allows Ndio objects in the JACE-4 to be exposed as BACnet objects. click OK.Chapter 1 Installing and Configuring the BACnet Service Getting Started Step 6 Using the Admin Tool. In the Select Distribution Directory dialog box: a. Typically. also select (upgrade/add) the bacxNdio module. If installing in a JACE-4. The service is not effective until the station is restarted. If you are installing modules on a JACE-4/5 controller.5 BACnet Integration Reference Published: April 26. Click Next. A red check mark appears besides bacnet module in Upgrade/Add. Installation Wizard. Right-click the station’s services container and select Paste. In the tridiumx folder. open the station and expand the station’s services folder (to verify the BACnetService is missing). “Instance Number” from the default -1 (disabled) to a unique device number for the BACnet network. and click Apply. the link-layer type(s) to use. set “ethernetEnable” as False. click Apply. and click Apply. For any existing job that already has one or more BACnet routers. Defaults values are BACnet/IP as network 1. Click Apply. On the General. (BACnet/IP requires review of several properties.3. 2004 1–11 . you need to edit these network numbers to match others in use. Save the station database and restart the station.5 BACnet Integration Reference Published: April 26.” a. “Niagara MS/TP Support. Click Apply. it is recommended that you configure essential properties such as its numerical BACnet Device object ID. and BACnet/Ethernet as network 2. simply set “ipEnable” as False. Step 1 Under the station’s services folder. used to specify the BACnet network associated with that link layer. For BACnetEthernet. see Appendix F. and perhaps other items. Procedure 1-2 Specifying essential BACnetService properties. Step 4 Step 5 After reviewing the appropriate changes on all tabs. The valid range for a BACnet network is a unique number from 1 to 65535. Step 2 Note Step 3 Click the appropriate link-layer tab. set the deviceID. and then its Config subtab. enter a value in the “ethernetNetworkNumber” for the BACnet network number in use.Chapter 1 Getting Started Installing and Configuring the BACnet Service Configuring Essential Station Properties Before starting a Niagara station with the BACnet service.” page 1-11. Config tab. If not using BACnet/Ethernet. Valid range is from 0 to 4194302. right-click the BACnetService and select Go > Properties. and are not supported on a JACE-NP or JACE-NX. for example BACnetIP or BACnetEthernet. Note For BACnetIP. BACnet/IP Considerations The address of a BACnet/IP device is determined by the combination of two things: IP address of the device • UDP port number (the default is the hexadecimal number BAC0). also see “BACnet/IP Considerations. This is the BACnet object indentifier for the Device object that externally represents the Niagara station. Set “ethernetEnable” to True. If not using BACnet/IP.) Each of the link-layer type tabs has a network number. For more information. b. Link-layer tabs BACnetMSTP(n) currently apply only to a station in a JACE-4 or JACE-5. • Niagara Release 2. address issues may be encountered. However. nor is it registered with a BBMD on a different (remote) IP subnet—the default setting. enter the BACnet network number in use for other BACnet/IP devices.3. and default subnet mask (255. Subnet and UDP Port You should know the BACnet network number used by other BACnet/IP devices on the network. subnet mask and UDP port. Note that subnetMaskString uses the conventional dotted decimal format. In this scenario.255. In the “ipNetworkNumber” property. Using BBMDs.0) are the appropriate values. based on the selection in the “bacnetIPDeviceType property. The default network number (1) may be used in a new installation. • The udpPortString property requires an “0x” prefix on the hexadecimal value. One (and only one) BBMD is typically required on each IP subnet. a BACnet network using BACnet/IP can span multiple IP subnets.5 BACnet Integration Reference Published: April 26. The BACnetService offers a number of BBMD-related options. the default UDP port (BAC0). for example: 0xBAC1 Click Apply after changing. Otherwise. Typically. BBMD Support In BACnet/IP networks.255. “BBMD Support”. BACnet broadcast-type messages from services like “Who_Is. you should review other BACnet/IP properties first. if part of a “custom subnet.” (and others) are typically “blocked” at standard TCP/IP routers. 2004 • 1–12 . Config tab. other BACnet devices on the same (local) IP subnet (if any) are also likely to be registered as a foreign device with a remote BBMD. BBMDs (BACnet broadcast management devices) are commonly used. However. you might need to edit the appropriate subnet and UDP port properties.Chapter 1 Installing and Configuring the BACnet Service Getting Started Depending on the configuration of other BACnet/IP devices on the BACnet network. Configuration is as either: • none—The Niagara station does not act as a BBMD. You must know the IP address of the remote BBMD. foreignDevice—The Niagara station registers with a BBMD on a remote subnet. Subnet and UDP Port • BBMD Support • Network. they may each alternately register as a “foreign device” with a BBMD on another (remote) subnet. the JACE’s IP address. Step 1 Step 2 On the BACnetIP. Procedure 1-3 BACnet/IP configuration for BACnet network. Set the needed values in the “subnetMaskString” and “udpPortString” properties. See the next section. This “none” setting is acceptable if the JACE resides on an IP subnet that currently has a device operating as a BBMD. • Step 3 Step 4 Step 5 A station restart is needed to become effective. Niagara Release 2. set “ipEnable” to True. If a subnet has only one or a few BACnet devices.” or another UDP port is being used in a BACnet/IP configuration. These issues are divided into two broad areas: Network. “I_Am. A station restart is needed to become effective. If selecting “none. No other BBMD should reside on that subnet.1. use the BACnet services’s BACnetUtility to verify communications. if the BBMD has an IP address of 192. 2004 1–13 . or enter another registrationLifetime value. Make the selection for bacnetIPDeviceType. Niagara Release 2.3. you need to know the IP address of any other (remote) BBMD.Chapter 1 Getting Started Installing and Configuring the BACnet Service • bbmd—The Niagara station acts as a BBMD on its local subnet. Note BACnet/IP properties are covered in Chapter 6. Click Apply. If selecting “foreignDevice” or “bbmd”. Step 3 Note If selecting “bbmd. Either accept this default. leave these properties at defaults. “Configuring BACnetService Properties.168. Verifying Communications With the JACE connected on the network with other BACnet devices. based on the previous information. The station periodically re-registers with the BBMD to maintain its table entry.5 BACnet Integration Reference Published: April 26. enter the known address of the remote BBMD in the remoteBBMDAddress property.” you have finished configuration. its MAC Address is: C0:A8:01:15:BA:C0 You can use the Windows® Calculator to convert the IP octets from decimal. Procedure 1-4 BACnet/IP configuration for BBMD operation. For example. The local BBMD will distribute all broadcast messages to/from the remote BBMDs.” page 6-18. Step 4 If selecting “foreignDevice”. Here again. Step 1 Step 2 Open the service’s property sheet to the BACnetIP. Click Apply.” Refer to “Configuring BACnet/IP Properties. you can specify the length of time that the station registers with a BBMD in its foreign device table with the registrationLifetime property (default value is 900 seconds). default value is null). Note If the JACE is on the same subnet as a BBMD.” configuration is finished. Config tab. Entry format requires all hexadecimal with colons: xx:xx:xx:xx:yy:yy where xx:xx:xx:xx is IP address and yy:yy is UDP port. Step 5 Click Apply after changing.21 and is using the default UDP port (BAC0). The station will automatically copy its BBMD distribution table and update it again among all BBMDs. unique among all devices. Step 2 You can run the WhoIs command with the default options as shown above. • Vendor Identifier—unique number assigned to the vendor for the device. Figure 1-1 WhoIs dialog box. where “both” is best. click OK.3. then device’s BACnet MAC address.org/VendorID/BACnet%20Vendor%20IDs. and then click Execute. Select Category: network. Step 1 Expand the station’s services folder. Currently.Chapter 1 Installing and Configuring the BACnet Service Getting Started Procedure 1-5 Verifying BACnet communications. Each message contains five pieces of data about that device: Device Identifier—(Device object Id number). This opens the BACnetUtility view. After the I-am wait time. you would adjust this up (say. • Wait time for I-Am responses (sec)—The time waited after issuing the command to receive all “I-am” responses from all devices. or change them as follows: Use device instance limits?—Check if you want to limit the device ID address range for the Who-Is message. After issuing the command. and double-click the BACnetService.5 BACnet Integration Reference Published: April 26. 2004 . • Step 3 With options either at defaults or at different values. Default value is 5 seconds. 1–14 Niagara Release 2. • Maximum APDU Length Accepted—maximum APDU length (min.bacnet. or an internetwork with BACnet routers.html • Source Address—lists network number. the WhoIs dialog remains visible for this time period. The default device instance range is the entire BACnet device ID range (0 to 4194302). the utility window shows the message from each BACnet device (Figure 1-2). vendors by number are listed at the BACnet org website at URL: • http://www. A WhoIs dialog appears (Figure 1-1). • Segmentation Supported—Message segmentation. Command: whoIs. Typically. 60 seconds) if a large network with many devices. = 50). Only those BACnet devices within the low limit or high limit should reply (limits are inclusive). “Using the BACnet Utility. Config. and/or delete any or all shadow objects that it creates. Click the tabs General. double-click the BACnetService.5 BACnet Integration Reference Published: April 26. If you examine the whoIs results carefully. This opens the BACnetUtility View. 2004 1–15 . “Using the BACnet Utility. At the bottom of the property sheet is a router table. last field.” for more details on whoIs. Procedure 1-6 Learning a BACnet network (and creating shadow objects). or simply choose to follow this procedure. sourceAddr. You can rerun this procedure (learnNetwork command) whenever needed. Step 1 Using the JDE. Often. you can read Chapter 2. WhoIs Notes When performing a whoIs command.Chapter 1 Getting Started Learning a BACnet Network Figure 1-2 BACnetUtility view. a BACnet device may perform router functions in addition to other “application” duties. open the property sheet for the BACnetService. Refer to Chapter 2. This procedure globally makes BACnet shadow objects in the station for all devices found by the “whoIs” command. the BACnet service will not only learn about devices. shows: n m:m:m:m:m:m where n = BACnet network number m: = BACnet MAC address Issue a whoIs as often as you like—it does not write data to remote devices. and notice a device that has responded with “sourceAddr” data that includes a network number that does not match the network number on the BACnetService’s link-layer tabs (either BACnet/IP or BACnet/Ethernet). in the station’s services folder. Refer to the “Go/No-Go Communications Checklist” section on page A-1 if communications cannot be verified. listing any known BACnet routers (apart from itself). Niagara Release 2. chances are that device is on a remote network. To check. Learning a BACnet Network After verifying BACnet communications. This is true for any Niagara station running the BACnet service with multiple link-layer tabs (networks) enabled. This means that a BACnet router forwarded your “Who-Is” message and the device’s “I-am” response.” to understand the different BACnetUtility commands and how they operate. whoIs command results.3. but possibly also about BACnet routers. with options to “Learn device contents” (create child objects under device objects) and “Use lite objects” (Figure 1-3). Learn commands from the BACnetUtility place created shadow objects in a “BACnetTemp” container in the station’s root.Chapter 1 Learning a BACnet Network Getting Started Step 2 Select Category: network.5 BACnet Integration Reference Published: April 26. the Learn Network command will attempt to create a shadow object for every BACnet object in every BACnet device within the device ID range. it is recommended that you leave the “Learn device contents” option cleared. and select lite objects if wanted. Command: learnNetwork. as shown here. In general. option defaults are recommended (see Tip). Otherwise. The LearnNetwork dialog box appears.” the learn still creates a BACnetDevice shadow object for each discovered device. And if a JACE-403. if BACnet MS/TP is enabled. Also. 2004 .” and modify the collective wait time for receiving I-am messages. applying “instance limits” for the various BACnet object types.3. the learn automatically stops whenever the “maximum 27 BACnet devices” have been learned. and all devices contain only important objects. Figure 1-3 LearnNetwork dialog determines whether child objects are created. and you may easily create more objects than you intended. be aware that only the first 31 devices can be learned on any MS/TP trunk (network)—the learn will skip to another link-layer (network). or stop at this point. If you clear “Learn device contents. See the “learnDevice” section on page 2-9 for more details. 1–16 Niagara Release 2. Tip Unless you are learning a BACnet network with very few devices. and then click Execute. You can then individually learn each device. You can also specify device ID “instance limits. as needed. also automatically created (if not already existing). or you have restricted the device ID range to include only a few devices. If “Learn device contents” was selected. You may wish to abort a learn in progress for these reasons: • • Note It is taking longer than expected. When the learnNetwork command is done. you go with default settings. the status bar at the window’s bottom continues to periodically flash. You may need to adjust this upwards.Chapter 1 Getting Started Learning a BACnet Network Device instance limits are inclusive. This might occur if you are not familiar with the object contents of some BACnet devices. Step 4 When the learnNetwork command has finished. especially if you found that some devices did not reply previously to a whoIs command unless this value was set higher (“Verifying Communications. whereas “normal” BACnet shadow objects contain both “required” and “optional” properties. 101. and so forth. The learn is creating more shadow objects that originally estimated. left). During this time. lite shadow objects for Analog_Inputs do not have alarm limit properties. They are best for devices that contain objects mostly with required properties only. any BACnet objects created (up to the point of the abort) remain in the station database. if you check device limits and enter a low limit of 99 and high limit of 102. 100. Lite objects are similar to standard BACnet shadow objects. An “Abort” button (Figure 1-4) is available. Status bar. shadow objects are also created for all BACnet objects in every device. See Step 4. and 102. Note the default I-am wait time is 5 seconds.3. Niagara Release 2.” page 1-13). and click Apply. When you abort a learn. note that a “lite” object counts towards the licensed limit the same as a “standard” object. and a BACnetDevice object for each discovered device. 2004 1–17 .5 BACnet Integration Reference Published: April 26. a maximum of four devices can be learned—those with device IDs 99. For example.” Abort button. For example. A BACnetDevice object will exist for each BACnet device learned by the utility. However. this may take from several minutes to over an hour. the status bar displays “Network learn complete” (Figure 1-4). as they consume less station resources. Figure 1-4 Status bar updates during operation and ends with “Network learn complete. Note Depending on the number of networked BACnet devices and their contained objects. but contain only “required” BACnet properties. Step 3 Usually (as noted above). The BACnetUtility window updates with progress messages as it creates a BACnetTemp container (Figure 1-3). expand the BACnetTemp folder in the Tree View (Figure 1-5. set enablePolling Object shape changes from cyan to gray. Refer to the the “learnNetwork” section on page 2-6 for more details. • For information on the individual shadow objects created by the BACnetUtility. for related information on BACnetDevice configuration. 1–18 Niagara Release 2. double-click on BACnetDevice to see the child objects created (Figure 1-5. refer to Chapter 3. object commands. Right-click device.” • Notes • Once a BACnet device is learned. This clears the outOfService status for that device object.5 BACnet Integration Reference Published: April 26. This applies if you selected the “Learn device contents” option. In addition. Refer to the “Properties That Do Not Write to the Device” section on page 3-13. the remote BACnet device may require local configuration to authorize these writes.Chapter 1 Learning a BACnet Network Getting Started Figure 1-5 BACnetDevice objects are created in a BACnetTemp container. it is not polled until you right-click on its associated device object in the JDE Workspace and select enablePolling.3. “BACnet Client Operation. 2004 . the writePropertyEnabled property must be set to True in order for any input links. or writes to properties for any of the BACnetDevice object’s child objects to become effective (write to the BACnet device). right). • On the Config tab of the property sheet for any BACnetDevice. Step 5 In the Tree View. Child objects typically appear with a value that was uploaded when the device was learned. This will make one BACnetDevice container object for each device. they are important enough to be assembled here for your convenience. Note this since changed for learned devices. some BACnet devices have been known to contain many objects that are actually “unused. you should set its device’s writePropertyEnabled property value from True to False. This is typically a local configuration matter. along with its “instance limits” feature (if necessary). only some of the objects in any device are of any interest in the station. 2004 1–19 . such that the default value is True. In order to command remote BACnet objects. or to successfully have Niagara write to object inputs. For a related graphic. For more details. In Niagara BACnet releases prior to r2. even for “learned” devices. with all the device objects residing in the BACnetTemp folder. You can then individually learn each BACnetDevice. 1. right-click it. it is recommended that a learnNetwork for most BACnet networks is given without the Learn device contents option enabled (cleared). using the learnDevice command. the writePropertyEnabled property default value was False. find the BACnetDevice in its workspace. Please note that if you have any learned device that you wish to remain read-only from Niagara. or even thousands. a single BACnet device may contain hundreds. To enable polling. processing. Refer to “Properties That Do Not Write to the Device. and select enablePolling. whether learned (typical) or if copied from the Local Library (with edited objectIndentifier). of BACnet objects.5 BACnet Integration Reference Published: April 26. Also.3.3. In addition. and may easily contain 100 or more devices. Usually.4.” page 3-13. the writePropertyEnabled property of the parent BACnetDevice object (Config tab) must be set to True. Important General Facts Although the following topics are explained in full context in various parts of this document. refer to the “learnDevice” section on page 2-9. the remote device (itself) must also permit BACnet writes. Polling is not automatic for any new BACnetDevice object. see the Notes • on page 1-19. because it is typically needed as True. Niagara Release 2. and network traffic is increased.” Shadowing these unused objects is actually detrimental—station resources. Note 2. This is a convenience change. Also.Chapter 1 Getting Started Station Engineering Considerations Station Engineering Considerations BACnet networks are often big. For these reasons. A complete learn (of all BACnet devices and objects) in such a system is typically not desirable. but without any payback. but that value will remain “frozen” unless polling is enabled. and varies from device to device. MultistateOutput) as BACnet objects.” page 3-18. You must individually enable COV usage for each object—and it is recommended that you do this in some order of importance. For more details. The MAC address is the IP + UDP of the BBMD.3. actually sets that object to be “Out_Of_Service” in the remote device. 7. a BACnet device receiving the alarm must be shadowed in the station (as a BACnetDevice). Niagara automatically uses the readPropertyMultiple service for any learned device that supports this service. Otherwise. refer to “Configuring BACnet/IP Properties. refer to “Multistate Object Considerations. In order to allow remote BACnet devices to command or write properties to objects exposed in the station as “BACnet objects. To send alarms. the object will not be exposed. 5. (BACnetDevice included). For more information. our address will need to be added on the third-party’s side manually. 1–20 Niagara Release 2. 4. as devices often “limit” the number of COV subscriptions. If exposing Niagara Multistate objects (MultistateInput. the outOfService flag for any client object. and “BACnet/IP and BBMDs.Chapter 1 Important General Facts Getting Started 3. Also. This increases polling efficiency. 9. 6. For more detailed explanations. providing the device supports it on the server side.” page E-3.5 BACnet Integration Reference Published: April 26.” page 4-5.” you need to define a station user account named BACnet (with proper permissions). Refer to “Allowing BACnet Write Access. you need to remove the zero (0) field from the stateText property (Visual tab) first. 8. refer to “Using COV in Shadow Objects.” page 4-6. Per the BACnet specification. Niagara does not add notification classes of a remote BACnet device. plus the recipientDeviceId must be specified in the BACnetRecipient notification object. Niagara supports subscribeCOV for client objects. 2004 . BBMD is for IP where a Who-Is or learn operation is required over/through routers.” page 6-18. See “BBMD Support” on page 1-12. The following main sections are contained: Opening the BACnetUtility • Using Network Commands – whoIs – whoHas – learnNetwork • Using Device Commands – learnDevice – getAlarmSummary • Manually Adding BACnet Shadow Objects – Adding a Device Object – Adding a Child Object • Opening the BACnetUtility The BACnetUtility is the default JDE view for the BACnet service. Who-Has.CHAPTER 2 Using the BACnet Utility The Niagara BACnet service provides a BACnetUtility View for use in the JDE. This view provides “learn” commands to automate the creation of BACnet shadow objects in the station.5 BACnet Integration Reference Published: April 26. such as Who-Is.3. 2004 2–1 . To open the BACnetUtility in the JDE. including a complete set of the child objects within each device. The utility appears in the Workspace (Figure 2-1). expand the services folder in the Tree View and double-click the BACnet service. Niagara Release 2. and Get Alarm Summary. The BACnetUtility also provides standard BACnet application services. showing the last line of output results from the last command. output results appear in the main window. A right-side scroll bar appears whenever results exceed the main area. After executing any BACnetUtility command. A “Status Line History” window appears.3. showing the results of the first command through the most recent. described below: Execute—Executes the currently selected utility command. To see all command results (since first opening the utility). • • Abort—Applies to “learn” type commands only. Stops any learn in progress. Command selections Action Buttons (see next section) Status Line History (expand control) The BACnetUtility provides two categories of commands you can execute: network—see “Using Network Commands” • device—see “Using Device Commands” • Action Buttons Action buttons appear near the bottom of the BACnetUtility view. 2–2 Niagara Release 2. click the expand control. • Save—Produces a dialog box for you to save the last command results to file. Use MS Word. or a similar programs to work with saved files. 2004 .5 BACnet Integration Reference Published: April 26. including controls to specify any target drive or directory on your PC. Wordpad. use the scroll bar to view items of interest. As needed. Status Line History At the bottom of the BACnetUtility view is the status line.Chapter 2 Opening the BACnetUtility Using the BACnet Utility Figure 2-1 BACnetUtility is default view for BACnetService. showing default settings.Chapter 2 Using the BACnet Utility Using Network Commands Using Network Commands Under the network category. and you may see duplicates using the same number. If you check this option. In the case of misconfiguration. Options The WhoIs dialog provides two types of options: Device Instance Limits • Wait Time for I-Am • Device Instance Limits By default. For example. 51. children. multiple devices may be assigned the same numerical device ID. 2004 2–3 . Note Niagara Release 2. Sections ahead describe WhoIs options and results. the device instance limits option is cleared—the entire possible BACnet device ID range receives the Who-Is broadcast. • The whoIs and whoHas commands work with complimentary I-Am and I-Have services offered by networked BACnet devices. simply enter the same number for low limit and high limit. and 60. 59. By default. if you specify a low limit of 50 and a high limit of 60. If only a single device is wanted. Low and high limits are inclusive. 56. there are three commands available: whoIs—Discovers possible BACnet devices on the network. All of these BACnet services are unconfirmed types. • learnNetwork—Creates shadow objects for devices and optionally. you should receive no more than 11 total responses.3.5 BACnet Integration Reference Published: April 26. • whoHas—Searches for a specific BACnet object by name or object ID. 53. 58. 52. 54. 55. sent to all possible BACnet devices (Figure 2-2). you can enter a low limit and high limit for BACnet devices to respond to the Who-Is. namely for devices with device IDs of 50. 57. whoIs This command is for the BACnet Who-Is service. Figure 2-2 WhoIs dialog box. the station issues a “globally” broadcast Who-Is. device’s BACnet MAC address. especially if MS/TP devices exist or if there are many BACnet routers. 2004 2–4 . In general. • Maximum APDU Length Accepted—The largest PDU.Chapter 2 Using Network Commands Using the BACnet Utility Wait Time for I-Am The wait time applies after you click “OK” (to issue the Who-Is command) before the received “I-Am” results are posted in the BACnetUtility window. a Niagara station sends an I-Am message to respond to Who-Is service requests from other networked BACnet devices. or restart). 1.” “transmit. handled by the device’s BACnet application layer. however. vendors by number are listed at the BACnet org website at URL: • http://www. in bytes. reboot. or perhaps where they are all BACnet/Ethernet or perhaps BACnet/IP. in order of being received. Results Results from the whoIs command display in the utility window. Network number matches that configured on the corresponding link-layer tab in the Niagara BACnet service. a longer wait time is recommended—perhaps 60 seconds or higher. • Segmentation Supported—Whether message segmentation is supported by the device: either “no.” or “both. • Vendor Identifier—Unique number assigned to the vendor for the device. The whoIs command can find all BACnet devices on the network. Niagara Release 2. Figure 2-3 On the server-side. In addition.3.bacnet.html • Source Address—lists network number1. the station sends an I-Am message upon each station startup (power up. BACnet devices that are connected to a single network may not actually “know” their network number.org/VendorID/BACnet%20Vendor%20IDs. The Niagara max APDU is 1500 bytes. Each I-Am message contains five pieces of information about that device: Device Identifier—The object identifier of the “Device” object in the device.” receive. Currently.5 BACnet Integration Reference Published: April 26. The default value of 5 seconds may be sufficient where there are relatively few devices.” where both is best. 2004 2–5 . Figure 2-4 WhoHas dialog allows search by object name or object ID. See Note below. For example. “analog_inpuput: 1. for example. When the service executes.5 BACnet Integration Reference Published: April 26. “device: 14. For example.” • Object Identifier—The object identifier of the target object in that device. it returns an I-Have message from any networked BACnet device that meets the search parameters. Note If searching by object name. In addition. If by object ID. Using this command.3.” • Figure 2-5 Example WhoHas results. the I-Have service in a Niagara station responds to a Who-Has-by-name search request only if the object’s swid is given. Check device instance limits only if you want to limit the Who-Has search to a range of devices. the exact name is needed. Each I-Have message returns three pieces of information from that device: Device Identifier—The device object’s identifier. Select search either by object name or object ID. 5 to 15. “ExhDamper1. you can search networked BACnet devices for specific objects by name or by object ID (combination of object type and instance number).Chapter 2 Using the BACnet Utility Using Network Commands whoHas This command launches a dialog box to set parameters for the BACnet Who-Has service (Figure 2-4). Devices respond using the I-Have service. note the name is case-sensitive and must be complete (no wildcard characters). you must select an object type and a specific instance number. You can further request that only devices within a certain device ID-range respond to the Who-Has request. Includes object type and instance number. If by name.” • Object Name—The object’s BACnet name. Niagara Release 2. For example. Typically. 2004 . you should also configure each BACnetDevice object. it is not polled until you right-click on its associated device object in the JDE Workspace and select enablePolling.Chapter 2 Using Network Commands Using the BACnet Utility learnNetwork The learnNetwork command provides a “single-click method” to create BACnet shadow objects in the station for all currently communicating BACnet devices. see “Device Instance Limits.5 BACnet Integration Reference Published: April 26.3. Wait time to receive all I-Am messages. Learn device contents creates all objects under every device. Device Instance Limits narrows range of devices to learn. BACnet routers. For step-by-step instructions. Default is all possible devices (up to 4194302 devices). etc. However. Figure 2-6 User dialog for LearnNetwork command.” page 1-15. • • 2–6 Niagara Release 2.” page 2-3 • Note The default LearnNetwork dialog is shown in Figure 2-6. by device instance number. and omit all optional properties. Default is 5 seconds—adjust upwards if many devices. This clears the outOfService status for that device object. Notes • Once a BACnet device is learned. • Variations of the above for any range of devices. • If creating child objects. • Both devices and all their contained (child) objects (“Learn device contents”). Refer to the “BACnetDevice Notes” section on page 3-11 for more information. You can select LearnNetwork to create shadow objects for: Only BACnet devices. Then use Use lite objects applies only if learning device contents. If you move a BACnet device object from the BACnetTemp folder. Recommendation is to leave this cleared. refer to “Learning a BACnet Network. which is the default and recommended setting. These objects expose only BACnet-required properties. This works as in the whoIs command. you can still use the learnDevice command from the “device” Category. the “learn device contents” option of LearnNetwork has no further effect on it. before shadow object creation process starts. to create only “Lite” objects. If “Use lite objects” was selected. A Who-Is request looks for all BACnet devices within the specified range. BO. BACnet shadow objects for all AI. Each unique I-Am response received represents a single BACnet device. Note If the learnDevice encounters a “device limit. BI. values remain static until you give the parent BACnetDevice object an “enablePolling” command. However. 2004 2–7 . A device object for each newly-discovered device is created in BACnetTemp. a BACnet device object for device 14 already existed.” which may occur after 31 devices are learned for an MS/TP trunk.3. and MSV objects are created under each BACnet device object. 4. Figure 2-7 Example learnNetwork with options cleared (not learning devices). AV. a message similar to the following is displayed: “Unable to create shadow object for device <deviceName> [deviceId]. MSO. BV. If instead you ran learnNetwork and included learning device options. AO. a folder called BACnetTemp is created (if not already existing). Object properties are uploaded. or for 27 total BACnet devices if a JACE-403. Properties for each BACnetDevice object are uploaded. If BACnet devices are discovered that do not already have a corresponding shadow object. executed in this manner: 1. 3. “lite” versions are created. b. you would get a return similar to one shown in Figure 2-8. Examples As shown in the example above.Chapter 2 Using the BACnet Utility Using Network Commands How it Works The learnNetwork command performs a number of actions. If “Use lite objects” was cleared. where: a. addr <address> due to device count limitations” When doing a learnNetwork command but not learning devices. 2. you would get a return similar to the following. In this particular case.5 BACnet Integration Reference Published: April 26. Niagara Release 2. MSI. If “LearnDevices” was selected. along with a value and status (at time of shadow object creation). no device child objects were created. full versions are created. For more information on the learn device utility. you can cut and paste devices from the BACnetTemp container to a new container you have created for a particular BACnet network. For information about shape information for child shadow objects. refer to “Shape Information.Chapter 2 Using Network Commands Using the BACnet Utility Figure 2-8 Example learnNetwork with “Learn device contents” option selected.” page 2-9. 2–8 Niagara Release 2. 2004 . where you can perform the learnDevice command on each device.” page 3-16. Note If you click Abort during a learnNetwork. located on network 85. In the case of a BACnet internetwork (multiple networks) you may find this information useful. as shown in Figure 2-9. The object shape (glyph) for each BACnetDevice shows both the associated BACnet network number as well as the device’s instance number. For example. located on network 11. all BACnet objects created up to that point remain in the station database. BACnetDevice Shape Information This BACnetDevice object shadows BACnet device 103 named “device_103”. Figure 2-9 BACnetDevice shape in JDE shows network and Device instance numbers.5 BACnet Integration Reference Published: April 26. This BACnetDevice object shadows BACnet device 501 named “Btest19”.3. see “learnDevice. Figure 2-10 LearnDevice popup dialog to set Learn Device options.5 BACnet Integration Reference Published: April 26. From the Device drop-down list. and click Execute. • Procedure 2-1 Using the learnDevice command. 2004 2–9 . Step 1 Step 2 Step 3 Start the BACnetUtility by double-clicking on the BACnet service. In addition. This is a standard BACnet application service. The LearnDevice popup dialog appears (Figure 2-10). You can run the learnDevice command even if the device was previously learned. you can select BACnet shadow objects to be either full or Lite types.Chapter 2 Using the BACnet Utility Using Device Commands Using Device Commands Under the Category device. there are two commands available: learnDevice—Creates child shadow objects for the selected BACnet device. From the Category drop-down list. Only devices with BACnet device shadow objects created with learnNetwork (or that were manually added from the Local Library) will appear in the list. • Instance number limits should be used. click the target device. • learnDevice As with the learnNetwork command’s Learn Device option. available for each object type. • getAlarmSummary—Returns a list of object identifiers in the device that are currently in an alarm state. select device.3. Verify the Command drop-down list shows learnDevice. Step 4 Niagara Release 2. you can specify whether or not: Existing shadow objects should be re-uploaded (overwritten in the station). you may know that for a particular device. This is one strategy to avoid having objects unavailable in the device container workspace.) between numbers or ranges. If you do not define instance limits for that portion. these other fields in the dialog become active: – Object type – Instance Number Range – Configured Types (read-only) If left cleared. only objects of interest are learned. this option is cleared. existing shadow objects in the station are recreated (in addition to any new objects). skip ahead to Step 7. • Wait time for device I-Am response (sec)—Default is 5 seconds. needlessly consuming both station resources and your time. Here. a learn would probably create objects you would then have to delete. a device may contain 1000 Analog_Value and 1000 Binary_Value objects. following these substeps. full versions of shadow objects are created. although they would be visible in the Tree View. 2004 . • Note The need for instance limits depends on a number of factors. depending on a number of factors. the only objects of interest are Analog_Inputs in the instance range from 5 to 20. For example. For example. Step 6 As needed. • Use lite objects—If checked. From the Object type drop-down list. If cleared. • Use instance limits—By default. and cut and paste groups of learned objects (as needed) into them. In the Instance Number Range field. type a number range or ranges. although only a small portion are actually used. 2–10 Niagara Release 2.3. For the example device with 2000 objects. You would also see only a small portion of the objects in the workspace of the BACnetDevice. You may wish to adjust this upwards if the device is reached through a router. you could create sub-containers under the BACnetDevice. select or clear the LearnDevice options: Upload existing objects—If checked. Without instance limits. b. and Binary_Outputs instances 1 and 2. in order to have adequate allocation of client objects among devices. When engineering a station. Instance limits are useful when a device contains an extraordinarily large number of BACnet objects. Analog_Values under instance 10. By specifying these instance limits (and “none” for other object types) before executing the learn. for any device you can rerun learnDevice with different instance limits as many times as needed. Furthermore. only new shadow objects are created. select an object type. Lite shadow objects are created. If checked. set the instance limits needed for each object type in the device. Use a hyphen (-) in a range and a comma (. learnDevice will create shadow objects for all object instances.5 BACnet Integration Reference Published: April 26.Chapter 2 Using Device Commands Using the BACnet Utility Step 5 As needed. a. learn time without instance limits could easily take from 3 to 4 minutes to much longer. If cleared. you typically wish to limit the creation of shadow objects among devices. if needed. Note d. You can also enter none. Type the instance limits needed for the selected object type. 14. 4. all object types will show all. 205.Chapter 2 Using the BACnet Utility Using Device Commands For example: 1-5. 2004 2–11 . You see a final summary of instance ranges when you click OK. 3. Repeat. click OK. c. Step 7 When options are set as needed. 16. for any object type—this removes instance limits for that type. 2. 206. You can re-enter all. if needed.3. Niagara Release 2.19.12-16. hitting ENTER when done. starting again at step a for each object type requiring instance number limitations. to prevent the learning of that particular object type. showing instance limits (Figure 2-12). If you are not using instance limits. 12.5 BACnet Integration Reference Published: April 26. 15. but only enters the range. as necessary. The “LearnDeviceContinue” popup displays. The object type’s abbreviation will appear in the “Configured Types” field. You must press ENTER to enter the instance range for any object type—note that this does not trigger the learn. and 207. 19. Press ENTER to configure this instance range for the selected object type. 13. 5. The default instance range for any object type is all.205-207 specifies object instances 1. as shown in Figure 2-11. Use the ENTER key after setting instance limit range(s) for each object type. Note Figure 2-11 Use the drop-down control to select each object type that requires instance limits. Abbreviations for all object types that have been assigned instance limits appear in Configured Types. 5 BACnet Integration Reference Published: April 26. As LearnDevice operates.” if not previously checked. • Figure 2-13 LearnDevice results display in the BACnetUtility window. or • To set or change any instance limits. 2–12 Niagara Release 2. creating shadow objects as defined. all possible object types show “all. click Back.3. click Finish. 2004 . Finish launches the LearnDevice routine. Back returns you to the LearnDevice dialog.” as shown here. To start LearnDevice. results display in the utility window (Figure 2-13).) Follow Step 6 to apply instance limits by object type.Chapter 2 Using Device Commands Using the BACnet Utility Figure 2-12 LearnDeviceContinue popup lets you review what objects can be learned. (You may need to check “Use Instance Limits. where you can adjust instance limits as needed. If instance limits are not used. for each object type. select “Use instance limits” and enter none for the Instance Number Range. but Niagara-related properties such as description and executionParameters remain unchanged. The device is queried and the results appear in the utility window (Figure 2-14). If you want to exclude any object type(s). select and cut the existing lite ones from the station database. From the Device drop-down list. From the Command drop-down list. From the Category drop-down list.Chapter 2 Using the BACnet Utility Using Device Commands Notes • The learnDevice command works regardless of where the device shadow object is located in the station database (does not need to be in BACnetTemp).5 BACnet Integration Reference Published: April 26. click getAlarmSummary. Instance limits does not affect any existing shadow objects that do not fall into the entered number range. • • • • getAlarmSummary The getAlarmSummary command returns a list of object indentifiers in a device that are currently in alarm. Only devices with BACnet device shadow objects created with learnNetwork (or that were manually added from the Local Library) will appear in the list. are not converted to full objects even if “Upload existing objects” is selected and “Use lite objects” is not. and then rerun the learnDevice command. Step 1 Step 2 Step 3 Start the BACnetUtility by double-clicking on the BACnet service. You can use this command on any BACnet device on the network that has a device shadow object (regardless if it has child shadow objects). If you need full versions. Procedure 2-2 Using the getAlarmSummary command. 2004 2–13 . Object links also remain unaffected.3. When existing shadow objects are uploaded. Existing lite shadow objects in a device. device-resident properties are relearned. Step 4 Niagara Release 2. select device. if any. click the target device. as needed. and click Execute. Chapter 2 Manually Adding BACnet Shadow Objects Using the BACnet Utility Figure 2-14 The getAlarmSummary command queries the device for active alarms. For this reason. • Acknowledged Transitions—The value of the object’s Acked_Transitions property. you can use the network command “whoHas. • Alarm State—The current value of the object’s Event_State property.3. However.” Adding a Device Object • Adding a Child Object • 2–14 Niagara Release 2.” and search on the appropriate “object Id”. To do this. “Configuring BACnet Alarming.” for more information. you need to copy the objects to the station database from the Local Library. you will need specific details about the BACnet objects for correct communications and operation. manual addition of shadow objects is not typically done. However. Results show three pieces of data for any object currently in an alarm condition: Object Identifier—The object type and instance number. • Notes Object names are not returned by the BACnet GetAlarmSummary service. A “missing” transition means an acknowledgement is still pending. 2004 . Writable input objects provide a linkable input that allow you to simultaneously override the object’s present value and set it to “out_of_service. These details are automated by the learn commands. limiting the device instance high and low to the target device. you can manually add BACnet shadow objects (Device and various child objects) to the station. • Manually Adding BACnet Shadow Objects As an alternative to using the BACnetUtility learn commands. • A Niagara station can also generate and receive (and reformat) BACnet alarms.5 BACnet Integration Reference Published: April 26. in order to see the object name. Refer to Chapter 5. except for the “writable” types of input objects—these objects must be added manually. then Yes (you wish to upload). You can use its objectName (or some portion). Right-click the object and select Go > Properties to open its property sheet. you will receive an error message and the object will not be created. This scenario might come up if adding more devices on the same BACnet MS/TP trunk than allowed in the license.” page F-18. or whenever 27 total BACnet devices already exist in a JACE-403 station database. this is the unique logical address for the device on the BACnet network (or if multiple networks. You can put the device object wherever it logically makes sense. which should populate the object’s address property value with the correct MAC Address. you must know the instance number of its Device object. expand the database to select the target container. • • After you add a BACnetDevice. right-click on BACnetDevice. You can give the enablePolling command to clear this status. This automatically causes a network command whoIs. Step 5 Step 6 Step 7 Step 8 Notes Typically. If adding a BACnetDevice object that represents an MS/TP slave device. Instance Number”. and select Copy. The status bar (at the bottom of the window) updates with upload progress data. Be aware that if attempting to add a device object where the allowed limit of BACnetDevices already exist. and combine it with instance number. refer to “Working with Slave Devices.” by default.Chapter 2 Using the BACnet Utility Manually Adding BACnet Shadow Objects Adding a Device Object To manually add a BACnet device shadow object. you must also enter its network number and MAC address (in hexadecimal). and the LearnDevice command is available. “Alerton3_AHU1. Expand the objects folder.” • A newly-added BACnetDevice object is “outOfService. you would rename a manually created BACnetDevice object. Procedure 2-3 Adding a BACnetDevice object. Right-click and select Paste. Edit the Config property “objectIdentifier. to the correct value. You can verify the upload by looking at various Config properties of the object.5 BACnet Integration Reference Published: April 26. if needed—for example. Step 1 Step 2 Step 3 Step 4 Working in the Tree View of the JDE. which should have values.3. Select upload from the Commands menu. • • Niagara Release 2. for example. 2004 2–15 . across the entire BACnet internetwork). Expand the /niagara/<release>/tridiumx folder to reveal the bacnet jar file. Essentially. This also causes any child objects created for the device to be immediately polled. open the Local Library. it appears in the BACnetUtility under the drop-down list of Devices. objectName and vendorId. In the station database. For more details. 3. right-click and select Paste. there is a risk of mismatched types and/or instance numbers. In the target container in (or under) the appropriate BACnetDevice.Chapter 2 Manually Adding BACnet Shadow Objects Using the BACnet Utility Adding a Child Object To manually add a BACnet shadow object for a device. open the Local Library. which should have a value. d. The numeric “instance number” (Object_Identifier) for that object. press CNTRL-V (this pastes the copied objectName into the Rename dialog). Step 5 Step 6 Step 7 Note In general. The type of BACnet object to be shadowed. Open the object’s property sheet and edit the Config property: objectIdentifier. When adding objects manually. or in the WorkPlaceEditor view of this container. it is recommended that you use the BACnetUtility “learn device” commands rather than manually adding shadow objects. right-click. Press OK. Expand the /niagara/<release>/tridiumx folder to reveal the bacnet jar file. Expand the objects folder. Highlight the object in the Tree View (or select it in the WorkspaceEditor of the BACnetDevice container). b. Select upload from the Commands menu. 2–16 Niagara Release 2. and select Rename. then Yes (you wish to upload). and select Copy.5 BACnet Integration Reference Published: April 26. c. The status bar (at the bottom of the window) updates with upload progress data. You can verify communications by looking at the object’s Status property presentValue. With the current name highlighted. Instance Number. After uploading the object. Adding a child object. Press CNTRL-C to copy the name to the Windows clipboard. 2004 . right-click on the object needed. Available shadow object types in the Local Library include both “lite” and “full” versions of these types: • AnalogInput • AnalogOutput • AnalogValue • BinaryInput • BinaryOutput • BinaryValue • MultistateInput • MultistateOutput • MultistateValue • MultistateValuePriority • AnalogInputWritable • BinaryInputWritable • MultistateInputWritable • AnalogValuePriority • BinaryValuePriority 2. you should rename it to match the BACnet object being shadowed in the device (this is automatically done when adding objects using “learn device” commands in the BACnetUtility). Procedure 2-4 Step 1 Step 2 Step 3 Step 4 Working in the Tree View of the JDE. a. To rename the object: On the Config tab of the object’s property sheet. you first need to determine: 1. highlight the objectName. 5 BACnet Integration Reference Published: April 26. these objects act as the interface to a station’s BACnet client operation. 2004 3–1 .3. • Niagara Release 2. Essentially. explained below. • BACnet objects (children)—Can reside only under a BACnetDevice object. Each represents an individual BACnet device.CHAPTER 3 BACnet Client Operation As previously mentioned. The entire collection of BACnet shadow objects can be divided in 2 classes: BACnetDevice object—A container that can reside anywhere in the station database. BACnet shadow objects have common characteristics. remote BACnet objects are modeled locally within a Niagara station as “shadow” objects. There are 15 types available. including input and output link access. The following main topics are explained ahead: About BACnet Shadow Objects – About Lite BACnet Objects – About Writable Input Objects • BACnet Integration Objects • – – – – – – – – – – BACnetDevice BACnetAnalogInput BACnetAnalogOutput BACnetAnalogValue BACnetBinaryInput BACnetBinaryOutput BACnetBinaryValue BACnetMultistateInput BACnetMultistateOutput BACnetMultistateValue – – – – – – BACnetAnalogInputWritable BACnetAnalogValuePriority BACnetBinaryInputWritable BACnetBinaryValuePriority BACnetMultistateInputWritable BACnetMultistateValuePriority About BACnet Shadow Objects BACnet shadow objects provide station access to BACnet objects in networked devices. with 2 versions of each type (full or lite). If the object is a type with a priorityArray input (AO. MSVP). They are indicated on property sheets by an “{F}” in the property label: covIncrement {F} <value> • • A few of these “{F}” properties are also persistently stored in a Niagara station. 1.Chapter 3 About BACnet Shadow Objects BACnet Client Operation Property Types Each BACnet child (data) object has a polled property. BO. For any BACnet object of interest.” page A-2. BVP. “statusOutput. Many of these properties are persistently-stored by the BACnet (foreign) device.” that appears on the object’s shape. AVP. On Demand Transient Apart from statusOutput and priorityArray. 3–2 Niagara Release 2. either as right-click or JDE menu bar commands. An “uploadAll” command (at the device level) can also be used. a fetch command will be necessary. These properties are “description. MSO. Notes • After a station restart. a “fetch” command (or “upload” command) is necessary to refresh these values. statusOutput reflects statusFlags by color in Niagara. the on_demand_transient properties will show default values (0. as shown in Figure 3-1. whereas an upload does. This ouput represents current values polled1 from the source object’s properties statusFlags and presentValue.5 BACnet Integration Reference Published: April 26. when each object was initially created in the station. Child objects using COV have statusOutput updates from COV notifications. the source object’s priorityArray property is also updated through polling. These property values are captured in any upload (from the device to Niagara). most other properties of BACnet shadow objects are considered “on_demand_transient” types in Niagara. An upload occurs automatically whenever a device is “learned.” “units” (for analog types) and “stateText” (for multistate types). An “uploadAll” command is also available at the device-level. These properties are the principle difference between a fetch and an upload. Figure 3-1 Each statusOutput (sOut) property is a polled (“{P}”) property. A fetch does not replace these values in the station. 2004 . both for object shape and statusOutput. See “Object Color and Status.0 or false). but are not stored in the station database.” “objectName. Provided that polling is enabled (at the parent BACnetDevice level). These commands are available at the individual object-level. statusOutputs of child objects continuously update.” that is. Following this initial upload.3. You can use these writable objects in place of the “standard” equivalent input objects. Notes • Object descriptions given in sections ahead (for the different types of BACnet shadow objects) do not include separate sections for the Lite objects. Lite objects have “-Lt” after type abbreviation inside object shape. Then open the property sheet for a representative shadow object. resolution). clearing the option “Use lite objects”.5 BACnet Integration Reference Published: April 26. those properties not included in Lite objects are noted as “not Lite objects. • • About Writable Input Objects Starting in Niagara r2.4. For any type of shadow object. 2004 3–3 . Starting in Niagara r2. Any “read failed for property <propertyName>:unknown-property” entries indicate that these optional properties are not implemented in that device. Tip If in doubt. BinaryInput. and occasionally an isolated configuration property (for example.3. Full objects show the type abbreviation. there is no difference in inputs and outputs (or object shape) between its full version and its Lite version. For example: AVP-Lt MSI-Lt and AO-Lt.4. and click the Fetch button.3. Click the pointer in the lower-right corner to open the Status Line History. including errors. Figure 3-2 Lite object shapes include the text “-Lt” after the object type abbreviation. and few (if any) “optional” properties. The status bar at the bottom of the window shows updates.” Lite objects are the best choice for a device that contains objects with only required properties.Chapter 3 BACnet Client Operation About Lite BACnet Objects Lite shadow objects include only “required” properties for that BACnet object type. but without “-Lt. This creates full BACnet shadow objects. and MultistateInput objects are available for manual copy and paste from the Local Library (Figure 3-3). use the BACnetUtility to “learnDevice”.” There is no Lite version of a BACnetDevice object. Instead. Both “full” and “lite” versions of these objects are available. “writable” versions of BACnet AnalogInput. Usually. optional properties relate to event (alarm) detection. Niagara Release 2. each Lite object appears in the JDE Workspace with extra “-Lt” text in the object shape to differentiate it from a full object.3. ” as shown below. see “Manually Adding BACnet Shadow Objects. Then the AO’s outOfService property is set to “True.5 BACnet Integration Reference Published: April 26. Figure 3-4 Writable input objects respond to an “out_of_service” statusInput. However. the linked AO is first commanded to a value (in this case “123” ). Input value is ignored if input is not out_of_service. 3–4 Niagara Release 2. and its own statusFlag is set to out_of_service.” page 2-14. See Figure 3-4 for an example. 2004 . writable objects have one important addition: a linkable statusInput that allows you to “force” the target object to a Niagara value with an “out_of_service” status. Use of this feature is expected to be atypical. Here. For more information on manually adding objects. perhaps for early commissioning or application testing. Whenever this input value returns from an “out_of_service” state. the writable input BACnet object uses the input value as present value. the input value is ignored and the source object is under local device control. Writable input types operate exactly like “normal” input objects. linked to another object. While its statusInput is out_of_service.3. Writable input object.Chapter 3 BACnet Client Operation Figure 3-3 Writable input objects must be copied from the bacnet JAR in the Local Library. Covered first are details on the BACnetDevice object. or is a different number if a remote network. 1. located on network 11. under which BACnet (child) shadow objects can exist (either directly. Right-click commands for these objects are also explained. then properties common among all (child) BACnet shadow objects. Niagara Release 2. However. Matches network number1 on the service’s link-layer tab if a local network. • In addition (if the object was created by the learnNetwork command). the name of the object is the Device object’s name. plus the sum of all child object resource counts. • Dev n—Unique instance number of that device’s Device object.5 BACnet Integration Reference Published: April 26. Default Resource Count: 78 to 107. This is a container object. Inputs Default Object Shape Outputs All Used Inputs / Outputs Inputs (not shown): executeTrigger Outputs systemStatus deviceDown Input/Output Property Reference for BACnet Device Object (only input and output types.Chapter 3 BACnet Client Operation BACnetDevice BACnet Integration Objects This section provides descriptions of all the BACnet shadow objects. 2004 3–5 . which must be unique across all possible interconnected BACnet networks. it shadows the BACnet Device object in that device. Figure 3-5 BACnetDevice shape in JDE shows network and Device instance numbers. The BACnetDevice can be pinged by the BACnet service to determine if the device is still communicating. Specifically. This BACnetDevice object shadows BACnet device 501 named “Btest19”. see Table 3-1 for all properties) Type input output Label exe system down Property Name executeTrigger systemStatus deviceDown Data Species TriggerType BACnetDeviceStatusEnum BooleanStatusType Shape Information Numbers (n) inside the BACnetDevice object shape (Figure 3-5) reflect as follows: Net n—BACnet network number.3. This BACnetDevice object shadows BACnet device 103 named “device_103”. or in other containers such as PollAlways and PollOnDemand). devices do know their device instance number. BACnetDevice • BACnet objects (children) • BACnetDevice abbrev: Device n The BACnetDevice object is the Niagara shadow object representing a remote BACnet device. BACnet devices do not typically “know” their BACnet network. unless they have router functionality (such as Niagara station). located on network 85. status.value = 4 devStatOut. Refer to “Configuring Device Status/Ping. (TRIPL program code used for this Program object): //Example for systemStatus to IntegerStatusType input BACnetDeviceStatusEnum deviceStatusIn output BACnetDeviceStatusEnum deviceStatusOut output IntegerStatusType devStatOut deviceStatusOut = deviceStatusIn if deviceStatusIn == "operational" devStatOut.inAlarm = false elseif deviceStatusIn == "download_required" devStatOut.) Can be connected to control logic for fallback schemes.status.value = 2 devStatOut.” page 6-15. • systemStatus—An output.inAlarm = false elseif deviceStatusIn == "download_in_progress" devStatOut.status.value = 0 devStatOut.” • Typically. This output reflects the value of the BACnet Device object’s System_Status property. Figure 3-6 Program object Program object linked to the systemStatus output of a BACnetDevice object.3.value = 1 devStatOut.inAlarm = false elseif deviceStatusIn == "operational_read_only" devStatOut. A device object set to “pollingDisabled” (cyan) or that is “down” (yellow) will not have an accurately reflected systemStatus. See Figure 3-6 for an example.value = 3 devStatOut. as shown here. 3–6 Niagara Release 2. using data species BooleanStatusType.inAlarm = false elseif deviceStatusIn == "non_operational" devStatOut. a Program object can be used to convert the BACnetDeviceStatusEnum input and produce an output using another Niagara data species. the systemStatus output is linked to a StringLog object (set to log on change-of-value) and/or a GxText object to display current device status. • The device status ping automatically marks a BACnetDevice as “down” whenever the received response is “non-operational.status. (All child objects and their outputs are “down” in this state. 2004 . Remains active (true) while the BACnet device status/ping mechanism detects the device is down. if desired.inAlarm = true endif BACnetDevice object Note: The BACnetDevice object must be enabled for polling (gray).5 BACnet Integration Reference Published: April 26.Chapter 3 BACnetDevice BACnet Client Operation BACnetDevice Links The BACnetDevice object has three linkable properties: executeTrigger—An input that is rarely (if ever) used.status. If the device’s systemStatus is needed as part of a control scheme. as one of the following: – operational – operational_read_only – download_required – download_in_progress – non_operational • deviceDown—An output. using data species BACnetDeviceStatusEnum. • Notes Updates to systemStatus and deviceDown outputs require device status/ping to be enabled. again not applicable) entered in the Command Arguments dialog box. • BACnetDevice Properties Table 3-1 lists important properties for the BACnetDevice object. The following right-click commands are available: These commands require user security privileges of “Command. However.3. and updates them in the station’s shadow objects. position. Note • • • • • • • When using the JDE. • readPropertyMulitple—Uploads only the specified properties (default is presentValue. upload—Uploads on_demand_transient and foreign_persistent-type object properties from the Device object.Chapter 3 BACnet Client Operation BACnetDevice BACnetDevice Commands The BACnetDevice object provides numerous right-click commands in the JDE Workspace (or when accessed using a Web browser through a linked Gx object). Results are sent to the station’s Standard Output. enablePolling—Starts the periodic polling of all contained BACnet shadow objects. not applicable for a device). Std. The device object’s statusFlags property is set to outOfService and the Engineering property pollingEnabled is set to False. downloadAll—Downloads on_demand_transient and foreign_persistent-type object properties from the station’s shadow objects (device and all child objects) to the device’s BACnet objects. Uploaded properties are updated in the object’s property sheet. For example: apduTimeout.location. Requires the Niagara property name. Niagara Release 2. the following additional right-click commands are available for the BACnetDevice object: readProperty—Uploads only the specified property entered in the Command Arguments dialog box (default is presentValue. and securityGroups.” fetch—Queries the device and updates all on_demand_transient-type object properties for this device object. The outOfService flag is cleared from the object’s statusFlag property and the pollingEnabled property is set to True.systemStatus. such as executionParameters. apduTimeout. These properties are in addition to the standard Niagara properties common among all object types.) for a delimiter between properties. Requires use of Niagara property names. all contained BACnet objects continue processing. uploadAll—Uploads on_demand_transient and foreign_persistent-type object properties from the Device object and all of the device’s (child) BACnet objects. getAlarmSummary—Equivalent to the same command in the BACnetUtility. The property is updated in the object’s property sheet. disablePolling—Stops the periodic polling of all contained BACnet shadow objects. using a comma (. 2004 3–7 . for example. The device must support the ReadPropertyMultiple service.5 BACnet Integration Reference Published: April 26. and updates them in this shadow object. the exact meaning of these states (and how they affect the BACnet services of the device) are left as local matters. address. 1 to 4194302 (BACnet max) false: {ok}. • • • • • operational (the default) operational_read_only download_required download_in_progress non_operational Status Available as a linkable output.3. Always BACnetDevice • ok—Polling is enabled. MAC Address depends on the link-layer used by the BACnet service (Ethernet. in hex • IP address and UDP port. See descrip. Object Type Instance Number objectName Read Only and Read/Write: Object Type field is read-only.5 or later Niagara host. and that the device object is set to “pollingEnabled” (object is gray). outOfService. or a response “non_operational” was received. deviceDown Read Only: Remains true (Down) while device status pings go unanswered. a number from 1 to 253. valid MAC address 0. or if the systemStatus response is “non_operational. Tab Property Name objectType statusFlags Description Read Only: The BACnet object type. — systemStatus See descrip. 2004 . in hex • If MS/TP device. Ensure that the “deviceStatusDisabled” property of the BACnet service is set to False. Network Number matches one on one of the enabled link-layer tabs in the BACnet service (local network). important properties. Down false (ok) Available as a linkable output. — — Note: If another r2. the network number will be a different number. • Ethernet adapter MAC address. Note: Property updates require device status pings from the BACnet service. As stated in the BACnet spec. IP. and is either: 0 to 65534. including spaces and mixed case characters. Any printable characters. MAC Address Read/Write: (Values typically are defined automatically in the learnNetwork utility). • down—The device status ping mechanism cannot detect the device. objectIdentifier. using the BACnetDeviceStatusEnum data species. as one of the following: See descrip. device <integer>.Chapter 3 BACnetDevice BACnet Client Operation Table 3-1 BACnetDevice object.5 BACnet Integration Reference Published: April 26. as one of these: Valid Values BACnetDevice (appears in braces { }) ok. description Read/Write: User-defined text descriptor for the device. Network Number. • outOfService—Polling is disabled. using BooleanStatusType data species. A device object set to “pollingDisabled” (cyan) or that is down (yellow) will not have an accurately reflected systemStatus or deviceDown state.” Same note as above applies. on the far side of a BACnet router. Network Number defines the network connection to a BACnet router. device -1 Instance Number must be unique across the internetwork of BACnet devices.3. MS/TP). down Default see Notes Notes The default for a newly learned (created) BACnetDevice object is {outOfService}. that is. Uploaded from device. See Figure 3-6 for an example. Not a BACnet property for a Device object. null Typically. and is “device. 3–8 Niagara Release 2.” Instance Number is read/write (integer) and defines the Device object instance number. Read Only: The Device object’s name. is “<stationName>_<instanceNumber>” Config. If on a remote network. Read Only: Current BACnet device physical and/or logical state. Read Only: Current Niagara state of the shadow device object. 5 BACnet Integration Reference Published: April 26. cont protocolServices Supported — 1 1 to 6 — 0 0 See the BACnet spec for more details. for transmit and receive.Chapter 3 BACnet Client Operation BACnetDevice Table 3-1 BACnetDevice object. assigned by the vendor. Many types possible. important properties. Read/Write: Defines the number of minutes between local standard time and Universal Time Coordinated Read/Write: Defines whether daylight savings time is in effect at the device’s location.org. Read Only: Defines the maximum number of octets that can be contained in a single. Read Only: Text descriptor that can be used to describe the device’s physical location. A drop-down list shows the supported types. 2004 3–9 . Read Only: Defines the version of BACnet protocol supported by the device. and properties supported. by conformance class number. Read Only: Defines which standardized BACnet services the device supports. Read Only: Defines the minimum set of services. Read Only: Text descriptor for the application version. — protocolObjectTypes Supported maxApduLength Accepted segmentation Supported Read Only: Defines which standardized BACnet objects the device supports.3. daylightSavings Status False Niagara Release 2. integer False. A drop-down list shows supported services. — — — — — — modelName firmwareRevision application SoftwareVersion location protocolVersion protocol ConformanceClass Config. Valid Values — Default Notes Refer to the BACnet vendor ID information at www. See Figure 3-8. Minimum of 50 — 0 See the BACnet spec for more details. Read Only: The numeric identifier unique to the vendor. Read Only: Determines if message segmentation is supported. See Descrip. Read Only: Text descriptor assigned by the vendor to define the model of the device. Read Only: Text descriptor for device firmware revision. Niagara supports message segmentation. typically assigned by the device’s application programmer. and if so. Possible values are: Many types possible.bacnet. True 0 See the BACnet spec for additional details. A station running the BACnet service (currently) is class 3. Use this information to set the 2 “supported” config properties (Figure 3-9) accordingly. indivisible APDU. (continued) Tab Property Name vendorName vendorId Description Read Only: Text descriptor for the manufacturer of the device. See Notes • • • • utcOffset segmented_both segmented_transmit segmented_receive no_segmentation -780 to 780. objects. See Figure 3-7. defined in milliseconds. localTime Read-Only: The time as local in the device. Delays added this way append to the overall poll cycle time. Automatically set to True if device was learned (learnNetwork). 0 to 127 1 Jan 1970 -1 These property values can be fetched or uploaded from the device. — 3000 numberOfApdu Retries Config. Note: In Niagara r2. specifies highest possible address for master nodes.5 BACnet Integration Reference Published: April 26. If set False. you or can use this property to specify a poll delay to “throttle back” the poll rate. This service reduces communications load. using number of ms this specific entry: delay for the pollDelay=n BACnet poll For example. Read-Only: The date as local in the device. servlet/API use. Read/Write: Defines the maximum number of times an APDU can be transmitted. Delay feature is useful only if target device cannot “keep up” with normal poll rate. Valid Values — Default 2000 Notes Default values (as shown) are typically used. A value of 127 indicates it is not writable. hh:mm 12:00PM localDate maxMaster dd mm yyyy -1. Read/Write: Specifies whether Niagara can use the BACnet ReadPropertyMultiple service for client access to the device. between APDU retransmissions when an APDU requiring acknowledgement was not acknowledged. In the case of a Niagara station. In general. True False userData Engineering Read-Write: String-type property common to Any string most Niagara objects. reflecting any UTC offset and daylight savings status (if receiving a UTCTimeSynchronization message). 2004 . readProperty MultipleSupported — 3 False. — Poll delay feature does not apply to MS/TP devices or objects. cont. See Figure 3-9. This is done with a “poll where n is delay” value. these values are defined in the BACnet service. Read/Write: (Applies to MS/TP device only) If a master node. Delay is in addition to any imparted by service’s interNodeDelay. or writing properties. Usually left blank. (continued) Tab Property Name apduSegment Timeout apduTimeout Description Read/Write: Defines the time period.Chapter 3 BACnetDevice BACnet Client Operation Table 3-1 BACnetDevice object. between APDU segment retransmissions. as applied to pollDelay=n each child object. in milliseconds. service before pollDelay=80 polling each child object. False.3. Any learned device (that supports this) automatically has this property as True.429 and later. BACnet recommends all devices use the same values. 3–10 Niagara Release 2. Set this to True if linking child objects. (does not help slow polling).301. to the best of the device’s knowledge. True False writePropertyEnabled Read/Write: Determines if a property write to a device’s Niagara shadow object results in a write to the device’s BACnet object (providing the server device authorizes this). in milliseconds. value for unless special servlet or API access is used. important properties. acts as an interlock to prevent unintended writes (if needed). Read/Write: Defines the time period. issuing commands. Niagara Release 2.” page 3-10. (continued) Tab Property Name maxInfoFrames Description Read/Write: (Applies to MS/TP device only) Specifies highest number of information frames the device may send before it must pass the token. covSubscriptionCount Read-Only: Current number of COV subscriptions from device to Niagara.3. cont. databaseRevision pollingEnabled -1.5 BACnet Integration Reference Published: April 26. Read-Only: A logical revision number for the device’s database. Need for this configuration is expected to be rare. and common child objects’ property “userData. Valid Values -1. Read/Write: Specifies whether confirmed COV notifications are to be used. False False useConfirmedCOV True. “useCOV” property is automatically True. but may be necessary under certain circumstances. and Figure 3-8 lists all possible object types. see descriptions for the BACnetDevice property “userData. this option does not apply to BACnet MS/TP devices.” page 3-22. Supported Services and Objects After learning (or creating and uploading) a BACnet device. If False. True. This property matters only if useCOV is also True. In each child object you want as COV. This property is automatically set to True whenever an enablePolling command is issued. you need to set its useCOV property to True. 1 to ? True. Figure 3-7 lists all possible protocol services. you can see which BACnet services and objects it supports. Please note that it adds to the overall poll cycle time.5. unconfirmed COV notifications are used.Chapter 3 BACnet Client Operation BACnetDevice Table 3-1 BACnetDevice object. important properties. useCOV Read/Write: Specifies if the device is capable of server-side support for SubscribeCOV using either type of COV notifications. In the case of the latter. A value of 1 indicates it is not writable or otherwise user configurable. BACnetDevice Notes The following main subsections apply to a BACnetDevice: Supported Services and Objects • Properties That Do Not Write to the Device • Note In r2. either at the parent (device) or child shadow object level. and set to False on a disablePolling command. however. it does add some additional messaging overhead. False False For any learned device that supports SubscribeCOV. 0 to ? 1 to ? 0 50 Confirmed COV is an option.3. you can define a “poll delay” for BACnet devices that cannot keep up with Niagara polling. 2004 3–11 . 1 to ? Default -1 Notes These property values can be fetched or uploaded from the device. If True. maxCOVSubscriptions Read/Write: Maximum number of COV subscriptions attempted by Niagara. Read-Only: Determines if polling of the device’s child shadow objects should occur. False -1 False Engineering. the object’s outOfService statusFlag is set. Due to token-passing timing constraints. For more details. Find this information on the Config tab of the BACnetDevice object’s property sheet. all child objects set to “useCOV” use confirmed COV notifications. protocolServicesSupported Click the drop-down control to expand and contract the list.5 BACnet Integration Reference Published: April 26. 2004 .Chapter 3 BACnetDevice BACnet Client Operation After you determine the device’s supported services. For more details.3. For each child object you wish to use COV. See the “Properties That Do Not Write to the Device” section on page 3-13. you must set its config property useCOV to True—note also that some devices limit the number of COV subscriptions. “Using COV in Shadow Objects. Figure 3-7 Supported BACnet services are listed in the protocolServicesSupported property. which allows the Niagara station to receive updates from child objects using COV notifications from subscriptions (either unconfirmed or confirmed). rather than polling request/response messages. • 3–12 Niagara Release 2. it is recommended that you set and review some important properties accordingly. Possible Protocol Services include: ackowledgeAlarm confirmedEventNotification getEnrollmentSummary atomicReadFile addListElement createObject readProperty readPropertyMultiple writePropertyMultiple confirmedPrivateTransfer reinitializeDevice vtClose authenticate iAm unconfirmedCOVNotification unconfirmedPrivateTransfer timeSynchronization whoIs utcTimeSynchonization subscribeCOVProperty confirmedCOVNotification getAlarmSummary subscribeCOV atomicWriteFile removeListElement deleteObject readPropertyConditional writeProperty deviceCommunicationControl confirmedTextMessage vtOpen vtData requestKey iHave unconfirmedEventNotification unconfirmedText Message whoHas readRange lifeSafetyOperation getEventInformation Notes • An especially important protocol service is subscribeCOV.” for more details on special BACnetDevice properties.” page 3-18. “Properties That Do Not Write to the Device. See the section ahead. These properties are found on tabs: Config and Engineering. Config—On the bottom of the Config tab of the property sheet for a BACnetDevice are two important properties (Figure 3-9). or property changes will work from Niagara. You need to set them according to the capabilities of the device and how Niagara should interact. set this property to False. protocolObjectServicesSupported Click the drop-down control to expand and contract the list. both of these properties will be False (by default).Chapter 3 BACnet Client Operation BACnetDevice Figure 3-8 Supported BACnet objects are listed in the protocolObjectServicesSupported property.” This must set this to True before any object commands. • If you add a BACnetDevice manually.” providing that it supports the BACnet readPropertyMultiple service. 2004 3–13 . Niagara Release 2.” specifying how Niagara reads and writes and values. • writePropertyEnabled—Shows True if device was “learned. Possible BACnet objects supported: analog_input analog_value binary_output calendar device file loop multi_state_output program averaging trend_log life_safety_zone analog_output binary_input binary_value command event_enrollment group multi_state_input notification_class schedule multi_state_value life_safety_point Properties That Do Not Write to the Device Each BACnetDevice has “Niagara-only properties. links. If you wish to “protect” against Niagara writing to this device. that is copy it from the Local Library.5 BACnet Integration Reference Published: April 26. each with a default value of “False”: readPropertyMultipleSupported—Will show True if device was “learned.3. is automatically set to True if the device was learned (BACnetUtility).) useCOV—Determines whether any child object can use COV. or writes to properties for any of the BACnetDevice object’s child objects to become effective (write to the BACnet device). readPropertyMultipleSupported. maxCOVSubscriptions—The maximum number of COV subscriptions that the station will attempt with this BACnet device (default is 50). 3–14 Niagara Release 2. as a “convenience. In addition. COV updates may continue for a bit before stopping. but if polling is set from enabled to disabled.” this is automatically set to True. Note: The first property. • • • • • pollingEnabled—Reflects the current polling status: enabled or disabled. the foreign BACnet device may require configuration to authorize these writes (a local matter). If the device supports SubscribeCOV and was “learned. the last four of which are important only if the device supports the BACnet SubscribeCOV service. and the device supports this BACnet service. as one example). To determine which of the “multiple” services is supported by the device.3. the writePropertyEnabled property will be set to True. 2004 .” If you want read-only access from Niagara. Also (if learned). Put another way. the ReadPropertyMultiple service).Chapter 3 BACnetDevice BACnet Client Operation Figure 3-9 Two important BACnetDevice properties at the bottom of Config tab. (Note that COV usage requires polling enabled. object commands. you can expand the read-only Config property “protocolServicesSupported” (Figure 3-7) and look at the corresponding services. useConfirmedCOV—Makes all COV usage “confirmed COV”. covSubscriptionCount—Reflects the number of child objects currently subscribed with the device to receive COV notifications. setting this property to True will not make it support that service. if the device does not support a service (for example. Engineering—On the bottom of the Engineering tab of the property sheet for a BACnetDevice are five properties (Figure 3-10). Editing these properties will not write or send anything to the device (query for permission to write. set this to False. Note The property writePropertyEnabled must be True in order for any input links.5 BACnet Integration Reference Published: April 26. (leave useConfirmedCOV property as False). it is usually best to use “unconfirmed” COV. you can use “lite” versions or “full” versions of shadow objects (Table 3-2). Niagara Release 2. Table 3-2 BAcnet (child) shadow object types. You must individually set each child object to “useCOV” (Config tab). Note: The useCOV property is automatically set to True if the device was learned (BACnetUtility). see “About Writable Input Objects. you should do this in a most important object-first order.” page 3-3. 2004 3–15 . and because the device may limit the number of COV subscriptions. “Full” versions: BACnetAnalogInput and BACnetAnalogInputWritable1 BACnetAnalogOutput BACnetAnalogValue BACnetAnalogValuePriority BACnetBinaryInput and BACnetBinaryInputWritable1 BACnetBinaryOutput BACnetBinaryValue BACnetBinaryValuePriority BACnetMultistateInput and BACnetMultistateInputWritable1 BACnetMultistateOutput BACnetMultistateValue BACnetMultistateValuePriority 1. Depending on whether a device implements “optional” properties for its objects. If SubscribeCOV is supported.Chapter 3 BACnet Client Operation BACnet objects (children) Figure 3-10 Important BACnetDevice properties at the bottom of Engineering tab.3. and the device supports this SubscribeCOV service. BACnet objects (children) BACnet child objects “shadow” standard BACnet objects in networked BACnet devices. “Lite” versions: BACnetAnalogInputLite and BACnetAnalogInputWritableLite1 BACnetAnalogOutputLite BACnetAnalogValueLite BACnetAnalogValuePriorityLite BACnetBinaryInputLite and BACnetBinaryInputWritableLite1 BACnetBinaryOutputLite BACnetBinaryValueLite BACnetBinaryValuePriorityLite BACnetMultistateInputLite and BACnetMultistateInputWritableLite1 BACnetMultistateOutputLite BACnetMultistateValueLite BACnetMultistateValuePriorityLite For an explanation of how the “Writable” input-type shadow objects differ from “regular” input-type objects.5 BACnet Integration Reference Published: April 26. 3. Additional text may also be included. instance number 3. AVP-Lt. COV: Any object with shape text ending in “COV” indicates it is currently subscribed for COV notifications—the object’s “covSubscribed” property is True. if a “Lite” object: -Lt follows type. Instance Number: The unique instance number within that device among other objects of the same type. “Full” objects “Lite” objects Object for BACnet Analog Input object. plus “COV” indicating COV usage. Type: Shape type abbreviations are: • • • • • • • • 1. with object name “AHU1Sfan. BO-Lt. Finally. as copied from the Local Library. and are considered the same BACnet type as the corresponding value object.” page 3-18. For example.5 BACnet Integration Reference Published: April 26. instance number 7. See “Using COV in Shadow Objects. AI is Analog Input AO is Analog Output AV is Analog Value AVP1 is Analog Value Priority BI is Binary Input BO is Binary Output BV is Binary Value BVP1 is Binary Value Priority • • • • MSI is Multistate Input MSO is Multistate Output MSV is Multistate Value MSVP1 is Multistate Value Priority For all types. 2004 . Object for BACnet Binary Output object.Chapter 3 BACnet objects (children) BACnet Client Operation Shape Information Inside the object shape for every BACnet shadow object is an object type abbreviation and an instance number (Figure 3-11). and so a BVP shadow object is used (input not linked in Niagara). etc. AV and AVP objects are both Analog_Value objects. for example: AI-Lt. You must individually configure each object that you wish to use COV. Figure 3-11 BACnet shadow object shape in JDE WorkPlace shows type and instance number. for additional information. namely “-Lt” if a Lite object. This shadow object uses COV subscription for data updates. Default shapes for all types of BACnet shadow objects. instance number 1. the name of the object is the BACnet object’s name. The BV source object has the optional priority input. Priority value objects have an optional priority input. 3–16 Niagara Release 2.” Object for BACnet Binary Value object. if the shadow object was created by the “learn device” command. 3. AVP. the following additional right-click commands are available for any BACnet child object: • readProperty—Uploads only the specified property (default is presentValue) entered in the Command Arguments dialog box. • pollRenew—Forces an immediate poll of a shadow object in a PollOnDemand container. When using the JDE. this includes most properties marked with an “{F}” (not “description” and objectName”). 2004 3–17 . A “fetch” or “upload” updates the polled properties (presentValue and statusFlags). and a comma (. to update presentValue and statusFlags properties. Parent Dependencies Common Commands Notes • • • fetch—Queries the device and updates all on_demand_transient-type object properties for the shadow object. A BACnet (child) object provides numerous right-click commands in the JDE Workspace (or when accessed using a Web browser through a linked Gx object). These properties are individually described in sections ahead on each BACnet object type. MSO. such as PollOnDemand or PollAlways). These right-click commands are included for any BACnet shadow object. it also has a linkable input property. MSVP).5 BACnet Integration Reference Published: April 26. The device must support the ReadPropertyMultiple service. • upload—Uploads on_demand_transient and foreign_persistent-type object properties and updates them in this shadow object. Uploaded properties update in the object’s property sheet. BVP. Commands listed below require user security privileges of “Command. For example: lowLimit. If the object is a commandable type (AO. • Niagara Release 2. You must use Niagara property names. Requires the Niagara property name. On the object’s property sheet.Chapter 3 BACnet Client Operation BACnet objects (children) Inputs and Outputs Each BACnet (child) shadow object has at least one linkable output property: statusOutput. in addition to these common commands. or in other containers under the BACnetDevice. this includes all properties marked with an “{F}”. in addition to working as described below. • download—Downloads on_demand_transient and foreign_persistent-type object properties from the shadow object to the associated BACnet object. priorityArray. On the object’s property sheet. BO. The property is updated in the object’s property sheet. Any BACnet (child) object must reside under the appropriate BACnetDevice object (either directly.” Commandable-type objects (for example AO and BO) include additional right-click commands. • readPropertyMultiple—Uploads only the properties entered in the Command Arguments dialog box (default is presentValue).highLimit.) delimiter between properties. Std. Starting in Niagara r2.” the following subsections do not apply. its “useCOV” property remains True. For any analog-type object using COV notification. then 2. then 4. This allows the object eventually to get fully re-subscribed without manual intervention (albeit taking longer in cases where a network disruption lasts for a long period). especially for binary or multistate-type objects. Figure 3-12 useCOV property (Config tab) for any child object is used to subscribe COV. and so on. If the COV subscription attempt does not succeed. Any “learned” device that is SubscribeCOV-capable will be created with a “True” for “useCOV. the object is placed in the polling queue. This causes the station to immediately request a COV subscription.3.Chapter 3 BACnet objects (children) BACnet Client Operation Using COV in Shadow Objects If a device supports the BACnet SubscribeCOV service. you can select some (or perhaps all) of its child shadow objects to update using received COV notifications.3. by setting its useCOV property (Config tab) from False to True (Figure 3-12). Note this difference from the earlier (r2. Subscribing • COV Strategy Notes • Subscribing You must individually “subscribe” each child shadow object you wish to use COV. objects needed manual intervention for them to use COV again (after “fallback” polling). and it attempts again after 1 poll cycle. “covSubscribed” remains False. the read-only “covSubscribed” property below also becomes True. its value must change greater than its COV increment before any notifications are sent to the station.3. 2004 . If a learned device shows this as “False. as described below. a “progressive backoff” scheme was implemented for COV re-subscriptions. which may infrequently change. If the subscription attempt succeeds. Note The parent BACnetDevice must be enabled for polling (status “ok”) for this to work. Thus. If a COV-configured object attempts COV and fails. 3–18 Niagara Release 2.5 BACnet Integration Reference Published: April 26. COV notifications are more efficient than polling updates.4) COV subscription process.5.” as shown on its Engineering tab (Figure 3-10 on page 3-15). whereby any failed COV subscription attempt reset the “useCOV” property to False. If you can successfully subscribe 50 objects in a device for COV. BV. Therefore. but typically not longer than this period. Typically. These are represented by BACnet shadow object types BI. 2004 3–19 . the priorityArray property of output-type objects (AO. there is no reason for you to change this property.4. and MSV. you can attempt up to 50 COV subscriptions per device. sometimes a device may only allow a few COV subscriptions. COV Strategy Notes Limited Subscriptions = Order of Importance—The number of COV subscriptions allowed can vary greatly from BACnet device to device. but this typically makes little difference. the best usage of COV is for objects that have values that change infrequently—typically binary and multistate input objects or binary and multistate value objects. However. it is recommended that you do not configure any output-type and value-priority objects for COV usage. Related BACnet Service Property—On the Engineering tab of the BACnet service is a property covResubscriptionInterval. You can also use COV for analog input and value objects (AI and AV). The station immediately requests to unsubscribe COV for that object. and the “covSubscribed” property goes to False. However. and you have already subscribed all of the input and “non-priority” value type objects. in addition to presentValue and statusFlags properties. it is recommended that you configure objects for useCOV in some order of importance. The poll message for each will request only one value instead of three. in seconds. configuring these objects to useCOV will not significantly reduce message traffic. to reduce notifications you would have to increase each object’s covIncrement value. MSI.5 BACnet Integration Reference Published: April 26. objects configured to useCOV will update for some period of time. Best Candidates for COV—In general. Niagara Release 2. you may wish to continue to subscribe even more. which would also reduce sensitivity to changes—consider that only changes larger than the covIncrement value will be reported. unless the device can support plenty of COV subscriptions. Therefore. by subscribing the most important objects first. and the range is from 300 to 2147483647 (MAX_VALUE). By default. This is done as part of a “rewrite mechanism” (see “Rewrite Mechanism. BO.3. you may notice that if you disable a device for polling. MSO) and value-priority objects (AVP.” page 3-25).3. MSVP) is polled. the object remains in the poll queue to receive priorityArray—as this property cannot be received using SubscribeCOV logic. that is one showing “covSubscribed” as True (“COV” inside its shape). Although you can configure any of these BACnet objects to useCOV.Chapter 3 BACnet Client Operation BACnet objects (children) To unsubscribe any currently COV-subscribed object. and represents the frequency at which COV resubscription requests are sent to the various devices. Therefore. The default value is 600 seconds. simply set its useCOV property (Config tab) from True to False. This value is global for all objects in the station configured to useCOV. However. Do this by changing the “maxCOVSubscriptions” property of the parent BACnetDevice (Engineering tab) to a higher number. BVP. Poor Candidates for COV—Starting in Niagara r2. down A “normal” state (no flags set) is where the status flags value is “{ok}”. reliability. position. status flags can overridden be set in combinations. and securityGroups. unackedAlarm—An alarm has occurred that is still pending acknowledgement. Tab Property Name objectType Description Read Only: The BACnet shadow object type. are allowed. and the object’s color is gray. Any printable characters. {ok} The total set of 6 status flags is a superset of the BACnetStatusFlag type. status flag values mean: • unackedAlarm • down • inAlarm—An alarm state currently exists. Valid Values See Table 3-2. such as executionParameters. A dominant flag sets outOfService the object’s color to something other than unackedAlarm gray (the same color appears at its outputs). Read Only: The polled (or COV updated) state of the object’s status flags. The object’s shape and outputs are red. 3–20 Niagara Release 2. at least until renamed. fault—A fault state occurs when another property. These properties are in addition to the standard Niagara properties common among all object types. Briefly. outOfService—The object’s property outOfService has been set to True. The object’s shape and outputs are cyan. overridden—The object’s properties presentValue and reliability are no longer tracking changes. the object outputs are red and also flashing. which reflect the general “health” of the object. Another property.3.Chapter 3 BACnet objects (children) BACnet Client Operation Common BACnet Shadow Object Properties Table 3-3 Table 3-3 lists important common properties for any BACnet (child) shadow object. Outputs appear normally. See Description — Status • • • • • description Read-Write: Permits a user-defined text descriptor for describing the object. see sections ahead.” The object’s shape and outputs are orange. has any value except “no_fault_detected. The object ‘s shape and outputs are yellow. If copied from the Local Library. For a listing of properties unique to each of the different shadow object types. Appears as a component of the object’s statusOutput. 2004 .5 BACnet Integration Reference Published: April 26. down—The device is down or offline. where these 2 flags are added to the 4 BACnet types (originating from the device): statusFlags where values appear in braces { }: inAlarm fault Depending on conditions. the object uses this string in its name. If the inAlarm flag is still set. Common properties for all BACnet (child) shadow objects. alarmState. including spaces and mixed case characters. Default Notes reflects An abbreviation for the object type object type appears inside the object’s shape (near the top). is True. True normal Offnormal applies to binary and multistate types.” See page 3-18 for more. process_error See Description no_fault_ detected ackedTransitions (not Lite objects) Read Only: Flags. and reflects the type of BACnet object.3. useCOV Read-Write: Used to configure for COV subscription to receive data updates. overrange. For example: binary_output. you can then select a value for the reliability property. • For multistate types. shorted loop. 1 to 4194302 (BACnet max. set or cleared set Relates to the setup of the associated NotificationClass object. False reliability (not Lite objects) Read-Write: Can be used to indicate whether the presentValue or operation of the object is “reliable. to-fault. A False-to-True transition produces the COV subscription request. Read Only: Indicates whether the object is currently successfully subscribed for COV notifications from the parent BACnetDevice. no_output_value. which is one shown at right. — - If the shadow object was created by the BACnetUtility. Separate for event types: to-offnomal. cont. If the parent device does not support SubscribeCOV. Instance Number must be unique in the device for that particular object type. objectIdentifier. which appears as a component of the object’s statusOutput.Chapter 3 BACnet Client Operation BACnet objects (children) Table 3-3 Common properties for all BACnet (child) shadow objects. normal fault offnormal high_limit low_limit False. any spaces in this name appear as underscores (_) in its originally assigned name. that when cleared. vs. This allows logic testing of error conditions. It is set by the input value only (see page 3-3). Valid Values output value or state Default — Notes • For analog types. indicate that an unacknowledged event transition has occurred. the object’s shape show’s “COV. False. eventState Read Only: Shows the object’s current alarm state. True False Niagara Release 2. Read Only and Read/Write: Object Type field is read-only. 2004 3–21 . is a text state (if a “full” object) or an integer value (if “lite”). Instance Number is read/write (integer) and defines the object instance. analog_value. Selections include: no_fault_detected. is the assigned active or inactive text (if “full” object). why. While set to outOfService. True False covSubscribed False. polling updates. unreliable_other. no_sensor. or either “false” or “true” (if “lite”). or multi_state_input. High_limit and low_limit states apply to analog types. under_range.5 BACnet Integration Reference Published: April 26. these properties do nothing. If covSubscribed is True. open_loop. (continued) Tab Property Name presentValue Description Read Only: The polled (or COV received) value of the object. In most BACnet devices. Status. this name must be unique among all BACnet objects in the device. • For binary types. Object Type Instance Number <object type> <integer>. Property is read-only for any of the “writable” input types. is a floating point value.” and if not. outOfService Read-Write: Allows setting the object as out of service (when set to True). to-normal.) <type> -1 objectName Config Read-Write: The assigned object name for the BACnet object. AV object. “high-limit” or ”low-limit” for an AI. (does not help slow polling). defined in milliseconds. that an alarm (off-normal) condition must exist before the object alarms (statusFlag “inAlarm” becomes set and the object and outputs turn red). (continued) Tab Property Name timeDelay Description Read-Write: Minimum time period in Hr:Min:Sec. Delays added this way append to the overall poll cycle time. If an event type.” eventEnable Read-Write: Flags that define the types of event (alarm) transitions for this object that are sent to the alarm console. this is some number The delay timer begins when an alarm of seconds and condition. the object does not alarm and the delay timer is reset. 2004 . Usually left blank. Engineering 3–22 Niagara Release 2. Selection “to-offnormal” applies to any alarm state.3. notifyType Read-Write: Required for BACnet compliance. delay for the BACnet poll This is done with a “poll delay” value. e. Valid Values any practical value in Hr:Min:Sec Default 00:00:00 (no delay) Notes This delay time routine also applies to an object returning “to-normal” from an alarm state. such as “to-normal”. Configuration of this NotificationClass object determines what type of events (to-offnormal. a NotificationClass object using the same number should exist in the station’s NotificationService container. servlet/API use. Delay feature is useful only if target device cannot “keep up” with normal poll rate. AO.5 BACnet Integration Reference Published: April 26. notificationClass Read-Write: The assigned notification class number. event or alarm event Either selection functions in the same manner in the Niagara alarming subsystem. BV. If the alarm or minutes condition clears before the delay timer expires. does not require an ack. Typically.301. ackedTransitions. or Note: In Niagara r2. Delay is in addition to any imparted by service’s interNodeDelay. selection of any or all: to-offnormal to-fault to-normal (none selected) 0 to any positive integer up to 4194302 0 Alarm Setup (not Lite objects) NotificationClass objects reside in the NotificationServices container (under the station’s services container).429 and later. or “offnormal” for a BI. The only effective difference is that unacknowledged events for objects with notifyType of “event” do not appear in a server response to a BACnet “GetAlarmSummary” client request. as configured. occurs. this pollDelay=n property lets you specify a “poll delay” (pause in polling) to a specific child object where n is number of ms (as here). or in the parent BACnetDevice object (delay applied to each child object). MSI. userData Read-Write: String-type property common Any string to most Niagara objects.g. pollDelay=n For example. to-fault. or MSV object. then it is always set (checked) in this object’s status property. value for unless special servlet or API access is used. pollDelay=100 — Poll delay feature does not apply to MS/TP devices or objects. MSO. to-normal) require acknowledgement (ack). BO. The timeDelay routine does not affect reporting of fault conditions. used in routing alarms. If alarms for this object are needed in Niagara. Such an event transition will never set this object’s statusFlag “{unackedAlarm}.Chapter 3 BACnet objects (children) BACnet Client Operation Table 3-3 Common properties for all BACnet (child) shadow objects. using this specific service before polling the entry: object. Value-Type Objects. Regular and Priority In a typical BACnet device (particularly one that has field I/O). System users have a quick visual indication whether a device is down or up. and “value-type” objects (Analog_Value. 2004 3–23 . note there are two separate types of Niagara shadow objects for each (a total of six types. Regular and Priority Value-Type Objects. All child objects also indicate Down. Binary_Value. Multistate_Value) are used to hold “application” values. Typical application value examples include setpoints and occupancy states. Value-type objects for these application values may be selectively implemented as either read-only (status) or writable. “input” and “output” objects are used to interface to physical inputs and outputs. all child objects (and their statusOutputs) inherit a “down” status (yellow color) as shown in Figure 3-13. and (if writable) optionally “commandable. the BACnetUtility creates the appropriate Niagara shadow objects based upon the object types in the device. Input Usage Multistate Object Notes Writing to BACnet Objects Device Down Inheritance Whenever a parent BACnetDevice is marked down by the service’s device status/ping mechanism.Chapter 3 BACnet Client Operation BACnet objects (children) Common BACnet Object Notes When learning objects to shadow in a BACnet device. Figure 3-13 Child objects and their outputs indicate Down while parent device is down. counting full and lite versions): Niagara Release 2. All instances of the supported object types are automatically created in the device container in station’s database. The following general topics should be understood about BACnet child objects: • • • • • Device Down Inheritance Value-Type Objects. BACnetDevice marked down by Device Status ping.” In the case of Value types.5 BACnet Integration Reference Published: April 26.3. However. meaning that the optional property “Priority_Array” exists. Specifically. linking to this input will provide control from Niagara station logic. • You can quickly see the difference between the two shadow object types in the JDE workspace of the BACnetDevice. be aware that Niagara multistate objects differ from BACnet multistate objects in the implementation of presentValue.4 and later. From a client-side perspective. and BACnetMultistateValue. The regular types are for BACnet objects not implemented with this optional property. statusInput. designed to allow the Niagara station to supply presentValue using the BACnet-compatible priority level mechanism. a presentValue of 0 (zero) is valid in the Niagara object. These differences are mentioned here.3. a rewrite mechanism periodically attempts to write a linked input value. The difference between these two types is that the priority-types are for BACnet objects that are implemented as commandable. in which case linking to this input is not advisable (see Note below). and BACnetMultistateValuePriority). even for “state0” (the first state). BACnetBinaryValuePriority. Output. and also in the individual sections ahead on multistate shadow objects (BACnetMultistateInput. and MSVP. • “Priority” types—BACnetAnalogValuePriority. BVP. BACnetMultistateOutput. 3–24 Niagara Release 2. designed to allow the Niagara station to supply presentValue. Note Multistate Object Notes Client support for BACnet “multistate” object types (Multi-state Input. For more details from the server-side perspective. and Value) is provided. performance may degrade. Providing that the device allows property writes (and that you have enabled write services in the parent device object). priorityArray. BACnetBinaryValue. BACnetBinaryValue. where priority-types have a “P” included in the type abbreviation inside the object shape: AVP. as resources are wasted trying to write values that can never be written. Priority versions of value-type shadow objects also feature a linkable input. you should understand there is no way for Niagara’s BACnet service to determine if the BACnet object is implemented with a read-only presentValue.3. BACnetMultistateValue) feature a linkable input. and BACnetMultistateValuePriority.5 BACnet Integration Reference Published: April 26. refer to the “Multistate Object Considerations” section on page 4-5. BACnetMultistateValue. 2004 . this difference means that multistate shadow objects can never have an integer value lower than 1. Value-Type Objects.Chapter 3 BACnet objects (children) BACnet Client Operation “Regular” types—BACnetAnalogValue. If read-only type “Value” objects are left linked in Niagara. In Niagara r2. The BACnetUtility learn automatically creates the appropriate type (regular or priority) for each value-type object in the device. Input Usage Regular “non-commandable” versions of the value-type shadow objects (BACnetAnalogValue. However. whereas it is not valid for a BACnet object. In the case of a value (AV. the rewrite timer is cleared. Adjust this globally on the property sheet for the BACnet service (General. in addition to presentValue and statusFlags.” page 3-3. the input must have an out_of_service status. Rewrite Mechanism—By default. namely: 1. the rewrite is actually detrimental. a “rewrite delay mechanism” was implemented. or property edits from Niagara will succeed. no commands. How this is accomplished is a local matter. If the value object is read-only. or MSV) object. a write (rewrite) of the value/auto is issued again. rewriteDelay: range is from 30 seconds minimum.5 BACnet Integration Reference Published: April 26. writePropertyEnabled must be True. changes were made in how writes to shadow objects are executed. to 2147483647 (MAX_VALUE). and MSVP) are now polled for their priorityArray value. • In the case of a writable input object. Upon the next poll of the object. Note Be aware that all commands. Otherwise. or MSV object known to be read-only.” A rewrite is also issued to input-linked “value” objects (AV. 2. The device shadow object (BACnetDevice) must be configured to allow writes. Basic operation can then be described as “last command wins. BV. AVP. or that does not respond to a Niagara input write.” A rewrite delay timer is started. Niagara will always attempt to “win. and MSI input objects upon each object poll.” Niagara Release 2. BI. unlink the input of any AV. the source object must be writable to benefit from the rewrite. BO. On the Config tab of its property sheet. input writes. all “commandable” objects (AO. BV. The write may be a value or an “auto. BVP. providing that a mismatch exists between the input and output. input value writes. its priorityArray is compared to the stored array. MSVP) receives a Niagara write to an element of the priorityArray input at a particular level (1 to 16). • Note Rewrite Delay Time—Default rewrite delay time is 60 seconds. and will vary from device to device.3. BV.Chapter 3 BACnet Client Operation BACnet objects (children) Writing to BACnet Objects Starting in r2. See “About Writable Input Objects. Engineering tab). and the rewrite delay time has expired. AVP. or a command (level 1 or 8).3. MSO. and MSV) and “writable” AI.4. property edits from Niagara to BACnet shadow objects in a device still have two prerequisites. (If the entry does match. and the rewrite delay time has expired. Specifically. and the array values are stored away. Related to this. If the entry in the stored array does not match the object’s current priorityArray.) This underscores the need for Niagara not to contend for control with another source at a particular control level—by default. BVP. The BACnet device must be configured to allow external writes. rewrite messages occur if the station detects the initial command or input value change is not accepted. If you set rewriteDelay to a high value or MAX_VALUE. BO. MSO. as station resources are spent trying to do the impossible. this essentially disables the rewrite feature. To summarize. Some examples: An object (AO. or the input is ignored. 2004 3–25 . (typically not used). All Used Inputs /Outputs Inputs statusInput (not shown): executeTrigger Outputs statusOutput The BACnet AI object has an input property. and link into other control logic. see Table 3-1 for all properties) Type input1 output 1. — — integer 0 resolution (not Lite objects) valid float 0. A special “writable” variation of this object is available for manual copy from the Local Library. Read-Write: Specifies maximum time period. Status reliability. executeTrigger. the value can be monitored for an off-normal condition and generate an alarm. in hundredths of second. Default Resource Count: 59 (full). See the the “Common Commands” section on page 3-17. If supported by the parent device. See Table 3-3 on page 3-20 for information on these common “full” object properties.” page 3-3. format them for display. eventState. ackedTransitions (not Lite objects) updateInterval (not Lite objects) Description See Table 3-3 on page 3-20 for information on these properties common to all BACnet (child) shadow objects. of data species FloatStatusType (see below). outOfService. Label exe sOut Property Name executeTrigger statusOutput Data Species TriggerType FloatStatusType If a “writable” type copied from the Local Library. 2004 .Chapter 3 BACnetAnalogInput BACnet Client Operation BACnetAnalogInput abbrev: AI These objects shadow Analog Input objects in BACnet devices. If the object is a “full” type. Tab Property Name objectType. which appear at the statusOutput. Writable Type. presentValue. an additional input is available: sIn (statusInput). description.3. and is controlled from the statusInput. updates may alternately occur by COV notifications (if set to “useCOV”). statusFlags. Valid Values — Default — Notes If a “writable” AI object. See “About Writable Input Objects. between updates to presentValue when the input is not overridden and not outOfService. outOfService is read-only from the property sheet. Commands Properties Table 3-1 BACnetAnalogInput (AI) object properties. The BACnet service polls for the object’s presentValue and statusFlags. Read-Write: Specifies the smallest recognizable change that can be reliably obtained for presentValue.0 3–26 Niagara Release 2. 41 (lite) Trigger Properties Inputs Default Object Shape Outputs statusOutput All Used Inputs / Outputs Inputs (not shown): executeTrigger Outputs statusOutput Input/Output Property Reference for BACnet AI Object (only input and output types.5 BACnet Integration Reference Published: April 26. They are used to bring sensed values from device AIs into the control engine. Use of this object allows for Niagara override of the local presentValue with an out_of_service value at the statusInput. 0 Deadband does not apply to fault conditions.0 lowLimit valid float 0.0 deadband valid float 0. Below this value (if not in fault). Read-Write: Highest number that can be reliably used for presentValue. Read-Write: Minimum required change in presentValue to cause a COVNotification to be issued to subscriber COV-clients.0 Alarm Setup (not Lite objects). the object and its output have a fault status (orange color). 2004 3–27 .Chapter 3 BACnet Client Operation BACnetAnalogInput Table 3-1 BACnetAnalogInput (AI) object properties. Read-Write: Value above which the object is evaluated in high-limit alarm. as needed. Below this value.0 (no minimum) valid float 0. the object and output have inAlarm status (red color). objectIdentifier.5 BACnet Integration Reference Published: April 26. timeDelay. then a specific unit. valid float Other.” page 3-3. statusInput (input: sIn) (only writable AI) Description Read Only: Shows the current Niagara value and status at the statusInput.3. the object and its output have a fault status (orange color). notificationClass highLimit — valid float — 0. objectName useCOV covSubscribed units Config See Table 3-3 on page 3-20 for details on these common shadow object properties. Choose from a logical grouping. See Figure 3-3 on page 3-20 for information on these common “full” object properties. Deadband is subtracted from highLimit and added to lowLimit.0 maxPresentValue valid float 0. Select any (BACnet-type unit choices) Device-support ed text string. — — Read-Write: Selection of engineering units for display purposes. (continued) Tab Property Name Status. (select) low-limit. Read-Write: Lowest number that can be reliably used for presentValue. Ignored unless out_of_service. cont. no_units - deviceType (not Lite objects) covIncrement (not Lite objects) minPresentValue 0. Read-Write: Sets decimal position from 0 to 6 places. Read-Write: Differential value applied to high and low limits before return-to-normal. Read-Write: Value below which the object is considered in low-limit alarm. Read-Write: Text descriptor typically used to describe the physical device (sensor) connected to the analog input.0 {ok} Notes See “About Writable Input Objects. Above this value (if not in fault). no (+) sign Niagara Release 2. high-limit — 0 to 6. limitEnable Read-Write: Flags that enable low-limit and high-limit alarms. notifyType Visual decimalFormat — 2. See Figure 3-3 on page 3-20 for information on these common “full” object properties. Valid Values <float value> {status flags} Default 00. (+) sign’ no (+) sign (none) eventEnable. the object and output have inAlarm status (red color). and optionally force (+) sign for positive values. Above this value. Refer to the “Receiving BACnet Alarms” section on page 5-7 for more information. 3–28 Niagara Release 2.0 {ok} Notes BACnet AI Notes The BACnetAnalogInput object is a real workhorse in most BACnet integrations. 2004 . Valid Values <float value> {status flags} Default 00.3.Chapter 3 BACnetAnalogInput BACnet Client Operation Table 3-1 BACnetAnalogInput (AI) object properties. If the device (and object) supports alarming. (continued) Tab Property Name Engineering statusOutput (output sOut) Description Read Only: Shows the current value and status of the statusOutput.5 BACnet Integration Reference Published: April 26. BACnet alarms from the object can be received in the Niagara alarm subsystem. The statusOutput value is typically pre-formatted with the correct engineering units (the Units property is a required property for a BACnet Analog_Input object). If the object is a “full” type. • Commands Properties Table 3-2 BACnetAnalogOutput (AO) object properties.3. • EmergencyAuto—To clear an output value set at the Emergency level (1). • EmergencySet—To set an output value at the Emergency level (1). Emer” privileges. (typically not used). which appear at the statusOutput. eventState. reliability. Valid Values — Default — Notes Status See Table 3-3 on page 3-20 for information on these common “full” object properties. 49 (lite) Trigger Properties input output Default Object Shape Inputs Outputs statusOutput All Used Inputs / Outputs Inputs priorityArray (not shown): executeTrigger Outputs statusOutput Input/Output Property Reference for BACnet AO Object (only input and output types. description. outOfService. these commands appear as follows (note the descriptors are modifiable using the object’s commandTags property): Set—To set an output value at the Manual level (8). • Auto—To clear an output value set at the Manual level (8).Chapter 3 BACnet Client Operation BACnetAnalogOutput BACnetAnalogOutput abbrev: AO These objects shadow Analog Output objects in BACnet devices. The BACnet service polls for the object’s presentValue and statusFlags. the object provides AO control commands. ackedTransitions (not AO Lite objects) Description See Table 3-3 on page 3-20 for information on these properties common to all BACnet (child) shadow objects.5 BACnet Integration Reference Published: April 26. Access to an AO features a priorityArray input for linking to station control logic. — — Niagara Release 2. statusFlags. Requires “Command. the value can be monitored for an off-normal condition and generate an alarm. Emer” privileges. executeTrigger. Std” privileges. Std” privileges. Requires “Command. as well as its local priorityArray values (visible on the Priority tab of the object’s property sheet). Requires “Command. Requires “Command. In addition to the “common commands” (see page 3-17). presentValue. 2004 3–29 . By default. Tab Property Name objectType. see Table 3-1 for all properties) Type Label exe pIn sOut Property Name executeTrigger priorityArray statusOutput Data Species TriggerType FloatPriorityArrayType FloatStatusType The BACnet AO object has an input property. Default Resource Count: 66 (full). The object also provides right-click commands to set (or auto) an output value at priority levels 1 and 8. 0 Deadband does not apply to fault conditions. the object and its output have a fault status (orange color).) connected to the analog output. Deadband is subtracted from highLimit and added to lowLimit.3. as needed. Choose from a logical grouping. then a specific unit.0 deadband valid float 0.0 Notes Priorities priorityArray (input: pIn) Read Only: Shows the values and priorities active at the object’s 16-level priorityArray. Read-Write: Text descriptor typically used to describe the physical device (actuator. timeDelay. Read-Write: Lowest number that can be reliably used for presentValue. Read-Write: Highest number that can be reliably used for presentValue. etc. resolution (not AO Lite objects) Description Read-Write: Specifies the smallest recognizable change that can be reliably obtained for presentValue. limitEnable (select) low-limit. providing the parent BACnetDevice is enabled for polling. Read Only: Defines the output value when all 16 priority level slots have an “auto”. notifyType — 3–30 Niagara Release 2. notificationClass highLimit — valid float — 0. valid float Other. the object and its output have a fault status (orange color). Above this value. Read-Write: Value below which the object is considered in low-limit alarm.0 lowLimit valid float 0.0 — Config Read-Write: Selection of engineering units for display purposes. Above this value (if not in fault). the object and output have inAlarm status (red color). 2004 . levels 1 to 16 valid float — auto 1 to 16 May not reflect station generated commands (see intPriorityArray). Below this value.0 Alarm Setup (not Lite objects). high-limit — (none) eventEnable.Chapter 3 BACnetAnalogOutput BACnet Client Operation Table 3-2 BACnetAnalogOutput (AO) object properties. objectName useCOV covSubscribed units 0. See Table 3-3 on page 3-20 for information on these common “full” object properties.0 (no minimum) valid float 0. Read-Write: Differential value applied to high and low limits before return-to-normal. relinquishDefault objectIdentifier. Read-Write: Minimum required change in presentValue to cause a COVNotification to be issued to subscriber COV-clients.5 BACnet Integration Reference Published: April 26. Select any (BACnet-type unit choices) Device-support ed text string. no_units - deviceType (not AO Lite objects) covIncrement (not AO Lite objects) minPresentValue 0. cont.0 maxPresentValue valid float 0. Below this value (if not in fault). See Table 3-3 on page 3-20 for information on these common “full” object properties. Read-Write: Value above which the object is evaluated in high-limit alarm. Read-Write: Flags that enable low-limit and high-limit alarms. See Table 3-3 on page 3-20 for details on these common shadow object properties. Valid Values valid float Default 0. (continued) Tab Property Name Status. the object and output have inAlarm status (red color). <valid float> or auto. Continuously polled. 3. (continued) Tab Property Name decimalFormat Description Read-Write: Sets decimal position from 0 to 6 places. no (+) sign See descrip. including spaces and numerals. For example. and optionally force (+) sign for positive values. Figure 3-14 BACnet AO objects are sometimes used for setpoint control. Read Only: Shows the current value and status of the statusOutput.Chapter 3 BACnet Client Operation BACnetAnalogOutput Table 3-2 BACnetAnalogOutput (AO) object properties. Read Only: Shows the commands present on each of 16 priority level slots for the priorityArray (pIn) input. Default tags are: Valid Values 0 to 6. Refer to the “Receiving BACnet Alarms” section on page 5-7 for more information. As with other analog-type BACnet objects. 2004 3–31 . levels 1 to 16 <float value> {status flags} auto 1 to 16 These station-generated commands can dynamically update. the command is not available on the command menu.5 BACnet Integration Reference Published: April 26. Niagara Release 2. (+) sign’ no (+) sign Any desired text string. BACnet alarms from the object can be received in the Niagara alarm subsystem. such as setpoints. BACnet Analog_Output objects may exist for either (or both) physical analog outputs and/or commandable values.0 {ok} BACnet AO Notes Depending on the BACnet device and the vendor’s implementation. Default 2. If the device (and object) supports alarming. Figure 3-14 shows a BACnetAnalogOutput object used for setpoint control in an AHU controller. Read-Write: Defines the command labels that show on the right-click command menu for the object. Notes commandTags Visual • • • • intPriorityArray Engineering (input pIn) Set (manualSet level) Auto (manualAuto level) Emergency Set (emergencySet level) Emergency Auto (emergencyAuto level) If a tag is blank (no characters). <valid float> or auto. the statusOutput value is typically pre-formatted with the correct engineering units (the Units property is a required property for a BACnet Analog_Output object). statusOutput (output sOut) 00. Tab Property Name objectType. reliability.3. See “Value-Type Objects. 3–32 Niagara Release 2. Valid Values — Default — Notes Status See Table 3-3 on page 3-20 for information on these common “full” object properties.Chapter 3 BACnetAnalogValue BACnet Client Operation BACnetAnalogValue abbrev: AV This object shadows a “non-commandable” Analog Value object in a BACnet device. and this property is writable in the device (and write support is set for the device). 2004 . It is one of two Niagara shadow-object types possible for a BACnet Analog Value object. This object brings an analog control-system value into the control engine. If the object is a “full” type. see Table 3-1 for all properties) Type input output Label exe sIn sOut Property Name executeTrigger statusInput statusOutput Data Species TriggerType FloatStatusType FloatStatusType The BACnet AV object has an input property. (typically not used). Input Usage” on page 3-24. executeTrigger. which appear at the statusOutput. ackedTransitions (not AV Lite objects) statusInput Description See Table 3-3 on page 3-20 for information on these properties common to all BACnet (child) shadow objects. A linkable statusInput allows the analog value to be sourced from another Niagara object (providing that the value is writable). outOfService. presentValue. statusFlags. and “Rewrite Mechanism. the other is BACnetAnalogValuePriority. See the the “Common Commands” section on page 3-17. Read Only: Shows the float value and status currently at the statusInput. Default Resource Count: 53 (full). the value can be monitored for an off-normal condition and generate an alarm. changes are written to presentValue. updates may alternately occur by COV notifications (if set to “useCOV”). If linked.” page 3-25. — — valid float {status flags} — Note: Do not link statusInput if the Analog Value object is read-only. description. 42 (lite) Trigger Properties Inputs Default Object Shape Outputs statusOutput All Used Inputs / Outputs Inputs statusInput (not shown): executeTrigger Outputs statusOutput Input / Output Property Reference for BACnet AV Object (only input and output types.5 BACnet Integration Reference Published: April 26. If supported by the parent device. Commands Properties Table 3-3 BACnetAnalogValue (AV) object properties. eventState. The BACnet service polls for the object’s presentValue and statusFlags. Read Only: Shows the current value and status of the statusOutput. then a specific unit.3. — valid float — 0. Read-Write: Flags that enable low-limit and high-limit alarms. BACnet alarms can be received in the Niagara alarm subsystem. (continued) Tab Property Name objectIdentifier.0 (no minimum) covIncrement (not AV Lite objects) timeDelay.0 Deadband does not apply to fault conditions. Select any (BACnet-type unit choices) valid float Other.0 deadband valid float 0. Below this value (if not in fault). the statusOutput value is typically pre-formatted with the correct engineering units (the Units property is a required property for a BACnet Analog_Value object). Read-Write: Value below which the object is considered in low-limit alarm. Deadband is subtracted from highLimit and added to lowLimit. In fact. no_units 0. objectName useCOV covSubscribed Config units Description See Table 3-3 on page 3-20 for details on these common shadow object properties. limitEnable (select) low-limit.Chapter 3 BACnet Client Operation BACnetAnalogValue Table 3-3 BACnetAnalogValue (AV) object properties. (+) sign’ no (+) sign <float value> {status flags} (none) eventEnable. Niagara Release 2. Valid Values — Default — Notes Read-Write: Selection of engineering units for display purposes. If the device (and object) supports alarming. Read-Write: Differential value applied to high and low limits before return-to-normal.0 lowLimit valid float 0. therefore. the object and output have inAlarm status (red color). Above this value (if not in fault). as needed. notifyType Visual decimalFormat — 2. Refer to the “Receiving BACnet Alarms” section on page 5-7 for more information. and optionally force (+) sign for positive values. no (+) sign 00. high-limit — 0 to 6. notificationClass highLimit Alarm Setup (not Lite objects). note that links to the statusInput property will have no positive affect on these particular objects. Read-Write: Sets decimal position from 0 to 6 places.0 {ok} Engineering statusOutput (output sOut) BACnet AV Notes BACnetAnalogValue objects are often used for read-only “status” values. linking to an input of a read-only object will waste extra station resources due to the overhead of the rewrite mechanism As with other analog-type BACnet shadow objects. See Table 3-3 on page 3-20 for information on these common “full” object properties. Read-Write: Minimum required change in presentValue to cause a COVNotification to be issued to subscriber COV-clients. the object and output have inAlarm status (red color). Choose from a logical grouping.5 BACnet Integration Reference Published: April 26. 2004 3–33 . Read-Write: Value above which the object is evaluated in high-limit alarm. See Table 3-3 on page 3-20 for information on these common “full” object properties. description. If the object is a “full” type. these commands appear as follows (note the descriptors are modifiable using the object’s commandTags property): Set—To set an output value at the Manual level (8). Requires “Command. Valid Values — Default — Notes 3–34 Niagara Release 2. eventState. (typically not used). The BACnet service polls for the object’s presentValue and statusFlags. the AV priority object provides control commands. 2004 . presentValue. In addition to the “common commands” (see page 3-17). • Commands Properties Table 3-4 BACnetAnalogValuePriority (AVP) object properties. outOfService. Std” user privileges. Requires “Command. Requires “Command. Requires “Command. the value can be monitored for an off-normal condition and generate an alarm. but has a priorityArray input instead of a statusInput. Default Resource Count: 60 (full).5 BACnet Integration Reference Published: April 26. This object is like the BACnetAnalogValue object. meaning an AV object with priorityArray and relinquishDefault properties. Status Description See Table 3-3 on page 3-20 for information on these properties common to all BACnet (child) shadow objects. • EmergencyAuto—To clear an output value set at the Emergency level (1). Tab Property Name objectType. see Table 3-1 for all properties) Type input output Label exe pIn sOut Property Name executeTrigger priorityArray statusOutput Data Species TriggerType FloatPriorityArrayType FloatStatusType The BACnet AV object has an input property. and also provides right-click control commands (like an AO object). Emer” user privileges. executeTrigger. Std” user privileges. Emer” user privileges. By default. • EmergencySet—To set an output value at the Emergency level (1).3.Chapter 3 BACnetAnalogValuePriority BACnet Client Operation BACnetAnalogValuePriority abbrev: AVP This objects shadows a “commandable” Analog Value object in a BACnet device. • Auto—To clear an output value set at the Manual level (8). statusFlags. 49 (lite) Trigger Properties Inputs Default Object Shape Outputs statusOutput All Used Inputs / Outputs Inputs priorityArray (not shown): executeTrigger Outputs statusOutput Input/Output Property Reference for BACnet AVP Object (only input and output types. which appear at the statusOutput. as well as its local priorityArray values (visible on the Priority tab of the object’s property sheet). See Table 3-3 on page 3-20 for information on these common “full” object properties.5 BACnet Integration Reference Published: April 26. levels 1 to 16 valid float auto 1 to 16 relinquishDefault objectIdentifier. Default tags are: Select any (BACnet-type unit choices) valid float Other. no (+) sign See descrip. as needed. Above this value (if not in fault). Below this value (if not in fault).Chapter 3 BACnet Client Operation BACnetAnalogValuePriority Table 3-4 BACnetAnalogValuePriority (AVP) object properties. 2004 3–35 .3. See Table 3-3 on page 3-20 for details on these common shadow object properties.0 Deadband does not apply to fault conditions.0 deadband valid float 0. the object and output have inAlarm status (red color). limitEnable (select) low-limit. Deadband is subtracted from highLimit and added to lowLimit. Read-Write: Defines the command labels that show on the right-click command menu for the object. Valid Values — Default — Notes priorityArray Priorities Read Only: Shows the values and priorities active at the object’s 16-level priorityArray. high-limit — 0 to 6.0 lowLimit valid float 0. Read-Write: Value below which the object is considered in low-limit alarm. commandTags Visual • • • • Set (manualSet level) Auto (manualAuto level) Emergency Set (emergencySet level) Emergency Auto (emergencyAuto level) Niagara Release 2. cont. notificationClass highLimit Alarm Setup (not Lite objects) — valid float — 0. then a specific unit. reliability. no_units 0. (continued) Tab Property Name Status. (none) eventEnable. (+) sign’ no (+) sign Any desired text string. the object and output have inAlarm status (red color).0 (no minimum) covIncrement (not AV Lite objects) timeDelay. Read-Write: Differential value applied to high and low limits before return-to-normal. Read Only: Defines the output value when all 16 priority level slots have an “auto”. ackedTransitions (not Lite objects) Description See Table 3-3 on page 3-20 for information on these common “full” object properties. the command is not available on the command menu.0 Config units Read-Write: Selection of engineering units for display purposes. Read-Write: Minimum required change in presentValue to cause a COVNotification to be issued to subscriber COV-clients. Choose from a logical grouping. providing the parent BACnetDevice is enabled for polling. <valid float> or auto. See Figure 3-3 on page 3-20 for information on these common “full” object properties. objectName useCOV covSubscribed 0. Read-Write: Value above which the object is evaluated in high-limit alarm. Read-Write: Flags that enable low-limit and high-limit alarms. and optionally force (+) sign for positive values. If a tag is blank (no characters). Continuously polled. notifyType decimalFormat — 2. Read-Write: Sets decimal position from 0 to 6 places. including spaces and numerals. As with other analog-type BACnet shadow objects.0 {ok} BACnet AV (Priority) Notes Depending on the BACnet device and the vendor’s implementation.5 BACnet Integration Reference Published: April 26. commandable BACnet Analog_Value objects may exist for setpoints and other application parameters. For example. Input Usage” on page 3-24. Read Only: Shows the current value and status of the statusOutput. statusOutput (output sOut) 00.Chapter 3 BACnetAnalogValuePriority BACnet Client Operation Table 3-4 BACnetAnalogValuePriority (AVP) object properties. the statusOutput value is typically pre-formatted with the correct engineering units (the Units property is a required property for any BACnet Analog_Value object). Figure 3-15 “Commandable” BACnet AV objects are sometimes used for setpoint control.3. 2004 . Figure 3-14 shows a BACnetAnalogValuePriority object used for setpoint control in an AHU controller. If the device (and object) supports alarming. levels 1 to 16 <float value> {status flags} Default auto 1 to 16 Notes See “Value-Type Objects. BACnet alarms from the object can be received in the Niagara alarm subsystem. 3–36 Niagara Release 2. Refer to the “Receiving BACnet Alarms” section on page 5-7 for more information. Valid Values <valid float> or auto. (continued) Tab Property Name Engineering intPriorityArray (input pIn) Description Read Only: Shows the commands present on each of 16 priority level slots for the priorityArray (pIn) input. Default Resource Count: 62 (full). Valid Values — Default — Notes If a “writable” BI object. 2004 3–37 . A special “writable” variation of this object is available for manual copy from the Local Library. only “false” or “true” if a Lite type). which appear at the statusOutput. Read Only: Shows a date/timestamp for the last COS (change of state). presentValue is “false” or “true. 40 (lite) Trigger Properties Inputs Default Object Shape Outputs statusOutput All Used Inputs / Outputs Inputs (not shown): executeTrigger Outputs statusOutput Input / Output Property Reference for BACnet BI Object (only input and output types.Chapter 3 BACnet Client Operation BACnetBinaryInput BACnetBinaryInput abbrev: BI These objects shadow Binary Input objects in BACnet devices. See “About Writable Input Objects. ackedTransitions (not Lite objects) changeOfStateTime (not Lite objects) Description See Table 3-3 on page 3-20 for information on these properties common to all BACnet (child) shadow objects. see Table 3-1 for all properties) Type input1 output 1. presentValue is displayed in terms of inactiveActiveText. If supported by the parent device.5 BACnet Integration Reference Published: April 26. Full types can also monitor for off-normal conditions and generate alarms. Writable Type. outOfService. If a Lite BI. description. an additional input is available: sIn (statusInput). updates may alternately occur by COV notifications (if set to “useCOV”).3. (typically not used). Use of this object allows for Niagara override of the local presentValue with an out_of_service value at the statusInput. the statusOutput reflects “inactive and active text” descriptors (vs. plus provide properties for tracking change-of-state (COS) statistics and elapsed active time (runtime). and link into other control logic. Label exe sOut Property Name executeTrigger statusOutput Data Species TriggerType FloatStatusType If a “writable” type copied from the Local Library. eventState. Commands Properties Table 3-5 BACnetBinaryInput (BI) object properties.” See Table 3-3 on page 3-20 for information on these common “full” object properties. If a full-type BI object. The BACnet service polls for the object’s presentValue and statusFlags. Status — — timestamp or null (none) null Niagara Release 2. See the the “Common Commands” section on page 3-17. outOfService is read-only from the property sheet. All Used Inputs /Outputs Inputs statusInput (not shown): executeTrigger Outputs statusOutput The BACnet BI object has an input property. executeTrigger. If the object is a “full” type. of data species BooleanStatusType (see below). reliability. format them for display. They are used to bring sensed values from device BIs into the control engine.” page 3-3. presentValue. statusFlags. Tab Property Name objectType. and is controlled from the statusInput. elapsedActiveTime (not Lite objects) timeOfActiveReset (not Lite objects) statusInput (input: sIn) (only writable BI) objectIdentifier. notificationClass alarmValue eventEnable. or if presentValue remains opposite from the input (reverse). Valid Values integer value Default 0 Notes timestamp or null (none) Time period up to 9999:99:99 (Hr:Min:Sec) valid timestamp or null (none) false or true.Chapter 3 BACnetBinaryInput BACnet Client Operation Table 3-5 BACnetBinaryInput (BI) object properties. cont. notifyType — Active — Visual activeInactiveText (not Lite objects) statusOutput (output sOut) Read-Write: Defines how states and presentValue display at the statusOutput. — Active. If the device (and object) supports alarming. (continued) Tab Property Name changeOfStateCount (not Lite objects) timeOfStateCountReset (not Lite objects) Status. Inactive false {ok} If a Lite object. If a full-type BI object. Read Only: Defines the presentValue state that is evaluated as an alarm. See Table 3-3 on page 3-20 for details on these common shadow object properties. — Read-Write: Text descriptor typically used to describe the physical device (sensor.5 BACnet Integration Reference Published: April 26. See Table 3-3 on page 3-20 for information on these common “full” object properties. Read Only: Shows a date/timestamp for when the COS count was last cleared. 3–38 Niagara Release 2. normal Read-Write: Determines if the physical state normal.” page 3-3. reverse at the device input is reflected at the presentValue (normal). False — Alarm Setup (not Lite objects) timeDelay. {status flags} — null 00:00:00 null false {ok} See “About Writable Input Objects. Refer to the “Receiving BACnet Alarms” section on page 5-7 for more information.” Engineering Inactive or Active. Device-support ed text string. objectName useCOV covSubscribed Config deviceType (not Lite objects) polarity Description Read Only: Shows the total number of changes of state that have occurred since the last COS count reset (clear). also on the object’s property sheet.3. equipment) connected to the binary input. states are always “false” or “true. — True. Read Only: Shows the accumulated runtime (elapsed active time) formatted in Hr:Min:Sec. See Table 3-3 on page 3-20 for information on these common “full” object properties. Read Only: Shows the current boolean state and status of the statusOutput. BACnet alarms can be received in the Niagara alarm subsystem. statusOutput is displayed in terms of inactiveActiveText. Read Only: Shows the current Niagara value and status at the statusInput. Read Only: Shows a date/timestamp for when the accumulated runtime (elapsed active time) was last cleared. 2004 . Ignored unless out_of_service. {status flags} BACnet BI Notes The BACnetBinaryInput is another frequently-used object in typical BACnet integrations. Requires “Command. as well as its local priorityArray values (visible on the Priority tab of the object’s property sheet). EmergencyActive—To set an active output at the Emergency level (1). EmergencyInactive—To set an inactive output at the Emergency level (1). these commands appear as follows (note these descriptors are modifiable using the object’s commandTags property): • • • • • • Commands Active—To set an active output at the Manual level (8). Full types can also monitor for off-normal conditions and generate alarms. Emer” user privileges. only “false” or “true” if a Lite type). If the object is a “full” type. Std” user privileges. A separate presentValue output is also available. Emer” user privileges. Emer” user privileges. 2004 3–39 . Niagara Release 2. executeTrigger.3. EmergencyAuto—To clear any active or inactive output at the Emergency level (1). In addition to the “common commands” (see page 3-17). Requires “Command. Requires “Command. By default. (typically not used). The object also provides right-click commands to set (or auto) an output state at priority levels 1 and 8. Inactive—To set an inactive value at the Manual level (8). The BACnet service polls for the object’s presentValue and statusFlags. which appear at the statusOutput. Auto—To clear any active or inactive output at the Manual level (8). Access to the BO features a priorityArray input for linking to station control logic. the BACnet BO object provides control commands. the statusOutput reflects “inactive and active text” descriptors (vs. Requires “Command. 46 (lite) Inputs Default Object Shape Outputs statusOutput All Used Inputs / Outputs Inputs priorityArray (not shown): executeTrigger Outputs presentValue statusOutput Input / Output Property Reference for BACnet BO Object (only input and output types.Chapter 3 BACnet Client Operation BACnetBinaryOutput BACnetBinaryOutput abbrev: BO This object shadows a Binary Output object in a BACnet device. Requires “Command.5 BACnet Integration Reference Published: April 26. see Table 3-1 for all properties) Type input output Label exe pIn present sOut Property Name executeTrigger priorityArray presentValue statusOutput Data Species TriggerType FloatPriorityArrayType Float FloatStatusType The BACnet BO object has an input property. Default Resource Count Trigger Properties 70 (full). Std” user privileges. plus provide properties for tracking change-of-state (COS) statistics and elapsed active time (runtime). from which presentValue must differ before an event is generated. objectName useCOV covSubscribed deviceType 0. reliability. levels 1 to 16 valid float — auto 1 to 16 relinquishDefault objectIdentifier.3. Read Only: Shows a date/timestamp for when the COS count was last cleared. Read Only: Shows a date/timestamp for the last COS (change of state). providing the parent BACnetDevice is enabled for polling. Read Only: Defines the output value when all 16 priority level slots have an “auto”. Read Only: Shows a date/timestamp for when the accumulated runtime (elapsed active time) was last cleared. ackedTransitions (not Lite objects) changeOfStateTime (not Lite objects) Status changeOfStateCount (not Lite objects) timeOfStateCountReset (not Lite objects) elapsedActiveTime (not Lite objects) timeOfActiveReset (not Lite objects) feedbackValue (not Lite objects) priorityArray Priorities Description See Table 3-3 on page 3-20 for information on these properties common to all BACnet (child) shadow objects. presentValue is “false” or “true. Read Only: Shows the values and priorities active at the object’s 16-level priorityArray.Chapter 3 BACnetBinaryOutput BACnet Client Operation Properties Table 3-6 BACnetBinaryOutput (BO) object properties.5 BACnet Integration Reference Published: April 26. integer value 0 3–40 Niagara Release 2.” See Table 3-3 on page 3-20 for information on these common “full” object properties. Valid Values — Default — Notes — — timestamp or null (none) integer value null 0 timestamp or null (none) Time period up to 9999:99:99 (Hr:Min:Sec) valid timestamp or null (none) False. outOfService. description. Read Only: Shows the total number of changes of state that have occurred since the last COS count reset (clear). If a full-type BO object. If a Lite BO. Read Only: Shows the status of a feedback value. An active at the Minimum On Off priority level (6) occurs for this time. eventState.0 — Config (not Lite objects) minimumOnTime (not Lite objects) Read-Write: Text descriptor used to describe the physical device (equipment) connected to the binary output. 2004 . Tab Property Name objectType. Read Only: Shows the accumulated runtime (elapsed active time) formatted in Hr:Min:Sec. presentValue. See Table 3-3 on page 3-20 for details on these common shadow object properties. presentValue is displayed in terms of inactiveActiveText. Continuously polled. statusFlags. Read Only: Minimum number of seconds that presentValue remains at the active state after a write to present Value causes that property to assume the active state. Device-support ed text string. True null 0:00:00 null False <valid float> or auto. such as occupancy control.5 BACnet Integration Reference Published: April 26. {status flags} statusOutput (output sOut) false {ok} BACnet BO Notes Depending on the BACnet device and the vendor’s implementation. or auto. Visual Read-Write: Defines how states and presentValue display at the statusOutput. If a tag is blank (no characters). true. If the device (and object) supports alarming. Refer to the “Receiving BACnet Alarms” section on page 5-7 for more information. states are always “false” or “true. eventEnable. Read Only: Shows the boolean commands present on each of 16 priority level slots for the priorityArray (pIn) input. (continued) Tab Property Name minimumOffTime (not Lite objects) Config. BACnet alarms can be received in the Niagara alarm subsystem. including spaces and numerals. Niagara Release 2.3. See descrip. notifyType (not Lite objects) commandTags — Read-Write: Defines the labels used to list commands that appear on the right-click command menu. — normal Alarm Setup timeDelay. An inactive at the Minimum On Off priority level (6) occurs for this time. cont. Inactive auto 1 to 16 If a Lite object. levels 1 to 16 false or true. 2004 3–41 . also on the object’s property sheet. Read Only: Shows the current boolean state and status of the statusOutput. Engineering (input pIn) false. or if presentValue remains opposite from the input (reverse). the command is not available on the command menu. Default text values for commandTags are: • • • • • • activeInactiveText (not Lite objects) intPriorityArray Active (active at level 8) Inactive (inactive at level 8) Auto (auto at level 8) EmergencyActive (active at level 1) EmergencyInactive (inactive at level 1) EmergencyAuto (auto at level 1) Any desired text string. See Table 3-3 on page 3-20 for information on these common “full” object properties.” These station-generated commands can dynamically update. Description Read Only: Minimum number of seconds that presentValue remains at the inactive state after a write to present Value causes that property to assume the inactive state. reverse at the device output is reflected by the presentValue (normal). — Active.Chapter 3 BACnet Client Operation BACnetBinaryOutput Table 3-6 BACnetBinaryOutput (BO) object properties. Valid Values integer value Default 0 Notes polarity Read-Write: Determines if the physical state normal. BACnet Binary_Output objects may exist for either (or both) physical digital outputs and/or commandable states. notificationClass. presentValue is displayed in terms of inactiveActiveText. see Table 3-1 for all properties) Type input output Label exe sIn sOut Property Name executeTrigger statusInput statusOutput Data Species TriggerType FloatStatusType FloatStatusType The BACnet BV object has an input property. the other is BACnetBinaryValuePriority. presentValue. It is one of two Niagara shadow-object types possible for a BACnet Binary Value object. A linkable statusInput allows the boolean value to be sourced from another Niagara object (providing that the value is writable). 2004 . eventState. reliability. updates may alternately occur by COV notifications (if set to “useCOV”).Chapter 3 BACnetBinaryValue BACnet Client Operation BACnetBinaryValue abbrev: BV This object shadows a “non-commandable” Binary Value object in a BACnet device. If a full-type BV object. the statusOutput reflects “inactive and active text” descriptors (vs. Valid Values — Default — Notes Status — — timestamp or null (none) null 3–42 Niagara Release 2. (typically not used). The BACnet service polls for the object’s presentValue and statusFlags. This object brings a boolean control-system parameter into the station’s control engine. plus provide properties for tracking change-of-state (COS) statistics and elapsed active time (runtime). presentValue is “false” or “true. If the object is a “full” type.” See Table 3-3 on page 3-20 for information on these common “full” object properties.5 BACnet Integration Reference Published: April 26. If supported by the parent device. 40 (lite) Trigger Properties Inputs Default Object Shape Outputs statusOutput All Used Inputs / Outputs Inputs statusInput (not shown): executeTrigger Outputs statusOutput Input / Output Property Reference for BACnet BV Object (only input and output types. description. executeTrigger. ackedTransitions (not Lite objects) changeOfStateTime (not Lite objects) Description See Table 3-3 on page 3-20 for information on these properties common to all BACnet (child) shadow objects. If a Lite BV.3. Read Only: Shows a date/timestamp for the last COS (change of state). only “false” or “true” if a Lite type). statusFlags. See the the “Common Commands” section on page 3-17. outOfService. Commands Properties Table 3-7 BACnetBinaryValue (BV) object properties. Default Resource Count: 59 (full). Tab Property Name objectType. which appear at the statusOutput. Full types can also monitor for off-normal conditions and generate alarms. notifyType (not Lite objects) alarmValue (not Lite objects) Visual activeInactiveText (not Lite objects) statusOutput (output sOut) Read Only: Defines the presentValue state that is evaluated as an alarm. and this property is writable in the device (and write support is set for the device). cont. False — True Active. Inactive false {ok} Config See Table 3-3 on page 3-20 for details on these common shadow object properties. linking to an input of a read-only object will waste extra station resources due to the overhead of the rewrite mechanism. also on the object’s property sheet.” Engineering false or true. and “Rewrite Mechanism. true: {status flags} null 0:00:00 null false: {ok} Note: Do not link statusInput if the Binary Value object is read-only. eventEnable. Read Only: Shows the boolean value and status currently at the statusInput. notificationClass.” page 3-25. 2004 3–43 . therefore. note that links to the statusInput property will have no positive affect on these particular objects. objectName useCOV covSubscribed timeDelay. Alarm Setup See Table 3-3 on page 3-20 for information on these common “full” object properties. changes are written to presentValue.5 BACnet Integration Reference Published: April 26. states are always “false” or “true. If linked. — — If a Lite object. Refer to the “Receiving BACnet Alarms” section on page 5-7 for more information. Niagara Release 2.3. Read Only: Shows the current boolean state and status of the statusOutput. (continued) Tab Property Name changeOfStateCount (not Lite objects) timeOfStateCountReset (not Lite objects) elapsedActiveTime (not Lite objects) Status. Input Usage” on page 3-24. Read Only: Shows the accumulated runtime (elapsed active time) formatted in Hr:Min:Sec. True. {status flags} BACnet BV Notes BACnetBinaryValue objects are often used for read-only “status” states. Read-Write: Defines how states and presentValue display at the statusOutput. BACnet alarms can be received in the Niagara alarm subsystem. timeOfActiveReset (not Lite objects) statusInput Description Read Only: Shows the total number of changes of state that have occurred since the last COS count reset (clear). Read Only: Shows a date/timestamp for when the COS count was last cleared. In fact. objectIdentifier.Chapter 3 BACnet Client Operation BACnetBinaryValue Table 3-7 BACnetBinaryValue (BV) object properties. — — See “Value-Type Objects. Read Only: Shows a date/timestamp for when the accumulated runtime (elapsed active time) was last cleared. Valid Values integer value Default 0 Notes timestamp or null (none) Time period up to 9999:99:99 (Hr:Min:Sec) timestamp or null (none) false. If the device (and object) supports alarming. By default. Requires “Command. Requires “Command. Requires “Command.5 BACnet Integration Reference Published: April 26. see Table 3-1 for all properties) Type input output Label exe pIn present sOut Property Name executeTrigger priorityArray presentValue statusOutput Data Species TriggerType BooleanPriorityArrayType Boolean BooleanStatusType This object has an input trigger-type property. This object is like the BACnetBinaryValue object. If the object is a “full” type. Full types can also monitor for off-normal conditions and generate alarms. EmergencyActive—To set an active output at the Emergency level (1). 2004 . Std” user privileges. 3–44 Niagara Release 2. The BACnet service polls for the object’s presentValue and statusFlags. Std” user privileges. the statusOutput reflects “inactive and active text” descriptors (vs. Requires “Command. meaning a BV object with priorityArray and relinquishDefault properties. Emer” user privileges. Auto—To clear any active or inactive output at the Manual level (8). and also provides right-click control commands (like a BO object). 45 (lite) Trigger Properties Inputs Default Object Shape Outputs statusOutput All Used Inputs / Outputs Inputs priorityArray (not shown): executeTrigger Outputs presentValue statusOutput Input / Output Property Reference for BACnet BVP Object (only input and output types. In addition to the “common commands” (see page 3-17). plus provide properties for tracking change-of-state (COS) statistics and elapsed active time (runtime).Chapter 3 BACnetBinaryValuePriority BACnet Client Operation BACnetBinaryValuePriority abbrev: BVP This object shadows a “commandable” Binary Value object in a BACnet devices.3. Emer” user privileges. A separate presentValue output is also available. but has a priorityArray input instead of a statusInput. EmergencyAuto—To clear any active or inactive output at the Emergency level (1). the BACnet BV Priority object provides control commands. as well as its local priorityArray values (visible on Priority tab of the object’s property sheet). Inactive—To set an inactive value at the Manual level (8). Default Resource Count: 67 (full). only “false” or “true” if a Lite type). which appear at the statusOutput. EmergencyInactive—To set an inactive output at the Emergency level (1). Requires “Command. Emer” user privileges. executeTrigger. these commands appear as follows (note that descriptors are modifiable using the object’s commandTags property): • • • • • • Commands Active—To set an active output at the Manual level (8). (typically not used). Read Only: Shows the total number of changes of state that have occurred since the last COS count reset (clear). If a Lite BVP.Chapter 3 BACnet Client Operation BACnetBinaryValuePriority Properties Table 3-8 BACnetBinaryValuePriority (BVP) object properties. statusFlags. outOfService. Device-support ed text string. See Table 3-3 on page 3-20 for details on these common shadow object properties. presentValue. objectName useCOV covSubscribed deviceType (not Lite objects) minimumOnTime (not Lite objects) Config Read-Write: Text descriptor used to describe the physical device (equipment) connected to the binary output.” See Table 3-3 on page 3-20 for information on these common “full” object properties.3. Read Only: Shows the accumulated runtime (elapsed active time) formatted in Hr:Min:Sec. levels 1 to 16 valid float — null 0:00:00 null auto 1 to 16 0. 2004 3–45 . Read Only: Defines the output value when all 16 priority level slots have an “auto”. An inactive at the Minimum On Off priority level (6) occurs for this time. Read Only: Minimum number of seconds that presentValue remains at the active state after a write to present Value causes that property to assume the active state. Read Only: Shows a date/timestamp for the last COS (change of state). ackedTransitions (not Lite objects) changeOfStateTime Status (not Lite objects) changeOfStateCount (not Lite objects) timeOfStateCountReset (not Lite objects) elapsedActiveTime (not Lite objects) timeOfActiveReset (not Lite objects) priorityArray Priorities Description See Table 3-3 on page 3-20 for information on these properties common to all BACnet (child) shadow objects. Valid Values — Default — Notes — — timestamp or null (none) integer value null 0 timestamp or null (none) Time period up to 9999:99:99 (Hr:Min:Sec) valid timestamp or null (none) <valid float> or auto. integer value - 0 minimumOffTime (not Lite objects) integer value 0 Niagara Release 2. eventState.5 BACnet Integration Reference Published: April 26. description.0 — relinquishDefault objectIdentifier. Tab Property Name objectType. If a full-type BVP object. Read Only: Shows a date/timestamp for when the COS count was last cleared. Read Only: Minimum number of seconds that presentValue remains at the inactive state after a write to present Value causes that property to assume the inactive state. presentValue is displayed in terms of inactiveActiveText. Read Only: Shows the values and priorities in the object’s 16-level priorityArray (in the device). Read Only: Shows a date/timestamp for when the accumulated runtime (elapsed active time) was last cleared. presentValue is “false” or “true. A fetch provides current values. reliability. An active at the Minimum On Off priority level (6) occurs for this time. 3–46 Niagara Release 2.3. — Active.” See “Value-Type Objects.5 BACnet Integration Reference Published: April 26. Read Only: Shows the current boolean state and status of the statusOutput. Read Only: Shows the Niagara (station) boolean commands present on each of 16 priority level slots for the priorityArray (pIn) input. including spaces and numerals. Default text values for commandTags are: True. Inactive auto 1 to 16 If a Lite object. • • • • • • activeInactiveText (not Lite objects) intPriorityArray (input pIn) Active (active at level 8) Inactive (inactive at level 8) Auto (auto at level 8) EmergencyActive (active at level 1) EmergencyInactive (inactive at level 1) EmergencyAuto (auto at level 1) Visual Read-Write: Defines how states and presentValue display at the statusOutput. the command is not available on the command menu. Alarm Setup timeDelay. BACnet alarms from the object can be received in the Niagara alarm subsystem. If the device (and object) supports alarming. False Any desired text string. also on the object’s property sheet. Refer to the “Receiving BACnet Alarms” section on page 5-7 for more information. reverse at the device output is reflected by the presentValue (normal). Input Usage” on page 3-24. notificationClass. Engineering false. eventEnable. states are always “false” or “true. levels 1 to 16 false or true. true. (continued) Tab Property Name polarity Description Valid Values Default normal Notes Read-Write: Determines if the physical state normal. True See descrip. Read-Write: Defines the labels used to list commands that appear on the right-click command menu. commandable BACnet Binary_Value objects may exist for application control modes and related parameters.Chapter 3 BACnetBinaryValuePriority BACnet Client Operation Table 3-8 BACnetBinaryValuePriority (BVP) object properties. or auto. If a tag is blank (no characters). or if presentValue remains opposite from the input (reverse). notifyType (not Lite objects) alarmValue (not Lite objects) commandTags Read Only: Defines the presentValue state that is evaluated as an alarm. 2004 . {status flags} statusOutput (output sOut) false {ok} BACnet BV (Priority) Notes Depending on the BACnet device and the vendor’s implementation. See Table 3-3 on page 3-20 for information on these common “full” object properties. 5 BACnet Integration Reference Status Published: April 26. Niagara Release 2. updates may alternately occur by COV notifications (if set to “useCOV”). Default Resource Count: 62 (full). description. outOfService. See the the “Common Commands” section on page 3-17. Tab Property Name objectType. presentValue reflects the current state by integer value (if lite object) or its assigned stateText descriptor. All Used Inputs /Outputs Inputs statusInput (not shown): executeTrigger Outputs statusOutput The BACnet MSI object has an input property. a presentValue (and stateText entry) of 0 (zero) is valid in a Niagara MSI. Description See Table 3-3 on page 3-20 for information on these properties common to all BACnet (child) shadow objects. Valid Values — Default — Notes If a “writable” MSI object. 40 (lite) Trigger Properties Inputs Default Object Shape Outputs statusOutput All Used Inputs / Outputs Inputs (not shown): executeTrigger Outputs statusOutput Input / Output Property Reference for BACnet MSI Object (only input and output types. It is used to bring a sensed state (integer value) from a device MSI into the control engine. and is controlled from the statusInput. executeTrigger. presentValue. whereas 0 is not valid in a BACnet MSI object. Specifically. If the object is a “full” type. (typically not used). Niagara multistate objects differ from BACnet multistate objects in the implementation of presentValue. 2004 3–47 . an additional input is available: sIn (statusInput). eventState. The BACnet service polls for the object’s presentValue and statusFlags. and can be monitored for an off-normal condition and generate an alarm. outOfService is read-only from the property sheet. statusFlags. where it can be linked into other control logic. Label exe sOut Property Name executeTrigger statusOutput Data Species TriggerType IntegerStatusType If a “writable” type copied from the Local Library. Writable Type. of data species IntegerStatusType (see below). See “About Writable Input Objects.3.” page 3-3. the state value is formatted using descriptive state text.Chapter 3 BACnet Client Operation BACnetMultistateInput BACnetMultistateInput abbrev: MSI This object shadows a Multi-state Input object in a BACnet device. If supported by the parent device. A special “writable” variation of this object is available for manual copy from the Local Library. Use of this object allows for Niagara override of the local presentValue with an out_of_service value at the statusInput. see Table 3-1 for all properties) Type input1 output 1. Note Commands Properties Table 3-9 BACnetMultistateInput (MSI) object properties. which appear at the statusOutput. reliability.5 BACnet Integration Reference Published: April 26. Valid Values 1 to ? Default — Notes Status. Visual Unique integers. — State descriptors (tags) are seen in linked MultistateLog object samples and also can display at a linked GxText object. See Table 3-3 on page 3-20 for information on these common “full” object properties. 3–48 Niagara Release 2. • tag—Text that describe the associated discrete state. objectName useCOV covSubscribed deviceType (not Lite objects) See Table 3-3 on page 3-20 for details on these common shadow object properties. Read Only: Defines all possible discrete states by value-name pairs. with associated text descriptor. Up to ? states can be learned. Read Only: Shows the current Niagara value and status at the statusInput.” page 3-3. — Read-Write: Text descriptor that can describe the physical device (sensor. etc. Values are contiguous and typically start at 1.” which occurs with a 0 value or any other inappropriate value.) connected to the multistate input. cont. statusOutput (output sOut) Read Only: Shows the current state and status present at the statusOutput. (continued) Tab Property Name numberOfStates Description Read Only: Shows the number of states defined in the object’s stateText property. Ignored unless out_of_service. State descriptors are used at the statusOutput. only the first 8 are accessible. Alarm Setup (not Lite obj. See Table 3-3 on page 3-20 for information on these common “full” object properties. Read Only: Defines the presentValue state(s) that are evaluated as a fault.Chapter 3 BACnetMultistateInput BACnet Client Operation Table 3-9 BACnetMultistateInput (MSI) object properties. (Only the first 8 stateText are visible as alarmValues or faultValues). notifyType stateText (not Lite objects) • value—Unique integer. Read Only: Defines the presentValue state(s) that are evaluated as an alarm. — state0 through 7 state0 through 7 — — — — — If the source object has more than 8 states. presentValue. 2004 . Config objectIdentifier. <state text> : {status flags} (if full version) or <integer> : {status flags} (if lite version) — • Full objects use the stateText descriptors to represent the different states. Engineering • Lite objects have integer-only values to represent the different states. See Table 3-3 on page 3-20 for information on these common “full” object properties.3. The default value is “Error. alarm and fault values. Each state has two fields: Device-support ed text string. notificationClass alarmValues faultValues eventEnable.) timeDelay. ackedTransitions (not Lite objects) statusInput (input: sIn) (only writable MSI) — — <state text> : {status flags} (if full version) or <integer> : {status flags} (if lite version) — Error {ok} See “About Writable Input Objects. only the first 8 are available for review in Niagara as alarmValues and faultValues. If the device (and object) supports alarming. BACnet alarms can be received in the Niagara alarm subsystem. If the source BACnet MSI object has more than 8 states.5 BACnet Integration Reference Published: April 26. do not offer runtime (elapsed active time) and change-of-state (COS) count capabilities. 2004 3–49 .3.Chapter 3 BACnet Client Operation BACnetMultistateInput BACnet MSI Notes Full versions include read-only access to the native text descriptors used in the shadowed MSI object (providing it is implemented with the optional State_Text property). Note also that BACnet Multistate Input objects. This allows for more understandable display of values in the station. Refer to the “Receiving BACnet Alarms” section on page 5-7 for more information. unlike their Niagara equivalents. as opposed to integer values. Note Niagara Release 2. Access to the MSO features a priorityArray input for linking to station control logic. a commandable integer-based object. Std” privileges. Emer” privileges. • EmergencySet—To set an output state at the Emergency level (1).Chapter 3 BACnetMultistateOutput BACnet Client Operation BACnetMultistateOutput abbrev: MSO This object shadows a Multi-state Output object in a BACnet device. The BACnet service polls for the object’s presentValue and statusFlags. Requires “Command. as well as its local priorityArray values (visible on Priority tab of the object’s property sheet).5 BACnet Integration Reference Published: April 26. 46 (lite) Trigger Properties Inputs Default Object Shape Outputs statusOutput All Used Inputs / Outputs Inputs priorityArray (not shown): executeTrigger Outputs statusOutput Input / Output Property Reference for BACnet MSO Object (only input and output types. 3–50 Niagara Release 2. (typically not used). • EmergencyAuto—To clear an output state set at the Emergency level (1). Std” privileges. see Table 3-1 for all properties) Type input output Label exe pIn sOut Property Name executeTrigger priorityArray statusOutput Data Species TriggerType IntegerPriorityArrayType IntegerStatusType The BACnet MSO object has an input property. Requires “Command. • Commands Note If “full” objects. both the Set and Emergency Set command menus provide a drop-down list of states (described in text) for selection. If the object is a “full” type. the object provides MSO control commands. the state value is formatted using descriptive text. If lite objects. 2004 . Default Resource Count: 70 (full). and can be monitored for an off-normal condition and generate an alarm. Requires “Command. • Auto—To clear an output state set at the Manual level (8). executeTrigger. By default.3. these commands appear as follows (note these descriptors are modifiable using the object’s commandTags property): Set—To set an output state at the Manual level (8). which appear at the statusOutput. The object also provides right-click commands to set (or auto) an output state at priority levels 1 and 8. In addition to the “common commands” (see page 3-17). Drop Requires “Command. command menus provide only a field in which an integer value can be entered. Emer” privileges. Niagara Release 2. providing the parent BACnetDevice is enabled for polling. 1 to ? — — — a valid state — <valid state or integer> or auto. Continuously polled. eventEnable. Status numberOfStates reliability. Default tags are: • • • • Set (manualSet level) Auto (manualAuto level) Emergency Set (emergencySet level) Emergency Auto (emergencyAuto level) Any desired text string.Chapter 3 BACnet Client Operation BACnetMultistateOutput Properties Table 3-10 BACnetMultistateOutput (MSO) object properties. — — Alarm Setup timeDelay. Valid Values — Default — Notes presentValue reflects the current state by integer value (if lite object) or its assigned stateText descriptor. Tab Property Name objectType. eventState. outOfService. notifyType (not Lite objects) commandTags Visual Read-Write: Defines the command labels that show on the right-click command menu for the object. from which presentValue must differ before an event is generated. Read Only: Shows the values and priorities active at the object’s 16-level priorityArray. statusFlags. Read Only: Shows the number of states defined in the object’s stateText property. Read Only: Shows the status of a feedback value. Config objectIdentifier. See Table 3-3 on page 3-20 for information on these common “full” object properties. description. the command is not available on the command menu. ackedTransitions (not Lite objects) feedbackValue (not Lite objects) priorityArray Priorities Description See Table 3-3 on page 3-20 for information on these properties common to all BACnet (child) shadow objects. including spaces and numerals. See descrip. levels 1 to 16 <valid integer> auto 1 to 16 relinquishDefault 0 The default value (0) is not a valid value. Read Only: Defines the output value when all 16 priority level slots have an “auto”. — — Read-Write: Text descriptor used to describe the physical device (equipment) connected to the binary output. but does indicate an upload is necessary.3. See Table 3-3 on page 3-20 for information on these common “full” object properties. If a tag is blank (no characters). notificationClass.5 BACnet Integration Reference Published: April 26. objectName useCOV covSubscribed deviceType (not Lite objects) See Table 3-3 on page 3-20 for details on these common shadow object properties. 2004 3–51 . Device-support ed text string. presentValue. 2004 . alarm and fault values. as opposed to integer values. Description Read-Only: Defines all possible discrete states by value-name pairs. Refer to the “Receiving BACnet Alarms” section on page 5-7 for more information. BACnet MSO Notes Depending on the BACnet device and the vendor’s implementation. BACnet alarms can be received in the Niagara alarm subsystem. • value—Unique integer. This allows for more understandable display of values in the station. with associated text descriptor.Chapter 3 BACnetMultistateOutput BACnet Client Operation Table 3-10 BACnetMultistateOutput (MSO) object properties. do not offer runtime (elapsed active time) and change-of-state (COS) count capabilities.3. If the device (and object) supports alarming. or auto. • tag—Text that describe the associated discrete state. levels 1 to 16 <state text> : {status flags} (if full version) or <integer> : {status flags} (if lite version) auto 1 to 16 — Station-generated commands only. State descriptors are used at the statusOutput.5 BACnet Integration Reference Published: April 26. Up to ? states learned. Default — Notes State descriptors (tags) are used in linked MultistateLog object collections and also can display at a linked GxText object. presentValue. Engineering statusOutput (output sOut) • Lite objects have integer-only values to represent the different states. Each state has two fields: Valid Values Unique integers. Note also that BACnet Multistate Output objects. 3–52 Niagara Release 2. Values are contiguous and typically start at 1. • Full objects use the stateText descriptors to represent the different states. Dynamically update. intPriorityArray (input pIn) Read Only: Shows the Niagara (station) commands present on each of 16 priority level slots for the priorityArray (pIn) input. Read Only: Shows the current state and status present at the statusOutput. <integer or text state>. Full versions include read-only access to the native text descriptors used in the shadowed MSO object (providing it is implemented with the optional State_Text property). cont. BACnet Multi-state_Output objects may exist for either (or both) physical discrete outputs and/or commandable states. (continued) Tab Property Name stateText (not Lite objects) Visual. unlike their Niagara equivalents. the other is BACnetMultistateValuePriority. which appear at the statusOutput. 1 to ? — reliability.Chapter 3 BACnet Client Operation BACnetMultistateValue BACnetMultistateValue abbrev: MSV This object shadows a “non-commandable” Multi-state Value object in a BACnet device. Tab Property Name objectType. presentValue. outOfService. A linkable statusInput allows the state to be sourced from another Niagara object (providing that its value is writable). ackedTransitions (not Lite objects) See Table 3-3 on page 3-20 for information on these common “full” object properties. the state value is formatted using descriptive text. description. This object brings a multistate (integer) control-system parameter into the station’s control engine.5 BACnet Integration Reference Published: April 26. see Table 3-1 for all properties) Type input output Label exe sIn sOut Property Name executeTrigger statusInput statusOutput Data Species TriggerType IntegerStatusType IntegerStatusType The BACnet MSV object has an input property. alarm and fault values show only for first 8. If the object is a “full” type. Commands Properties Table 3-4 BACnetMultistateValue (MSV) object properties. The BACnet service polls for the object’s presentValue and statusFlags. It is one of two Niagara shadow-object types possible for a BACnet Multi-state Value object. eventState.3. (typically not used). statusFlags. 40 (lite) Trigger Properties Inputs Default Object Shape Outputs statusOutput All Used Inputs / Outputs Inputs statusInput (not shown): executeTrigger Outputs statusOutput 3 Input/Output Property Reference for BACnet MV Object (only input and output types. an integer-based object. and can be monitored for an off-normal condition and generate an alarm. See the the “Common Commands” section on page 3-17. If supported by the parent device. If more than 8 states. updates may alternately occur by COV notifications (if set to “useCOV”). executeTrigger. Valid Values — Default — Notes presentValue reflects the current state by integer value (if lite object) or its assigned stateText descriptor. Status Read Only: Shows the number of states defined in the object’s stateText property. numberOfStates Description See Table 3-3 on page 3-20 for information on these properties common to all BACnet (child) shadow objects. — — Niagara Release 2. 2004 3–53 . Default Resource Count: 59 (full). presentValue. objectName useCOV covSubscribed timeDelay. BACnet MSV Notes BACnet Multi-state_Value objects are sometimes used for read-only “status” states. and this property is writable in the device (and write support is set for the device). therefore. only the first 8 are displayed. Each state has two fields: • value—Unique integer. notificationClass alarmValues faultValues eventEnable. only the first 8 are available for review in Niagara as alarmValues and faultValues. — State descriptors (tags) are used in linked MultistateLog object collections and also can display at a linked GxText object. and typically start at 1.” page 3-25. Note: Do not link statusInput if the Multistate Value object is read-only.5 BACnet Integration Reference Published: April 26. cont. See Table 3-3 on page 3-20 for information on these common “full” object properties. with associated text descriptor. — stateText (not Lite objects) Visual Read-Only: Defines all possible discrete states by value-name pairs. Note 3–54 Niagara Release 2. Input Usage” on page 3-24. Read Only: Defines the presentValue state(s) that are evaluated as an alarm. Read Only: Defines the presentValue state(s) that are evaluated as a fault. statusOutput (output sOut) Read Only: Shows the current state and status present at the statusOutput.3. Alarming support is also available for full MSV objects. 2004 . If linked. <state text> : {status flags} (if full version) or <integer> : {status flags} (if lite version) — • Full objects use the stateText descriptors to represent the different states. Values are contiguous. Note that “full” versions include read-only access to native text descriptors used in the shadowed MSV object. notifyType See Table 3-3 on page 3-20 for details on these common shadow object properties. note that links to the statusInput property will have no positive affect on these particular objects. — state0 through 7 state0 through 7 — — If the source object has more than 8 states. Alarm Setup (not Lite objects) Config — See Table 3-3 on page 3-20 for information on these common “full” object properties. changes are written to presentValue. (continued) Tab Property Name statusInput Status. linking to an input of a read-only object will waste extra station resources due to the overhead of the rewrite mechanism. Valid Values <state text> : {status flags} (if full version) or <integer> : {status flags} (if lite version) — Default false: {ok} Notes See “Value-Type Objects. and “Rewrite Mechanism. alarm and fault values. In fact. objectIdentifier. Up to ? states learned.Chapter 3 BACnetMultistateValue BACnet Client Operation Table 3-4 BACnetMultistateValue (MSV) object properties. Engineering • Lite objects have integer-only values to represent the different states. State descriptors are used at the statusOutput. If the source BACnet MSV object has more than 8 states. • tag—Text that describe the associated discrete state. Unique integers. Description Read Only: Shows the multistate value and status currently at the statusInput. these commands appear as follows (note these descriptors are modifiable using the object’s commandTags property): Set—To set an output state at the Manual level (8). Std” privileges. but has a priorityArray input instead of a statusInput. executeTrigger. the object provides MSV control commands. • EmergencySet—To set an output state at the Emergency level (1). In addition to the “common commands” (see page 3-17). Drop Requires “Command. This object is similar to the integer-based BACnetMultistateValue object.5 BACnet Integration Reference Published: April 26. Requires “Command. • EmergencyAuto—To clear an output state set at the Emergency level (1). as well as its local priorityArray values (visible on Priority tab of the object’s property sheet). which appear at the statusOutput. If the object is a “full” type. 2004 3–55 . Emer” privileges. meaning an MSV object with priorityArray and relinquishDefault properties. and also provides right-click control commands (like an MSO object).Chapter 3 BACnet Client Operation BACnetMultistateValuePriority BACnetMultistateValuePriority abbrev: MSVP This object shadows a “commandable” Multi-state Value object in a BACnet device. • Commands Note If “full” objects. see Table 3-1 for all properties) Type Label exe pIn sOut Property Name executeTrigger priorityArray statusOutput Data Species TriggerType IntegerPriorityArrayType IntegerStatusType This object has an input trigger-type property. 45 (lite) Trigger Properties input output Default Object Shape Inputs Outputs statusOutput All Used Inputs / Outputs Inputs priorityArray (not shown): executeTrigger Outputs statusOutput Input / Output Property Reference for AI Object (only input and output types. By default. • Auto—To clear an output state set at the Manual level (8). The BACnet service polls for the object’s presentValue and statusFlags. Requires “Command. Requires “Command. and can be monitored for an off-normal condition and generate an alarm. the state value is formatted using descriptive text. Niagara Release 2. Emer” privileges. (typically not used). both the Set and Emergency Set command menus provide a drop-down list of states (described in text) for selection. If lite objects.3. Std” privileges. command menus provide only a field in which an integer value can be entered. Default Resource Count: 67 (full). ackedTransitions (not Lite objects) priorityArray Priorities Description See Table 3-3 on page 3-20 for information on these properties common to all BACnet (child) shadow objects.5 BACnet Integration Reference Published: April 26. Default tags are: Device-support ed text string. Visual • • • • Set (manualSet level) Auto (manualAuto level) Emergency Set (emergencySet level) Emergency Auto (emergencyAuto level) Any desired text string. See Table 3-3 on page 3-20 for information on these common “full” object properties. including spaces and numerals. from which presentValue must differ before an event is generated. the command is not available on the command menu. only the first 8 are displayed. Tab Property Name objectType. Read Only: Defines the output value when all 16 priority level slots have an “auto”. statusFlags. See Table 3-3 on page 3-20 for information on these common “full” object properties.3. 3–56 Niagara Release 2. Read-Write: Defines the command labels that show on the right-click command menu for the object. Valid Values — Default — Notes Read Only: Shows the number of states defined in the object’s stateText property. 2004 . description. alarmValues faultValues eventEnable. outOfService. See Table 3-3 on page 3-20 for information on these common “full” object properties. Read Only: Shows the values and priorities active at the object’s 16-level priorityArray. Read Only: Defines the presentValue state(s) that are evaluated as a fault. levels 1 to 16 <valid integer> auto 1 to 16 relinquishDefault 0 The default value (0) is not a valid value. If a tag is blank (no characters). but does indicate an upload is necessary. Read Only: Shows the status of a feedback value. notificationClass. See descrip. providing the parent BACnetDevice is enabled for polling. Config objectIdentifier. Status numberOfStates feedbackValue (not Lite objects) reliability. eventState. Continuously polled. — — Read-Write: Text descriptor used to describe the physical device (equipment) connected to the binary output. - Alarm Setup (not Lite objects) timeDelay. 1 to ? <valid state or integer> — — — — <valid state or integer> or auto.Chapter 3 BACnetMultistateValuePriority BACnet Client Operation Properties Table 3-11 BACnetMultistateValuePriority (MSVP) object properties. presentValue. objectName useCOV covSubscribed deviceType (not Lite objects) See Table 3-3 on page 3-20 for details on these common shadow object properties. notifyType commandTags — state0 through 7 state0 through 7 — — — If the source object has more than 8 states. Read Only: Defines the presentValue state that is evaluated as an alarm. or auto. with associated text descriptor. intPriorityArray (input pIn) Read Only: Shows the Niagara (station) commands present on each of 16 priority level slots for the priorityArray (pIn) input. Input Usage” on page 3-24. This allows for more understandable display of values in the station. cont. BACnet alarms from the object can be received in the Niagara alarm subsystem. presentValue. Up to ? states learned. 2004 3–57 . as opposed to integer values. Each state has two fields: Valid Values Unique integers. <integer or text state>. Refer to the “Receiving BACnet Alarms” section on page 5-7 for more information. Default — Notes State descriptors (tags) are used in linked MultistateLog object collections and also can display at a linked GxText object. levels 1 to 16 <state text> : {status flags} (if full version) or <integer> : {status flags} (if lite version) auto 1 to 16 Engineering See “Value-Type Objects.Chapter 3 BACnet Client Operation BACnetMultistateValuePriority Table 3-11 BACnetMultistateValuePriority (MSVP) object properties. Values are contiguous and typically start at 1. Read Only: Shows the current state and status present at the statusOutput. State descriptors are used at the statusOutput. (continued) Tab Property Name stateText (not Lite objects) Visual. If the device (and object) supports alarming. commandable BACnet Multi-state_Value objects may exist for application control modes and related parameters. If the source (commandable) BACnet MSV object has more than 8 states. • Full objects use the stateText descriptors to represent the different states. Description Read-Only: Defines all possible discrete states by value-name pairs. • tag—Text that describes the associated discrete state. alarm and fault values. statusOutput (output sOut) Error : {ok} • Lite objects have integer-only values to represent the different states.5 BACnet Integration Reference Published: April 26.3. only the first 8 are available for review in Niagara as alarmValues and faultValues. Full versions include read-only access to the native text descriptors used in the shadowed MSO object (providing it is implemented with the optional State_Text property). BACnet MSV (Priority) Notes Depending on the BACnet device and the vendor’s implementation. • value—Unique integer. Note Niagara Release 2. 5 BACnet Integration Reference Published: April 26.Chapter 3 BACnet Client Operation BACnetMultistateValuePriority Niagara Release 2. 2004 3–58 .3. v1”) Niagara Release 2. 2004 4–1 . with its Device object “instance number” appended to the end. from license. Instance Number of 101 will have an object name of: EastWing3_101 Table 4-1 shows how selected properties of the station’s Device object are sourced.CHAPTER 4 BACnet Server Operation Due to its BACnet heritage. Device Object • Exporting Objects • Allowing BACnet Write Access • Using BACnet Log Objects • Device Object The Device object that represents the Niagara station has various properties.3.powered by Niagara Framework” (example: “JACE-NX . a Station named “EastWing3” running the BACnetService that is configured with a deviceID. some of which are populated by BACnetService properties. Config tab Station name and Device ID (fixed) — — Niagara property/entry/(Notes) deviceID.508. “2. Instance Number “<StationName>_<Instance Number>” Device typically. The Device object has a BACnet “Object_Name” property derived from the Station’s name.5 BACnet Integration Reference Published: April 26. a Niagara station requires minimal configuration for BACnet server operation. is “Tridium” typically. is “36” typically. The few main topics below explain the related topics. For example. then “Niagara Station”. selected properties and Niagara source.properties file typically is value of line “productSummary=<value>” (plus) of Niagara host “. Firmware_Revision version of coreruntime module in Niagara host (example.301. BACnet property Object_Identifier Object_Name Object_Type Vendor_Name Vendor_Identifier Model_Name Niagara source BACnetService. Table 4-1 Device object for Station.powered by Niagara Framework”) if “productSummary” line is absent. selected properties and Niagara source. You can expose any of the following standard Niagara objects as BACnet objects.Chapter 4 Exporting Objects BACnet Server Operation Table 4-1 Device object for Station.3. “2. but have no visibility in Niagara.508. StateText limitations apply. see “Adjunct Configuration: Default is value of line “customerName=<value>” bacnet. is bacnet module version in host Location Description Segmentation_Supported Local_Time Local_Date APDU_Segment_Timeout APDU_Timeout Number_of_APDU_Retries Max_Master Max_Info_Frames BACnetService.properties file of Niagara Default is value of line “customerSite=<value>” host (Each value can be overridden. Config sub-tab maxInfoFrames Note that other Device object properties not shown in Table 4-1 (where applicable). maxMaster BACnetMSTP tab. In addition. see “Ndio Considerations. but only by using the following special versions of Niagara log objects.” page 4-6. You must copy and paste these log objects from the Local Library into your station database.305. 2004 .v1”) Application_Software_Revision typically. read-only access is given to all remote BACnet clients.properties File. (continued) BACnet property Niagara source Niagara property/entry/(Notes) (example.” page 6-28 BACnetService. Write-access is optional—see “Allowing BACnet Write Access. Config tab Station time Station data segmentationSupported — — apduSegmentTimeout apduTimeout numberOfApduRetries BACnetService. • • • • MultistateInput 1 (MSI) MultistateOutput 1 (MSO) Calendar Schedule All Ndio types (JACE-4 only). Config tab license. Exporting Objects The station acts as a BACnet server when exposing (exporting) Niagara objects as BACnet objects. BACnet log objects have the following types: • • • BACnetAnalogLog BACnetBinaryLog BACnetIntegerLog • • BACnetMultistateLog BACnetStringLog 4–2 Niagara Release 2.” page 4-5. are sourced from the BACnetService. See “Multistate Object Considerations.” page 4-6. By default. you can expose Niagara logs as BACnet “Trend_Log” objects.5 BACnet Integration Reference Published: April 26. regardless of where they are in the station database: • • • • • AnalogInput (AI) AnalogOutput (AO) BinaryInput (BI) BinaryOutput (BO) 1. Details are explained in these sections: “Setting the foreignAddress” • “BACnet Export Rules and Considerations” • Note Any Niagara object exported as BACnet incudes its entire station “swid” in its object name. Setting the foreignAddress Note The BACnet service has a similar property: deviceID. Instance Number. Refer to page 1-11 for more details. The following main topics apply when exporting Niagara objects to BACnet: “Setting Object Properties” • “Object Name Conventions” • It is recommended that you read through both sections before exposing objects. you must assign it an object instance number (foreignAddress property). for the externally visible Device object that represents the running Niagara station. However.3. Figure 4-1 foreignAddress is a Config property that defines BACnet instance number. foreignAddress currently applies only to object types previously listed under “Exporting Objects. This enforces (externally) the BACnet requirement for unique names for all objects in a device.” page 4-2. Setting Object Properties For any Niagara object to be exported as BACnet. The config property foreignAddress exists for most standard types of standard Niagara objects.Chapter 4 BACnet Server Operation Exporting Objects See the later section “Using BACnet Log Objects. foreignAddress specifies the object’s BACnet object identifier within the Niagara station. for more details.” page 4-8.5 BACnet Integration Reference Published: April 26. Niagara Release 2. 2004 4–3 . In combination with the object’s type. If you try to export an object with a duplicate indentifier (or try to export a Niagara object with no BACnet equivalent). A valid foreignAddress property value for a Niagara object is an integer from 0 to 4194302 (BACnet maximum for configured instance number). 2004 . Therefore. To expose a Niagara object as BACnet. you must assign it a foreignAddress number. 4–4 Niagara Release 2. you must be careful to assign unique numbers to foreignAddress properties among any specific BACnet object type.Chapter 4 Exporting Objects BACnet Server Operation Per the BACnet specification. • Niagara multistate objects and Ndio objects (JACE-4 only) have special export considerations—see immediately following sections. meaning not a BACnet object. It is permissible. • A BACnet device cannot contain two objects with the same object identifier. BACnet Export Rules and Considerations Before you export Niagara objects to BACnet. you can only have one Calendar object with a foreignAddress of “3”. it is recommended that you read and understand the following rules and considerations: Instance Number Rules • Multistate Object Considerations • Ndio Considerations • Instance Number Rules The following rules apply when you wish to expose an object as BACnet. However. However. one AnalogInput object with a foreignAddress of “3”. you must keep track of foreignAddress values within object types. for example. and so on. they automatically have a foreignAddress = -1. you must assign foreignAddress appropriately. notice that the new objects do not have duplicate instance numbers. you see no indication of a problem from the property sheet.5 BACnet Integration Reference Published: April 26. This means that when exporting Niagara objects in a Niagara station. Instead.3. If you wish to export them. meaning type and instance number. • Note The JDE does not automatically enforce this rule when editing properties. a specific “WARNING” is logged in the station’s ErrorLogService. Note When you duplicate or copy-and-paste Niagara objects that have been exported (assigned a specific foreignAddress). for example: Analog_Input: 2 • Binary_Output: 11 • The default foreignAddress for any Niagara object is “-1” (not a BACnet object). each object in a device must have an identifier that is the unique combination of its object type and instance number. to have as many as 8 objects that each have a foreignAddress of “3” (when each object is a different type). and also appears in the station’s Standard Output. you can then expose a Niagara MSI or MSO object as BACnet. as in a standard Niagara multistate). and 2 assignments used in stateText defaults. a zero (0) value is not allowed. Limitations on number of MSI states are from Niagara. 1. 1. you cannot expose a Niagara MSI or MSO without first editing stateText using the guidelines below. this means 1 = Off. MSO objects may have more states. with a maximum of 8 discrete states for an MSI (1 to n. you will need to reassign the foreignAddress value (first to -1 and then back to the desired value).Chapter 4 BACnet Server Operation Exporting Objects Multistate Object Considerations Before exposing a Niagara MultistateInput (MSI) or MultistateOutput (MSO) object as a BACnet object. Other values were modified and added as needed. However. where n < 9). 2004 4–5 . Specifically. but did so before stateText is in BACnet compliance. Notes Niagara Release 2. Figure 4-2 Niagara MSI or MSO object must have stateText with contiguous values. This is a Visual tab property (Figure 4-2). • If you assign a foreignAddress value to an MSI or MSO object that has a non-compliant stateText configuration. • 2. plus all values must be contiguous. Assign numerical states starting at 1 (not 0. and with no zero (0).3. for example. For a two-speed object. versus the numerical 0. Therefore. If you assigned a foreignAddress value to expose an MSI or MSO object. but they must be contiguous. while the contiguous restriction is from BACnet. Assign state numbers contiguously (without skipping a number). Default stateText values for a Niagara MSI and MSO object include the non-compliant “0” value. using the “StateText Guidelines” (below). This MSI object has had its stateText property edited to remove the 0 value. By default. 2 = On. Niagara stateText settings include a 0 value for the “Off” (first) state. and 3 = Fast. be aware that you must first edit its stateText property to be compliant with the BACnet definition. the BACnet protocol reserves a presentValue of 0 as an “index” into the array of possible states defined by stateText. this is recorded in the station’s ErrorLogService. StateText Guidelines If you follow these guidelines when assigning stateText values.5 BACnet Integration Reference Published: April 26. • NdioBinaryInput objects count as a standard BinaryInput. Niagara accounts for this. NdioResistiveInput. This is because multiple BACnet objects with the same name can exist in a station. because each object has a unique parent container. right-click on the station and select Go > UserAdmin. a BACnet device requires a unique name for each contained object.” for more information. 4–6 Niagara Release 2.3. the station sends an I-Have message to respond to Who-Has service requests from other networked BACnet devices.5 BACnet Integration Reference Published: April 26. • Refer to “ndio (bacxNdio). /NewJ5b/AirHandlers/AHU1/Logic/SupplyFan Allowing BACnet Write Access To allow other BACnet devices (BACnet workstations included) to write values in exposed Niagara objects. (Ndio0to20MAOutput is for future use). it is quite possible for a JACE to contain many objects with the same name (where each object resides in a different container). Due to the hierarchical architecture of a Niagara station. NdioHighSpeedCounterInput. an exposed BinaryOutput object from station “demoR2” is named: demoR2_Sim_LogicScreens_AirHandler_supplyFan As needed. Procedure 4-1 Configuring a BACnet user. 2004 . and NdioThermistorType3Input each count as a standard AnalogInput object. • NdioBinaryOutput objects count as a standard BinaryOutput. The swid syntax for a Who-Has (by name) in stations running older builds is: /<stationName>/<containerPaths>/<objectName> for example. For example. be aware that following object types count as standard Niagara objects: Ndio0to10VInput. Each exposed object uses the complete Niagara station “swid” as its BACnet object name. Object Name Conventions Typically. Note that the station’s I-Have service responds to a name-based request only if the object’s swid is given. there may be many objects named “SpaceTemp.Chapter 4 Allowing BACnet Write Access BACnet Server Operation Ndio Considerations When exposing Ndio objects (JACE-4 station). • Ndio0to10VOutput and Ndio0to20MAOutput objects each count as a standard AnalogOutput object. When exposing Niagara objects as BACnet objects.” each with a unique “swid”. however. “Niagara bacnetx Modules. For example. Step 1 In the Tree View of JDE.” page D-2 of Appendix D. you must define a special “BACnet” user for the station. to appropriate security group(s) at the desired levels (Admin. you can assign BACnet-exposed objects to certain security groups and then define the appropriate access to those groups to the user BACnet. Figure 4-4 Assign write privileges as needed by security group and levels. Figure 4-4 shows full access for the General group. Click the Security tab. 2004 4–7 . Command). Figure 4-3 Adding a BACnet user to allow write access from other BACnet devices. Assign write access. Admin-level write-access is required to modify most Niagara object properties. Generally. Step 3 Enter a user name of BACnet. While a password is technically not necessary. select New User. including configurations of Calendar and Schedule objects. any desired password. as needed.Chapter 4 BACnet Server Operation Allowing BACnet Write Access Step 2 From the UserAdmin menu. such as AnalogOutput (AO) and BinaryOutput (BO) objects. • • Niagara Release 2. Command access applies to commandable-type objects. Step 5 Notes • If needed.3.5 BACnet Integration Reference Published: April 26. Operator. you should assign one because you must give write privileges to the BACnet user. and click OK. Note Step 4 Double-click on the BACnet user in the Workspace to bring up the User Preferences dialog box. A New User dialog appears. then the bacnet JAR.” • BACnet logs have (instead) config properties “startTime” and “endTime. See “Collection Time Differences” for more details.Chapter 4 Using BACnet Log Objects BACnet Server Operation Using BACnet Log Objects Starting in Niagara r2.3. • Other features of the BACnet log objects are identical to standard Niagara logs.” The following subsections apply to Niagara BACnet log objects: BACnet Log Overview • Adding BACnet Logs • BACnet Log Shapes • BACnet Log Shapes • BACnet Log Overview Each BACnet log object works exactly like the equivalent standard Niagara log object in all respects but one—config properties that define valid collection periods. outputs. Step 1 Step 2 Step 3 Open the station to receive a BACnet log. 1. the Niagara BACnet module contains special versions of log objects that you copy and paste from the Local Library. Niagara logs have config properties “daysOfWeek” and “timeRange. expand the folder tridiumx.” per the BACnet specification. Note Refer to the Niagara Standard Programming Reference for detailed information about the equivalent standard Niagara log objects. not 135b-2001 (no concept of sequence number). and navigate to the target container. Working in Tree View.3. Use them in place of standard Niagara logs whenever you need to export a log as a BACnet “Trend Log1. inputs. BACnet log objects also appear in the station’s log index and log selector like standard logs. 2004 . BACnet Trend Log type 135-2001. and config properties (except the two properties noted above).4. including archive functions. 4–8 Niagara Release 2. which include: • • • AnalogLog Binary Log Integer Log • • MultistateLog StringLog Adding BACnet Logs You add BACnet log object by copying and pasting from the Local Library. commands. LogChart and LogTable views. Procedure 4-2 Copying BACnet logs into a station database.5 BACnet Integration Reference Published: April 26. Open the Local Library. Step 8 Continue to copy and paste BACnet logs as needed. When ready to export a copied log to BACnet. 2004 4–9 . then the sub-folder server. expand services. Right-click any object and select Copy. Right-click objects to copy Step 6 Rename any copied log with an appropriate name.5 BACnet Integration Reference Published: April 26. This reveals the 5 different BACnet log objects available. Figure 4-5 Copy BACnet logs from the tridiumx/bacnet/services/server folder. either from logs previously copied/configured. and configure standard log properties as needed for archiving. similar to what appears for BACnet client (shadow) objects. Note Step 7 All Niagara BACnet log objects are exported as a BACnet Trend_Log object. or from the Local Library. and then Paste it in the station in the desired container (Figure 4-5). display.3. This is unique among BACnet-exported Niagara objects. BACnet Log Shapes In BACnet log objects. Assign unique foreignAddress values. assign it a foreignAddress property number that is unique among all other BACnet log objects in the station. and so forth.Chapter 4 BACnet Server Operation Using BACnet Log Objects Step 4 Under bacnet. Niagara Release 2. the assigned foreignAddress value appears within its object shape. and is useful when viewing a workspace to see assigned instance numbers (foreignAddress) for exposed Trend_Logs. Step 5 Local Library Right-click to paste copied BACnet log. etc. all days of week are selected. Figure 4-7 Config properties startTime and endTime apply to each BACnet log object. this similarity ends with a BACnet log if you need a daily timer to enable log collection. as startTime and endTime are ignored. the startTime and endTimes values as shown in Figure 4-8 will not work. Collection Time Differences By default. 4–10 Niagara Release 2.) is not shown within its shape—however. whereby by default.3. when you mouse over the object. logging will continue all 24 hours. Note that the different Niagara type of BACnet log object (Analog. Trend Log instance number Mouse over BACnet log object to see Niagara object type. Binary. However. 2004 . any BACnet log object copied from the Local Library will have all wildcards (*) for all fields in the properties startTime and endTime (Figure 4-7). and the time range is from 12:00 AM to 12:00 AM. its object type appears in the window’s lower status line (Figure 4-6.5 BACnet Integration Reference Published: April 26. if you want to log daily only between the period of 8:00 AM and 5:00 PM. For example. This is similar to how a standard Niagara log works. right). this essentially disables that entire property (per the BACnet spec for a Trend_Log). The log will start collecting as soon as you connect the statusInput to a source data output.Chapter 4 Using BACnet Log Objects BACnet Server Operation Figure 4-6 Default BACnet log objects copied from Local Library Instance number (foreignAddress) appears within BACnet log objects’ shapes. Instead. If any field in startTime or endTime contains a wildcard (*). For example. a BACnet log configured as shown in Figure 4-10 will collect only during February. Figure 4-9 BACnet log’s input logEnable is used (link to Schedule object).5 BACnet Integration Reference Published: April 26. as each contains a wildcard (*). 2004 4–11 . Schedule object’s weekly schedule will enable log collection.Chapter 4 BACnet Server Operation Using BACnet Log Objects Figure 4-8 Both startTime and endTime here are ignored. Figure 4-10 Both startTime and endTime here are observed.3. Either of these properties is observed only if wildcard (*) free. you can configure the startTime and endTime properties appropriately. as there are no wildcards (*). you could link a Schedule to the log object’s logEnable input. logEnable input controlled by Schedule object. Using Log Start and End Times If you have an application to either start and/or stop log collection at a specific date and time. 2003—both startTime and endTime properties have no wildcards. and define the desired log periods in the configuration of the Schedule object (Figure 4-9). Invalid entries due to the wildcard (*) fields. In this case. Niagara Release 2. Chapter 4 Using BACnet Log Objects BACnet Server Operation 4–12 Niagara Release 2.3.5 BACnet Integration Reference Published: April 26, 2004 CHAPTER 5 Configuring BACnet Alarming A Niagara station supports BACnet “intrinsic event reporting,” more commonly called alarming. Support is available for both client and server operations, meaning the station can both receive (and reroute) BACnet alarms from shadowed objects, and also send BACnet alarms from objects exposed as BACnet. The following sections explain configuration required for BACnet alarming: Generating BACnet Alarms • Receiving BACnet Alarms • Generating BACnet Alarms Niagara alarms are exported to BACnet using a special notification recipient object, “BACnetRecipient” (Figure 5-1). The BACnetRecipient stores an address of a remote BACnet device to which alarms shall be sent. Figure 5-1 BACnetRecipient object routes a Niagara alarm as a BACnet alarm. Niagara Release 2.3.5 BACnet Integration Reference Published: April 26, 2004 5–1 Chapter 5 Generating BACnet Alarms Configuring BACnet Alarming When a Niagara alarm occurs and is routed to a BACnetRecipient, the recipient creates a BACnet Event Notification Request and sends it to the configured device. The alarm is also routed in the standard manner to the station, Alarm Console, and Vykon Alarm Service (VAS) client. The alarm can be acknowledged normally using the Alarm Console/VAS client, or the remote BACnet device can issue a “BACnet Acknowledge Alarm” request to acknowledge the alarm. Upon receiving a valid BACnet ack request from the remote device, the station routes the ack throughout the Niagara system and removes the corresponding alarm from the Event.UnackedAlarms table of the Supervisor. Sections ahead explain the following Niagara BACnet alarm-generation topics: Requirements and Restrictions • Configuring for BACnet Alarm Generation • BACnetRecipient Object • BACnetRecipient Notes • Requirements and Restrictions These requirements and restrictions apply to Niagara BACnet alarm generation: • • • • • Only Niagara objects that are exposed as BACnet objects can generate BACnet alarms. This means only alarms from Niagara AIs, AOs, BIs, BOs, MSIs, and MSOs can be routed to BACnet devices (Calendar and Schedule objects are not alarmable). This draws from the BACnet requirement that every alarm message must contain the BACnet object ID of its source. Only local objects in a station can generate BACnet alarms. Therefore, a supervisor station cannot generate a BACnet alarm on behalf of an object in a subordinate station. If a subordinate station needs to generate a BACnet alarm, it must be configured with the BACnet service and the appropriate recipient(s). A separate BACnetRecipient must be created for each remote device to which BACnet alarms must be routed (one-to-one BACnetRecipient to device). Alarms are not regenerated. If a BACnet device is down when the Niagara system sends an alarm, the alarm is not saved for retransmission later. The Niagara system, of course, still maintains a record of the alarm in its buffer. The Niagara system does not support setting up a third-party BACnet system to receive BACnet alarms, configure its notification classes, and so forth. All alarm configuration and setup must be done using the system’s native tools. 5–2 Niagara Release 2.3.5 BACnet Integration Reference Published: April 26, 2004 Chapter 5 Configuring BACnet Alarming Generating BACnet Alarms Configuring for BACnet Alarm Generation Using the JDE, follow these steps to configure a station running the BACnet service to generate BACnet alarms. Procedure 5-1 Configuring for BACnet alarm generation. Step 1 Create (if not already created), BACnetDevice objects in the station. Typically, you use the BACnetUtility and its learnNetwork command. Note the device objects’ specific BACnet address (instance number) as shown in their respective shapes. In the NotificationService container, create a NotificationClass object to handle BACnet alarms. A dedicated NotificationClass is not necessary, but it helps you ensure that only objects exposed as BACnet use this notification class. In the JDE Tree View, open the Local Library and expand its tridiumx folder. Expand the bacnet JAR to the tridiumx/bacnet/notification level, and copy a BACnetRecipient (Figure 5-2). Figure 5-2 BACnetRecipient objects are copied from the Local Library. Local Library Step 2 Step 3 tridiumx/bacnet/notification folder (right-click and select Copy). Step 4 Paste the BACnetRecipient in the NotifcationService container, and link it to the NotificationClass created above. Note Paste and link an additional BACnetRecipient, as needed, for each remote BACnet device that needs to receive Niagara alarms. Step 5 Edit the BACnetRecipient object’s Config property, recipientDeviceId, to hold the Device object ID of the BACnet device to receive the alarms. The property field is Instance Number, which is -1 by default. Change this to the unique Device object ID (instance number) of the target BACnet device. Niagara Release 2.3.5 BACnet Integration Reference Published: April 26, 2004 5–3 assign the notification class (created above) used to handle BACnet alarms. edit other Config properties of the BACnetRecipient object. to verify proper operation.5 BACnet Integration Reference Published: April 26. BI. See the BACnetRecipient Properties. the Niagara system should be configured for standard Niagara alarming (Alarm Console receives alarms). Step 2 Using the third-party tool to access the remote BACnet device. The BACnetRecipient translates the alarm from the Niagara format to a BACnet format. and passed onto the BACnetRecipient. Verify an acknowledgment is received by the Niagara station. Step 3 Step 4 Step 5 5–4 Niagara Release 2. with an analog object type. Open a Niagara alarm console and verify the alarm was received by Niagara. and sends it to the BACnet device specified in the previous Step 5. For any Niagara AI. you can do this by setting the appropriate eventEnable properties and then modifying the alarm high or low limit. issue an acknowledgement for the alarm.3. or BO object that is exposed as a BACnet object (foreignAddress property configured). AO. For example. Step 7 Testing BACnet Alarm Generation In order to test Niagara BACnet alarm generation. 2004 . the alarm is also routed to its NotificationService archive location (local or supervisor) using the standard Niagara alarm mechanism. The alarm should also be removed form the list on unacknowledged alarms in the Alarm Console. you should have access to third-party BACnet tools for the remote devices. The alarm acknowledgement will be saved in the event history table. The station is now configured to generate BACnet alarms for the specified objects. BI. “Testing BACnet Alarm Generation”. Procedure 5-2 Testing BACnet alarm generation from the JACE. See the next section. BO. or MSO objects that is exposed to BACnet (and assigned to the BACnet notification class). Using the third-party BACnet tool. At the same time. In addition. The alarm is routed via the notification class created in the previous Step 2. page 5-5 for more details. verify the device receives the alarm. MSI. AO.Chapter 5 Generating BACnet Alarms Configuring BACnet Alarming Step 6 If needed. Step 1 Force into an alarm condition one of the standard AI. Chapter 5 Configuring BACnet Alarming Generating BACnet Alarms BACnetRecipient abbrev: none (BACnetRecipient) This object receives a Niagara alarm routed to a Niagara notification class, reformats it as a BACnet alarm, and sends it to a particular BACnet device. The object has a single linkable input property, notificationInput, for linking to NotificationClass object(s). The target BACnet device is identified in a Config property: recipientDeviceId. A separate BACnetRecipient object is needed for each remote BACnet device required to receive station-generated alarms. Default Resource Count: 21 Dependencies Inputs Default Object Shape Outputs (none) All Used Inputs / Outputs Inputs notificationInput Outputs (none) Input / Output Property Reference for BACnetRecipient (only input and output types, see Table 5-1 for all properties) Type input: output: Label notifica: (none): Property Name notificationInput: —: Data Species NotificationTriggerType: —: Like other notification-type objects, a BACnetRecipient object must reside under the station’s NotificationService container object. Important properties for a BACnetRecipient object are on its property sheet’s Config tab. Values reflect a BACnet Notification Class object’s “Recipient_List” property. Description Valid Values Default (all) Properties Table 5-1 BACnetRecipient object, important (Config) properties. Tab Property Name validDays Notes Default is for all days of the week. Separate recipient objects may specify the same BACnet device, but have different time ranges and other properties. See “BACnetRecipient Notes” for example. Read-Write: Defines days of valid operation, Sun, Mon, Tue, by days of week. Any combination of days Wed, Thu, Fri, can be selected. Sat Read-Write: Defines time of valid operation, which applies to any of the defined valid days of week. The exclusive option, when checked, means the valid time range is any time outside the time range specified. 12:00 AM/PM to 12:00AM/PM, exclusive timeRange 12:00 AM to 12:00 AM (constant) Config recipientDeviceId Read-Write: Defines the target BACnet device to receive the alarm, by the instance number of its Device object. Read-Write: The handle of a process within the recipient device that is to receive the event notification. Read-Write: Defines whether notifications are to be sent using confirmed services (True) or unconfirmed services (False). valid device instance number integer -1 The single most (no device) important property. 0 Use of this property is a local matter in the remote device. If False (default), the station does not expect a response from the target device. “Cleared” transition types are not sent. processId issueConfirmedNotifications False, True False validTransitions Read-Write: Defines which event transition-types are valid for transmission. to-offnormal, to-fault, to-normal (all) Niagara Release 2.3.5 BACnet Integration Reference Published: April 26, 2004 5–5 Chapter 5 Generating BACnet Alarms Configuring BACnet Alarming BACnetRecipient Notes Depending on how a remote BACnet device processes received alarms, you may wish to configure BACnetRecipient properties apart from just recipientDeviceId. For example, if a device is configured to route incoming alarms received during weekdays to Process ID 1, and during weekends to Process ID 2, then in the station, two BACnetRecipient objects could target the same BACnet device (Figure 5-3). Figure 5-3 Example of two BACnetRecipient objects with the same target BACnet device. validDays = Mon, Tue, Wed, Thu, Fri deviceRecipientId = 14 processId = 1 validDays = Sat, Sun deviceRecipientId = 14 processId = 2 In the above example, both BACnetRecipient objects target BACnet device 14, however, they differ by values in properties validDays and processId. The validTransitions property is typically set to match the “ackRequired” property setting in the linked NotificationClass object. Depending on the capability of the target BACnet device, the property issueConfirmedNotifications may be left at default (False) or set to True. – Notes • • If False, the alarm message is sent once, without any subsequent confirmation required from the target BACnet device. – If True, a confirmation message from the target device is expected for each alarm issued (note this does not mean operator acknowledgement). If message confirmation is not received in the “apduTimeout” period, the alarm message is resent, up to the number of times specified in “numberOfApduRetries” (both are properties of the BACnet service). • In general, by setting ackRequired in the linked NotificationClass object and issueConfirmedNotifications to True in the BACnetRecipient, the most secure communications between devices is provided. 5–6 Niagara Release 2.3.5 BACnet Integration Reference Published: April 26, 2004 Chapter 5 Configuring BACnet Alarming Receiving BACnet Alarms Receiving BACnet Alarms The BACnet service can accept incoming alarms from remote BACnet devices, convert them to the Niagara alarm format, and route them through the Niagara system. In this way, BACnet alarms can be sent to printer recipients, e-mail recipients, and so forth. BACnet alarms will also appear in the Niagara Alarm Console (Figure 5-4) or Vykon Alarm Service (VAS) client. A console or VAS client user can acknowledge the BACnet alarms just like native Niagara alarms. Figure 5-4 BACnet alarm received in the Niagara Alarm Console. A Niagara BACnet alarm record has two additional fields from a native alarm: extEventData and proxySwid. The extEventData field shows the received value of the BACnet-formatted “BACnetTimeStamp.” Depending on the capability of the device generating the alarm, this may be a date-time or a simple sequence number. Note: eventCount remains at 0 for a BACnet alarm. (This feature is proprietary to Niagara). The proxySwid field shows the BACnetService, used to route alarm acknowledgements back to the generating BACnet device. A proxySwid field can appear in an alarm record for another integration object that does not directly alarm, for example, a LON device. However, in this example, the proxySwid names the BACnetService, because this is a BACnet alarm. Sections ahead explain the following topics on receiving BACnet alarms: Requirements and Restrictions • Configuring for BACnet Alarm Reception • Testing BACnet Alarm Reception • Using the GetAlarmSummary • Niagara Release 2.3.5 BACnet Integration Reference Published: April 26, 2004 5–7 Chapter 5 Receiving BACnet Alarms Configuring BACnet Alarming Requirements and Restrictions The following requirements and restrictions apply to BACnet alarms received by a Niagara station: A BACnet alarm must be generated by a BACnet device / object combination that is represented by valid shadow objects in the Niagara station. Otherwise, the alarm is discarded. • The station must have the corresponding NotificationClass object in its NotificationService container (must be the same notification class number used by the alarming object in the remote BACnet device. In the property sheet of the alarmable shadow object, this is its notificationClass property.) • Any BACnet alarms sent to a non-operative station are lost. The Niagara system does not query remote BACnet devices to retrieve lists of unacknowledged alarms. However, a JDE user can use the BACnetUtility command, getAlarmSummary, to retrieve a list of unacknowledged alarms from any specific BACnet device (providing it was previously learned). • The Niagara alarming subsystem requires each alarm to be uniquely identified by a timestamp containing both time and date. Each BACnet alarm contains a BACnetTimeStamp field, which corresponds to the event’s “to-<state>” time. The value of this field can be a time, date-time, or simply a sequence number. For a BACnet alarm received with a “date-time” BACnetTimeStamp value, the date-time value is converted directly to a Niagara timestamp. Any BACnet alarm received with a “time” or “sequence” number is assigned a Niagara-type timestamp equal to its arrival time. The original BACnetTimeStamp value is stored in text format in the “extEventData” field of the Niagara alarm record. • Configuring for BACnet Alarm Reception To configure BACnet alarm reception in a Niagara station, you need access to third-party configuration tools for the remote BACnet devices. Procedure 5-3 Configuring for BACnet alarm reception. Step 1 Using the JDE, create (if not already created), BACnetDevice objects and child objects in the station. Typically, you use the BACnetUtility and its learnNetwork and learnDevice commands. Refer to Chapter 2, “Using the BACnet Utility” for details. Using third-party tools for the remote BACnet devices, configure them to generate alarms for shadowed objects, and route them to the Niagara station. Note the notification class numbers used by the objects that will alarm (each Niagara shadow object will show its assigned notificationClass number). Using the JDE, create the necessary NotificationClass objects in the station’s NotificationService container, based upon notification numbers obtained in Step 2. Step 2 Step 3 5–8 Niagara Release 2.3.5 BACnet Integration Reference Published: April 26, 2004 3. The alarm is then removed from the Alarm Console’s list of unacknowledged alarms. the Niagara system should be configured for normal Niagara alarming (Alarm Console receives alarms). This message is sent to the Niagara station. Niagara Release 2.5 BACnet Integration Reference Published: April 26. you should have access to third-party BACnet tools for the remote devices. acknowledge the alarm. refer to the “getAlarmSummary” section on page 2-13. In addition. verify the alarm is received by the Niagara station. provided as a “device” command in the station’s BACnetUtility. 2004 5–9 . Step 2 Step 3 Using the GetAlarmSummary Related to BACnet alarm reception is the BACnet GetAlarmSummary service. Using the Niagara Alarm Console. The alarm will be routed using a notification class created in Step 3 of the previous procedure. the BACnet device will generate an “ack notification” message to indicate the alarm was successfully acknowledged. Procedure 5-4 Testing BACnet alarm reception by the JACE. Force into an alarm condition one of the remote BACnet objects (as configured in Step 2 of the previous procedure). A BACnet AlarmAcknowledgement message is issued to the remote device. Using the JDE and the Alarm Console. For more information on this service. The ack notification will be routed using the same notification class as the alarm. Upon receipt of the acknowledgement message.Chapter 5 Configuring BACnet Alarming Receiving BACnet Alarms Testing BACnet Alarm Reception Step 1 In order to test Niagara BACnet alarm generation. 3.5 BACnet Integration Reference Published: April 26.Chapter 5 Receiving BACnet Alarms Configuring BACnet Alarming 5–10 Niagara Release 2. 2004 . 2004 6–1 .properties File Niagara Release 2. the device status (device/ping) mechanism.CHAPTER 6 Configuring BACnetService Properties The property sheet for the Niagara BACnet service contain parameters that affect the polling of BACnet shadow objects. The property sheet is also where you selectively toggle debug services (if needed).5 BACnet Integration Reference Published: April 26. Included is a router table listing known BACnet routers. plus a variety of other parameters. as well as issue commands to the service. The following main topics are explained ahead: • • • • • • • • • BACnetService Property Sheet Overview General Properties – Status (current object counts and limit) – Config (includes router table) – Engineering (includes time synch master setup) Configuring BACnet Polling Configuring Device Status/Ping Configuring BACnet/IP Properties – Config (to define BBMD role) – Engineering (BBMD tables for broadcast distribution and foreign devices) Configuring BACnet/Ethernet Properties Commands to the BACnet Service Using Debug Options Adjunct Configuration: bacnet. link-layer-specific engineering properties.3. 3.” page F-8.5 BACnet Integration Reference Published: April 26. Subtabs always remain at the bottom. with main tabs at top and subtabs at bottom. For the main tab “General. • Sub-tabs—vary by main tab selected. “Niagara MS/TP Support. initial support for BACnet MS/TP is available only JACE-4 or JACE-5 platforms. Two rows of tabs. As explained in that appendix. Config tab. and BACnetMSTP. as described in Chapter 1. “Getting Started. Note Properties on the BACnetMSTP tabs are covered in Appendix F. Engineering. and tabs for different link-layer (networks). BACnetEthernet. DeviceStatus. Right-click BACnetService.” Please refer to “BACnetMSTP. and Security. • Figure 6-1 BACnetService property sheet. you need to change properties on at least one of the link-layer (network) tabs. with some link-layer main tabs remaining at the top. 2004 . whatever subtabs it has appear at the bottom. and requires the JACE to be licensed with the optional “bacnetMSTP” feature. When you click (select) any main tab. Config.Chapter 6 BACnetService Property Sheet Overview Configuring BACnetService Properties BACnetService Property Sheet Overview The BACnetService property sheet has two major types of tabs (Figure 6-1): Main tabs—General. 6–2 Niagara Release 2. BACnetIP. Resizing the JDE window smaller creates more rows for the tabs. Visual. select Go > Properties. Poll.” You also need to assign a unique device ID on the General. 3 and 4. • When first configuring a station. 2.” sub-tabs include Status. In this case. The important General sub-tabs are Status.5. else False if multiple paths to devices are detected. Included are object count figures which can be useful to estimate remaining object capacities. 2004 6–3 . by default “Handles reads / writes to remote BACnet devices. routingEnabled: Applies if multiple link-layers (for example. and various other items. because another remote device is performing routing between the associated networks. config properties with a router table. however. Status Figure 6-1 shows the General. and Engineering. Status tab for the BACnetService. engineering properties including setup for BACnet time-synch reception. or perhaps BACnet/IP and BACnetMSTP) are enabled. Config.3. it is recommended that you investigate and eliminate the redundant paths between BACnet devices. such as from a Who-Is request.” bacnetObjectCount: Total number of all BACnet shadow objects currently in the station. Included are status counts on BACnet object capacities. Each property is listed below with a brief description. Note Niagara Release 2. description: Niagara service description. including both parent device objects and child shadow objects. If routingEnabled is “False” it means the station is configured as a router (more than one link-layer tab is enabled). bacnetDeviceCount: Number of parent (BACnetDevice) objects in the station. but it is not currently operating as a router. Includes devices associated with all link-layers and networks. as either “{ok}” if station is running or “Down” if station is opened offline.Chapter 6 Configuring BACnetService Properties General Properties General Properties General properties have no specific associated task. Note Starting in r2.5 BACnet Integration Reference Published: April 26. a “{fault}” status is displayed if a link-layer tab is enabled but has a fault condition. where all properties (except description) are read-only. among the different sub-tabs there is valuable information. BACnet/IP and BACnet/Ethernet. statusFlags: Current Niagara service state. Shows True provided a single path to BACnet devices is detected. objectType: Fixed as BACnetService.3. Figure 6-2 General. Click on tabs General. Niagara Release 2. Config tab of BACnet service property sheet.” page 1-11). APDUs are required to be retransmitted whenever a “confirmed” message service is used. The default value is 3000 ms. Config. in milliseconds. necessary routers are typically learned as a result of a whoIs command issued from the BACnetUtility. each following an APDU timeout. expand the station’s services folder and right-click the BACnet service node. Config tab are for: APDU properties. apduTimeout: Defines the timeout. add. The default value is 3. Step 2 APDU properties Only the bottom two properties effect any change in the station’s handling of APDUs in BACnet messaging.5 BACnet Integration Reference Published: April 26.3. The default value is 2000 ms. and a “message-reception” acknowledgement is not received. numberOfApduRetries: Defines the maximum number of times an APDU will be resent. 2004 6–4 . other properties on the General.Chapter 6 General Properties Configuring BACnetService Properties Config Apart from the Device ID for the JACE station (see “Configuring Essential Station Properties. before it is resent. or remove routers in this table. the default APDU parameters for the BACnet service are sufficient when integrating a Niagara host in a BACnet network. when a “message-reception” acknowledgement is not received. (Figure 6-9). in milliseconds. Also. This is a read-only property. • Typically. for retransmission of APDU segments. Step 1 In the Tree View. APDU properties APDU (application protocol data unit) handling properties are described as follows: segmentationSupported: Shows that segmentation is supported by the Niagara station. Select Go > Properties to open its Property Sheet. used for BACnet messaging. Procedure 6-1 Accessing APDU properties and router table. showing BACnet routers known to the station. apduSegmentTimeout: Specifies a timeout. for any APDU requiring retransmission. • A router table. Included is the ability to modify. Config tab (Figure 6-3). Config tab. if associated BACnetRecipient object(s) are configured to “issueConfirmedNotifications. 2004 6–5 . This is a network number on the service’s link-layer tab (BACnet/IP or BACnet/Ethernet).” and “Rtr MAC Addr. The “far-side” network. the router table shows BACnet router attributes “Port ID. • APDU parameters affect Niagara-generated BACnet alarms. 2=Ethernet. • BACnet/Ethernet: device’s 48-bit Ethernet MAC address nn:nn:nn:nn:nn:nn • Niagara Release 2.3. • Router Table The router table is shown near the bottom of the property sheet’s General. BACnet/IP: xx:xx:xx:xx:yy:yy where xx:xx:xx:xx is IP address and yy:yy is UDP port. meaning the remote BACnet network reached through the router. 3—6=Serial (MSTP1—MSTP4). Note Port ID DNET Rtr Net# Rtr MAC Addr Status Port Info From left-to-right. see the “BACnetRecipient” section on page 5-5.”). It shows all external BACnet routers—meaning all those currently known to the station. Figure 6-3 Router table on General. the six routerTable columns are described below: Port ID: Logical mapping to the local port on the Niagara host used to rout to this network. in hexadecimal. Format varies according to link-layer for the local (Rtr Net#) network. Starting in r2.” and “Port Info” (in addition to “DNET.” “Status.” Rtr Net#. or the “near-side” network.3. Each row in the table represents one logical router.5.Chapter 6 Configuring BACnetService Properties General Properties Notes In practice. where 1=BACnet/IP. Rtr MAC Addr: BACnet MAC (media access control) address of router device.5 BACnet Integration Reference Published: April 26.” For more details. BACnet recommends the same APDU timeout and retry parameters to be used among all BACnet devices on the same network. DNET: Destination network number. Rtr Net#: Local network number for the router. through which another DNET is reachable. Procedure 6-2 provides the suggested steps for manually adding a new router. remove. Procedure 6-2 Manually adding a new router. or modify router entries. and does not require further maintenance. unknown—A router table entry exists for the destination network. 2 (Ethernet). • 6–6 Niagara Release 2. in some scenarios you may need to manually add. 3—6 for MSTP1—MSTP4 (if JACE-4/5 only).” until verification is received that it is operational. Step 1 Click in the Port ID field and enter the local port used to access the remote router. then edit any selected field as needed. router not connected—An “I-Could-Be-Router-To-Network” message was received from a BACnet “half-router” (provides PTP connection to another half-router. the read-only checkbox “Binary-converted port info” will be checked when selecting the router in the table.5 BACnet Integration Reference Published: April 26. router busy—A “Router-Busy-To-Network” message was received. Click in the DNET field and enter the known remote (far-side) network address. then the Apply button (window bottom). either: • • • • • ok—Can be used to get to other networks. the router table is automatically populated after performing whoIs command(s). then Apply. click Modify button. either 1 (IP/Ethernet). However. click it in the table. The router is added to the table with an initial status of “unknown. or if port info was received with unprintable characters. 2004 .Chapter 6 General Properties Configuring BACnetService Properties Status: Currently known status of this router. and “MSTP1—4” is the default text for local MS/TP ports. The router’s status changes to “unknown” until verification is received. indicating that this router is temporarily implementing congestion control. then Apply button (window bottom). Changing the Router Table Typically. but verification has not occurred (not sent packets to the network and received messages from that router. Click the Add button. Networks reachable through routers may not show port info (may have blank field). click it in the table. “Ethernet” is the default text for BACnet/Ethernet. router unavailable—A reject message was received from this router for this DNET. but by request only). Port Info: Information about the local port. Click Remove button. Click in the Rtr MAC Addr field and enter the known BACnet MAC address for the router device. Click in the Rtr Net# field and enter the local network number used to reach the router. or the port used to reach this network is not enabled in Niagara. • To remove an entry. where “Annex J IP” is the default text for BACnet/IP. When done. Step 2 Step 3 Step 4 Step 5 Notes To modify an entry. indicating existence and operation for that DNET).3. the General.3. These properties specify the number of messages each queue can hold before overflowing. As messages in queues are typically processed very quickly. is typically sufficient. serverQueueSize: Message capacity of the server layer queue. following a top-to-bottom order of how they appear on the Engineering tab. which apply to different protocol layers. Note Niagara Release 2. 16 (messages). Message Queue Properties Four Unrelated Properties They are described in the following sections. the default settings for each. a symptom of a queue-size problem may be that some devices (otherwise known to exist on the network) are not reported. transportQueueSize: Message capacity of the transport layer queue. Message Queue Properties • Four Unrelated Properties • Message Queue Properties Three properties specify message queue sizes. In the case of a Who-Is command. Engineering tab holds a number of properties that affect ongoing station operation.Chapter 6 Configuring BACnetService Properties General Properties Engineering Apart from various debug options covered in another section (“Using Debug Options.” page 6-24). 2004 6–7 . Engineering tab of BACnet service property sheet.5 BACnet Integration Reference Published: April 26. clientQueueSize: Message capacity of the client layer queue. Figure 6-4 General. 3. or both.5 BACnet Integration Reference Published: April 26. The recommended adjustment range for each is from 16 to 100. and the range is from 300 to 2147483647 (MAX_VALUE). For related information. For more complete information. the JACE adjusts its internal clock if necessary. rewriteDelay: Global rewrite value that applies to all input-writable shadow objects. there is no reason for you to change this property. until the same behavior does not generate the queue overflow. There are many BACnet devices. timeSynchAcceptType. The possibility of queue-full exceptions is greatest when: 1. you may need to adjust each queue size upwards. Upon receipt of a valid message. Who-Has) issued from the Niagara station. which is in turn configured with a list of specific recipients. You might need to adjust this upwards if a device (for whatever reason) takes longer than this period to respond to a learnDevice command—for example. all responding simultaneously to a request (Who-Is. objects configured to useCOV will update for some period of time. increase queue sizes slightly (say to 18 or 20). you may notice that if you disable a device for polling. covResubscriptionInterval: Default value is 600 seconds. to a number nearly equal to the number of identical devices. and Both. Available options are: TimeSynch Only. build its object list.” page 3-18. refer to “Using COV in Shadow Objects. A JACE station can be configured to accept periodic time-synchronization messages from any networked BACnet time-synchronization master device.” page 3-25. This value is global for all objects in the station configured to useCOV. refer to “Writing to BACnet Objects. However. range is from 30 to 2147483647 (MAX_VALUE). Acceptable messages types can be either BACnet TimeSynchronization or UTCTimeSynchronization. Niagara Release 2. covResubscriptionInterval. transportLockupThreshold: Default value is 30000 ms (30 seconds). 2004 6–8 . but typically not longer than this period. maximum. The need to edit this parameter is expected to be rare. If many BACnet devices are the same. you configure the JACE to accept UTC time-synch only when the sending BACnet master is in a different time zone. and represents the frequency at which COV resubscription requests are sent to the various devices. Default is 60 seconds. UTCTimeSynch Only. Four Unrelated Properties These unrelated properties appear grouped together: transportLockupThreshold. and rewriteDelay. timeSynchAcceptType: Default is None (no BACnet time synchronization messages are accepted). unless you receive exceptions in Standard Output with messages like “QueueFullException” or “QUEUE_OVERFLOW. Typically. meaning that they respond at the same time (far less likely if devices are different). In this case. 2. Typically. This delay is observed following an input write to a shadow object and a subsequent poll determines a mismatch between the input value and output value.Chapter 6 General Properties Configuring BACnetService Properties Leave queue sizes at 16. Most BACnet devices are the same types.” with an accompanying “transport” or “server” label. Polling of these objects uses a single process thread in the running station.” page 3-22. 1. For all shadow objects not successfully subscribed for COV notifications.” • Each object is polled with a message sent to the BACnet device requesting the shadowed object’s current values for properties Present_Value and Status_Flags. which are “transient” types. either at the parent (device) or child shadow object level. The following sections apply to the BACnet poll scheduler: About the Poll Scheduler • Accessing Poll Scheduler Properties • About the Poll Scheduler The poll scheduler periodically polls BACnet objects represented by BACnet shadow objects. • The shadow object resides in a container under that BACnetDevice object. Note In r2. 2004 6–9 . For details. provided that: The parent (BACnetDevice) object is enabled for polling (status “ok”).5. that is a JACE licensed for bacnetMSTP. Niagara Release 2. Please note that it adds to the overall poll cycle time. “Exceptions to Polling.5 BACnet Integration Reference Published: April 26. The property sheet for each shadow object shows a “{P}” by these two polled properties (presentValue and statusFlags).3. See the next section. If the station is enabled for BACnet MS/TP. consecutive scan is performed by the BACnet poll scheduler. this option does not apply to BACnet MS/TP devices. The property sheet for the BACnet service includes Poll and DeviceStatus tabs with properties for configuration and status of both the poll scheduler and device status monitoring/ping mechanism. Need for this configuration is expected to be rare.” Note The remainder of this section applies only to the “main” BACnet poll scheduler used for retrieving values from objects in BACnet/Ethernet and BACnet/IP devices. The combination of these properties is also reflected at the statusOutput for each object. For related details. refer to Appendix F. and child objects’ engineering property “userData. see descriptions for the BACnetDevice engineering property “userData. A continuously-repeating.” page 3-10. you can define a “poll delay” for BACnet devices that cannot keep up with Niagara polling. “Niagara MS/TP Support. Due to token-passing timing issues. a separate (but similar) polling scheduler is used for each enabled BACnetMSTP tab or network.Chapter 6 Configuring BACnetService Properties Configuring BACnet Polling Configuring BACnet Polling The BACnet service uses an object “poll scheduler” to periodically poll1 shadow objects in BACnet/Ethernet and BACnet/IP devices set for polling. but may be necessary under certain circumstances.3. it is removed from the polling list. child objects configured for useCOV that are placed in PollOnDemand containers operate in the follow manner: • When first being viewed. it remains in the poll list while it is being viewed (or in the view cache). BACnet shadow objects with a priorityArray input (types AO. (See the next Note. Note If a BACnetDevice is configured to useCOV (and the device supports SubscribeCOV). A BACnet shadow object in a PollOnDemand container polls only while a linked Gx object is viewed in a GxPage graphic. You must issue a fetch command (or an upload command) for the shadow object to refresh these values.4 and later. The resulting poll cycle time is reduced for better control response (and also quicker updates when monitoring). and has successfully subscribed for COV notifications with the remote device. • Polling On Demand The BACnet service supports use of the PollOnDemand container under any BACnetDevice container. Remaining properties of a shadow object are mostly “on_demand_transient” types and “foreign_persistent” types. In this case.5 BACnet Integration Reference Published: April 26. Such dynamic polling is “automatic”. See “Polling On Demand. Config tab.” • For related information. BO. Refer to the “Common Commands” section on page 3-17.3. and applies whether the GxPage is being viewed in the JDE or in a Web browser connection. and issue a subscription request to the device (COV server).” • If the object’s parent (BACnetDevice) object is disabled (outOfService). BVP. refer to “Using COV in Shadow Objects. properties Present_Value and Status_Flags are updated with received COV notifications. Typically. also have the object’s Priority_Array values polled. and future updates are from COV notifications while it is being viewed (or in the view cache). Exceptions to Polling A BACnet shadow object is not polled under any of the following circumstances: It does not have a priorityArray input. If an object successfully “subscribes” for COV.3. MSVP). and become “unsubscribed. 6–10 Niagara Release 2. This feature allows the service’s Poll Scheduler to keep a smaller list of “poll always” objects. If the object cannot successfully subscribe after 3 successive attempts. this means it has been given a “disablePolling” command.Chapter 6 Configuring BACnet Polling Configuring BACnetService Properties In r2. AVP. are indicated by an “{F}” on the property sheet. No BACnet shadow objects are polled in this case. When viewing ends (or the view cache is overwritten) child objects that are subscribed for COV request to unsubscribe from the device (COV server). child objects are polled on the first cycle. “pollDisabled” is set to True).” page 3-18. and its linked Gx object is not currently being viewed (or in a view cache).) • If the object resides in a PollOnDemand container. MSO. • If polling is disabled (On the Poll. 2004 . After viewing linked Gx objects in JDE. BACnetDevice object operates like a PollAlways container for any directly contained shadow objects. GxFan. this provides dynamic system monitoring for a user. polling continues for the associated shadow objects in PollOnDemand containers until that view is removed from the view cache. such as GxSpectrum and GxTimePlot. any “learned” device will automatically have its Config property “readPropertyMultiple” set to True—this results in approximately 60% faster poll of objects in that device (than if just the readProperty service was used). following a station restart. this means 4 view changes before polling stops. If the linked Gx objects are in a GxPage container. Typically. and not to other control objects (or log-type objects). GxBoolean. • • Calculating the BACnet Poll Cycle Time Value/status updates from object polling can be just a few seconds apart or may be a minute or more. are not supported. including right-click command access. However. Linkages to multi-input Gx types. Table 6-1 shows some polling time measurements taken with a station on a BACnet/Ethernet network. This includes types GxText. 2004 6–11 . Caution BACnet shadow objects in PollOnDemand containers should only be linked to Gx objects. Furthermore. GxDamper. The PollOnDemand container shows a diagonal line through it: • The PollAlways container shows no diagonal line: • Figure 6-5 PollOnDemand containers for BACnet shadow objects linked to Gx objects. the shadow object’s output(s) go to an outOfService status. In this example. and GxInteger.Chapter 6 Configuring BACnetService Properties Configuring BACnet Polling PollOnDemand Containers Icons for the two types of containers appear slightly different in JDE Tree View. If supported.3. or “inactive” if binary.” and all BACnet devices support the ReadPropertyMultiple service. Notes • PollOnDemand behavior is controlled by a child object’s immediate parent container—a PollOnDemand container somewhere else in the parentage of an object is inconsequential. when not being polled. and if the BACnet “ReadPropertyMultiple” service is supported by devices.5 BACnet Integration Reference Published: April 26. all BACnet shadow objects are in containers to “poll always. Niagara Release 2. You can create other PollOnDemand and/or PollAlways containers under the BACnetDevice and move (or cut and paste) shadow objects to them. outputs of unpolled objects initialize as “0” if analog. Linkage to any of the single-input type Gx objects is supported when using shadow objects in a PollOnDemand container. GxFloat. The main factors are the number of shadow objects being polled. Chapter 6 Configuring BACnet Polling Configuring BACnetService Properties Note In practice. Objects / Sec ≈ 32 objects / sec Poll Time for 125 objects ≈ 4 seconds (4000 ms) Poll Time for 250 objects ≈ 8 seconds (8000 ms) COV Updates Client-side support for the BACnet SubscribeCOV service means quicker data updates (than polling) for those shadow objects successfully subscribed for COV. Accessing Poll Scheduler Properties Poll scheduler properties are under the Poll tab of the BACnet service.5 BACnet Integration Reference Published: April 26. Table 6-1 Example BACnet poll cycle times for BACnet/Ethernet network.3. and Engineering. This shows the 3 configuration properties related to polling (Figure 6-7). Binary and multistate-type shadow objects update the statusOutput (Present_Value. or upon any change to Status_Flags. A collection of 10 real-time status properties related to polling is shown (Figure 6-6). Analog-type shadow objects update the statusOutput upon each Present_Value change equal or greater to the object’s COV_Increment value.” page 3-18. expand the station’s services folder and right-click the BACnet service node. actual objects-per-second rates are dependent on a number of variables. click on tabs Poll. 6–12 Niagara Release 2. click on tabs Poll. Step 2 Step 3 For config properties. Config. Status. 2004 . Status_Flags) immediately upon any change. Step 1 In the Tree View. Procedure 6-3 Accessing poll scheduler properties. Status tab of BACnet service. refer to “Using COV in Shadow Objects. Choose Go > Properties to open its property sheet. For status properties. Config. Figure 6-6 Poll. including the existing network topology and the capabilities of the BACnet devices. For related information. Properties are grouped under three sub-tabs: Status. Config tab). and averagePollExecuteTime. for the object poll cycle. polledObjectCount. Note this does not indicate a problem (all objects are polled).5 BACnet Integration Reference Published: April 26. The number of poll cycles that started later than “anticipated” (going by the pollCycleTime. in milliseconds. Status properties include: polledDeviceCount: Total number of BACnet/Ethernet and BACnet/IP devices shadowed in the station. This value ranges from 0 (no delay. with the BACnet service property sheet open.Chapter 6 Configuring BACnetService Properties Configuring BACnet Polling Status Poll status properties show accumulated poll statistics since the last station restart. or since a “resetStatistics” command (see Tip. Config tab). below). poll running as fast as possible) to some positive value.3. Tip In general. If overruns continue. the pollInterNodeDelay value will likely be at or near 0. polledObjectCount does not vary as BACnetDevices are enabled/disabled for polling (all devices can be disabled without affecting the objectCount). in milliseconds. Equals the totalExecuteTime / executionCycles. between polls of individual objects during the last poll cycle. in milliseconds. configured on the Poll. select Commands > resetStatistics from the JDE menu bar. pollExecutionCycles: Total number of poll scheduler cycles. totalPollExecuteTime: Reflects the total time. Note averagePollExecuteTime: Reflects the average time. that object polling has operated. A large value indicates that the pollCycleTime could be adjusted smaller (providing polledObjectCount is static) to provide faster data response. polledObjectCount: Total number of child BACnet shadow objects in the devices above. Niagara Release 2. pollStartTime: Shows the date and timestamp for when the BACnet service was last started (station restarted). Note that directly-connected BACnet MS/TP devices (if any) are not included. minus any “inactive” ones in PollOnDemand containers. in milliseconds. Provides a possible starting point for a target poll cycle time. 2004 6–13 . pollOverruns: Number of times the poll cycle took longer than the configured pollCycleTime (as defined on the Poll. To reset the poll status properties. merely that cycleTime is set too short. pollInterNodeDelay: Shows the idle time (if any). within a 10% margin. between successive starts of the poll cycle since statistics were accumulated. averagePollIntercycleDelay: Average time. pollLateStarts: Another polling statistic. the most useful status properties are pollOverruns. This number varies if PollOnDemand containers are used and GxPages are being viewed and/or closed. particularly when setting a median cycleTime. Prior to r2.5 BACnet Integration Reference Published: April 26. Config tab of BACnet service. It adds system overhead and decreases overall throughput. While set to True. The default value is 5000 ms. While set to True. all object polling is stopped. This does not mean a problem. pollDisplayDots: For debug mode for the BACnet service.3. however. The default is False (polling enabled). Engineering The Poll tab has an Engineering sub-tab with a single property: pollDebug: For debug usage. Default is False. in milliseconds. If set to True. The default is False. the Status property pollOverruns will steadily increment and the pollInterNodeDelay will approach zero (0). Niagara Release 2. If set lower than the actual poll cycle time. in general this is not recommended). Typical cycle times range from 5000 ms upwards (although you can set it lower. Poll config properties are described as follows: pollCycleTime: Determines the target time. 1. each polled device appears as a line in the station’s Standard Output window. to complete a poll cycle. pollDisabled: For toggling object polling on and off.3. the characters1 “BAC IP/Eth Poll” appear in the station’s Standard Output window upon each completed execution of the poll cycle. only a “B” character is sent to Standard Output upon each poll cycle. merely that the poll cannot run any faster.5. 2004 6–14 .Chapter 6 Configuring BACnet Polling Configuring BACnetService Properties Config Figure 6-7 Poll. See the “Calculating the BACnet Poll Cycle Time” section on page 6-11 for some examples. using the format: BPoll: polling device <deviceName> {<object type>:<instance number>} For example: BPoll: polling device BACdev102 {device:102} @85 00:07:E9:B1:32:77 BPoll: polling device BacSup100c {device:100} @85 00:01:03:E9:F9:56 BPoll: polling device station_x {device:99} @85 00:01:F0:00:02:07 (and so on) Note Disable polling debug (pollDebug=False) unless you are investigating a particular poll-related problem. ” The device status monitor continues to ping the device. All “on_demand_transient” properties for the device object are refreshed. Niagara Release 2. • Figure 6-8 Device’s object name in the station appears at the end of eventSwid. – A Niagara “Device up” alarm is generated. If the status monitor later receives a response from a “down” BACnet device: – Its associated BACnetDevice object updates statusFlags to “ok”.3. or responds with “non-operational”: – Its associated BACnetDevice object updates statusFlags to “down.” • If a BACnet device does not respond to the device status ping. Niagara alarm record for a BACnet service alarm. this is typically “operational” (the default). For any response (except “non-operational) the statusFlags property for the BACnetDevice object remains at “ok. “Device up” or “Device down”.Chapter 6 Configuring BACnetService Properties Configuring Device Status/Ping Configuring Device Status/Ping The device status monitor (ping mechanism) operates independently from the poll scheduler. 2004 6–15 . – A Niagara “Device down” alarm is generated (Figure 6-8).” – Its object shape. and. The device’s response updates the BACnetDevice’s systemStatus property.5 BACnet Integration Reference Published: April 26. Note The device status monitor does not ping any device that is currently shown as “outOfService” in the station. requesting the device object’s “System_Status” value. that is. and. disabled from polling. plus the shape and outputs of all child objects turns yellow (down). BACnetService shown in the proxySwid. All “on_demand_transient” properties for the device object and child objects show “down. a ping message is sent to each BACnet device represented by a BACnetDevice object. – Object shapes (and child object outputs) are restored from down. These devices appear as cyan in the JDE WorkSpace. Periodically. and Alarm Setup. which are not being pinged for device status. deviceStatusStartTime: Date and timestamp for when the BACnet service was last started (station restart time). Includes all BACnetDevice objects. for device status monitoring. For alarm setup. The single property notificationClass is available (Figure 6-11). Config. deviceStatusTotalExecuteTime: Reflects the total time.3. Select Go > Properties to open its Property Sheet. Displayed are 3 configuration properties related to device status (Figure 6-10). Alarm Setup. 2004 . Figure 6-9 Device Status. click on tabs Device Status. expand the station’s services folder and right-click the BACnet service node. for the device status cycle (deviceStatusTotalExecuteTime / deviceStatusExecutionCycles). For status properties. and are described as follows: deviceStatusAverageExecuteTime: Reflects average time. This includes BACnetDevice objects that are currently “outOfService” (disabled for polling). click on tabs Device Status. deviceStatusObjectCount: Number of BACnet devices available for status monitoring. Status. Step 2 The deviceStatusObjectCount value shows the total number of BACnet devices. 6–16 Niagara Release 2. deviceStatusExecutionCycles: Total number of device status monitoring cycles. Step 1 In the Tree View. Status tab for BACnet service property sheet. Step 4 Status Device Status status properties (Figure 6-9) show statistics that have accumulated since the last station restart. Config. Displayed are 5 real-time status properties for device status (Figure 6-9). Step 3 For config properties.5 BACnet Integration Reference Published: April 26. Procedure 6-4 Accessing device status monitor scheduler properties.Chapter 6 Configuring Device Status/Ping Configuring BACnetService Properties Accessing Device Status Monitor Properties Under the DeviceStatus tab of the BACnet service are three sub-tabs: Status. in milliseconds. in milliseconds. regardless of associated link-layer. click on tabs Device Status. Each tab holds properties affecting device status. A single property is on the DeviceStatus. notification class 0 is used. the device status monitor is disabled. By default. However. deviceStatusDisabled: For toggling the device status monitor on and off. 2004 6–17 . If set to True. The default is False (device status enabled). Alarm Setup Figure 6-11 DeviceStatus. providing a NotificationClass object with that same number exists in the station’s NotificationService container. Any value from 0 to 8388607 is valid.3. Typical values are from 500 to 5000 ms. Alarm Setup tab for BACnet service property sheet. Device Status config properties are described as follows: deviceStatusPingDelay: Determines the “wait time” between the ping of one device and the ping of the next device. While set to True. Config tab for BACnet service property sheet. Alarm Setup tab: notificationClass: Determines the assigned notification class for BACnet device alarms. a “B” character appears in the Standard Output window with each execution cycle of the device monitor. continues. normal polling of objects. The default is False. if enabled. Niagara Release 2. The complete cycle time of the device monitor approximately equals: (number of devices) x deviceStatusPingDelay. These alarms may be received whenever the device status monitor is enabled.Chapter 6 Configuring BACnetService Properties Configuring Device Status/Ping Config Figure 6-10 DeviceStatus. Note deviceStatusDisplayDots: For debug use with the BACnet service.5 BACnet Integration Reference Published: April 26. Typically. ipEnable: Enables or disables all BACnet IP link layer communications.xxx. “Getting Started. Config properties are listed here with a brief explanation. where xxx is decimal.Chapter 6 Configuring BACnet/IP Properties Configuring BACnetService Properties Configuring BACnet/IP Properties The BACnetIP tab has two sub-tabs: Config and Engineering. If an existing external router resides on this network.5 BACnet Integration Reference Published: April 26. use the same network number in use by that router for this network. Figure 6-12 BACnet/IP. using format xxx. This number must be unique from any other BACnet network number across an internetwork.xxx. including diagrams. Config tab for BACnetService. key properties on the BACnet/IP Config tab are changed from defaults only when the BACnet service is first configured.” Refer to the “BACnet/IP Considerations” section on page 1-11.xxx. 6–18 Niagara Release 2. Properties apply only if the IP link layer is enabled (first Config property: ipEnable = True). and specify the BBMD-related role of the Niagara station (Figure 6-12). ipNetworkNumber: The BACnet network number associated with this IP link layer. Procedures are given in Chapter 1.” Note Config Properties on this tab enable BACnet/IP link-layer support. For additional background information on BACnet/IP configuration. 2004 . subnetMaskString: Defines the working subnet range for the JACE host. The default value is 1. refer to Appendix E.3. and range (if applicable). “Internetworks and BACnet/IP. default value. Valid range is from 1 to 65534. define various operating parameters. ” page 6-28. • none—Neither BBMD or foreign device (default). Can be entered using either decimal or hexadecimal format (if hex. found in the niagara\<release>\nre\lib folder. requires a “0x” prefix.5 BACnet Integration Reference Published: April 26. regardless of the UDP port monitored.535 seconds. If you need backwards compatibility with this behavior.221 and earlier would always respond (and send to) remote devices on port 0xBAC0. (47808 decimal) is the defacto BACnet/IP standard. registrationLifetime: (Applies only if the station is configured as a foreign device). Time period. For example. This is the proper choice if the Niagara host exists on an IP subnet that already has an operating BBMD. in seconds.1. the valid range is from 300 to 65.3. • foreignDevice—Foreign device registered with a BBMD on another IP subnet. The default value is 900 seconds. you can specify a UDP port for Niagara to always send to. Required if device type is BBMD or a foreign device. Note bacnetIPDeviceType: The BBMD-related “role” of the Niagara station. 2004 6–19 .properties file. in which the Niagara station will register as a foreign device with the remote BBMD. for example 0xBAC0). either as a: bbmd—BBMD host. • remoteBBMDAddress: An operating BBMD for this BACnet network that exists on another (remote) IP subnet.properties File. Note Entry format requires all hexadecimal with colons: xx:xx:xx:xx:yy:yy where xx:xx:xx:xx is IP address and yy:yy is UDP port. if the BBMD has an IP address of 192. its MAC Address is: C0:A8:01:15:BA:C0 You can use the Windows® Calculator to convert the IP octets from decimal. Do not change (unless an existing BACnet/IP network is already configured otherwise). Niagara Release 2.168. See “Adjunct Configuration: bacnet. The default value.21 and is using the default UDP port (BAC0). or if the installation is not using multiple IP subnets. by editing a specific line in the bacnet.Chapter 6 Configuring BACnetService Properties Configuring BACnet/IP Properties udpPortString: Defines the UDP port monitored for BACnet/IP messaging. both directed and broadcast. The station will automatically re-register within this period. 0xBAC0. Niagara BACnet 2.203. To add a new entry. and then click in the Distribution Mask field and enter either FF:FF:FF:FF (for two-hop) or the subnet mask in use for one-hop method. • To modify an entry. click it in the table.1. Note that the Distribution Mask property determines if a one-hop or two-hop distribution. then Apply button (window bottom). or modify entries in the BDT. and is typically populated as a result of entering a valid IP address in the remoteBBMDAddress property on the Config tab. 2004 . When done. BACnet/IP Engineering tab.21 using UDP port BAC0 and a two-hop distribution. click it in the table. If needed. to add a BBMD with an IP address of 192. the properties would be: B/IP Address: C0:A8:01:15:BA:C0 Distribution Mask: FF:FF:FF:FF You can use the Windows® Calculator to convert the IP octets from decimal. click in the B/IP Address field and enter the remote BBMD’s IP address and UDP port in hexadecimal (see Note below). Click Remove button. This page is divided into two areas: Broadcast Distribution Table (BDT) • Foreign Device Table (FDT) • Broadcast Distribution Table (BDT) This table lists remote BBMDs. you can manually add. • Note B/IP entries require all hexadecimal format with colons: xx:xx:xx:xx:xx:xx For example. then the Apply button (window bottom).168. • To remove an entry. click Modify button. 6–20 Niagara Release 2. Click the Add button. Figure 6-13 broadcastDistributionTable. then edit either property as needed.Chapter 6 Configuring BACnet/IP Properties Configuring BACnetService Properties Engineering BACnet/IP Engineering properties apply only if the station is configured to operate as a BBMD (bacnetIPDeviceType is bbmd). remove. then Apply.5 BACnet Integration Reference Published: April 26.3. • Time To Live: The registration period for the device to remain in the station’s BBMD foreign device table. Each device with a numeric “Time To Live” must reregister before this time to keep from being removed from the FDT. You may need to add a device if its incapable of registering itself as a foreign device (likely done through some local configuration at that device). the registration period (“Time To Live” in seconds). Devices with infinite Time To Live (*) have no effective Purge Time. in seconds.Chapter 6 Configuring BACnetService Properties Configuring BACnet/IP Properties Foreign Device Table (FDT) This table is populated as BACnet devices (on other subnets) register with the Niagara station/BBMD as a foreign device. Click Remove button. Niagara Release 2. See “Time To Live. the Purge Time value is updated to reflect the new time. “*” may be the best choice. To add a new entry. click in the B/IP Address field and enter the device’s address (IP and UDP in hex. remove. BACnet/IP Engineering tab.” below. click Modify button. • To modify an entry. click it in the table. then edit either property as needed. click it in the table. When the device reregisters. such as 1200 (seconds). then Apply button (window bottom). meaning that device will never need to reregister with the station. or modify entries in the FDT table. The default value is “infinite” (*). When done. you can manually add. and so will never be automatically purged. If needed. 2004 6–21 .3. see prior Note).5 BACnet Integration Reference Published: April 26. Devices that externally register typically place a numeric value in this property. Impending purge times are displayed in the right-hand “Purge Time” column of the table. and then click in the Time To Live field and enter a registration period. then the Apply button (window bottom). during which period it must reregister to keep from being purged from the table. In the case of a permanently-installed B/IP device that is incapable of registering as a foreign device itself. Figure 6-14 foreignDeviceTable. Each entry lists the B/IP address (in hex) of the remote device. then Apply. Click the Add button. • To remove an entry. and the remaining time before the station will purge the entry (providing the device does not reregister). available from the JDE menu bar when the service’s property sheet or BACnetUtility view is displayed (Figure 6-16). This number must be unique from any other BACnet network number across an internetwork. ethernetEnable: Enables or disables all BACnet over Ethernet link layer communications. 2004 .3. use the same network number in use by that router for this network. 6–22 Niagara Release 2.5 BACnet Integration Reference Published: April 26.Chapter 6 Configuring BACnet/Ethernet Properties Configuring BACnetService Properties Configuring BACnet/Ethernet Properties BACnet/Ethernet has only a Config sub-tab with just two properties (Figure 6-15). ethernetNetworkNumber: The BACnet network number associated with this Ethernet link layer. Figure 6-16 Commands to the BACnet service. Commands to the BACnet Service The BACnet service has several commands. If an existing external router resides on this network. Figure 6-15 BACnet/Ethernet tab has only a Config tab with two properties. Valid range is from 1 to 65534. The default value is 2. See “Accessing Poll Scheduler Properties.168.Chapter 6 Configuring BACnetService Properties Commands to the BACnet Service BACnet service commands are described briefly below: • • • • • • dump resetStatistics readBACnetPropertiesFile dumpBACnetPropertiesFile dumpIPTable printLine dump: Available for every Niagara object—sends debug-level information for that object to the station’s Standard Output window.255 printLine: Debug usage. For development use.98 mac:C0:A8:01:62:BA:C0 inet:JACENP/192.properties File. overruns. See “Adjunct Configuration: bacnet. dumpIPTable: A BACnet/IP debug command that lists (to Standard Output) a table of BACnet MAC addresses of known BACnet hosts.1. Affects both the “main” Poll scheduler (for BACnet/Ethernet and BACnet/IP) and any enabled BACnetMSTP tabs. An example is shown below. Produces a popup dialog (Figure 6-17) in which you can type a line to appear in the station’s Standard Output window.168.168.1. and elapsed times.properties” file (file must exist in the nre\lib folder).” page 6-12. for annotation needs. readBACnetPropertiesFile: Makes effective any parameters present in the Niagara host’s “bacnet. resetStatistics: Resets BACnet service accumulated poll status properties such as counts (execution cycles. Figure 6-17 Popup dialog box from printLine command (with default text shown).1. dumpBACnetPropertiesFile: Debug command to send the currently effective bacnet. 2004 6–23 .102 mac:C0:A8:01:66:BA:C0 Inet Address Table: ipHash:-1062731265 inet:192.168.” page 6-28. Niagara Release 2.255/192. MAC Address Table: inet:JACENX3/192.3.properties settings to the station’s Standard Output. etc.1.) delay times.5 BACnet Integration Reference Published: April 26. late starts. • All WARNING. you only enable those debug options needed. and ERROR messages related to the operation of the BACnet service.). This is the same text output seen in the utility’s window. 2004 . and only for a short period.Chapter 6 Using Debug Options Configuring BACnetService Properties Using Debug Options The BACnetService includes ten separate debug options. it is best to understand what gets sent to the station’s Standard Output without any debug options enabled. The following messages are always sent to Standard Output by the BACnet service: All results from any BACnetUtility command (whoIs. while working to understand a BACnet-related issue. A lot of BACnet-related information is always sent to Standard Output by the BACnet service (regardless of debug option settings).5 BACnet Integration Reference Published: April 26. • Typically. These resources are normally used to improve performance. whoHas. The reason for this is that debug operations consume station resources. – WARNING messages are typically seen as a result of a “fetch” or “upload” command for a shadow object. each of which can produce debug-level messages in the station’s Standard Output window. “deviceType” for an AI: • WARNING: BACnet Read Property Multiple Error: deviceType [/NewJ5b/FirstFloor/BnJACE/Room102] 6–24 Niagara Release 2. For example. By default. where some requested properties are not known (used) in BACnet object(s). Figure 6-18 Standard BACnet debug messages. It is recommended that you read the “Standard BACnet Debug Output” section first. such as improved polling times. • Notes Standard BACnet Debug Output Before enabling BACnet debug options.3. learnNetwork. etc. each debug option is not enabled (set to False). learnDevice. TIMEOUT. mstpnLink n=1—4) each produce extremely large amounts of output. Note Niagara Release 2.5 BACnet Integration Reference Published: April 26.3.bacnet. if you issue a “getAlarmSummary” for a device that doesn’t support this service.. Figure 6-19 BACnet service Debug Options are on the General. on the General.transport.bacnet.TransactionTag. be aware that the lower eight (transport. For example: TIMEOUT: 227 Client 0 00:01:F0:00:02:07 Server 0 00:50:DA:04:E8:6B Transaction Timed out! invokeId 228 – ERROR messages occur when the station’s BACnet service cannot complete an operation. ethernetLink.. ipLink.sendConfirmedRequest() (plus others similar in nature. However.Chapter 6 Configuring BACnetService Properties Using Debug Options – TIMEOUT messages are typically seen for a “down” BACnet device.bacnet. Transaction Timed out! invokeId 96 TIMEOUT: 96 Client 0 00:01:F0:00:02:07 Server 16 03 ERROR: GetAlarmSummary failed [/NewJ5b/services/BACnetService] tridiumx. For example. Debug options can be enabled in any combination.. a message appears (in part): In doGetAlarmSummary device.. for example: BACnet Queue event: update unacked alarm table Debug Option Selections Debug options are enabled/disabled on the property sheet for the BACnet service. Engineering tab. Output from any debug option is interleaved with Standard BACnet Debug Output. 2004 6–25 ..waitForConfirmation() at tridiumx.) • Various ongoing informational messages.services.services. such as produced by the ongoing device monitor “ping” routine. network.BACnetException E_BACNET_TIMED_OUT_WAITING_FOR_RESPONSE at tridiumx.BACnetTransport. Engineering tab (Figure 6-19). . However.O)oN.168.)UNDB..1. Note By default. note that client requests related to polling are not included... 1E 09 55 09 6F 1F <-> .... 02 4F 29 6F 4E 82 04 00 <-> ...98 port: 47808 length 30 Packet Sent on port 47808: 81 0A 00 1E 01 0C 00 55 <-> ... 6–26 Niagara Release 2.properties File.1. Output information is typically useful only to developers.U 06 00 01 F0 00 02 07 FF <-> . clientDebugOn: Shows client requests from the station to remote BACnet devices..3... IP link-layer debug does not contain the host name for BACnet devices... if you require host name data. Packet Rcvd on port 47808 addr:192.. you can set this in the JACE’s bacnet. intimate knowledge of the BACnet communications protocol is often needed.o..5 BACnet Integration Reference Published: April 26..b. lookupInetAddr: C0 A8 01 62 BA C0 <-> .. This debug option might be useful in a scenario where BACnet devices are not on the “local” network (are on the far side of a router). ipLinkDebugOn: Shows low-level (link layer) message details on the complete PDUs sent and received. 2004 .” networkDebugOn: Shows low-level (network layer) message details on PDUs to and from remote BACnet devices..168. 73 7F 0E 0C 00 00 00 01 <-> s. 4F 1F <-> O.Chapter 6 Using Debug Options Configuring BACnetService Properties The ten debug selections are described as follows: To decipher this output data.U. serverDebugOn: Shows server responses from the station to client requests from Note remote BACnet devices.. Example 6-1 Example IP Link Debug output (snippet). transportDebugOn: Shows low-level (transport layer) message details on PDUs to and from remote BACnet devices.. 1E 29 55 4E 44 42 80 00 <-> . See “Adjunct Configuration: bacnet.....b.properties file (at great expense in speed)....*.. .... This debug option might be useful in a “timeout” scenario where the target BACnet device is known to be “up. in both hexadecimal and ASCII formats. lookupInetAddr: C0 A8 01 62 BA C0 <-> . IP:192.. including ConfirmedRequests.98. This provides the most efficient output rate. Includes IP address and UDP port information (Example 6-1).. only their IP address. 30 7F 0E 0C 00 00 00 01 <-> 0.. srcPort:47808 81 0A 00 2A 01 20 00 55 <-> ... ComplexAcks.U 06 00 01 F0 00 02 07 02 <-> .... etc. including address (subnet and device) information.” page 6-28. However... ..@.. in both hexadecimal and ASCII formats..... . ... . ..V.. . ....... 00 82 67 2B 29 01 82 30 1E 6F 00 82 67 40 1F 01 82 FF 00 00 01 mstpnLinkDebugOn: Where n = 1 to 4 according to the corresponding MS/TP network. .o . ..3.U..O.O...h..U..5 BACnet Integration Reference Published: April 26. . .....V.. )UN. .. See Example 6-2.. Packet Sent: 00 01 03 E9 F9 56 F0 00 02 07 00 13 03 01 00 30 2A 0C 00 00 63 19 70 3E 3F Packet Sent: 00 01 03 E9 F9 56 F0 00 02 07 00 20 03 01 08 00 0B 01 29 0E 0C 01 40 00 29 55 4E 91 00 4F 4E 82 04 00 4F 1F Packet Received: 00 01 F0 00 02 07 03 E9 F9 56 00 19 03 01 24 00 0B 01 02 05 2B 0E 0C 01 2A 1E 09 55 09 6F Packet Sent: 00 07 E9 B1 32 77 00 82 0C 91 01 82 02 00 <-> <-> <-> <-> <-> <-> <-> <-> <-> <-> <-> <-> <-> <-> <-> <-> <-> .2w..PO)oN. Example 6-2 Example Ethernet Link Debug output (snippet). Example 6-3 Example MSTP Link Debug output (snippet).. .@.. ... *.U.U.. “Niagara MS/TP Support... .g. Refer to Appendix F..Chapter 6 Configuring BACnetService Properties Using Debug Options ethernetLinkDebugOn: Shows low-level (link layer) message details on the complete PDUs sent and received...p>.. ..... .. Niagara Release 2. ? . ..U... .. in both hexadecimal and ASCII formats..$........O)o N...V..o.V...+... ...p>....g0 ).....0....+. See Example 6-3...V.. o.. ...g. ....0*.c. 2004 6–27 ....” for more information about BACnet MS/TP in Niagara.. ... Frame 01 00 00 04 83 B8 04 00 Frame 01 04 00 00 1F Frame 01 0C E9 F9 00 80 6F 1F Frame 01 20 E9 F9 02 00 rcvd from 103 DER false 30 BB 0E 0C 00 00 <-> 1E 29 55 4E 44 40 <-> 50 4F 29 6F 4E 82 <-> 4F 1F <-> sent to 103 DER true 02 03 BC 0E 0C 00 <-> 05 1E 09 55 09 6F <-> <-> sent to 103 DER true 00 55 06 00 01 03 <-> 56 02 05 16 0E 0C <-> 00 68 1E 09 55 09 <-> <-> rcvd from 103 DER false 00 55 06 00 01 03 <-> 56 FF 30 15 0C 0C <-> 00 67 19 70 3E 91 <-> ........0..)UND@ .. Shows low-level (link layer) message details on MS/TP frames sent and received. properties file.3. # ########################################################### # Niagara versions 2.5 release of Niagara does not print the host name in # information. several BACnet-related setup properties became available only by editing a text file named bacnet.3). that are not included in the property sheets # of the various node objects. # Remember that this significantly slows down the processing # Default value: false bIPDisplayHostName=false IP debug to look up the host name in IP of IP packets.222.properties # # BACnet properties file # This file contains properties to configure the BACnet # service. and these properties (or their equivalents) were moved to the BACnet service’s property sheet. If you wish to display the # debug printouts. showing effective default values. The lines used in the license file are as follows: # # customerName=<text string> (used as “description”) # customerSite=<text string> (used as “location”) # # If desired.203. regardless of # what UDP port was chosen to listen on.221 and earlier would always respond on port 47808 # (0xBAC0).3. changes were numerous enough for a schema change.properties) to expose as “description” # and “location” properties in the BACnet Device object (server object) that # represents the station.5 BACnet Integration Reference Published: April 26.3. 2004 .5 bacnet. Example 6-4 shows the “default” release 2.5 update to this document.Chapter 6 Adjunct Configuration: bacnet. this flag can be set to # force Niagara to always send to a specific port.properties File Starting in Niagara Release 2. This was fixed in 2. because it is a very time-consuming operation # host name from the IP address. any station running the BACnet service uses values found in its # host’s license file (nre\lib\license.3. For a related details on “bIPAlwaysSentToPort. Example 6-4 Contents of bacnet. and always to the remote device's port 47808 as well. you can override either (or both) of these exposed property text # strings with other text strings by uncommenting (remove leading “#”) in the # lines below and entering the desired text string immediately after the “=”: # #description= #location= 6–28 Niagara Release 2.3 (r2.properties file.properties File Configuring BACnetService Properties Adjunct Configuration: bacnet. or 0xBAC0 bIPAlwaysSendToPort=-1 # The 2. which would otherwise be required if new properties were modifiable on the BACnet service’s property sheet. In order to provide backward compatibility with # products that may depend upon this earlier behavior. which resides on the Niagara host in its niagara\<release>\nre\lib folder.3. # By default.properties file. # Default value: -1 (no always send port) # Typical value: 47808.” page 6-19. When r2. very few BACnet setup properties still require editing of the bacnet. containing four properties with explanations.4 was released.203.properties. set this flag to true.” see the BACnet/IP config property “udpPortString:. ########################################################### # # bacnet. At the time of the r2. This was done to prevent a database schema change for various Niagara 2.3 and later releases. and in # 2.3 builds. – • Editing bacnet. – dumpBACnetProperties—Send the currently effective bacnet. on that host. and then make (and save) any changes. With the host visible in the Admin Tool. Step 1 Step 2 Copy the text lines shown in Example 6-4 (or whatever source) to a new text file. lines with a leading “#” character denote comments used to describe the parameter. If necessary. Click File > Save to create the bacnet. If the JACE already has a bacnet.properties for future reference. and copy the entire contents of the file to the Windows clipboard. Save the file locally as bacnet. This opens an edit window for bacnet. or since this command was last issued.properties file on the remote host.5 BACnet Integration Reference Published: April 26. Type in the necessary host address.properties You can follow Procedure 6-5 to edit and add a bacnet. you can make future edits to the remote host’s bacnet.properties file since the station last started. reselecting the BACnet Properties file.properties file. and then close the edit window. and works with any JACE platform.properties settings to the station’s Standard Output window.properties Step 3 Step 4 Open the Admin Tool and connect to the target Niagara host (from the menu bar): Admin Tool > File > Open.Chapter 6 Configuring BACnetService Properties Adjunct Configuration: bacnet. as needed. The file is created in the nre/lib folder. Procedure 6-5 Editing the bacnet. Step 5 Note Step 6 Step 7 Niagara Release 2. or add additional updated information if needed. Make the desired changes in the parameter values.properties file in a JACE. This procedure makes use of the Host > Edit File feature in the Admin Tool. You can edit as desired from what you already copied from Example 6-4.properties File Notes • As with other Niagara properties files. In the edit window.properties. select Edit > Paste to copy the clipboard contents from Step 2. using the path: D:\niagara\<release>\nre\lib\bacnet.3.properties file.properties by simply opening the host in the Admin Tool. and then host user name and password. you will see its contents in the edit window. The BACnet service also has two related commands: readBACnetPropertiesFile—Makes effective any changes made in the host’s bacnet. select from the menu bar: Admin Tool > Host > Edit File > BACnet Properties. as used in the example above. 2004 6–29 . ” See “Debug Option Selections.” page 6-25. at the time of this manual these other entries are valid in bacnet.Chapter 6 Adjunct Configuration: bacnet. set this value to “true.5 BACnet Integration Reference Published: April 26.3. If you require host names as well as IP addresses in debug output (ipLinkDebugOn).” This allows the most efficient BACnet/IP debug to Standard Output. The effective default (no entry) is “false. for more information on BACnet debug. description=<string value> Overrides whatever “customerName” value is in the host’s license file for usage in the station’s “Device object” property “Description.” Overrides whatever “customerSite” value is in the host’s license file for usage in the station’s “Device object” property “Location.properties File Configuring BACnetService Properties Current properties Apart from the “bIPAlwaysSentToPort” property already explained.” location=<string value> 6–30 Niagara Release 2.properties: bIPDisplayHostName=true (or false) Applies to BACnet/IP debug usage only. but with only host IP addresses—and not host names. 2004 . but at the expense of much slower response. select the Installation tab.” page F-7. the features line must include an additional “bacnetMSTP” entry. then View License. see “BACnet Over Ethernet Considerations. see “Configuring Essential Station Properties. and if a JACE-4/5.” If a JACE-4/5 requiring MS/TP support. Table A-1 Go/No-Go Checklist for BACnet service communications. With the JACE open and selected in the Admin Tool.” page C-2. also see “Configure Essential MS/TP Link-Layer Properties. this appears as a Config property of its BACnet service. For basic BACnet service properties. Niagara Release 2.” page 1-11. Only new installations typically require all of these checks. The features line must include “bacnet. also MS/TP. Check Is the Niagara host licensed for the BACnet service? Method Check that the JACE is licensed. Is the Niagara host assigned to a unique address on the BACnet network? The BACnet address for any device is determined by the “Device ID” of its contained “Device object.” For a Niagara station. is the host (PC) properly configured? Supported BACnet link-layer types include Ethernet and/or IP. For further MS/TP details. see “Prepare the JACE Host. 2004 A–1 . If BACnet/Ethernet is used in an engineering PC workstation.3. If MS/TP. Is the BACnet service configured for the correct link layer type? If BACnet/Ethernet is used.5 BACnet Integration Reference Published: April 26. The following main sections are included: Go/No-Go Communications Checklist • Objects Not Polling Checklist • Object Color and Status • Debug and Standard Output • Go/No-Go Communications Checklist Use the following checklist when troubleshooting BACnet communications from a JACE station. See “Configuring Essential Station Properties” on page 1-11.APPENDIX A Troubleshooting This appendix explains some troubleshooting techniques that apply to the BACnet service.” page F-3. Then click tabs Poll. A–2 Niagara Release 2. BACnet shadow objects copied from the Local Library also show this color (are status ok). even though BACnet communications appear working. Select Go > Properties. an object’s output color reflects its object color (meaning that its output status is the same as its object status). In the Tree View. This is true with BACnet shadow objects. double-click on the parent container for the BACnetDevice object—typically.” If the output is linked to another object in the station. 2004 . See “Configuring BACnet Polling” on page 6-9 Object Color and Status Color of objects in the JDE is useful in determining object status. its output value seen in Monitor Mode is typically black (normal). which have five possible colors: • • • • • Gray (status “ok”) Red (status “inAlarm”) Orange/Dark Yellow (status “fault”) Cyan/Light Blue (status “outOfService”) Yellow (status “down) In addition. see if the object is in a PollOnDemand container: If so. expand the services folder and right-click on the BACnet service. it will appear with cyan output color whenever its linked Gx object is not being viewed in JDE or from a Web browser. With the station opened in JDE. The property “disabled” must be set to False. regardless of how many objects are being polled. Right-click on the disabled device and select enablePolling. This should cause an immediate update of the object’s statusOutput (presentValue and statusFlags). this is the BACnetTemp container.5 BACnet Integration Reference Published: April 26. Config. Is polling enabled for the parent (BACnetDevice) object? Is the object in a PollOnDemand container? Is the poll cycle taking longer than anticipated? Right-click on a static shadow object and select pollRenew. A device enabled for polling appears gray.3. after BACnet objects have been “learned. See the Note on page A-5 for the sole exception. color of outputs on BACnet shadow objects can vary from black on white background to other colors. In all but one case. Table A-2 BACnet Integration object Polling Checklist. Check Is BACnet (client) polling enabled? Method With the station opened in JDE. Gray Gray object color means status “ok” (Figure A-1). This displays the device object in the Workspace.Appendix A Objects Not Polling Checklist Troubleshooting Objects Not Polling Checklist Use the following checklist when troubleshooting BACnet shadow objects that do not appear to be polling. This is the color seen when a BACnet shadow object is created from the BACnetUtility. a disabled device appears cyan. By default. • In previous Niagara releases. 2004 A–3 . The statusFlags property shows “fault” and the statusOutput also becomes orange. However. Red Red object color means status “inAlarm.” Analog type objects (AI. as shown in Figure A-7. Figure A-2 Red object color is status inAlarm. Refer also to “Configuring Device Status/Ping. the BACnetDevice object itself changes color to yellow (down). Notes • Shadow objects and their statusOutputs change from the gray (“ok”) color to yellow (“down”) whenever the device status ping marks the parent device “down.3. Objects appear as in Figure A-8.” meaning gray object color). Niagara Release 2.5 BACnet Integration Reference Published: April 26.” child BACnet shadow objects retain the last known value and status (typically “ok. The statusFlags property shows “inAlarm” and the statusOutput also becomes red. when the parent (BACnetDevice) object goes “down. Orange/Dark Yellow Orange/dark yellow object color means status “fault.” or when a “non-operational” response is received. to indicate an alarm condition. AO) become this color when the presentValue goes below minPresentValue or above maxPresentValue.Appendix A Troubleshooting Object Color and Status Figure A-1 Gray object color is status OK. alarmState if binary).” page 6-15. to indicate a fault.” BACnet shadow objects become this color when presentValue meets the object’s configured alarm setup (high or low limits if analog. 5 BACnet Integration Reference Published: April 26. 2004 . however. whenever it is set to this state by writing a “True” to the outOfService property (providing the object was previously status “ok”). See Figure A-4. See Figure A-5. • If a child BACnet object. respectively. even when set to outOfService.” BACnet shadow objects show this color under these circumstances: If a parent (BACnetDevice) object.Appendix A Object Color and Status Troubleshooting Figure A-3 Orange object color is status fault.” A–4 Niagara Release 2. If an object is in an alarm or fault state. its object color (and outputs) remain red or orange. whenever it is commanded to “disablePolling” (provided it was previously status “ok”).3. Cyan/Light Blue Cyan/light blue object color means status “outOfService. • Figure A-4 BACnetDevice set to disablePolling is cyan (outOfService). Figure A-5 Cyan object color and outputs means status “outOfService. Outputs of an object set to outOfService are also cyan. ” If the device status monitor (ping) is enabled. Note All child shadow objects (and their outputs) are also yellow (“down”) in this case.3. down is the normal object status if the station is opened offline. Polling occurs only when its linked Gx object is viewed in the JDE or a Web browser connection. Yellow Yellow object color means status “down. a device is not pinged. Figure A-7 Yellow BACnetDevice object means the BACnet device is “down”. a BACnetDevice object will show as down (yellow) whenever the associated BACnet device does not respond to the device status ping (Figure A-7). See “Polling On Demand” on page 6-10 Figure A-6 Cyan output (only) occurs for “inactive” objects in a PollOnDemand container. Niagara Release 2. for all objects. Also. See Figure A-8. 2004 A–5 . Only BACnetDevices that are enabled for polling (status “ok”) are pinged by the device status monitor. If commanded to pollingDisabled.5 BACnet Integration Reference Published: April 26.Appendix A Troubleshooting Object Color and Status Note A BACnet shadow object in a PollOnDemand container will show outputs as cyan (outOfService) yet remain gray (status “ok”) whenever it is not currently polled by the JACE (Figure A-6). 3. as shown in Figure A-10 below. Config tab (displayDots property). observe the station’s Standard Output (without enabling any of the special BACnet debug options). Engineering tab of the BACnet service’s property sheet. Using the Admin Tool. You can also set the BACnet service’s poll scheduler and device status mechanisms to post a debug character in Standard Output for each execution cycle. Enable or disable these characters from the property sheet for the BACnet service: Poll. Figure A-9 Standard Output can provide clues for BACnet-related problems. • DeviceStatus. Refer to the the “Using Debug Options” section on page 6-24 for more information. you will typically see some related messages (Figure A-9). Config tab (deviceStatusDisplayDots property). Debug and Standard Output The BACnet service displays numerous messages in the station’s Standard Output. Note If you want. Each cycle is indicated by a “B”.Appendix A Debug and Standard Output Troubleshooting Figure A-8 Yellow object color (status “down”) occurs when the parent device is down or whenever the station is opened offline. you can set further debug options on the General. • A–6 Niagara Release 2.5 BACnet Integration Reference Published: April 26. If you are having problems with the BACnet integration. 2004 . there is no set procedure to use when using Standard Output to troubleshoot BACnet issues.3. network. if needed. In the case of errors. it can be helpful to copy and save Standard Output. – Then click Copy to put the text on the Windows clipboard. Reduce the scope of BACnet client polling. Refer to the the “Debug Option Selections” section on page 6-25 for more information. 2004 A–7 . However. Don’t leave BACnet debug options.5 BACnet Integration Reference Published: April 26. the following tips may prove useful: • • • • • If the station is running other device integrations. – Paste the output in Notepad or any other text editor and save. – Do this by clicking on Freeze and then blocking the text of interest. if any. This is especially true for the protocol “layer-specific” debug options (transport. disable their debug settings (assuming only BACnet service messages are needed). by issuing disablePolling commands to the appropriate BACnetDevice objects. and link options). Enable specific BACnet debug options only if prepared to collect (and parse through) large amounts of data. BACnet Troubleshooting Tips Because each BACnet integration is unique. Niagara Release 2. as needed. enabled unless you are using this feature to troubleshoot. Debug options require additional station resources that are better left for normal operation.Appendix A Troubleshooting Debug and Standard Output Figure A-10 displayDots posts a “B” for each poll cycle and/or device status ping cycle. 5 BACnet Integration Reference Published: April 26.3.Appendix A Debug and Standard Output Troubleshooting A–8 Niagara Release 2. 2004 . 3. 2004 B–1 . and a BACnet system operating at BACnet Conformance Class 3.APPENDIX B BACnet PICS This appendix provides the PICS (Protocol Implementation Conformance Statement) for the Niagara Framework. including Vykon Web Supervisor™. JACE-NP-2™. PICS BACnet Conformance Class Supported Class 1 Class 2 Class 3 Class 4 Class 5 Class 6 complete complete complete partial partial partial Niagara Release 2. Vykon BACnet Supervisor™.4XX or 2.3. JACE-5XX at Release 2.3. with the following main sections: • • • • • • • • • PICS BACnet Conformance Class Supported PICS BACnet Functional Groups Supported PICS BACnet Standard Application Services Supported PICS Standard Object-Types Supported Segmentation Capability PICS Data Link Layer Option Networking Options PICS Character Sets Supported BIBBs Compatibility (BACnet Interoperability Building Blocks) BACnet Protocol Implementation Conformance Statement Vendor Name: Tridium. JACE-4XX. Description: This product family provides bi-directional communication between the Tridium Niagara Framework™.5XX. over Ethernet media or over MS/TP.5 BACnet Integration Reference Published: April 26. JACE-NP-1™. Product Family: Niagara Framework. Inc. 2004 .5 BACnet Integration Reference Published: April 26.3.Appendix B BACnet Protocol Implementation Conformance Statement BACnet PICS PICS BACnet Functional Groups Supported HHWS PCWS partial partial PICS BACnet Standard Application Services Supported Application Service ReadProperty ReadPropertyMultiple ReadRange (trend log only) WriteProperty WritePropertyMultiple ConfirmedEventNotification UnConfirmedEventNotification AcknowledgeAlarm GetAlarmSummary Who-Has I-Have Who-Is I-Am SubscribeCOV ConfirmedCOVNotification UnconfirmedCOVNotification Initiate Requests yes yes no yes yes yes yes yes yes yes yes yes yes yes no no Executes Requests yes yes yes yes yes yes yes yes yes yes yes yes yes no yes yes PICS Standard Object-Types Supported Object-Type Analog Input Analog Output Analog Value Binary Input Binary Output Binary Value Schedule (exported as read only) Calendar (exported as read only) Trend Log (exported as read only) Multistate Input Multistate Output Multistate Value Device Supported yes yes yes yes yes yes yes yes yes yes yes yes yes Dynamically Dynamically Creatable Deletable no no no no no no no no no no no no Not applicable no no no no no no no no no no no no Not applicable B–2 Niagara Release 2. Appendix B BACnet PICS BACnet Protocol Implementation Conformance Statement Segmentation Capability Feature Segmented Request Segmented Response Supported yes yes Window size any any PICS Data Link Layer Option ISO 8802-3. 10BASET ISO 8802-3.3. B DS-COV-A DS-COVU-A Alarm & Event Management AE-N-A. 2004 B–3 . B AE-ASUM-A. B DS-RPM-A. B DM-DOB-A.5 BACnet Integration Reference Published: April 26. B DS-WPM-A. Fiber BACnet / IP . B DS-WP-A.4 yes BIBBs Compatibility (BACnet Interoperability Building Blocks) Data Sharing DS-RP-A. Clause 6 . Ethernet-MS/TP. B NM-RC-A Trending T-VMT-B Niagara Release 2.Ethernet IP-Ethernet. B AE-ACK-A. Ethernet IP-MS/TP BACnet Broadcast Management Device (BBMD) yes yes PICS Character Sets Supported ANSI X3.Annex J MS/TP master (JACE only) yes yes yes yes yes yes Networking Options Router. 10BASE5 ISO 8802-3. 10BASE2 ISO 8802-3. B Scheduling SCHED-B Device & Network Management DM-DDB-A. 2004 .3.5 BACnet Integration Reference Published: April 26.Appendix B BACnet Protocol Implementation Conformance Statement BACnet PICS B–4 Niagara Release 2. and configure the link-layer types to be Ethernet and/or IP link layer. For equivalent information. specify the unique BACnet Device ID (Instance Number) for the PC. Refer to the “Installing and Configuring the BACnet Service” section on page 1-8. which is shipped from the factory with the appropriate communications adapters and drivers. Also. Note BACnet is not typically licensed to run on a Web Supervisor (a station that runs on a job-owned PC). However. using the installed JDE. a. Step 3 Follow instructions in the “Verifying Communications” section on page 1-13. refer to the the “BACnet/IP Considerations” section on page 11. However.5 BACnet Integration Reference Published: April 26. b.3. maintenance. Procedure C-1 Installing the BACnet service at a PC station.APPENDIX C BACnet PC Notes This appendix provides configuration details for running the Niagara BACnet service on a PC. a Vykon System Integrator may need to run the BACnetService on a company-owned PC for job configuration. If IP link layer. the same as on a JACE controller. This configuration is not necessary for any JACE controller. or demonstration purposes. follow instructions in the next section. BACnet over Ethernet on a PC requires a special device driver for low-level network access. Refer to the “Configuring Essential Station Properties” section on page 1-11. 2004 C–1 . add the BACnet service. “BACnet Over Ethernet Considerations”. a “BACnet Supervisor” product is now available. The following main topics are contained: Installing the BACnet Service • BACnet Over Ethernet Considerations • Installing the BACnet Service The Niagara BACnetService can run on a PC station using a link-layer type of either Ethernet and/or IP. In the BACnetService. if not already installed. Step 1 In the station on the PC. Step 2 If Ethernet link layer. Niagara Release 2. please refer to the Niagara BACnet Supervisor Reference. and not the Niagara station. “Using setAdapter.properties.” • Notes • If at some point you modify this entry in drivers. type the appropriate number for the Ethernet adapter used for BACnet communcations.properties file with the correct device name. Otherwise. copy the edited drivers.exe Procedure C-2 Using setAdapter.3.exe.4 or earlier (any build prior to r2. then press ENTER.properties.301.3. At the command prompt. jump ahead to the section “Manually Editing driver. At the “enter number of choice” prompt. Step 1 Step 2 Step 3 At the Web Supervisor / Niagara engineering PC. This configuration applies to the host (PC).properties file to the new niagara\<release>\nre\lib folder. C–2 Niagara Release 2.5 BACnet Integration Reference Published: April 26. In Niagara r2.” • If you are using Niagara r2.exe to edit drivers.deviceName=\\Device\\{C37783-84DC-430E-B3B6-25AE81E77F88} Step 4 and also saves the file. BACnet/Ethernet link-layer communications will not work.Appendix C BACnet Over Ethernet Considerations BACnet PC Notes BACnet Over Ethernet Considerations If you have a Niagara PC or Web Supervisor that is licensed for the BACnet service. Open a Niagara console window (Start > Programs > Niagara (build) > Console). you must restart any running station for the BACnetService to use it. a “setAdapter” utility greatly simplifies this.430). 2004 .properties file in its niagara\<release>\nre\lib directory must have an entry for the “device name” of the Ethernet adapter (as it is known your PC’s operating system). stop any currently running station. for example: ethernet. This returns a list of all “real” Ethernet adapters in the PC (typically only one). Step 5 Close the Niagara console and restart the station. If you install a later 2.x Niagara build on your Niagara engineering PC.properties again. • • Using setAdapter. The utility automatically edits the drivers.430 or later (r2. the drivers. Simply follow the few steps in the next section.3.301.5). type: setAdapter and press ENTER. and you will be using it for BACnet over Ethernet. the name is El90x1.Appendix C BACnet PC Notes BACnet Over Ethernet Considerations Manually Editing driver. you must select the proper one. Step 1 Step 2 Open a command prompt (MS-DOS) window. and not a number 1 (one). In this example. as shown in Figure C-1.3. Niagara Release 2.properties • Determine Device Adapter Name Depending on the operating system used on your PC. there are two different methods to determine the Ethernet adapter device name. Windows NT method • Windows 2000 or XP Pro method • Windows NT The Ethernet device adapter name under Windows NT is a short character string.properties The following two topics explain how to proceed: Determine Device Adapter Name • Edit drivers. Notes • If multiple adapters are installed. In this example. Ethernet adapter name. Figure C-1 Ethernet adapter device name in a command prompt window. • Be careful to note differences between letters and numerals. the second character is a letter “l” (el). Procedure C-3 Determining the Ethernet device name under Windows NT. 2004 C–3 . Type ipconfig and press ENTER. Your Ethernet adapter name and IP configuration appear.5 BACnet Integration Reference Published: April 26. The adapter device name is the entire character string between quotes (" "). Apart from appearing in the Windows registry. Physical adapters have a manufacturer name and model number. Open a Niagara Console window. However. Procedure C-4 Determining Ethernet adapter device name in Windows 2000/XP Pro.Appendix C BACnet Over Ethernet Considerations BACnet PC Notes Windows 2000 or XP Pro In Windows 2000 or XP Pro (Professional). as shown in Figure C-3. the Ethernet device adapter name is a long character string in hexadecimal format. If multiple physical adapters exist. the first adapter listed will be a physical adapter (have an associated manufacturer and model number). In most cases.5 BACnet Integration Reference Published: April 26. Step 4 Select the physical adapter that will be used for BACnet over Ethernet communications—use the window’s scroll bar if necessary. such as the Windows Device Manger.3. Step 5 Highlight the adapter name’s value. Niagara includes a special utility that you can use to find and copy this string. 2004 . Figure C-2 Both physical and “virtual” adapters appear in the showAdapters utility. the first adapter listed is a physical adapter. Typically. C–4 Niagara Release 2. This utility displays both physical and “virtual” network adapters (Figure C-2). this string is not found with normal system utilities. and press ENTER. by dragging the mouse over all characters shown between the quotation marks (" "). Type showAdapters. Step 1 Step 2 Step 3 Stop any station running on the PC. you will need to select the one to be connected to the BACnet network. properties file. right-click on the title bar and select Edit > Copy.deviceName=\\Device\\El90x1 If a Windows 2000 /XP Pro system.deviceName=” portion.properties file.properties After finding the Ethernet adapter device name.properties” Step 7 Edit drivers. The proper syntax is: ethernet. open the drivers. use CNTRL-V to paste the adapter name string immediately behind the leading “ethernet. 2004 C–5 .deviceName=\\Device\\<Ethernet device adapter name> For example. if a Windows NT system. Step 6 With this string highlighted.properties file. “Edit drivers. and follow the next procedure. right-click the title bar. and select Edit > Copy. Niagara Release 2. verify that the Niagara build has the proper entry in the niagara\<release>\nre\lib\drivers. Edit (or add. this line might look like: ethernet.3. Step 3 Save and close the drivers.deviceName=\\Device\\{B2996882-D086-4532-B6F5-D82A950570AA} Note If a Windows 2000/XP Pro system. The adapter name string is now copied to the Windows clipboard. Procedure C-5 Editing the drivers.properties file.5 BACnet Integration Reference Published: April 26. if missing) the Ethernet device name line with the proper adapter name.Appendix C BACnet PC Notes BACnet Over Ethernet Considerations Figure C-3 Highlight the adapter name. Close the Niagara Console. Step 1 Step 2 Using Notepad. this line might look like: ethernet. 2004 .5 BACnet Integration Reference Published: April 26.Appendix C BACnet Over Ethernet Considerations BACnet PC Notes C–6 Niagara Release 2.3. 5 BACnet Integration Reference Published: April 26. Currently. each as separate JARs: ndio (bacxNdio)—Used to expose Ndio objects in a JACE-4 directly as BACnet objects (BACnet server operation). • Niagara Release 2. • notifier (bacxNotifier)—Provides special BinaryValue shadow objects for monitoring Notifier® panels (BACnet client operation).properties file must contain just the standard “bacnet” feature. About bacnetx Modules The bacnetx folder contains “extension” modules that provide special-purpose functions not required by most BACnet integrations. which are located in the tridiumx/bacnetx folder of the Local Library. 2004 D–1 .APPENDIX D Niagara bacnetx Modules This appendix explains the Niagara BACnet extension (bacnetx) modules.3. Figure D-1 Extensions to Niagara BACnet are in the bacnetx folder of tridiumx. This allows development of future modules independent of the “core” bacnet module (similar to the modules in the londevices folder and the “core” lonworks module). No additional license requirements exist for bacnetx modules—the license. the bacnetx folder contains only two modules. AnalogOutput (AO) BinaryInput (BI) BinaryOutput (BO) Binary_Input Binary_Output AnalogOutput type Ndio objects only available in JACE I/O Expansion Modules. In the JDE. the bacxNdio module requires no configuration. and behavior. versus 475Kb for bacnet. Notes • Using the bacxNdio Module Apart from the following steps. and what BACnet object types they expose as (server operation). The bacxNdio module is relatively small: approximately 12Kb. Ndio primitive objects closely resemble standard Niagara control objects in linkable properties. NdioThermistorType3Input Exposed as BACnet object type Niagara Std. Ndio0to20MAOutput1 (future use) NdioBinaryInput NdioBinaryOutput 1. Paste the BACnetNdioService into the JACE-4 station’s services folder. open the station in the JDE and expand its services folder (to verify the BACnetNdioService does not already exist). Config properties. you must install both the bacnet and the bacxNdio module in the JACE-4 (in addition to the ndio module). using each object’s Config property foreignAddress. Right-click on the BACnetNdioService and select Copy.5 BACnet Integration Reference Published: April 26. This “NT” version of the bacxNdio module is approximately 22Kb. NdioHighSpeedCounterInput. After the host reboots and the station is restarted. • A BACnet Supervisor (or Web Supervisor) also requires a bacxNdio module. open the Local Library. Table D-1 Ndio objects types expose as certain BACnet objects.3. commands. Step 2 Step 3 Step 4 Step 5 Step 6 Ndio source object Ndio0to10VInput. when you need to expose I/O points (Ndio objects) directly as BACnet objects. After the JACE-4 reboots and its station is restarted. NdioResistiveInput. D–2 Niagara Release 2. Step 1 Using the Admin Tool. 2004 . Equivalent Analog_Input AnalogInput (AI) Analog_Output Ndio0to10VOutput1.Appendix D ndio (bacxNdio) Niagara bacnetx Modules ndio (bacxNdio) This module applies only to a JACE-4 controller with integral I/O. Procedure D-1 Using the bacxNdio module. Save the JACE-4 station database (Backup SNS) and then reboot the JACE-4. and use the Tree View to expand the ndio JAR under the tridiumx/bacnetx folder. Table D-1 lists the different Ndio object types. install the bacxNdio module in any JACE-4 in which the bacnet module is also installed. To use this feature. you can expose Ndio objects directly as BACnet objects. NdioHighSpeedCounterInput. NdioResistiveInput. Procedure D-2 Using the bacxNdio module. Step 2 Step 3 Step 4 Niagara Release 2. The bacxNotifier module became available in Niagara Release 2. Step 1 Using the Admin Tool.3. as needed. and NdioThermistorType3Input objects all count as AnalogInput objects—each requires a unique foreignAddress.” page 2-16. The learnDevice command does not automatically create NotifierBinaryValue objects for a Notifier panel—you will need to add these objects manually. for more information. notifier (bacxNotifier) This module applies to any BACnet job that includes Notifier® fire system panels.2Kb or less). For example. Notes • The NotifierBinaryValue object is the sum total of the bacxNotifier module. Expand the “objects” container to reveal the NotifierBinaryValue object. Copy and paste. • The bacxNotifier module is very small (13. you must install both the bacnet and the bacxNotifier module.5 BACnet Integration Reference Published: April 26. or BACnetService if JACE controller). follow Procedure D-2. 2004 D–3 . open it in the JDE. install the bacxNotifier module in any Niagara host in which the bacnet module is also installed.2 and later. It includes a special BinaryValue shadow object that provides “Event_State” polling. Ndio0to10Vinput. Use the Tree View to expand the notifier JAR under the tridiumx/bacnetx folder. Refer to “Instance Number Rules. for details on manually adding objects. It works with the standard Niagara BACnet service (BACnetWSService if BACnet Supervisor.” page 4-4. Refer to “Adding a Child Object. Note Using the bacxNotifier Module To use the bacxNotifier module.Appendix D Niagara bacnetx Modules notifier (bacxNotifier) Note Assign unique foreignAddress numbers among all Ndio objects within any group of standard Niagara equivalent object types. NotifierBinaryValue objects from the Local Library into appropriate containers under a BACnetDevice object (representing a Notifier panel). To use this feature. After the station is restarted. Present_Value. The bacxNotifier module was originally developed before Niagara client support for BACnet multistate objects. Event_State can be fetched or uploaded. you should investigate the makeup of its BACnet objects to get a better understanding of how to engineer the best solution. Figure D-2 NotifierBinaryValue object has both a statusOutput and an eventState output.” page 3-43.5 BACnet Integration Reference Published: April 26. in addition to the normal Present_Value and Status_Flags properties.) than using by using the bacxNotifier module. or fed into a Program object for other control logic purposes. It is possible that a Notifier panel can be better integrated using these standard objects (BACnetMultistateValue. BACnetMultistateInput.Appendix D notifier (bacxNotifier) Niagara bacnetx Modules NotifierBinaryValue The NotifierBinaryValue object is nearly identical to the BACnetBinaryValueLite object. the BACnet Poll Scheduler continuously polls the value of the target object’s Event_State property. as either: • • • • • • normal fault offnormal high_limit low_limit unknown This output can be linked to a GxText object for display in a GxPage. but is not polled. Status_Flags and Event_State are continuously polled. NotifierBinaryValue object BACnetBinaryValueLite (normal) object. Unlike with a normal BACnetBinaryValue object. If integrating a Notifier panel. • For details on internal properties of a NotifierBinaryValue object. The eventState output value appears in text using the Niagara “EventStateEnum” descriptors. Notes • D–4 Niagara Release 2.3. 2004 . but with an additional “eventState” output that displays the current BACnet Event_State (alarm status) value (Figure D-2). etc. ignoring any that are not in “Lite” objects. refer to the “BACnetBinaryValue. The range for BACnet network numbers is 1—65535. This appendix explains topics relating to BACnet internetworks and Niagara station configuration. The following main topics are discussed: BACnet Network Numbers • Internetwork = BACnet Routers • BACnet/IP and BBMDs • Example Internetwork Diagrams • BACnet Network Numbers In pre-2.3. However. the station could find and/or learn BACnet devices on other networks. 2004 E–1 . The station automatically performs router functions between these networks. network “0”). Find the existing network number information in the configuration setup of routers.3.4 releases. A BACnet service command let you print this router table to the station’s Standard Output. Note Niagara Release 2. BACnet network awareness is explicit—you must declare the network number for any link-layer tab that you enable in the BACnet service.APPENDIX E Internetworks and BACnet/IP The BACnet standard defines an “internetwork” as a set of two or more (BACnet) networks connected by (BACnet) routers.3. Also provided are BBMD-related details that apply only to a BACnet/IP network.4. If installing a Niagara station on an existing BACnet internetwork (one or more BACnet routers already exist). the Niagara BACnet service could be enabled for only one link layer type. and enter them (as appropriate) on any enabled link-layer tab in the BACnet service. both BACnetIP and BACnetEthernet). a unique network number is required for each. An internal router table was built. If a station has multiple BACnet link-layers (tabs) enabled (for example. based upon messages received from the global “I-Am” messages received from other devices (and routers) on remote networks. either BACnet/IP or BACnet/Ethernet. The station was simply a device on its local BACnet network (by BACnet convention. Network association was implicit.5 BACnet Integration Reference Published: April 26. Starting in Niagara r2. you need to know all assigned network numbers. and MS/TP1 are enabled. If the station in a Niagara host has support enabled for multiple link-layers. Concept: Each link-layer tab that is enabled in the Niagara BACnet service corresponds to a specific BACnet network. such as with Niagara stations r2. – If establishing a new BACnet internetwork.3. and so forth. Rule: Within any given internetwork. Example: You should not configure multiple Niagara stations on the same LAN with both BACnet/IP and BACnet/Ethernet enabled. MS/TP2 = net 22.5 BACnet Integration Reference Published: April 26. Rule: A BACnet router must exist between two different BACnet networks (different network numbers) for BACnet messages to pass between the devices on the two networks. MS/TP1. the “default” network numbers that appear on a station’s BACnet service tabs can be used. Typically. No communication “loops” are allowed. Concept: A BACnet router can be a single-purpose device. and MS/TP2 are all enabled in a JACE station.Appendix E Internetwork = BACnet Routers Internetworks and BACnet/IP Internetwork = BACnet Routers The Niagara BACnet service now provides a view of the router table. 2004 . For example.4 and higher. it automatically acts as a router between those 2 (or more) BACnet networks to which it is directly attached. and so forth. Internetwork Rules • BACnet Router Functions • Internetwork Rules When implementing a BACnet internetwork there are several rules that must be followed: 1. E–2 Niagara Release 2. Included is the ability to modify. BACnet/Ethernet. which lists all external BACnet routers known to the station. If BACnet/IP. This applies to any link-layer type(s). you should not need to edit this table. MS/TP1 = net 11. and (if a JACE-4/5). it operates as a BACnet router between those 3 networks. or an “application layer” device (controller) that also includes router functionality. A Niagara station does not act as a “BACnet/IP router. the station operates as a BACnet-to-BACnet/IP router between those 3 networks. if BACnet/Ethernet.” page 6-5.” which is required on any internetwork with more than one BACnet/IP network. 2. from 1 to 65534. or remove entries representing BACnet routers. BACnet/Ethernet = net 2.3. add. Note 3. Refer to “Router Table. Rule: There must be only one message path between any two BACnet devices on an internetwork. which is automatically populated when you perform a “Who-Is” or learnNetwork command from the BACnetUtility. BACnet/IP = net 1. For example. each BACnet network must have unique network number. Appendix E Internetworks and BACnet/IP BACnet/IP and BBMDs 4. If adding a JACE on an existing BACnet internetwork, you must specify the established BACnet/IP network number and/or BACnet/Ethernet network number currently in use. If a JACE with one or more enabled MS/TP ports, you must also specify a previously unused network number for each MS/TP (RS-485) port. Rule: Every BACnet object, including the Device object in each BACnet device, must have a unique numeric object_identifier (within all other objects of that same object type), internetwork-wide. Valid values for this identifier range from 0 to 4194302. – Concept: BACnet devices respond to a Who-Is broadcast messge with an I-am message that includes each Device object’s unique numeric object_identifier. If you receive duplicate I-am messages (multiples showing same device, by number), it means either that more than one device has been assigned that same identifier (number), or that a message loop exists. BACnet Router Functions A full listing of all BACnet router functions is extensive—see the BACnet specification for complete details on routers. From a general perspective, BACnet routers are required to pass BACnet messages between different BACnet networks. This applies to all directed messages as well as broadcast messages. Usually, a BACnet router is used to join networks of different media/link-layer types, for example a router with RS-485 MS/TP port(s) and an Ethernet-BACnet/IP port. For some examples, see “Example Internetwork Diagrams,” page E-7. BACnet/IP and BBMDs Starting in Niagara r2.3.4, Niagara BACnet/IP support expands with BBMD-hosting capability. If a station is configured for BBMD operation, you can review (and if necessary, modify) the broadcast distribution table common to all BBMDs on the B/IP network, as well as the foreign device table used in the Niagara station. The following sections discuss BBMD-related topics: About BBMDs • Niagara BBMD Configuration Tips • About BBMDs Use of BBMDs (BACnet broadcast management device) is the answer to a single B/IP network that needs to span across multiple IP subnets. Each IP subnet with BACnet/IP devices requires one (and only one) BBMD. An installation with BBMDs may not be an “internetwork,” but just have a single B/IP network. Niagara Release 2.3.5 BACnet Integration Reference Published: April 26, 2004 E–3 Appendix E BACnet/IP and BBMDs Internetworks and BACnet/IP A BBMD may be a device operating solely as a BBMD, or more typically, include BBMD functions in addition to other application/controller duties. This is the case with a Niagara r2.3.4 station running the BACnet service with BACnet/IP enabled, and configured with property bacnetIPDeviceType set to “bbmd.” Refer to “Configuring BACnet/IP Properties,” page 6-18, for where to find these properties. The following BBMD topics are explained: Why and What a BBMD Does • Foreign Device Table • Why and What a BBMD Does A BBMD is used to support delivery of BACnet broadcast messages, such as “Who-Is” and “Who-Has.” As a rule, globally broadcast messages are inherently blocked by standard IP routers, which are used to connect separate IP subnets. Note this issue does not exist for any “directed message” between devices on different subnets, such as a common ReadProperty request—not a broadcast message. The BBMD resolves this issue by acting as a broadcast manager for its subnet, working in coordination with other “peer” BBMDs. Each other IP subnet that contains BACnet/IP devices has one BBMD. Each BBMD stores a table with the IP address and distribution mask of all BBMDs, itself included. This is called the BBMD’s “BDT” (broadcast distribution table), and is identical in each BBMD for that entire B/IP network. When a global broadcast message is sent, it is automatically received by all devices on its local subnet, including the BBMD. (Local devices reply as needed to the broadcast device, without BBMD involvement.) The local BBMD forwards the broadcast message to the other subnets, using one of two methods (as defined for each remote subnet): One-Hop • Two-Hop • One-Hop: The BBMD sends the message using a “directed broadcast,” whereby the IP router for the destination subnet broadcasts the message on its local subnet. The router must support directed broadcasts, otherwise the two-hop method must be used. Two-Hop: The BBMD sends the message to its peer BBMD on the remote subnet, whereby that BMMD broadcasts the message on its local subnet. Note that replies to BACnet broadcast messages do not require BBMD involvement, as these are directed messages back to the particular B/IP device that generated the message (that is, the destination IP address is specific to that one device). Foreign Device Table In a case of an IP subnet where only a few (or perhaps just one) B/IP device exists, a local BBMD may be considered excessive for BACnet broadcast message support. An alternative for that subnet is for each B/IP device to register as “foreign device” with a particular BBMD on a remote subnet. Once registered, the device is added to that BBMD’s FDT (foreign device table). It then becomes that BBMD’s responsibility to deliver global BACnet broadcast messages to that remote device. E–4 Niagara Release 2.3.5 BACnet Integration Reference Published: April 26, 2004 Appendix E Internetworks and BACnet/IP BACnet/IP and BBMDs Because this scheme is sometimes used for B/IP devices that are not “permanent,” it was designed with a mandatory “registration lifetime” feature. When any B/IP device registers as a foreign device with a BBMD, it must specify its “Time-to-Live” value, in seconds. It is then expected to re-register within this period, else the BBMD will remove (purge) it from its FDT. This prevents unneccesary broadcast delivery attempts to “part-time participants.” The FDT in any BBMD reflects the current list of its registered foreign devices, along with each device’s Time-to-Live value and calculated purge time. If the Niagara station is configured as a BBMD, you can view this table on the BACnet service’s property sheet (BACnet/IP, Engineering tab). Refer to “Foreign Device Table (FDT),” page 6-21, for information on using this feature. The “foreign device” term implies no stigma—it is purely BBMD-centric. The most expedient configuration for a Niagara station may well be as a foreign device, providing its local IP subnet has no BBMD and other B/IP devices (if any) are currently each registered as foreign device with a remote BBMD. • Unlike a BBMD’s broadcast distribution table, which is identical in each BBMD, the foreign device table in each BBMD is unique to that BBMD. Notes • Niagara BBMD Configuration Tips The following BBMD configuration tips are grouped into two categories: Existing BACnet/IP Network • New BACnet IP Network • Existing BACnet/IP Network If you have an existing BACnet/IP network that spans IP subnets, chances are that it has at least one existing BBMD. Unless the host for the Niagara station is located on that same IP subnet as an existing BBMD1, you must choose one of the following: Configure As BBMD • Configure As Foreign Device • Configure As BBMD Typically this is best if the local subnet is receiving other new B/IP devices, and/or existing B/IP devices on this subnet are not currently supported by a BBMD. You should determine if the router for the local subnet supports “directed broadcasting.” Procedure E-1 Configure Niagara station as BBMD. Step 1 On the BACnet/IP, Config tab of the BACnet service’s property sheet, set the property bacnetIPDeviceType to bbmd. Refer to page 6-19. 1. If the Niagara host is being installed on an IP subnet with an existing BBMD for that BACnet/IP network, you are “done.” Leave bacnetIPDeviceType = “none.” Niagara Release 2.3.5 BACnet Integration Reference Published: April 26, 2004 E–5 Appendix E BACnet/IP and BBMDs Internetworks and BACnet/IP Step 2 For the next property, remoteBBMDAddress, enter the BACnet MAC address of any known operating BBMD for this B/IP network (on another subnet). Refer to page 6-19 for details on syntax when entering a B/IP MAC address. Click Apply at the bottom of the BACnet/IP, Config tab. Perform a whoIs command from the BACnet service’s BACnetUtility. On the BACnet/IP, Engineering tab of the BACnet service’s property sheet, examine the BDT in the top half of the property sheet. The remote BBMD you entered should appear in the BDT, as well as other BBMDs (if existing). If an entry for the host of the running Niagara station does not already appear in the BDT, add it. Refer to “Broadcast Distribution Table (BDT),” page 6-20, for syntax details. If the router for the local subnet supports “directed broadcasting,” enter the local host’s subnet mask (in hex) in the “Distribution Mask” field. Otherwise, if the router does not support directed broadcasting, or you are not sure, enter FF:FF:FF:FF as the Distribution Mask. Step 3 Step 4 Step 5 Step 6 Step 7 Click Apply at the bottom to make changes effective. This should update all other BBMDs on the B/IP network with the same BDT information. Perform a whoIs command from the BACnetUtility. If the BBMD configuration was successful, you should see devices from other subnets respond. Step 8 Configure As Foreign Device Typically this is best when a remote subnet BBMD exists and the local subnet has only the Niagara station as a B/IP device, or if other B/IP devices on the local subnet are currently registered as foreign devices. Procedure E-2 Configure Niagara station as foreign device. Step 1 On the BACnet/IP, Config tab of the BACnet service’s property sheet, set the property bacnetIPDeviceType to foreignDevice. Refer to page 6-19. For the next property, remoteBBMDAddress, enter the BACnet MAC address of a known operating BBMD for this B/IP network (on another subnet). This is the BBMD the station will attempt to register with as a foreign device. Refer to page 6-19 for details on syntax notes when entering a B/IP MAC address. For the last property, registrationLifetime, either accept the default 900 seconds, or enter another value from 300 to 65,535 seconds. Click Apply at the bottom of the BACnet/IP, Config tab. The station attempts to register with the remote BBMD at the remoteBBMDAddress. Perform a whoIs command from the BACnetUtility. If the foreign device registration was successful, you should see devices from other subnets respond. Step 2 Step 3 Step 4 Step 5 E–6 Niagara Release 2.3.5 BACnet Integration Reference Published: April 26, 2004 ” This would allow B/IP devices on remote subnets to register with the station as foreign devices. Figure E-2 BACnet Ethernet to MS/TP router functions provided by station in JACE-4/5. You would also not see any other remote BBMDs when you followed Step 5. 2004 E–7 . Note that each BACnet node has a unique Device ID number (shown inside node). you would skip Step 2 to specify a remoteBBMDAddress. Example Internetwork Diagrams Figure E-1 shows an internetwork with 2 BACnet routers and 4 BACnet networks. routers A and B join together three different media and link-layer types: BACnet over Ethernet (network 2). 10 Network 11 MS/TP 11 39 2 3 4 8 A 70 5 6 B 7 40 71 99 Network 22 MS/TP 41 68 Network 8 ARCNET Niagara Release 2. Note also that router A could actually be a JACE-4/5 licensed for MS/TP. as shown in Figure E-2.5 BACnet Integration Reference Published: April 26. However. 2 routers. In this case.3. and BACnet ARCnet (network 8). you would typically follow Procedure E-1 “Configure Niagara station as BBMD. Figure E-1 Four physical networks.Appendix E Internetworks and BACnet/IP Example Internetwork Diagrams New BACnet IP Network If you are configuring the Niagara station while installing B/IP devices for a new B/IP network. BACnet MS/TP (networks 11 and 22). there are probably no existing BBMDs. BACnet Node BACnet Router Network 2 B/Eth 2 3 4 A 10 Network 11 MS/TP 11 39 70 71 99 5 6 B 7 40 Network 22 MS/TP 41 68 Network 8 ARCNET In the example above. Network 2 B/Eth JACE-4/5 with two MS/TP trunks. Note also that this router function could actually be provided by a Niagara station. whenever the property routingEnabled is shown as “False. 2004 . Figure E-3 Same physical Ethernet LAN. there may be two separate BACnet networks sharing the same media—BACnet over Ethernet and BACnet/IP. router joins two BACnet networks. BACnet Node BACnet Router 2 3 4 5 6 Network 1 B/IP 7 8 9 Network 2 B/Eth Again.3.Appendix E Example Internetwork Diagrams Internetworks and BACnet/IP For an Ethernet LAN.” E–8 Niagara Release 2. Figure E-4 BACnet Ethernet to BACnet/IP router functions provided by Niagara station. This condition is indicated on the property sheet for the BACnet service on the General. the routing functions performed by the station are stopped. as shown in Figure E-3. Status tab. JACE controller (or BACnet Supervisor) with both BACnetEthernet and BACnet/IP enabled. 2 3 10 4 5 6 Network 1 B/IP 7 8 9 Network 2 B/Eth In this case. you must be especially careful that no other router exists between the BACnet Ethernet and BACnet/IP networks—if the Niagara station detects this illegal (loop) configuration.5 BACnet Integration Reference Published: April 26. note that each BACnet node has a unique Device ID number (shown inside node). as shown in Figure E-4. 8) are registered as a “foreign device” with a remote BBMD. and 9).168.1. BBMD functions can be performed by any Niagara station with BACnet/IP enabled. BACnet Node BACnet Router IP Router BBMD BACnet Foreign Device subnet 192.5 11 10 8 B Network 8 ARCNET 40 41 69 7 14 subnet 192.Appendix E Internetworks and BACnet/IP Example Internetwork Diagrams BACnet/IP BACnet/IP networks can be more involved.168.3.168. router C functions (B/IP to B/Eth) and BBMD functions can be performed by any Niagara station with both BACnet/Ethernet and BACnet/IP enabled. there are both BACnet/IP devices (Device IDs 2 and 3) and BACnet over Ethernet devices (Device IDs 4.168. Figure E-5 shows an example internetwork that includes an Ethernet/IP backbone. all BACnet routing and BBMD functions can be performed by Niagara stations. Note that BBMDs are used to avoid having separate B/IP networks for each subnet—this would require a BACnet/IP router to exist on each subnet (yet even more complexity).168. • Niagara Release 2. With the exception of router “B” (B/IP to B/ARCNET). Both BACnet/IP nodes on that subnet (Device IDs 7. 2004 E–9 .5.168. On subnet 192.5 BACnet Integration Reference Published: April 26.” plus standard TCP/IP (IP) routers.168. there is no BBMD. with devices designated as BBMDs and “foreign devices.7.168.1 Network 1 B/IP 9 subnet 192. • On subnet 192. Router “C” provides communications between these two BACnet networks. The B/IP network shown spans multiple IP subnets.3 A 20 Network 11 MS/TP 21 39 70 71 99 15 2 C 5 Network 22 MS/TP 3 subnet 192. • On subnet 192.3.7. plus other BACnet networks. router A functions (B/IP to MS/TP) and BBMD functions can be performed by a JACE-4/5 with its BACnet service enabled for BACnet/IP and BACnetMSTP1 and 2. 5. Figure E-5 Internetwork that includes single B/IP network spanning multiple IP subnets.7 4 Network 2 B/Eth 9 Note that on subnet 192. Use of BBMDs provides BACnet broadcast message delivery through IP routers. Note also that on the physical Ethernet segment used by subnet 192.168. 2004 .7 3 4 Network 2 B/Eth 9 E–10 Niagara Release 2. Niagara station with B/IP enabled BACnet Node BACnet Router IP Router BBMD BACnet Foreign Device subnet 192.3.168.5 BACnet Integration Reference Published: April 26. also B/IP enabled.168. as previously described.5 11 10 8 Niagara station with B/Eth and B/IP enabled B Network 8 ARCNET 40 41 69 7 14 subnet 192.Appendix E Example Internetwork Diagrams Internetworks and BACnet/IP Figure E-6 shows an a similar internetwork with these functions provided by Niagara stations.168.168.1 Network 1 B/IP 9 subnet 192.3 JACE-4/5 with two MS/TP trunks. Figure E-6 Similar internetwork with Niagara stations providing BBMD and routing functions. 20 Network 11 MS/TP 21 39 6 16 15 70 71 99 Network 22 MS/TP 2 5 subnet 192. You can attach a network of BACnet MS/TP devices to an RS-485 port on a JACE-4/5.3.APPENDIX F Niagara MS/TP Support This appendix covers BACnet MS/TP (master-slave/token-passing) support provided in the Niagara BACnetService. BACnet MS/TP is often used in lower-cost unitary controllers and other application-specific devices. MS/TP devices are networked using the EIA-485 physical layer. RS-485 BACnet MS/TP Field Bus VAV Controllers HVAC Control 1. The following main topics are explained ahead: Niagara MS/TP Overview • Configuring for BACnet MS/TP • Engineering Considerations for MS/TP • Niagara MS/TP Overview In Niagara r2.” page F-2).5 BACnet Integration Reference Published: April 26. Niagara BACnet MS/TP support is available only for “embedded” JACEs with the VxWorks operating system. JACE-5 HE AR TB EA T Rx D TxD Rx RS D RS PO 2 RT 32 1 TxD 232 PO /RS RT 4 2 85 DA ETH 10 ER 0 NE T LO N TA Rx D TxD General I/O Lighting Control Some defined number of BACnet MS/TP devices per network (see “Networks and Device Limits. where the term “RS-485” is also used. 2004 F–1 .4 and later. and use the same familiar BACnet client shadow objects to represent device and application data. Figure F-1 BACnet MS/TP support via RS-485 port on JACE-4/5. direct support for BACnet MS/TP devices is available for JACE-4 and JACE-5 series controllers1. Niagara Release 2.3. configurable in the Niagara station at either 9600. which removes device count limits. Beyond this 27 total. the BACnetService in the JACE station is also enabled for BACnet/IP and/or BACnet/Ethernet.Appendix F Niagara MS/TP Overview Niagara MS/TP Support Typically. with a required feature entry of “bacnetMSTP” in the JACE’s license file. or 76. Niagara Release 2. see “Licensing for BACnet MS/TP. The JACE also requires general BACnet licensing. for more information.” page F-4. however. which can support some number1 of MS/TP BACnet devices. Note 1. 2004 F–2 . 19. 38. The actual number of BACnet MS/TP devices supported per trunk depends on the devices’ electrical RS-485 “loading” characteristics. Networks and Device Limits Each BACnet MS/TP network requires a separate JACE-4/5 RS-485 port. no more than 27 BACnet devices can be shadowed in the station database. All BACnet MS/TP devices on the same network must use the same communications baud rate. The following additional overview topics apply to BACnet MS/TP in Niagara: MS/TP Boundaries • Station Engineering Considerations • MS/TP Boundaries Boundaries for BACnet MS/TP integrations in Niagara are summarized in the following sections: Licensing • Networks and Device Limits • Licensing BACnet MS/TP is a separately-licensed option on a JACE host. and BACnet (and BACnet MS/TP). Depending on the number of RS-485 ports available on a particular JACE-4/5 model. please contact your Niagara sales channel. Moreover.” page F-12. up to 4 MS/TP networks are supported. and technical support may become unavailable. Both “master” and “slave”-type MS/TP devices are supported (and count) equally. operation is not assured. For further details. If a “standard” JACE-403. LonWorks. in addition to corresponding entries in the JACE’s license file. it is recommended that all BACnet MS/TP devices on the same network also be made by the same manufacturer.2Kb.3.4Kb. for example. this is typically standard for all JACEs. This limit applies across all possible drivers and communications ports. For more information. Modbus. See “RS-485 Port Guide. For various performance reasons.8Kb. Additional lines in the license file can specify other MS/TP trunk and/or device limits. The station provides BACnet router support between the BACnet MS/TP network(s) and the Ethernet-connected BACnet network(s). a total of 27 networked devices (of any type) are supported. See “Licensing for BACnet MS/TP.” page F-4. An “extended JACE-403” (and license upgrade) is also available.5 BACnet Integration Reference Published: April 26. 3. Configuring for BACnet MS/TP Configuring a JACE-4/5 for BACnet MS/TP can be divided into two areas: Prepare the JACE Host • Configure Essential MS/TP Link-Layer Properties • Prepare the JACE Host Before a JACE-4/5 can talk to BACnet MS/TP devices. maximizing update efficiency. some devices cannot be monitored in the Niagara station. and explained in detail in later sections: Maximum device limit (per MS/TP trunk) is strictly enforced by the Niagara BACnetService. If this device limit is exceeded on an MS/TP trunk.properties file.properties • Installing the BACnet module • Note Niagara Release 2. • The whoIs and learnNetwork commands in the BACnetUtility can discover “master” MS/TP devices. and Device ID number. and another (combined) polling thread for BACnet/Ethernet and BACnet/IP. MAC address. Similar device restrictions apply in a standard JACE-403 (27 maximum of any kind).5 BACnet Integration Reference Published: April 26. including the bacnet module.5. however. Licensing for BACnet MS/TP • Verifying drivers. Also. By BACnet design. must be installed. slave devices are not permitted to generate messages. and BACnetService therein. This isolates poll-response issues from the different link-layer types. For related details. and then enter its known network number. there are some engineering considerations listed here.3. as the same BACnet client shadow objects are used. that performance of any MS/TP network can be greatly affected by the configuration of its devices. and possibly across all BACnet link-layer types (depending on the specific installed license file).” For any MS/TP slave device. Be aware. see “Engineering Considerations for MS/TP.” page F-18.Appendix F Niagara MS/TP Support Configuring for BACnet MS/TP Station Engineering Considerations Few differences apply to engineering a Niagara station that includes BACnet MS/TP network(s). including “I-am. you manually copy and paste a BACnetDevice for it. For more details.” page F-13. see “Working with Slave Devices. 2004 F–3 . However. There is no separate tridiumx module (JAR file) for MS/TP BACnet. Niagara Release 2. The Niagara bacnet module. it must be specially licensed and have an entry (referencing a low-level MS/TP driver) in its drivers. contains all required components. • • The JACE station uses separate polling threads for each BACnet MS/TP network. but not “slave” MS/TP devices. created to support a total of 300 BACnet devices.: 31 (full-load). Example F-1 shows an example portion of a JACE-512 license file.bacnet.bacnetMSTP. For a “standard” JACE-403 this may be up to 27. 2004 F–4 . Example F-1 Example license portion. this limit is enforced by the electrical RS-485 “loading” characteristics of MS/TP devices. If this line is absent.bacnet. there is no defined limit. If this line is absent.properties file in the JACE-4/5 is checked for the following line: features=coreRuntime. allowing “quarter-load” devices. If you make any changes to the license file. 62 (half-load). numberOfDevicesPerMSTPTrunk=n where: n is the maximum number of devices supported on any one MSTP trunk. Niagara Release 2. where the maximum value is 4. select View License. and 124 (quarter-load) maximum.5 BACnet Integration Reference Published: April 26. numberOfBACnetDevices=300 numberOfBACnetMSTPTrunks=2 numberOfDevicesPerMSTPTrunk=124 In this case.<features>.<features>.<features>. where: <features> are other licensed features for the JACE. Note that the order of the features in the feature line is not important. Physically. To allow BACnet MS/TP operation upon station startup. define other limits. Note Niagara software limits for BACnet are specified within the host’s license only.508 or later). of which up to 248 can be MS/TP devices networked on 2 MS/TP trunks (RS-485 ports) on the JACE. 3 additional lines are in the license. If this line is absent. the software-enforced limit is 124. checked Starting in Niagara r2. your JACE-4/5 station will not operate! Contact Tridium if you need any changes made to your license.301. the license. and if present.properties file. across all BACnet link layers.g. an RS-485 trunk with this number of devices would not operate correctly if there were “full-load” or “half-load” types. that are supported in its station. numberOfBACnetMSTPTrunk=n where: n is the maximum number of MS/TP trunks that can be enabled on this JACE. as follows: numberOfBACnetDevices=n where: n is the total number of BACnet devices. so that you may be sent a proper license. Do not attempt to edit the license file.Appendix F Configuring for BACnet MS/TP Niagara MS/TP Support Licensing for BACnet MS/TP Caution Use the Admin Tool to open the JACE-4/5 host and verify the needed entries exist.3. e.3. for either trunk to actually support 124 devices. features=coreRuntime. 2 MS/TP trunks.5 (build 2. From the Installation tab.bacnetMSTP. Otherwise. all installed MS/TP devices must be (electrically speaking) “quarter-load” devices. or (27 .<features>.maxLonDevices). the default is 1. You may wish to do this as part of installing the bacnet module. b. if the JACE requires it as an addition or upgrade.VxWorksMstpDriver This line references the “low-level” driver used for Niagara BACnet MS/TP communications.Appendix F Niagara MS/TP Support Configuring for BACnet MS/TP Verifying drivers. Click Edit drivers.mstp=tridium.mstp=tridium. If you added this line. Look for this line: driver.properties. for example. If the JACE-4/5 already has the same Niagara r2. Close the edit window for drivers. select File > Save. The edit window for drivers. • bacnet-<release>.3. Use Procedure F-1 to verify this exists in the JACE-4/5’s drivers. JACE-NP and Web Supervisor) You can follow this procedure to install all BACnet modules. Step 5 Step 6 Installing the BACnet module For any JACE-4 or JACE-5.mstp.5 NRE and bacnet module installed that you are using on your Web Supervisor/Niagara Engineering PC.properties. at the end of the file.nre.mstp.jar.nt (for JACE-NX. you must install all needed modules. Procedure F-1 Editing the drivers.properties file on the JACE-4/5 must include the following line: driver. saving databases to XML. you can skip this section.5 BACnet Integration Reference Published: April 26.3. 2004 F–5 .5 release installed.nre.properties file.VxWorksMstpDriver Step 3 Step 4 If not present: a. Enter the line exactly as shown in Step 3. copy the nt jar file to the Niagara modules subdirectory. open the JACE-4/5 host and select the Installation tab. For procedures.vxworks. You may receive updated BACnet module files as: (for JACE-4 and JACE-5) • bacnet-<release>. see the Niagara JDE User’s Guide.3. If the JACE-4/5 already has the Niagara r2. This entry exists in JACE-4/5s starting around the Niagara r2. the bacxNdio module).properties appears.jar. you should check to make sure. you need to reboot the JACE-4/5 for it to become effective.properties The drivers.3.jace Procedure 7 Installing the necessary Niagara modules.4 time frame—however. Step 1 Step 2 With the Admin Tool.properties file. including the bacnet module (and if a JACE-4 with I/O. reboot the JACE now. D:\niagara\<release>\nre\modules Step 2 Niagara Release 2.vxworks. From the edit window’s menu bar. Step 1 Make station backups of any existing stations to have modules installed or upgraded. On your Web Supervisor/Niagara engineering PC. jar This makes BACnet components available to the Supervisor PC and Local Library. A red check mark appears besides bacnet module in Upgrade/Add.jar This makes the module available for installation on a remote JACE-NX or JACE-NP. Click Install. F–6 Niagara Release 2.jace” portion from its filename. In the Select Distribution Directory dialog box. scroll down to find the row for the bacnet module and click in the Upgrade/Add column beside it. On your Web Supervisor/Niagara engineering PC. Click Next to continue. This allows Ndio objects in the JACE-4 to be exposed as BACnet objects. click OK. Step 11 Step 12 Step 13 Click Next. Enter a valid.nt” portion from its filename. this process takes a couple of minutes. In the Database Backup dialog box. for example. 2004 . click the radio button for Configure Modules Only. click OK to continue. Click Finish. so it is now bacnet-<release>. copy the jace jar file to the Niagara subdirectory you use to store JACE-4/5 modules.nt” portion from its filename. Step 16 When the installation is complete. Note Step 7 Step 8 Step 9 Step 10 If installing in a JACE-4. Step 3 Step 4 Close and restart the JDE to load updated module(s) on your PC. D:\niagara\<release>\nt Remove the “. Installation Wizard. so it is now bacnet-<release>. Step 14 Step 15 In the summary dialog box.5 BACnet Integration Reference Published: April 26. select the database to be backed up.Appendix F Configuring for BACnet MS/TP Niagara MS/TP Support Remove the “.3. D:\niagara\<release>\emb Remove the “. In the Niagara Remote Installation dialog box. Step 5 On your Web Supervisor/Niagara engineering PC.jar This makes the module available for installation on a remote JACE-4 or JACE-5. select emb. Typically. so it is now bacnet-<release>. In the Configure Modules dialog box. for example. open the JACE-4/5 host and select Installation tab. administrative-level station user name and password. A dialog box displays each task as it is performed. also select (upgrade/add) the bacxNdio module. Step 6 Using the Admin Tool. Click Next. copy the nt jar file (again) to the Niagara subdirectory you use to store JACE-NX/NP modules. and Engineering.Appendix F Niagara MS/TP Support Configuring for BACnet MS/TP Configure Essential MS/TP Link-Layer Properties The BACnetService property sheet has four tabs that apply to MS/TP networks. Figure F-2 BACnetService property sheet. Four MSTP tabs. 2004 F–7 . and BACnetMSTP4 (Figure F-2). with 4 MSTP main tabs (currently apply only to JACE-4/5 station). Config tab. BACnetMSTP.3. Note When first configuring a station.5 BACnet Integration Reference Published: April 26. Each MSTP tab has three sub-tabs: Status. Each has three sub-tabs. This will be the JACE station’s BACnet Device ID (identifier) across however many BACnet networks (link-layers) are enabled in the BACnet service. Config. BACnetMSTP2. and Engineering. Status. The following topics apply to initial BACnet MS/TP configuration: • • • • • • • BACnetMSTP tab Config properties Status properties Engineering property Remaining MSTP tabs RS-485 Port Guide Example MS/TP Configuration Niagara Release 2. Config. see the appropriate sections of this document. BACnetMSTP3. For BACnet/IP and BACnet/Ethernet configuration details. you need to assign a unique device ID on the BACnet Service’s General. 2. mstpMaxInfoFrames: Specifies the maximum number of messages (frames) the station will send before it passes the token. If master devices (apart from the JACE) are MAC-addressed contiguously starting at 1. Allowable range is from 1 to 127. say to 10.5 BACnet Integration Reference Published: April 26. In addition. Each BACnetMSTP(N) tabs contain Config properties for that MS/TP network (and its separate polling mechanism). Note F–8 Niagara Release 2. All other Config properties apply only to that selected MS/TP network—mstpNEnable through mstpNpollDisabled mstpMaxMaster: Specifies the highest allowable address for master nodes on the network.3. equivalent settings in other devices may affect operation. Config properties. see “Engineering Considerations for MS/TP. Allowable range is from 1 to 100. regardless of the total number of MS/TP networks (1.” page F-13. but various configurations may be optimized with different values. it may be best to set this to “one-higher” than the highest addressed master device. Visible as a property of the station’s Device object. Polling efficiency may be increased by setting this higher. Global properties mstpMaxMaster and mstpMaxInfoFrames are on the first (BACnetMSTP) tab’s Config sub-tab. Global Config Properties (BACnetMSTP tab only) • Config properties (for each BACnet MS/TP network) • Global Config Properties (BACnetMSTP tab only) The first two properties on the BACnetMSTP.Appendix F Configuring for BACnet MS/TP Niagara MS/TP Support BACnetMSTP For BACnet MS/TP. Figure F-3 BACnetMSTP tab. the first tab BACnetMSTP is always used. Affects token-passing operation. 3. or 4). Communications using default values for mstpMaxMaster and mstpMaxInfoFrames are possible. Config sub-tab apply globally for Niagara communications to all JACE-connected MS/TP networks. The default (and highest) value is 127. depending on how responsive the networked devices are. However. Visible as a property of the station’s Device object. anything more than 2 may not actually increase efficiency. and there may be advantages to reviewing the MAC address scheme for all networked devices. 2004 . For related information. The default (and lowest) value is 1. Use the remaining MSTP tabs (in order) only if you have more than one MS/TP network. otherwise leave their properties at defaults—especially mstpNEnable. Default values are 11.” to which you must reassign accordingly—no duplicate BACnet network numbers (across all link-layers) should exist in the entire BACnet installation! Note mstpNAddress: The BACnet MAC address for the JACE-4/5 station. Valid range is 0 to 127 (BACnet range for “master” devices). 22. mstp3CommPort=COM3). no communications are attempted. Consider all default values as placeholders.5 BACnet Integration Reference Published: April 26. and also verify that no other MS/TP device on this network uses this same address. 3. If there is ever a lost token. mstpNCommPort: JACE software comm port number for this network.Appendix F Niagara MS/TP Support Configuring for BACnet MS/TP Config Remaining properties on the BACnetMSTP Config tab apply to the first MS/TP network that you are configuring. See “RS-485 Port Guide. If previously used. The JACE station acts as a router between this network and other BACnet networks (from other enabled link-layers in the BACnetService. Exceptions to this advice may exist. Each associates with a particular physical RS-485 port on the JACE-4 or JACE-5. the device with the lowest MAC address regenerates the token. While set to False (default). Note Niagara Release 2. Default is 0. see “Exception Cases. and 44 for BACnetMSTPN 1—4. for example). which in this case would be the JACE station.” page F-16. Generally.3. to which you must edit to the correct COMN value. Default value is COMN. such as mstp2Enable. which is often not correct. (for example. mstpNEnable: Used to enable /disable all communications to the MS/TP network. Consider all default values for network numbers as “random. The valid range is from 1 to 65534. Must be unique among all BACnet networks on the job’s BACnet internetwork. Note that a valid RS-485 port is recommended—an RS-232 port with external RS-232 to RS-485 adapter can be used. but introduces another “variable” for possible issues. in decimal. 2004 F–9 . Note The MAC address of most other BACnet MS/TP devices on the network is likely set by an onboard DIP switch. and 4) are identical except for mstp “number” (N). mstp2Address. 33. it is recommended that you leave the mstpNAddress at 0.” page F-12. all shadow objects in the station associated with this network show “Down” (yellow). meaning the one connected to the RS-485 port associated with mstpNCommPort. etc. mstpNNetworkNumber: The BACnet network number associated with devices on this MS/TP network. Properties on remaining MSTP tabs (2. input writes and commands to client objects are still processed. If set to True. However.” After some run time.3. mstpNpollCycleTime: Target cycle time. Figure F-4 BACnetMSTP(N) Status tab. only objects that are currently being viewed (or that are in the view cache) are included.” page 6-3). you may wish to adjust this upwards—possibly a value slightly greater than the mstpNaveragePollInterCycleDelay. devices on the network are still pinged for device status (providing deviceStatusDisabled =False). Polled objects will not update any faster than this. mstpNpollDisplayDots: For debug mode. Default is False. Must match comm rate of all other BACnet MS/TP devices on the network. Poll statistics for that MS/TP network (Status sub-tab) will show “overruns” and possibly “late starts. mstpNpolledObjectCount: Number of BACnet shadow objects currently in the poll list for that MS/TP network.Appendix F Configuring for BACnet MS/TP Niagara MS/TP Support mstpNBaudRate: Communications transmission speed for that network. “BAC MSTPN Poll” (where N is 1—4. The following read-only status properties are available: mstpNpolledDeviceCount: Number of BACnetDevice objects associated with that MS/TP network. Default is False. Default (all MSTP tabs) is baud_9600. Status Each BACnetMSTP(N) tab has a Status sub-tab that shows current Niagara poll statistics for that MS/TP network (Figure F-4). baud_76800. a poll cycle will take much longer than this—however. to complete one poll of objects for that MS/TP network. there is no “harm” in leaving the default value. according to MS/TP trunk number) mstpNpollDisabled: For debug mode. baud_38400. While set to True. in milliseconds. Default is 5000 ms (5 seconds). 2004 . F–10 Niagara Release 2.5 BACnet Integration Reference Published: April 26. Note that typically. This count is part of the total BACnet device count (“bacnetDeviceCount. and all polled values remain frozen. shown on the Status tab for that MS/TP network. Note that even devices currently disabled for polling are included. Device and object counts also display. and server operations to devices are unaffected (much different than mstpNEnable). the following characters are sent to Standard Output upon poll cycle competition. If PollOnDemand containers are used. Niagara polling of the BACnet MS/TP network stops. Options are baud_19200. mstpNpollStartTime: Date and timestamp for the start of all accumulated statistics. 3. Note The BACnetService’s command resetStatistics clears all accumulated count and time values to zero (0).3. going by the configured mstpNpollCycleTime.5 BACnet Integration Reference Published: April 26. For example: BP1M1: polling object Space_Humidity {analog_value:102} BP1M0: polling object Microset_Room_Temp_ {analog_value:101} BP1M1: polling object Current_Heating_SP {analog_value:100} (and so on) Note Disable polling debug (pollDebug=False) unless you are investigating a particular poll-related problem. Use them in order. each polled object appears as a line in the station’s Standard Output window. using the format: BPxMy: polling object <objectName> {<object type>:<instance number>} where x = MSTP trunk number (1—4) and y = polling thread number (0—1). Properties on the Status and Engineering tabs are also explained in previous sections. mstpNtotalPollExecuteTime: Total number of seconds for accumulated statistics. in seconds. accumulated for object poll cycles. This applies to all BACnetMSTP(N) Status properties. mstpNpollOverruns: Accumulated number of times the poll cycle took longer than the configured mstpNpollCycleTime. in milliseconds.” page F-9. Equals the (mstpNtotalPollExecuteTime / mstpNtotalExecutionCycles). Default is False. plus equivalent “main” Poll. Engineering Each BACnetMSTP(N) tab has an Engineering tab with a single property: mstpNpollDebug: For debug usage. Status properties. BACnetMSTP2. between successive starts of the poll cycle since statistics were accumulated. merely that the cycle time may be set too short. Note this does not indicate a problem (all objects are polled). “Config. Remaining MSTP tabs Niagara Release 2. and BACnetMSTP3. Config properties on these remaining tabs are explained in the previous section. For example. use tabs BACnetMSTP. Provides a possible starting point for a target poll cycle time. mstpNaveragePollInterCycleDelay: Average time. and 4 should be used only if that number of MS/TP trunks are licensed in the JACE-4/5 host. mstpNtotalExecutionCycles: Total number of accumulated poll cycles. 2004 F–11 . if the JACE is licensed for 3 MS/TP trunks. mstpNpollLateStarts: Accumulated number of times the poll cycle has started later than anticipated. It adds system overhead and decreases overall throughput. and resets the mstpNpollStartTime.Appendix F Niagara MS/TP Support Configuring for BACnet MS/TP mstpNaveragePollExecuteTime: Average time. While set to True. BACnetService tabs BACnetMSTP2. Across both networks. BACnetMSTP Property mstpMaxMaster mstpMaxInfoFrames mstp1Enable mstp1NetworkNumber mstp1Address mstp1CommPort mstp1BaudRate mstp1pollCycleTime mstp1pollDisplayDots mstp1pollDiabled BACnetMSTP2 Property — — mstp2Enable mstp2NetworkNumber mstp2Address mstp2CommPort mstp2BaudRate mstp2pollCycleTime mstp2pollDisplayDots mstp2pollDiabled Value 31 10 True 3 0 COM3 baud_19200 5000 False False Value — — True 4 0 COM4 baud_9600 5000 False False F–12 Niagara Release 2. — Be aware that while four (4) BACnet MS/TP networks are possible with some JACE models. 403 Physical Port RS-485 3-wire (no integral modem) RS-485 3-wire (has integral modem) RS-485 3-wire Port 1 mstpnCommPort COM2 COM1 COM3 COM4 COM5 COM6 COM2 COM3 COM4 Notes RJ-45 is RS-232 and is COM1. • Table F-2 Example BACnet MS/TP configuration for JACE-512 with 2 MS/TP networks. 2004 . but not recommended. and is attached to RS-485 port 1 on the JACE-512. all devices are “master” devices. 402. RS-232 RJ-45 port is unusable. 4041 RS-485 3-wire Port 2 RS-485 3-wire Port 3 RS-485 3-wire Port 4 — 511 512 1. MS/TP trunk license limits still count (as if RS-485). Use this to set the mstpNCommPort properties. not recommended for usage. and is attached to RS-485 port 2 on the JACE-512. The first network contains 30 MS/TP devices all communicating at 19. Table F-1 Hardware-to-software COM port guide. • The second network contains 12 devices communicating at 9600 baud.3.Appendix F Configuring for BACnet MS/TP Niagara MS/TP Support RS-485 Port Guide Table F-1 provides a hardware-to-software port guide for RS-485 ports on various JACE-4 and JACE-5 models. JACE model 401. Also. RS-485 3-wire RS-485 3-wire Port 1 RS-485 3-wire Port 2 RS-232 Port 2 is unusable. Note Using an RS-232 port with external RS-485 adapter is possible. performance may be slow depending on a number of factors.5 BACnet Integration Reference Published: April 26. a JACE-512 is licensed for 2 BACnet MS/TP networks. Example MS/TP Configuration In this example.2Kb. with each MAC-addressed contiguously (on their respective network) starting at address 1. BACnet network numbers 1 and 2 are already in use by other BACnet link layers.5 BACnet Integration Reference Published: April 26. Devices from both networks respond (all are “master” devices). If a learnNetwork command is given. A master node may initiate a frame only when it holds the token. BACnetDevice objects will be created in the BACnetTemp folder that reflect the assigned network numbers and whatever Device ID instance numbers have been assigned. a whoIs command is given from the station’s BACnetUtility. Slave nodes do not receive the token. Figure F-5 shows an example. which allows each master node to initiate one or more messages (frames). Niagara Release 2. a master node passes the token to the next (higher addressed) master node. but both master and slave nodes transmit data frames in response to requests from master nodes.3. After configuring the BACnetMSTP tabs above and connecting the physical trunks to the JACE’s RS-485 ports. Figure F-5 BACnetTemp workspace after learnNetwork with MS/TP networks. After sending at most “max_info_frames.” and waiting for any expected replies. A single token is passed among master nodes (such as a JACE station).Appendix F Niagara MS/TP Support Engineering Considerations for MS/TP In this particular case. 2004 F–13 . but network numbers 3 and 4 were available. Engineering Considerations for MS/TP The following engineering considerations apply to BACnet MS/TP in Niagara: Token Passing and Related Operation • MS/TP Network Configuration Guidelines • Recommended MS/TP Learn Tips • Working with Slave Devices • Token Passing and Related Operation BACnet MS/TP uses a token-passing scheme to control network access from devices. in the JACE station. Also. Dividing Network Scenarios In a case where an existing BACnet MS/TP network of more than 31 devices (or whatever the effective maximum) needs to be integrated into Niagara. The value of this property should be determined by the network with the most master devices. This way. another JACE). If the responding node is a master. try to put equal (or roughly) equal amounts of master devices on each network. you must divide the network into groups of 31 devices or less—each must be a separate network under the JACE (or. How This Affects Operation • MS/TP Network Configuration Guidelines • How This Affects Operation Typically you want the JACE station to be configured as the lowest-addressed master node. where the “+ 1” will permit discovery of a new master device. it is (mstpNAddress = 0). particularly with other master devices. Furthermore. You also want other master devices to be MAC-addressed contiguously starting at 1. in this case. The performance of Niagara’s BACnet MS/TP driver can be greatly affected by the configuration of the MSTP trunk. The latter means the node will reply later. if added).5 BACnet Integration Reference Published: April 26. it may return either the reply or a “reply postponed” frame. which by default. this device would not continue polling for a master all the way up to 127 before the token is finally given to the first master (address 0). If possible. When doing this. typically the JACE station. you typically want a value for the property “mstpMaxMaster. if another RS-485 port is not available. this would mean an mstpMaxMaster value of 32. when it receives the token. you would want this same “Max_Master” property value (32) configured in the MS/TP device that is highest addressed. 2004 . the sender waits for the returned reply before passing the token. so that the highest-addressed master device is 31 (assuming all devices on the 31-maximum network are master devices). the device with address 31. MS/TP Network Configuration Guidelines This section attempts to capture some of the important considerations in configuring a BACnet MS/TP trunk for use by Niagara. This promotes token-passing efficiency.3. be aware that the Config property mstpMaxMaster is global to all connected MS/TP networks under a JACE (up to 4). assuming a maximum network of 31 master devices. Again.Appendix F Engineering Considerations for MS/TP Niagara MS/TP Support When a request that expects a reply is sent to a node. Also.” to be equal to the highest addressed master device (or perhaps “highest addressed device + 1”. increasing the property value of “mstpMaxInfoFrames” in the JACE station is not guaranteed to increase the number of polling values received each token hold. Information is divided into two sections: Things to Check • Best Practices • F–14 Niagara Release 2. or if this is configurable. as we pass the token on to our next peer. Observe the orange/yellow and green LEDs for the JACE RS-485 port. note that it may be necessary for you to clear the JDE’s “view cache” before confirming this—typically 6 new JDE views (displays) are required. but it can also occur with a completely homogeneous trunk.5 BACnet Integration Reference Published: April 26.a). If possible. Things to Check Is the Max_Master property of the BACnet device(s) on the trunk configurable? Determine this by opening the property sheet of the BACnetDevice object to the Engineering tab. – 4. the value will revert to the previous value. Slave devices can only respond to requests. – The orange/yellow (transmit) LED should blink once per token cycle. Also.3. If an MS/TP device does not respond to a “Who-Is” with an “I-Am. a simple estimate whether things are okay can be made (again) observing JACE RS-485 port status LEDs. poorly-configured trunks can cause the Niagara learn mechanism to fail due to behavior of devices on the trunk. c. so by multiplying the number of Master devices. The occurrence of token-passing errors is best detected by using an MS/TP analyzer. pollDisabled. deviceStatusDisabled). In addition. How quickly does the token cycle around the devices? The best way to measure this is with an MS/TP trunk analyzer.Appendix F Niagara MS/TP Support Engineering Considerations for MS/TP Note Poorly-configured trunks can perform orders of magnitude more slowly than well-configured trunks. 2004 F–15 . you can calculate an approximate prediction for the token cycle time. Set the JACE station’s BACnet MS/TP MAC address (mstpNAddress) to be the highest of all devices on that trunk. This should be the regular frequency. The green (receive) LED should be blinking almost constantly. Outside of this. this change is written to the device. you should investigate the answers to the following questions: 1. the value will remain the same. b. with the address set as before (1. and changing the value of the maxMaster property. Disable all BACnet polling and device status ping (done through service properties mstpNpollDisabled.” it is likely a slave device. If the device accepts the write. and also disable any other BACnet writes. (if necessary) you can roughly measure by performing the following: a. Typical token pass times are around 20ms for each device. If not. Niagara Release 2. How stable is the token passing on the network? Are there frequent instances of lost or duplicated tokens? Typically. 2. How many Master devices are on the network? Only master devices can initiate BACnet messages. The device vendor’s documentation should indicate whether it is a master or slave. 3. this is most likely if there are different vendor’s devices on the same MS/TP trunk. Outside of this. When applied. Appendix F Engineering Considerations for MS/TP Niagara MS/TP Support If the token cycle is regular. leaving the Max_Master set at 127 (default for most MS/TP devices) will slow token passing. All MS/TP master devices should be MAC addressed consecutively starting at zero (0). In the presence of token-passing errors. there should not be any gaps between MAC addresses. This is simply a recommendation to reduce the likelihood of incompatibility between different vendors’ implementation of BACnet MS/TP. Do this only if the token-passing is stable. it may go long periods without ever receiving the token. and can cause network and device learns to fail prematurely. property mstpNAddress. For optimum performance. it also allows the JACE to be more likely to remain in the token-passing loop during the bus-recovery process. With the JACE at the highest MAC address. 2. 3. 2004 . If you will be potentially adding devices to the trunk.” The JACE station should be at MAC address zero (0). Whenever possible. it may be periodically excluded from the token passing whenever bus instabilities occur. it may be better to put the JACE station at the highest address. because devices are waiting for a full timeout for a response from a potential device. so the transmit LED might not flash for a while. as these gap addresses will be scanned for the existence of newly added master nodes. BACnet MS/TP trunks should contain only devices from one vendor. to allow for easy discovery of a new device as when added. – When there is a token-passing error. the orange/yellow (transmit) LED will flash at the token cycle frequency. you should follow these practices: 1. This will be equal to that node’s MAC address. The highest master node should have its Max_Master property set to the highest master node address possible on the network. This allows the JACE to be the first device to recover a lost token. This would be a strong indication that there are some type of token-passing errors.3. as this node will periodically scan all addresses up to Max_Master for the existence of a newly added Master node. it may be desirable to set the Max_Master property a few numbers (or one) higher than its address. 4. and can be set to its own address to truncate the scan range for new master nodes. and other devices might “jump in. The JACE’s Max_Master property is configurable. Exception Cases—Certain exception cases may exist. If other BACnet MS/TP devices do not allow configuration of the Max_Master property. the flash pattern of the transmit LED (and possibly the receive LED) will change. Caution F–16 Niagara Release 2. Token problems can occur during this “poll for master” sequence. If the JACE station is at the high end of the address range on an unstable trunk. This can cause data loss in polling. – Best Practices In general. nuisance device status alarms. However.5 BACnet Integration Reference Published: April 26. where it might be better to configure the network differently. the option “Use lite objects” is often the best choice for most BACnet MS/TP devices. Typically. and then copy-and-paste the contents (“Select All” in the Workspace Editor) into a “like” learned (but still “empty”) device. so if desired. with this method you then need to re-enter proper device address values (only device ID “Instance Number” if a master device. However. After the object upload. but it will isolate only those devices on the one local network. you can learn the contents of one device (as needed using the learnDevice command). If there are identically-configured devices. You can then cut and paste (or move) those learned devices to another container you have specially made to group devices by network (before you start using the learnDevice command). Be aware that “slave” devices cannot be discovered with learnNetwork or whoIs. 2004 F–17 . it may be best to enable only one BACnetService link-layer tab at a time. you could do this for a BACnetBinaryInput object set to Instance Number 1.5 BACnet Integration Reference Published: April 26. providing some Device-object instance numbering scheme was used. After pasting in copied contents. select from the menu bar: Commands > upload). including “instance limits” to select object types and/or instance number ranges. 2. When using the learnDevice command. 4. This advice generally applies to all BACnet link-layer types.. these are simple devices. If learning multiple networks (to create BACnetDevice objects). Alternatively. you can learn all of the devices the same way. Find out for a specific object type by manually copying a “full” child object in the workspace of the BACnetDevice. Niagara Release 2. This will not prevent devices on “remote” networks from being learned. activeText and inactiveText). Also. Note that your entered limits remain effective during the JDE session. setting its instance number.3.” 3. expand the status bar to see the Status Line History window.. When using the learnNetwork command. issue an “uploadAll” command at the BACnetDevice to ensure child objects have current values. For example. you can just copy and paste an entire learned BACnetDevice container. See the next section “Working with Slave Devices. After you learn the master devices (containers) with this command. where you can look for “Read failed. upon applying it should receive network number and MAC address automatically). and objects in them are implemented without optional properties. the “instance limits” option in a learnNetwork may also be useful to isolate devices on a particular network.Appendix F Niagara MS/TP Support Engineering Considerations for MS/TP Recommended MS/TP Learn Tips Because BACnet MS/TP communications are typically much slower than with Ethernet-connected BACnet devices. leave the “Learn device contents” option cleared (default). it may be worthwhile to note the following when initially learning BACnet MS/TP devices: 1. and then performing an upload (from the property sheet of the object. but especially so for MS/TP networks. you can more selectively learn the types of child objects in each device with the learnDevice command.unknown property” entries for alarm-related properties (or for a binary object. network number. 3.Appendix F Engineering Considerations for MS/TP Niagara MS/TP Support Then for the copied BACnetDevice object. you must know three things: 1. in hexadecimal. • MAC address 162 decimal (A2 in hex). When adding a BACnetDevice object for a slave. Working with Slave Devices BACnet MS/TP slave devices do not respond to broadcast messages such as Who-Is. After applying these values. such as vendorName and modelName (Figure F-7). from assignment for mstp2NetworkNumber). Figure F-6 Enter Device instance number. F–18 Niagara Release 2. (If you know its address in decimal. select from the menu bar Commands > upload. You must manually add a BACnetDevice object for each slave device. • For example. open its property sheet to the Config tab and enter these values (Figure F-6). Its unique Device object identifier (Instance Number). 2. Its MAC address. 2004 . therefore they cannot be discovered by the BACnetUtility’s whoIs and learnNetwork commands. • Network number 4 (example. and MAC address (in hex). with this property sheet still displayed.) Device object instance number of 173. you can simply use the Windows calculator to convert to hex. This should upload other properties from the slave device.3.5 BACnet Integration Reference Published: April 26. in addition to issuing an uploadAll command. even for a slave device previously learned). on your second MS/TP network you have a slave device as follows: After copying a BACnetDevice object from the Local Library into your station (or a “copy” of another BACnetDevice object. Its network number (should correspond to the mstpnNetworkNumber). you would also want to rename it. to automatically create child shadow objects in the station database. 2004 F–19 . This verifies communication to the slave device. You can now select the device in the BACnetUtility to perform a learnDevice command.5 BACnet Integration Reference Published: April 26.3.Appendix F Niagara MS/TP Support Engineering Considerations for MS/TP Figure F-7 Verify slave device object by seeing other Device object properties uploaded. Niagara Release 2. 2004 .3.Appendix F Engineering Considerations for MS/TP Niagara MS/TP Support F–20 Niagara Release 2.5 BACnet Integration Reference Published: April 26. 6-18 BACnetDevice object 1-18. 4-1 to 4-9 BACnet service (Niagara) xii. A-6 DeviceStatus properties 6-16 General properties 6-3 Poll properties 6-12 BACnet user (allowing write access) 4-8 BACnet workstation 1-7 bacnet. 3-21 Alarm State 2-14 Alarms BACnet device (service type) 6-15 generating BACnet 5-1 receiving BACnet 5-7 AnalogInput shadow object 3-26 to 3-29 AnalogOutput shadow object 3-30 to 3-32 AnalogValue shadow object 3-33 to 3-34 AnalogValuePriority shadow object 3-35 to 3-37 APDU properties BACnetDevice 3-10 station 6-4 ASHRAE xii. 1-6. BACnet objects 3-16 Abort button. 2-8 Acknowledged Transitions 2-14.INDEX A abbreviations. 2-1 to 2-14 action buttons 2-2 B BACnet xii BACnet client xii. 6-5 BACnet server xii.3. 2-6 opening 2-1 output options 2-2 status line history 2-2 whoHas command 2-5 whoIs command 2-3 bacnetx modules D-1 bacxNdio D-2 bacxNotifier D-3 BBMD xii. 6-21. 6-19. 3-5 to 3-14 useCOV 3-14 BACnetService commands 6-22 property sheet 6-1 to 6-27 BACnetTemp 1-18. 1-12. 6-22 BACnet/IP xii.properties file 6-28 editing 6-29 read command 6-23 BACnet/Ethernet xii. E-3 to E-7 Niagara Release 2. 6-1 to 6-30 BACnet/Ethernet properties 6-22 BACnet/IP properties 6-18 getAlarmSummary command 2-13 learnDevice command 2-9 learnNetwork command 1-16. 2-2. 2-6. 2-15.5 BACnet Integration Reference Published: April 26. 3-1 to 3-48 BACnet log objects 4-3. xiv commands 6-22 Debug properties 6-24. 4-9 to 4-12 collection time differences 4-11 BACnet MS/TP xii. 1-15. 1-11. F-1 to F-19 BACnet router 1-4. in learn 1-17. 6-20. 2-13 BACnetUtility 1-16. 2004 Index-1 . E-9. E-10 verifying 1-13 confirmed COV 1-5 conformance. View 6-11 calculating poll cycle time 6-11 child objects xiii. E-10 remote address 1-13. 6-19 BinaryInput shadow object 3-38 to 3-39 BinaryOutput shadow object 3-40 to 3-42 BinaryValue shadow object 3-43 to 3-44 BinaryValuePriority shadow object 3-45 to 3-47 readProperty 3-17 readPropertyMultiple 3-17 upload 3-17 BACnet service 6-22 BACnetDevice object disablePolling 3-7 downloadAll 3-7 enablePolling 3-7 fetch 3-7 getAlarmSummary 3-7 readProperty 3-7 C cache. 6-10. 2-6. BACnet PICS B-1 COV 1-5. 3-15 to 3-24 AnalogInput 3-26 AnalogOutput 3-30 AnalogValue 3-33 AnalogValuePriority 3-35 BinaryInput 3-38 BinaryOutput 3-40 BinaryValue 3-43 BinaryValuePriority 3-45 MultistateInput 3-48 MultistateOutput 3-51 MultistateValue 3-54 MultistateValuePriority 3-56 NotifierBinaryValue D-4 writable input types 3-3 client xii clientDebugOn 6-26 color of objects and outputs A-2 commands BACnet child object download 3-17 fetch 3-17 pollRenew 3-17 readPropertyMultiple 3-7 upload 3-7 uploadAll 3-7 Common properties for child objects 3-20 Commonly Used Terms xii communications link layer C-2 troubleshooting A-1. 6-15 disablePolling command 3-7 Niagara Release 2.Index broadcast distribution table 6-20. D-3. E-4 configuration tips E-5 foreign device table 6-21. 6-12 strategy notes 3-19 subscribing objects 3-18 cyan object color A-4 cycleTime property 6-14 D Debug. 3-16.3.5 Published: April 26. 2004 Index-2 BACnet Integration Reference . E-4 in network diagrams E-9. 6-8. using A-6 description property 3-20 device adapter name Windows 2000 C-4 Windows NT C-3 Device object xiii Device Status/Ping 3-23. 3-8. BACnet 4-3. D-4 extensions bacxNotifier D-3 Ndio D-2 extensions. 2-8. 2-10. 3-16. 4-5. 3-7 MAC address 1-13. F-18 log objects. 6-21. A-6. 2004 Index-3 . F-10 download command 3-17 downloadAll command 3-7 driver. C-5 E enablePolling 1-19. 1-7. C-3. 2-11. 2-10. 2-6 license A-1. D-2 full objects xiii. 6-27 Lite objects xiii. 3-17 foreign device 1-12. E-1 to E-8 IP 1-11. 6-22. 4-3 internetwork xiii. 6-19. E-6 foreignAddress property 4-3. D-1 for MS/TP in JACE-4/5 F-4 link layer C-2 F fault A-3 fetch command 3-2. 3-4. bacnetx D-1 J JACE-4 F-1 Ndio objects D-2 JACE-5 F-1 JDE xiii L learnDevice 2-9 Learning a BACnet network 1-15 learnNetwork 1-16. E-4.5 BACnet Integration Reference JACE preparation F-3 licensing F-4 Published: April 26. 6-18. 4-9 to 4-12 M G getAlarmSummary 2-13. 2-15 enablePolling command 3-7 endTime property 4-11.properties 1-12. F-18 manually adding BACnet shadow objects 2-14. 2-13 Instance number 3-5. 3-3 linkDebugOn 6-26. 3-3 tip for usage 3-3. 1-14.properties F-5 dumpIPTable command 6-23 I-Have message 2-5 inAlarm A-3 instance limits xiii. F-9. 2-6. 3-4.3. C-4. 1-4. 3-7. 3-8. 2-6. 4-12 error messages 6-25 Ethernet link layer PC setup C-2 eventEnable property 3-22 eventState property 3-21. F-18 MS/TP F-1 to F-19 configuration guidelines F-14 I I-Am message 2-4 Niagara Release 2. 6-17. C-5 drivers.Index displayDots property 6-14. F-17 Local Library 2-15. 2-14. A-4 outOfService property 3-21 red object color A-3 reliability property 3-21 resetStatistics command 6-23 rewriteDelay property 3-25. 4-7 Object status A-2 objectIdentifier property 3-21 objectName property 3-21 objectType property 3-20 on_demand_transient properties 3-2 one-hop (BBMD) E-4 orange object color A-3 outOfService 1-19. 6-5.3. 2004 . 2-14. E-7 IP (TCP/IP) E-4. about E-1 networkDebugOn 6-26 notificationClass property 3-22. 1-8. F-14 mstpMaxMaster property F-8. 1-15. 2-14. 6-8 routers BACnet 1-4. 6-10 pollRenew command 3-17 N name 2-5. 3-17 readPropertyMultiple command 3-7.5 Published: April 26. object ID xiii.Index Niagara overview F-1 properties F-7 slave devices F-18 token passing F-13 mstpMaxInfoFrames property F-8. E-9 routingEnabled property 6-3 RS-485 F-1 JACE port guide F-12 S server xii Index-4 BACnet Integration Reference Niagara Release 2. F-14 Multistate object notes 3-24 MultistateInput shadow object 3-48 to 3-50 MultistateOutput shadow object 3-51 to 3-53 MultistateValue shadow object 3-54 to 3-55 MultistateValuePriority shadow object 3-56 to 3-58 P PC notes C-1 to C-5 PICS. BACnet B-1 ping mechanism 6-15 Poll Scheduler 6-9 Polling 3-2 calculating cycle time 6-11 MS/TP F-10 troubleshooting A-2 PollOnDemand 1-6. 3-14 O object identifier. 2-5. 6-16 Notifier D-3 NotifierBinaryValue object D-4 notifyType property 3-22 presentValue property 3-2. E-2. 3-17 readPropertyMultipleSupported 3-10. D-2 network number. 3-13. 2-16 object name 2-5. showing polled values 6-9 Protocol Implementation Conformance Statement B-1 R readBACnetPropertiesFile command 6-23 readProperty command 3-7. 3-21 priorityArray property 3-2 property sheet. 4-7 Ndio 4-7. 3-8 communications A-1.3. D-2. 3-13. 6-12 strategy notes 3-19 subscribing objects 3-18 systemStatus 3-6. 3-1 shape information BACnet log objects 4-11 BACnet shadow (child) objects 3-16 BACnetDevice objects 3-5 slave MS/TP devices F-18 Standard Output 6-24. 1-13. A-2 polling 6-13 service 6-3 statusFlags property 3-2. 2-16 Troubleshooting A-1 to A-7 W Warning messages 6-24 whoHas 2-5 whoIs 2-3. 3-10. 3-20 SubscribeCOV 1-5. 2-15. 3-14 writePropertyMultipleSupported 3-14 Y yellow object color A-5 Niagara Release 2. 4-10 tridiumx folder 2-15. 2004 Index-5 . 6-8 V verifying BACnet communications 1-13 T table BACnet routers 6-5 broadcast distribution (BBMD) 6-20 foreign device (BBMD) 6-21 time synchronization 1-6. 2-14. E-7 debug and Standard Output A-6 object color A-2 polling A-2 two-hop (BBMD) E-4 U UDP port 1-12. 3-17 uploadAll command 3-7 UserAdmin. 2-16 upload command 3-2. 6-19 unsubscribing objects from COV 3-18 upload 2-15. 4-12 status device status/ping 6-16 of object 3-20.Index serverDebugOn 6-26 shadow objects xiii. 6-7 writable input objects 3-3 write access 4-8 writePropertyEnabled 1-19.5 BACnet Integration Reference Published: April 26. 6-8 timeDelay property 3-22 timeout messages 6-25 token passing. BACnet user 4-8 UTC 1-6. 3-7. MSTP F-13 Trend Log object 4-9. A-6 startTime property 4-11. 5 Published: April 26. 2004 .Index Index-6 BACnet Integration Reference Niagara Release 2.3. 3.com Thank you for taking the time to help us improve our documentation! Documentation Comment Form Document Title: Document Version: BACnet Integration Reference Niagara Release 2. or provide any other helpful information. descriptions that are not clear. Virginia 23233 Attention: Tridium Documentation Team Or fax it to us at: (804) 747-5204 Or e-mail your comments to us at: documentation@tridium. Suite 350 Richmond. Use this form to advise us of errors.5 Page # Problem Found or Suggested Change Your Name: Your Company: .You can help make this manual even better! Please help us make our documentation as useful as possible. 3951 Westerre Parkway. Inc. Mail this form to: Tridium.
Copyright © 2024 DOKUMEN.SITE Inc.