Sunteți pe pagina 1din 46

Introducing BACnet

A Guide for Continuum Users

2008, TAC All Rights Reserved No part of this publication may be reproduced, read or stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without prior written permission of TAC. This document is produced in the United States of America. Andover Plain English is a trademark of TAC. Andover Infinet is a trademark of TAC.

All other trademarks are the property of their respective owners. Introducing BACnet - A Guide for Continuum Users September, 2008 Revision F TAC part number: 30-3001-863 CyberStation Version 1.9

The information in this document is furnished for informational purposes only, is subject to change without notice, and should not be construed as a commitment by TAC. TAC assumes no liability for any errors or inaccuracies that may appear in this document.

TAC, LLC One High Street North Andover, MA 01845 (978) 975-9600 Fax: (978) 975-9782 http://www.tac.com

ii

TAC

Contents

Introduction ................................................................................................ 1
Name References in this Document ............................................................................ 1

Continuum/BACnet CyberStation What Has Changed?.................... 2


What Is BACnet?.......................................................................................................... 2 How is BACnet Integrated with Continuum? ................................................................ 2 BACnet Objects vs. Continuum Objects ................................................................... 3 BACnet PICS ............................................................................................................ 3 Native BACnet and Continuum/BACnet Device Profiles .......................................... 3 When Are the BACnet Xdrivers Used? ........................................................................ 4 Device Restriction Differences Between Infinity and BACnet ...................................... 4

Continuum/BACnet Hardware A Little Different................................. 5


Continuum/BACnet Controller Overview...................................................................... 6 Mixing Continuum and BACnet Networks................................................................. 7 BACnet and web.Client ............................................................................................. 7

BACnet Communications over Multiple IP Subnets................................ 8 BACnet Communications with Foreign Devices................................ 10 Disabling BACnet ..................................................................................... 11 I Want BACnet How Do I Begin? .......................................................... 12
Continuum/BACnet Concepts .................................................................................... 12 CyberStation Viewing Options ................................................................................ 12 Configuring BACnet Devices .................................................................................. 13 Third-Party Devices What Can I Do With Them? ................................................ 13 Manually Controlling Andover BACnet Points ........................................................ 13 Command Priority ................................................................................................... 14 Configuration Basics .................................................................................................. 17

Plain English for BACnet......................................................................... 23


BACnet Program Editor.............................................................................................. 23 Status Differences Between Infinity and BACnet Programs ...................................... 24 BACnet Properties and Plain English......................................................................... 24 Proprietary Schedule Properties for Programs .......................................................... 24 BACnet vs. Plain English Property Names ................................................................ 26 Plain English Keywords for BACnet ........................................................................... 34

Introducing BACnet for Continuum Users

iii

iv

TAC

Introduction
TAC, formerly Andover Controls, has been providing innovative building automation solutions for more than 25 years. Infinity and Andover Continuum systems are in use today in over 40,000 applications. Throughout all these years, TAC has been consistently successful in regards to connectivity. Special interfaces called XDrivers allow Infinity and Continuum systems to interoperate with dissimilar systems from Carrier, McQuay, Grinnell, and others using their proprietary protocols. Through these interfaces, our systems provide both environmental control and secured access for hundreds of building sites throughout the world. A building automation standard has emerged that provides for the automatic interoperability of many manufacturers systems. BACnet, the Building Automation and Control network standard developed by ASHRAE allows products made by different manufacturers to be integrated into a single building automated control system. More and more construction projects are beginning to specify control equipment that operates on the BACnet standard. Andover was no stranger to BACnet. In the early 90s, during BACnets infancy, representatives from TAC were among the first to participate in its conception. Our engineering expertise with control-related networking was called upon in producing the first BACnet standard. In fact, much of the internal communication layers designed into Continuums CyberStation have been BACnet compliant since the products introduction in 1998. BACnet XDrivers have been available as well. In Andover Continuum CyberStation version 1.6 and higher and BACnet controllers version 4.0 and higher, integrated Native BACnet is included in our line of building automation solutions.

Name References in this Document


Throughout this document there are references to object classes and object properties (attributes). The final section contains several charts that map the names used for those properties by source (BACnet specification, CyberStation, Command Terminal, and so on). This document makes exclusive use of the names used by CyberStation.

Related Documentation
Please consult the following Andover Continuum documentation, as needed: CyberStation online help CyberStation Access Control Essentials Guide, 30-3001-405 CyberStation HVAC Essentials Guide, 30-3001-1000 Plain English Language Reference Guide, 30-3001-872 bCX1 Series Controller Technical Reference Guide, 30-3001-890 b3 and b4920 Controller Technical Reference Guide, 30-3001-862

Introducing BACnet for Continuum Users 1

Continuum/BACnet CyberStation What Has Changed?


If youve used Continuums Infinet (non-BACnet) versions of CyberStation, you should have no problem using the BACnet versions. Support for BACnet was added to Continuum on Version 1.6 and greatly enhanced in subsequent versions. Another difference when using BACnet devices is that in BACnet, alarms are actually events and the Import/Export (IE) method of reporting has been replaced with change of value (COV). Many of these under-the-hood modifications largely do not affect the user interface except where controls are added to support the new functionality.

What Is BACnet?
BACnet is a communication protocol standard developed by ASHRAE that allows products made by different manufacturers to be integrated into a single building automated control system. This means that as long as they meet the ANSI/ASHRAE Standard 135-2004 version (BACnet) or older, different manufacturers products can communicate data to each other over a network. The level of interoperability depends on how much of the standard each vendor has implemented. Although the standard specifies communications between devices it does not address programming or user interface issues. If you intend to incorporate a BACnet network into your site we strongly advise that you obtain the BACnet standard and learn the terminology to properly assess the level of interoperability in the system. The specification can be obtained from the ASHRAE bookstore as Standard 135-2004 at wwww.ashrae.org.

How is BACnet Integrated with Continuum?


To make the product more effective for existing Continuum users, BACnet support has been simply added into the product. CyberStation still supports Infinity, Infinet and Infinet II devices. Alarms, listviews, programs, CFR-11 features, and graphics are unchanged. In fact, if you are not interested in using a BACnet network on your site, you can simply turn the feature off! For those interested in setting up a Continuum/BACnet system, youll find it a very familiar experience. Configuration of the new Continuum BACnet controllers is accomplished in a very similar manner to that done with Infinity and Continuum controllers. All the point, program, and graphic editors work the same. In addition, there is a BACnet view complete with new editors that allow you to view the status of and change the point values of other third-party BACnet hardware. There is a new way of setting up alarms in a BACnet system that differs from the method you previously used to configure Infinity alarms. There is a new schedule editor that incorporates calendars and BACnet date and time that is different than the old editor.

TAC

Version 1.73 introduced Continuum implementation of BACnet Loops, TrendLogs, BACnet Backup and Restore enhancements, BACnet Schedule enhancements, extended log enhancements, and other enhancements based on BACnet Protocol Revision 4 (the 2004 version of the BACnet Standard). For complete information, please see the Continuum CyberStation online help. Plain English is used to program Andover Continuum BACnet devices. Some new features have been added to allow you to query and change points on other BACnet third-party hardware. Through programming, Continuum/BACnet allows a user to manipulate an Infinity point that subsequently operates a BACnet device and vice versa.

BACnet Objects vs. Continuum Objects


Like Continuum, all information in a BACnet system is represented in terms of objects. Objects may represent a single physical point or logical groupings of points that perform a specific function. The information contained within a BACnet object is presented as a set of properties. In Continuum, BACnet object properties are similar to an objects attributes.

BACnet PICS
PICS (Protocol Implementation Conformance Statements) are detailed descriptions of a devices inherent BACnet capabilities. PICS tell a potential user what objects and BACnet services a device supports. It also details the type of communications network, the baud rate, the range of values each object property expects and whether a property is writeable or just read-only. PIC statements are available from each BACnet manufacturer. These are used to assess the level of interoperability between devices. Andover Continuums hardware and software PICS can be found on our web site. The PIC statements can be found in the Continuum section of the Technical Support node within the TAC Global Extranet.

Native BACnet and Continuum/BACnet Device Profiles


Continuum/BACnet devices are considered native BACnet because they inherently communicate utilizing BACnet messaging. Continuum/BACnet devices can be connected to a BACnet system without requiring a gateway device or software driver to translate to and from any proprietary protocols. There are six standard BACnet device profiles. Full descriptions of these profiles can be found in the BACnet specification already referenced. Any device that implements all the required BACnet capabilities for a particular device type and interoperability area may claim to be a device of that particular type. Devices may also provide additional capabilities not specified in the standard. BACnet Operator Workstation (B-OWS) BACnet Building Controller (B-BC) BACnet Advanced Application Controller (B-AAC) BACnet Application Specific Controller (B-ASC) BACnet Smart Actuator (B-SA) BACnet Smart Sensor (B-SS)
Introducing BACnet for Continuum Users 3

The following are examples of Andover Continuum hardware that fulfill the BACnet categories listed on the previous page. The CyberStation/BACnet Workstation feature set is closest to the feature set of the B-OWS profile. The bCX1 (4040) is a BACnet B-BC device. The b4920 System Controller/BACnet Router (revision 4.2) is a B-AAC device. The entire line of b3xxx equipment controllers operate on the MS/TP network. All b3xxx (revision 4.2 or higher) devices are BACnet B-AAC devices.

When Are the BACnet XDrivers Used?


BACnet XDrivers are special interfaces that are required when you want Infinity and Continuum systems to interoperate with third party devices. Continuum version 1.6 and higher reduces the need for XDrivers when communicating to BACnet devices. If the BACnet devices are BACnet/IP, or are accessible via a BACnet/IP router, you may only require CyberStation to discover the device, view/edit BACnet objects, receive alarms, edit schedules and create graphics. To exchange data between Infinty controllers (for example, NetController, NetController II, and i2 controllers) and a BACnet system (including those with third party BACnet controllers BACnet/IP, BACnet over Ethernet), a bCX1 or b4920 provides the easiest solution to interoperate. If control of a third-party device is required, then XDrivers are still required. CyberStation can access and control any BACnet ethernet or IP controller. An XDriver would be required to access a BACnet PTP device. TAC offers XDrivers for BACnet Ethernet, BACnet/IP and BACnet PTP devices.

Device Restriction Differences Between Infinity and BACnet


Infinity devices have always had a restriction on the number of entries in the Import/Export table. (Infinet devices can only reference 255 foreign points.) BACnet devices have a similar restriction, but it is not a limitation in the number of points, it is in the number of foreign devices. Andover Continuums implementation of standard BACnet devices (such as b3 controllers) assigns a restriction to the amount of communications initiated by the device. This means that Andover Continuum limits the number of devices that each device can initiate communication with. In particular, the limitation applies to these types of communications: Point-to-Point (read and write), COV subscription requests, and event notifications. The b3 controllers are restricted to 32 devices; which means they can simultaneously deliver alarms, write and/or read values in up to 32 different devices (Andover Continuum or third-party). The bCX1 and the b4920 permit COV relationships with up to 255 devices.

TAC

Continuum/BACnet Hardware A Little Different


In non-BACnet Continuum systems, the main focal point is the CX (NetController or NetController II). These controllers are connected via Ethernet to the Workstation and then through Infinet to other equipment controllers such as TCX850s, i2865s, TCX845s and all other Infinet devices. With Continuum/BACnet, new controllers (bCX1 40x0, b4920) become the interface or router to the system. Like the CX or NetController, these controllers connect directly to the Ethernet. They communicate with the Continuum Workstation as well. Equipment controllers connected to them do not use Infinet to communicate. They use another RS485 based protocol called the BACnet MS/TP. You cannot connect Infinet (or i2) controllers to MS/TP. Because of this, we have introduced a complete line of BACnet compatible equipment controllers (b3 series) that are functionally equivalent to the entire i2 product line.

Unlike Infinet networks, MS/TP networks require terminators be placed at each end as shown in the diagram above.
Introducing BACnet for Continuum Users 5

Continuum/BACnet Controller Overview


The following lists the basic features included in the BACnet controllers. Specific information on each controller may be found in the b3 and b4920 Controller Technical Reference, 303001-862:

Model
b3608 b3624 b3800 b3804 b3810

Inputs
8 Universal 24 Universal 8 Universal Smart Sensor 8 Universal Smart Sensor 8 Universal Smart Sensor 8 Universal Smart Sensor 4 Universal Smart Sensor 4 Universal Smart Sensor 4 Universal Smart Sensor 4 Universal Smart Sensor 4 Universal Smart Sensor 4 Universal Smart Sensor 2 Universal 3 Universal Smart Sensor 3 Universal Smart Sensor 16 Universal Smart Sensor 16 Universal Smart Sensor

Outputs
None None 8 Form C 4 Form C 4 Analog 8 Form C

Other Features

Output Override control Expansion Interface Output Override control Expansion Interface 1 Airflow Sensor Expansion Interface Expansion Interface 2 Airflow Sensors Expansion Interface 1 Airflow Sensor Built-in Actuator 1 Airflow Sensor Built-in Actuator

b3814 b3850 b3851 b3853 b3865 b3866

4 Form C 4 Analog 3 Form A 1 Form K Tri-state 3 Form A 1 Form K Tri-state 3 Form A 1 Form K Tri-state 3 Form A Triac 1 Tri-state Actuator control 3 Form A Triac 1 Tri-state Actuator control 2 Analog 5 Form A Triac 2 Analog 2 Form A Triac 1 Tri-state Actuator control 4 Form A Triac 1 Form A Relay 4 Form A Triac 1 Form A Relay 8 Form C 8 Analog 8 Form C 8 Analog

b3867 b3885 b3887 b3887-L b3920 b4920

1 Airflow Sensor Built-in Actuator

120/230VAC powered 24VAC power output Output Override control Expansion Interface Output Override control Expansion Interface Ethernet Router Registered Foreign Device

bCX1 4000

None

None

Ethernet Router BBMD Optional SNMP Alarming Registered Foreign Device

TAC

bCX1 4040

None

None

Ethernet Router Controller Optional Expansion Interface BBMD Optional SNMP Alarming Custom Web Pages via PE Registered Foreign Device

Mixing Continuum and BACnet Networks


The specific design of the Continuum/BACnet product allows seamless integration of Infinity CX, Continuum NetController, NetController II, BACnet bCX1, and b4920 system controllers. CyberStation interacts effortlessly with each controller type.

BACnet and web.Client


BACnet objects can also be viewed using the web.Client product.

b3865

Introducing BACnet for Continuum Users 7

BACnet Communications over Multiple IP Subnets


BACnet devices use two types of messages for communication: UNICAST and BROADCAST. UNICAST messages are communications from one BACnet device to another:

BROADCAST messages are from one device to every device on the subnet:

When traversing an Intranet or the Internet, subnets are connected together through IP routers. IP routers block all broadcast messages, including BACnet broadcasts:

TAC

A special device can be used to allow BACnet broadcast messages to traverse IP routers by packaging them into unicasted IP packets. That device is called a BACnet Broadcast Management Device (BBMD). The BBMD is installed on the subnet(s) where you require access:

3rd Party or bCX1 BBMD

The bCX1 can be configured to act as a BBMD. Also, CyberStation version 1.62 and higher allows you to designate it to act as a BBMD device as well. Refer to the CyberStation online help system for specific information about setting up your CyberStation to act as a BBMD.
Note: Only one BBMD can exist on a particular subnet.

Introducing BACnet for Continuum Users 9

BACnet Communications with Foreign Devices


It is not economical to install, configure, and maintain a BBMD on a subnet with a small number of BACnet IP devices. Although it is cost-efficient to operate a subnet without a BBMD, BACnet/IP devices require a mechanism to allow them to communicate with devices on other IP subnets, and to associate them with a BACnet network. In BACnet, this type of required device is called a foreign device. In the diagram below, the b4920 on Subnet 3 would be a foreign device because its Subnet includes no other BACnet devices:

There is no restriction on where these foreign devices are or how they gain access to the Internet. Such a foreign device could just as easily be a workstation on a full-time Internet subnet or a laptop accessing the Internet through an Internet Service Provider at home. You must register the IP address of the foreign device with a BBMD that exists on the network. Not all BACnet Devices can be registered as foreign devices; please refer to the PICS of each device to see if it supports foreign device registration. Each BBMD maintains its individual Foreign Device Registration information and does not share this information with other devices. When a BBMD receives a broadcast message from its local network, it forwards one copy of the message to the devices in its Foreign Device Registration list. Therefore, information is exchanged, but not shared. CyberStation version 1.62 and higher allows you to register a CyberStation as a foreign device to a BBMD. Refer to the CyberStation online help system for specific information. The bCX1 and the b4920 controller may be registered as foreign devices as well. This is done through the commissioning process that is described in the bCX1 Controller Series Technical Reference (30-3001-890) or the b3 and b4920 Controller Technical Reference Guide (30-3001-862) for the b4920.
10 TAC

Disabling BACnet
To make it easy for existing BACnet installers, CyberStation is shipped with BACnet support enabled. However, if your site does not contain any BACnet devices (including bCX1s or b4920s) it is a simple task to disable BACnet messaging and to hide any BACnet devices that are created by the system. To disable BACnet do the following: 1. Right click on the Continuum icon window task bar. in the lower right hand corner of the

2. Select BACnet Preferences from the popup menu.

Select This

3. The first item on the list is Enable BACnet; change the value of item 1 to False.

Select False

Selecting False disables any BACnet messages being transmitted or received. A BACnet Devices folder will still appear in the object tree but there will be no devices inside.
Introducing BACnet for Continuum Users 11

I Want BACnet How Do I Begin?


After installation, the system is automatically set up to allow BACnet messaging and viewing. You will begin setting up your site as you did with other versions of CyberStation.

Continuum/BACnet Concepts
There are a few BACnet features that youll come across in menus and windows that would be helpful to know about before you encounter them. These features are mentioned in the following paragraphs.

CyberStation Viewing Options


This version of CyberStation includes new Explorer viewing options added to address the presence of BACnet devices in the object tree. A new folder (BACnet Devices) appears in the tree.

All devices that you create and any configured third-party devices show up as a sub-tree inside this folder. The folder introduces a new icon for the tree, the BACnet icon: Continuum/BACnet offers you three ways to view Andover Continuum BACnet devices in the Explorer. The choices are: As an Infinity Controller and BACnet device As a BACnet device only As a Infinity device only

A full explanation of these new viewing options may be found in the BACnet topics of the CyberStation online help.

12 TAC

Configuring BACnet Devices


Andover Continuum BACnet devices are configured using the CyberStation workstation and must be configured in order to create objects. While some aspects of Andover Continuum BACnet controllers can be configured by a third-party workstation, the proprietary aspects of our devices must be configured using CyberStation. Similar to Andover Continuum BACnet devices, CyberStation cannot configure inherently proprietary aspects of a third-party device, such as programming. The BACnet standard does not specifically address programming; therefore, if applicable, each BACnet vendor uses its own programming language from its own programming tool.

Third-Party Devices What Can I Do With Them?


Once a third-party BACnet device is configured, you can detect its presence and view it in the object tree of the CyberStation. You can create the following object classes in a third-party device; EventEnrollments, EventNotifications (NotificationClass in the BACnet standard), Schedules, Calendars, TrendLogs, and Loops. Whether or not an object type can be created is determined by the individual device, and is documented in its PICS. When supported by the device, CyberStation can create any supported object type, even on third-party controllers. You can view the current state of the device and change any BACnet property that the device makes writable.

Manually Controlling Continuum BACnet Points


Sometimes, during the testing of an installation, it is helpful to be able to enable/disable and/or change the value of various points in the system. Continuum BACnet device appears as both an Infinity and a BACnet controller in the object tree. Once a point is configured, you have the option of reading or changing its value through either its Infinity point editor or its BACnet editor. There are obvious advantages to using the already familiar Infinity editor. Some BACnet-specific features are only available through the BACnet editors.

Introducing BACnet for Continuum Users 13

Command Priority
When the actions of two or more application programs or operators conflict with regard to the value of a property, there is a need to arbitrate between them. The objective of the arbitration process is to ensure the desired behavior of an object that is manipulated by several program (or non-program) entities. In Continuum, the Plain English Firing Order insures that critical programs have a higher priority than other less-critical ones. You can determine which program has priority. If two or more operators attempt to control the same output object, the last command received becomes the output value. In BACnet there is a more specific mechanism than the Plain English Firing Order. It applies to programs and manual actions. It is called Command Priority. Setting the command priority is done through Plain English and/or through the BACnet editors. There are sixteen levels of priority where the highest is level 1. The scheme was implemented to give priority to controls where conflicting control situations may occur. An example of this would be where a fireman wishes to control a blower mechanism that is normally controlled by a program. Obviously, he does not want a program or another operator to defeat his control. In this case, the fireman sets the blower to OFF with a priority of Life Safety (value of 1). A program may have a default command priority of 10, and controls in graphic panels may have a priority of 8. As long as the fireman uses the Life Safety priority, he is assured the blower will be under his control. The following diagram simplifies the operation of command priority:

Value has been set by operator at priority level 4. Value does not change at this stage because earlier setting had a higher priority. The value at priority level 10 does change and will take effect if all priority levels above are relinquished. Value from priority level 4 is relinquished. Output changes value to the next higher priority request (level 10 from program).

Note:

In Continuum you refer to the BACnet Present_Value property as Value

14 TAC

The value property of outputs and value objects (analog value, binary value, multi-state value) has a 16-entry table where the desired value is stored. Each table entry corresponds to a given priority level. The example below shows a typical output where three value requests have been made. The value in the highest priority table location will be the current value. In this case the output will be 28.

Priority Level 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Value Null Null Null 28 Null Null Null Null Null 6 Null Null 22 Null Null Null Present_Value = 28

Introducing BACnet for Continuum Users 15

When an action no longer commands the output it relinquishes its value request and the output assumes the value stored in the next highest priority table entry. In the example below, the former value of 28 in priority 4 has been relinquished (set to Null) and the request at priority level 10 sets the value at 6.

Priority Level 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Value Null Null Null Null Null Null Null Null Null 6 Null Null 22 Null Null Null

Present_Value = 6

If all table entries are Null, the default value for the output is determined by the value of the BACnet property called relinquish_default. In Continuum, the value is set in the Relinquish Default field of the Command Priority tab of the AnalogOutput, AnalogValue, BinaryOutput, BinaryValue, MultistateOutput, and MultistateValue editors. The Command Priority of each value change is assigned in the BACnet Preferences dialog. A full description of setting priorities can be found in the BACnet topics of the CyberStation online help.

16 TAC

Configuration Basics
The following discussion is an outline of the steps necessary to get your BACnet devices, both Continuum and third-party, online. For full details on the steps, please see the CyberStation online help. 1. Set up the Network or load your existing database The first step is to create the network object. If you have an existing database with your setup all configured, everything should appear in the Explorer as it did with earlier versions of the software with the exception of a new set of folders for the BACnet devices and networks. 2. Configure your bCX1 (40x0) or b4920 devices The bCX1 (40x0) and the b4920 connect directly to the Ethernet. Before they can communicate you must set up various network addresses just as you had to for the NetController. Commissioning the bCX1 (40x0) and the b4920 devices is different than the NetController. You need a CAT5 cable connected between a PC and the controllers Ethernet port. If your system uses a proxy server, disable it before proceeding. Disable DHCP Services on your PC. Set your IP address to 169.254.1.2. Using the crossover cable, connect your PC to the controllers Ethernet port Run your web browser and enter the url: http://169.254.1.1 At the logon screen, enter the default Andover Continuum password and username. Edit the network parameters on the web screen.

After commissioning, the controller is ready to be set up like any other controller. All Andover Continuum BACnet devices are both BACnet and Infinity controllers; therefore it is possible to access Infinity objects through a BACnet controller. Select New -> InfinityController and the familiar device editor appears. The configuration process is very similar to the NetController. Although the b4920 and bCX1 40x0 act somewhat like a NetController, you cannot load XDrivers into a b4920 or bCX1. Once the controller is completely configured it shows up as both an Infinity controller and a BACnet controller in the Explorer.

Introducing BACnet for Continuum Users 17

3. Configure any b3xxx devices Connect any third party MS/TP devices to the network before performing this step. It is necessary that they be present during the learn operation. The bCX1 and b4920 detect any used MS/TP addresses and assign b3xxx controllers unused addresses. Third party devices that are added later must be assigned an address that has not been assigned to any other device. The bCX1 and b4920 connect to equipment controllers via MS/TP. These devices are configured and treated just like Infinet devices. Open the COMM Port of the bCX1 or b4920 where they are connected and perform a Learn operation. 4. Create your objects Configuration of objects is done the same way that it is on the Infinity side of the device. However, BACnet objects are not the same as Infinity points. The system will display Infinity points as their BACnet object equivalents, after the corresponding BACnet device is saved to the database. Once the object is configured it appears as both an Infinity and a BACnet object. Editing the value of these objects can be done through either the Infinity or BACnet object editors.
Note: If you change the ElecType of a previously assigned InfinityInput or InfinityOutput you may have to manually resave the object from the BACnet view and correct any references to the object in programs or graphics. This is required only if the ElecType change causes the BACnet object type to change, according to the table below. For example, changing DegC to DegF (or even Voltage) retains the same object type, but changing DegF to Digital changes the object type, thus requiring a resave of the BACnet objects.

The following table lists the Infinity class and its BACnet equivalent. INFINITY CLASS InfinityInput (ElecType: ACCTemp(DegC)) InfinityInput (ElecType: ACCTemp(DegF)) InfinityInput (ElecType: InputCurrent) InfinityInput (ElecType: Voltage) InfinityInput (ElecType: Counter) InfinityInput (ElecType: Digital) InfinityInput (ElecType: Supervised) InfinityOutput (ElecType: Current) InfinityOutput (ElecType: Voltage) InfinityOutput (ElecType: Digital) InfinityOutput (ElecType: Tristate) InfinityNumeric
18 TAC

BACnet OBJECT TYPE Analog Input Analog Input Analog Input Analog Input Analog Input Binary Input Multi-State Input Analog Output Analog Output Binary Output Multi-State Output Binary Value

InfinityNumeric InfinityNumeric Program

Analog Value Multi-State Value Program

Continuums implementation of several other BACnet object types is somewhat different, as follows: Calendar, Device, EventEnrollment, Loop, and TrendLog are strictly BACnet object types. There are no Infinity equivalents. However, these BACnet object types are integrated into Continuums implementation of BACnet, including integration into the BACnet section of Continuum Explorer. Schedule and File, though they have the same name, are both Infinity class and BACnet object type. They mean different things to Infinity and BACnet, respectively. Though Notification Class is a BACnet standard object type name, Continuum gives it another name EventNotification. Therefore, BACnet object types named EventNotification are Notification Class object types. On third-party devices (in non-Continuum systems) they appear as Notification Class objects.

Editor Differences Each device manufacturer may support different properties. If you encounter a tab on any class object editor with some, or all, areas unavailable (grayed-out), it is because that property is not supported on the particular object you are editing. This may vary from class to class. In order to accommodate some differences (vs. Infinity objects) of the BACnet standard, the Units field is no longer a free-entry editable text field. It has been changed to a drop-down selection menu.

Introducing BACnet for Continuum Users 19

5. Set up Alarms Configuring alarms for BACnet devices differs somewhat from the standard Continuum alarm configuring procedure. A newer object class, called EventEnrollment, is used instead of the AlarmEnrollment object. The complete procedure for doing this task is covered in the CyberStation online help system. In Infinity you could have one point with up to eight alarms attached. In BACnet there is one EventEnrollment for each alarm. However, a point can have any number of EventEnrollments. In BACnet, you attach EventNotifications (which correspond with the BACnet Notification Class object type) and objects to EventEnrollments. The EventEnrollment object represents and contains the information required for managing events within BACnet systems. The EventEnrollment object contains the event-type description, the parameters needed to determine if the event has occurred, and a link to an EventNotification object and the object to which the event applies. Use the EventEnrollment editor to access and edit EventEnrollment objects. Each EventEnrollment contains two properties that are references to other objects: EventNotification Object Property Reference Refers to the previously mentioned EventNotification Object References the alarmed property of a specific object

The purpose of an EventEnrollment is to define criteria that will generate an event when applied to the attached object and will transmit to the event recipients as defined by the attached EventNotification. BACnet requires that EventNotifications must exist in the device where the EventEnrollment lies and Andover Continuum devices specifically require EventEnrollments to exist in the device where the alarmed point lies. Make sure the EventEnrollment and the EventNotification exist within the same controller.
Note: You cannot attach a BACnet alarm to an Infinity System Variable. To alarm a system variable, you must use Plain English. First, set up an alarmed InfinityNumeric. Then, set the numeric equal to the System Variable.

Use Templates for your EventEnrollments and EventNotifications As you will be creating a large number of EventEnrollments and EventNotifications, a comprehensive template system has been created to streamline the process. Full documentation on templates for these objects is included in the CyberStation online help system.

20 TAC

6. Locate any existing BACnet devices If you are using Continuum/BACnet on a mixed (Andover Continuum/Third-party) BACnet site, the first thing you should do is learn any existing BACnet preconfigured connected devices: Right click Root in the Explorers navigation pane and the object drop-down menu appears.

Select This

A new BACnet network device icon appears in the navigation pane. Click the + sign next to that icon to view any found BACnet devices.

BACnet Device Icons

Depending on the size of your network and the quantity of BACnet devices, it may take some time for all the devices to appear. During the operation, a progress bar cannot be displayed because the number of third-party devices on your site is an unknown quantity.

Introducing BACnet for Continuum Users 21

7. Save to Database Although the BACnet devices have been found, the objects contained in those devices have not been saved to the database. Therefore, once a device is located, you must save the objects to the database. You can have objects automatically saved when you create them by selecting the Automatically Save New BACnet Devices to Database option in the BACnet Preferences dialog. To manually save a BACnet device to the database: Right click the BACnet device and select Send to Database option from the popup menu.

This causes the contents of the device to upload to the SQL database. There is no explicit indication of the progress of the save operation, which could take up to several minutes. Whenever the distribution server is active, the icon animates to indicate the activity. Connecting lines appear between the document and the controller, and a red dot animates along the connecting lines:

Once the process is completed, select Refresh from the Explorers View menu and the exclamation flag disappears from the devices icon in the Explorer. There is a significant difference between the Save to Database feature on the BACnet view versus the Save to Database feature on the Infinity view for the same controller. The Infinity view saves the complete object information to the database, including proprietary Andover Continuum properties such as ElectType and Channel number. The BACnet view saves only the BACnet objects and properties to the database. The previous seven configuration steps are the major part of setting up a new Andover Continuum BACnet network. The following section covers the changes to the Plain English language.

22 TAC

Plain English for BACnet


Plain English programs still run on our BACnet controllers. In fact, you can view some statistics about programs running on third-party devices with the new BACnet Program editor.

BACnet Program Editor


The Program editor allows you to run, restart, halt, and check the status of BACnet programs, running on Andover Continuum BACnet devices (bCX, b4, b3 controllers) and third-party BACnet devices.

Note:

On third-party BACnet devices, you might also be able to load and unload BACnet programs via the Program editor, depending on whether the third-party device supports these capabilities. As programs are always loaded, you cannot load and unload programs on Andover Continuum BACnet devices.

Introducing BACnet for Continuum Users 23

Status Differences Between Infinity and BACnet Programs


The following table lists differences in states (Infinity state and its BACnet equivalent) under which a program can be operating. Infinity BACnet

Inactive Idle Active & Enabled Running Active & Disabled Halted Waiting Active & Enabled (waiting on an asynchronous process serial I/O) Note: Two BACnet Program states (Loading and Unloading) do not correspond with any Infinity Program state and are therefore not implemented.

BACnet Properties and Plain English


When you create an Infinity object in a BACnet controller, it is also a certain type of BACnet object. The table earlier in this document listed Infinity object classes and their BACnet equivalents. The tables on the following pages map each BACnet objects properties to the equivalent Plain English name. You would use the Plain English name in a Plain English program. Any properties not listed in the BACnet object properties tables are properties that are not supported in Plain English. The READ/WRITE column indicates whether these properties can be changed (W) or just read (R) by third party devices, CyberStation, or a Plain English Program. The Restrictions column indicates any Andover Continuum specific restriction on the property. Our restrictions are documented in each device's PICS. The specific restrictions do not necessarily coincide with those of a third party device.

Proprietary BACnet Schedule Properties for Programs


Andover Continuum has three proprietary BACnet Schedule-object properties that are used in Plain English programs to optimize the start and stop times for scheduled events in HVAC systems. These proprietary properties replaced the traditional occupancy functions; however, they are more general in that they simply provide information about scheduled events. For example, they might supply information when rooms need to be prepared with heating before occupancy or when lights need to be shut off after occupancy.
Note: See also the Transition Time fields on the Current State tab of the Schedule editor.

24 TAC

The Schedule-object properties are as follows: Proprietary Property


PreviousTransitionTime

Meaning
The time when the Schedules Present_Value most recently changed. The time when the Schedules Present_Value is next scheduled to change value. The time when the Schedules Present_Value is next scheduled to change value following the time indicated by Next_Transition.

NextTransitionTime

FollowingTransitionTime

The Schedule properties are unsigned integer values, each giving a date and time expressed as the number of seconds. Although Schedule properties are defined in this way, Plain English identifies them as DateTime values. Plain English, which specifies the behavior of Program objects, can compare these times with the present time and compute time intervals. In a Plain English program, the value of each property would be specified as follows: ScheduleName ScheduleName ScheduleName PreviousTransitionTime NextTransitionTime FollowingTransitionTime

ScheduleName represents the name of the Schedule object, whose transition times are being computed. Each transition indicates a scheduled change in the value of the Schedules Present_Value property. These values are stored as, and can be read or written as, InfinityDateTime values.
Note: In a Plain English program, the ReadProperty function can be used to retrieve the values of these properties. (These properties are read-only.) Refer to the Plain English Keywords for BACnet section later in this book.

When determining a transition, time-value pairs that specify the same value as the Schedules PresentValue (that do not change the value) are not considered transitions. Similarly, if two or more time-value pairs have the same time, only the last pair with that time is used for determining a transition. For additional information about the proprietary Schedule properties for programs, see the Andover Continuum Plain English Language Reference, 30-3001-863 or the Continuum online help system.

Introducing BACnet for Continuum Users 25

BACnet vs. Plain English Property Names


For each BACnet object type, the following tables compare the BACnet objects property names with the equivalent Plain English names. You would use the Plain English name in a Plain English program. Any properties not listed in the following tables are properties that are not supported in Plain English. The READ/WRITE column indicates whether these properties can be changed (W) or just read (R) by Plain English. The Restrictions column indicates any Andover Continuum specific restriction on the property. Our restrictions do not necessarily coincide with those of a third party device.

ANALOG INPUT
BACnet Property COV Increment Description Event_State Object_Name Object_Type Out_Of_Service Present_Value Units Plain English Name COVIncrement Description EventState Name Type OutOfService Value Units READ/WRITE R/W W W R R R W W W Constant based upon the class Cannot be set false if channel not configured Limited to 32 characters Always Normal Restrictions

BINARY INPUT
BACnet Property Description Event_State Object_Name Object_Type Out_Of_Service Polarity Present_Value Plain English Name Description EventState Name Type OutOfService Polarity Value READ/WRITE R/W W R R R W W W Cannot be set false if channel not configured Restrictions Limited to 32 characters Always Normal

26 TAC

MULTISTATE INPUT
BACnet Property Description Event_State Number_Of_States Object_Name Object_Type Out_Of_Service Present_Value Plain English Name Description EventState NumberOfStates Name Type State Value READ/WRITE R/W W R R R R W W Cannot be set false if channel not configured Restrictions Limited to 32 characters Always Normal 3

ANALOG OUTPUT
BACnet Property COV Increment Description Event_State Object_Name Object_Type Out_Of_Service Present_Value Relinquish_Default Units Plain English Name COVIncrement Description EventState Name Type OutOfService Value RelinquishDefault Units READ/WRIT E R/W W W R R R W W W W Cannot be set false if channel not configured Limited to 32 characters Always Normal Restrictions

BINARY OUTPUT
BACnet Property Description Event_State Object_Name Object_Type Out_Of_Service Polarity Present_Value Relinquish_Default Plain English Name Description EventState Name Type OutOfService Polarity Value RelinquishDefault READ/WRITE R/W W R R R W W W W Cannot be set false if channel not configured Restrictions Limited to 32 characters Always Normal

Introducing BACnet for Continuum Users 27

MULTISTATE OUTPUT
BACnet Property Description Event_State Number_Of_States Object_Name Object_Type Out_Of_Service Present_Value Relinquish_Default Plain English Name Description EventState NumberOfStates Name Type OutOfService Value RelinquishDefault READ/WRITE R/W W R R R R W W W 1..3 Cannot be set false if channel not configured Restrictions Limited to 32 characters Always Normal 3

The following tables are for objects that do not have an ElecType. When you create the InfinityNumeric object you must select a BACnet Object Type from a drop down list within the InfinityNumeric editor. ANALOG VALUE
BACnet Property COV Increment Description Event_State Object_Name Object_Type Out_Of_Service Present_Value Relinquish_Default Units Plain English Name COVIncrement Description EventState Name Type OutOfService Value RelinquishDefault Units READ/WRITE R/W W W R W R W W W W Limited to 32 characters Always Normal Restrictions

BINARY VALUE
BACnet Property Description Event_State Object_Name Object_Type Out_Of_Service Present_Value Relinquish_Default Plain English Name Description EventState Name Type OutOfService Value RelinquishDefault READ/WRITE R/W W R W R W W W Restrictions Limited to 32 characters Always Normal

28 TAC

Note regarding BACnet Numerics


Due to the internal workings of the Andover Continuum BACnet controllers, if you create a Numeric (BinaryValue) in a b3 or b4 BACnet controller and you import that value into another controller for use in controlling an output (using the standard Continuum points and program syntax) the output will pulse once on change-of-state then shut off (equivalent to output=1). Similarly, changing the BinaryValue from inactive to active will cause the output to pulse as well. Example 1: The program below in the importing controller is a one-line looping program as follows: output1= B4/B3/BinaryValue A possible use for this would be a global occupancy point being used to turn the lights on. Example 2: 1. Write a PE program to copy a BinaryValue (BV) to a BinaryOutput (BO). 2. Set the BV to Inactive. Observe that the BO is Inactive. 3. Set the BV to Active. Observe that the BO pulses for one second. The proper way to perform this function would be to use the BACnet objects (BinaryValue and BinaryOutput in your program. Example: BACnetDevices\B4\Output1=BACnetDevices\Bnet123\B3\BinaryValue Now when the BinaryValue is true, active, on, or 1, the output will be set to on.

Introducing BACnet for Continuum Users 29

MULTISTATE VALUE
BACnet Property Description Event_State Number_Of_States Object_Name Object_Type Out_Of_Service Present_Value Relinquish_Default Plain English Name Description EventState NumberOfStates Name Type OutOfService Value RelinquishDefault READ/WRITE R/W W R R W R W W W 0..255 Restrictions Limited to 32 characters Always Normal 255*

* 255 or a variable based on standard Continuum enumerations.

PROGRAM
BACnet Property Description Object_Name Object_Type Out_Of_Service Program_Change Program_State Plain English Name Description Name Type OutOfService StatusChange Status READ/WRITE R/W W R R W W R Restrictions Limited to 32 characters

SCHEDULE
BACnet Property Description Object_Name Object_Type Present_Value Priority_For_Writing Plain English Name Description Name Type Value Priority READ/WRITE R/W W W R W W Restrictions Limited to 32 characters

For a Schedule object, TAC Andover Continuum provides three additional proprietary BACnet properties; PreviousTransitionTime NextTransitionTime FollowingTransitionTime These properties are all writeable. Please see the section, Proprietary BACnet Schedule Properties for Programs, earlier in this chapter.

30 TAC

CALENDAR
BACnet Property Description Object_Name Object_Type Date_List Present_Value Plain English Name Description Name Type DateList Value READ/WRITE R/W W W R W R Restrictions Limited to 32 characters

DEVICE
BACnet Property APDU_Segment_Timeout ADPU_Timeout Application_Software_version Backup_Failure_Timeout Configuration_Files Daylight_Savings_Status Firmware_Revision Last_Restore_Time Local_Date Local_Time Max_ADPU_Length_Accepted Model_Name Number_Of_ADPU_Retries Object_Name Object_Type Protocol_Conformance_Class Protocol_Version Segmentation_Supported System_Status UTC_Offset Vendor_Identifier Vendor_Name Plain English Name APDUSegTimeout ADPUTimeout ApplSoftwareVersion BackupFailureTimeout ConfigurationFileList DaylightSavingsStatus FirmwareRevision LastRestoreTime LocalDate LocalTime MaxAPDUAccepted ModelName NumberAPDURetries Name Type ProtocolConfClass ProtocolVersion SegmentationSupport System_Status UTCOffset VendorIdentifier VendorName READ/WRITE R/W W W R W R W R R R R R R W W R R R R R W R R 0-255 Restrictions

Introducing BACnet for Continuum Users 31

EVENT ENROLLMENT
BACnet Property Description Event_State Event_Type Notify_Type Object_Name Object_Type Plain English Name Description EventState EventType NotifyType Name Type READ/WRITE R/W W R R W W R * see below Restrictions Limited to 32 characters

* Limited to Change_Of_State, Change_Of_Value, Floating_Limit, Out_Of_Range, Buffer_Ready

NOTIFICATION CLASS
BACnet Property Description Object_Name Object_Type Plain English Name Description Name Type READ/WRITE R/W W W R Restrictions Limited to 32 characters

FILE
BACnet Property Archive Description Plain English Name Archive Description READ/WRITE R/W W W R W R R R R R Writing is enabled in Restore mode, but the value is limited to 0 or the current file size. Restrictions

File_Access_Method AccessMethod File_Size File_type Modification_Date Object_Name Object_Type Read_Only Size FileType ModificationDate Name Type ReadOnly

32 TAC

LOOP
BACnet Property Action Bias Controlled_Variable_Units Controlled_Variable_Value Derivative_Constant Derivative_Constant_Units Description Event_State Integral_Constant Integral_Constant_Units Maximum_Output Minimum_Output Object_Name Out_Of_Service Output_Units Present_Value Priority_For_Writing Proportional_Constant Action Bias ControlledVariableUnits ControlledVariableValue DerivativeConstant DerivativeConstantUnits Description EventState IntegralConstant IntegralConstantUnits MaximumOutput MinimumOutput Name OutOfService OutputUnits Value Priority ProportionalConstant Plain English Name READ/WRITE R/W W W W R W W W R W W W W W W W W W W W R W W Restrictions

Proportional_Constant_Units ProportionalConstantUnits Reliability Setpoint Update_Interval Reliability Setpoint UpdateInterval

Introducing BACnet for Continuum Users 33

TRENDLOG
BACnet Property Buffer_Size Plain English Name BufferSize READ/WRITE R/W W R W R W W W R W W R Can write 0, only Restrictions

COV_Resubscription_Interval COVResubscriptionInterval Description Event_State Log_Enable Log_Interval Object_Name Object_Type Record_Count Stop_When_Full Total_Record_Count Description EventState LogEnable LogInterval Name Type RecordCount StopWhenFull TotalRecordCount

34 TAC

Plain English Keywords for BACnet


In order to accommodate BACnets command priority scheme, Plain English has been modified to include BACnet compliant keywords. The following pages describe these additions. There are three new keywords: ReadProperty WriteProperty Relinquish

Introducing BACnet for Continuum Users 35

ReadProperty
Format ReadProperty (Object_Property, Index)

Function

Purpose

To get (return) the property of a BACnet object.

Remarks

Replace Object_Property with the object name, including a full path name, followed by a property name. The object Identifier and Property Identifier are combined as one argument. Replace Index with an array index. This is optional. It only applies to an array-type BACnet property. The index is ignored whenever it is not applicable. The returned value is the object property value that has been read.

Example 1

Use ReadProperty to get the value of an Analog Value point. Print ReadProperty (Net1\B4\AV1 Value)

Example 2

Use ReadProperty to get the description of an analog point and place it into a string Point. StringPoint = ReadProperty (Net1\B4\AV1 Description)

Example 3

Use ReadProperty to get the value of an analog point using index 3 and assign it to the numeric Num1. Num1= ReadProperty(BACnetDevices\B4\B3\AV1, 3)

Related Keywords

WriteProperty, Relinquish

Products Supported

b3 series, b4920, bCX 4040 controllers and CyberStation.

Modes Available

Command lines and programs.

36 TAC

Relinquish
Relinquish (Object_Property, Priority)

Function

Format

Purpose

To relinquish a command issued at an earlier time. Returns SUCCESS or FAILURE.

Remarks

A relinquish operation is similar to a WriteProperty operation (see WriteProperty keyword) with the exception that it places a NULL value in the Priority_Array that corresponds to the appropriate priority. When that occurs, the next lower priority, non-NULL position takes control of the property. If all the priority table array elements are NULL, the commandable property (refer to the CyberStation online help) assumes the one defined in the Relinquish_Default property of the object. Note: for Andover Continuum systems, Present_Value is the commandable property for the following classes: Analog Output Multi-State Output Binary Value Binary Output Analog Value Multi-State Value

Replace Object_Property with the object name, including a full path name, followed by a property name. The Object Identifier and Property Identifier are combined as one argument. Property is expected to be the Present_Value of the BACnet commandable property (Present_Value is Value in Plain English). If it is missing, it is assumed to be Present_Value Replace Priority with the priority number, ranging from 1 (highest) to 16 (lowest). Applies only to a BACnet commandable property. If not present, the property value that matches with priority 10, if applicable, is used for controllers. For CyberStations, the priority from the BACnet Preferences is used.

Example

Use Relinquish to relinquish the last command issued with priority 5 Relinquish (NET1\B4\AV, 5) This statement places a NULL in the 5th entry.

Introducing BACnet for Continuum Users 37

Relinquish, continued
WriteProperty ReadProperty

Related Keywords

Products Supported

b3 series, b4920, bCX 4040 controllers and CyberStation

Modes Available

Command lines and programs.

38 TAC

WriteProperty
WriteProperty (Object_Property, Value, Priority, Index)

Function

Format

Purpose

To set a property of a BACnet object. Returns SUCCESS or FAILURE

Remarks

Replace Object_property with the object name, including a full path name, followed by a property name. The object Identifier and Property Identifier are combined as one argument. Replace Value with the actual value to set the property to. This is optional. If it is not present, then the next argument, Priority, must be present to perform a Relinquish command (see Relinquish key word). Replace Priority with the priority number, ranging form 1 (highest) to 16 (lowest). This is optional. Applies only to a BACnet commandable property. (Refer to the CyberStation online help.) If not present, the property value that matches with priority 10, if applicable, is used for controllers. For CyberStations, the priority from the BACnet Preferences is used. Replace Index with an array index. This is optional. It only applies to an array-type property. The index is ignored whenever it is not applicable.

Example 1

Use WriteProperty to set the Value property of an object to 100. Value property is assumed WriteProperty(BacnetDevices\B4\B3\BV1, 100) Or Value property is explicitly mentioned. WriteProperty (BacnetDevices\B4\B3\BV1 Value, 100)

Introducing BACnet for Continuum Users 39

WriteProperty, continued
Use WriteProperty to set the Present_Value property of an object to 100, using priority 5. WriteProperty (BacnetDevices\B4\AV1 Value, 100, 5)

Example 2

Example 3

Use WriteProperty to set a point log entry to 100, using index 2. WriteProperty (NET1\CX1\AV1, 100, , 2) Note that the priority argument is not passed.

Example 4

Use WriteProperty to relinquish a command using priority 5. Value is not passed; this is equivalent to a Relinquish. WriteProperty (BACnetDevices\B4\AV1, , 5)

Related Keywords

ReadProperty Relinquish

Products Supported

b3 series, b4920, bCX 4040 controllers and CyberStation.

Modes Available

Command lines and programs.

40 TAC

Introducing BACnet for Continuum Users

Introducing BACnet - A Guide for Continuum Users Document Number: 30-3001-863 Revision F CyberStation Version 1.9

30-3001-863

Introducing BACnet for Continuum Users