BACnet Integration Guide 1150 Roberts Boulevard, Kennesaw, Georgia 30144 770-429-3000 Fax 770-429-3001 | www.automatedlogic.com Rev. 10/9/2015 ALC Proprietary & Confidential • All rights reserved Verify that you have the most current version of this document. Go to https://accounts.automatedlogic.com, then select Support > Download > Third-party Integration > Documents. Important changes are listed in Document revision history at the end of this document. © 2015 Automated Logic Corporation. All rights reserved throughout the world. Automated Logic, WebCTRL, EIKON, Eco-Screen, and BACview are registered trademarks of Automated Logic Corporation. EnergyReports and Environmental Index are trademarks of Automated Logic Corporation. BACnet is a registered trademark of ASHRAE. All other trademarks are the property of their respective owners. Contents Overview ................................................................................................................................................ 1 Before-you-begin checklist ...................................................................................................................... 1 The integration process............................................................................................................................ 1 1 Connect the third-party device to the Automated Logic® controller ......................................................... 2 To connect to a BACnet IP device ................................................................................................. 2 To wire a BACnet MS/TP device ................................................................................................... 3 To wire a BACnet/ARC156 device ................................................................................................ 3 To wire a BACnet PTP device ........................................................................................................ 4 2 Discover BACnet networks, devices, and objects ................................................................................... 4 3 Create a control program .................................................................................................................... 6 4 Edit a control program ........................................................................................................................ 8 5 Configure Display microblocks ............................................................................................................ 9 6 Configure Network Input and Total Analog microblocks ........................................................................ 11 Method 1: BACnet COV subscriptions ...................................................................................... 11 Method 2: Polling ................................................................................................................... 12 To speed detection of a dead device .......................................................................................... 12 7 Download the BACnet driver ............................................................................................................... 13 8 Verify the controller is set up correctly .................................................................................................. 14 To capture ARCNET or MS/TP communication ............................................................................ 15 To capture BACnet/IP or BACnet/Ethernet communication ........................................................ 17 Appendix A - BACnet addresses .............................................................................................................. 19 Appendix B - To reuse a control program.................................................................................................. 22 Appendix C - Third-party points behind NAT routers................................................................................... 23 Appendix D - Point packs ....................................................................................................................... 24 Appendix E - COV subscription details ..................................................................................................... 25 Appendix F - Setting up BBMD's ............................................................................................................. 27 To set up BBMDs in SiteBuilder ................................................................................................. 28 To set up BBMDs through the WebCTRL® interface .................................................................... 28 To set up BBMDs using the BBMD Configuration Tool ................................................................. 29 Document revision history ...................................................................................................................... 31 Overview You can integrate BACnet devices into a WebCTRL® system using any Automated Logic® controller. The Automated Logic® controller serves as a master device. Automated Logic® Read/write capability Can read from and write to the third-party equipment Third party Supported equipment Any device that supports the BACnet protocol Supported media IP, Ethernet, ARC156, MS/TP (9600, 19200, 38400, or 76800 kbps), and PTP If you have legacy ALC controllers that use point packs, see Appendix D (page 24). Before-you-begin checklist You need the following items, information, and skills for the integration process: The system's SiteBuilder database The Automated Logic® controller's Technical Instructions The third-party device's: • BACnet network number and MAC address or the Device instance • Points list including BACnet Object ID's (object type plus object instance) If the third party device is not installed or commissioned yet, ask the third-party vendor for this information. Then use Appendix A (page 19) to write correct BACnet address strings in your microblocks. The baud rate of the third-party device if running MS/TP Verification that all communication settings have been set on the third-party device Experience creating control programs in the EIKON® LogicBuilder application Experience installing, wiring, setting up, and downloading to the Automated Logic® controller The integration process Follow the steps in this document to integrate one or more third-party BACnet devices into a WebCTRL® system using an Automated Logic® controller. To install and network the Automated Logic® controller, see the controller’s Technical Instructions. BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 1 © 2015 Automated Logic Corporation All rights reserved 1 Connect the third-party device to the Automated Logic® controller An Automated Logic® controller can reference a third-party BACnet point on any network type if a BACnet route to the point exists. NOTE Communication may be affected by the network bandwidth as well as the frequency and number of points communicating. To connect to a BACnet IP device To integrate a third-party BACnet IP device, or any device it routes to, as shown in Scenario 1: • An IP route to the point must exist. • You must either have an Automated Logic® IP device on the same IP subnet as the third-party device, or you must have BBMD's configured to communicate to the IP subnet where the third-party device lives. See Appendix F (page 27). BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 2 © 2015 Automated Logic Corporation All rights reserved To wire a BACnet MS/TP device Use: • 24 AWG twisted, shielded pair cable for up to 200 feet (60.96 meters) or • 22 AWG twisted, shielded pair cable for up to 2000 feet (609.6 meters) See MS/TP Wiring Technical Instructions for details. 1 2 3 4 5 Turn off the controller's power. Check the communications wiring for shorts and grounds. Connect the third-party device's communications wiring to the controller. For a... Connect wiring to... Set... LGR25 LGR250 LGR-1000 ME-LGR25 ME-LGR200 Port S1 terminals labeled Net + and Net - MSTP on S1 DIP switch to Enable (ON) Port S1 jumpers to EIA-485 and 485-2w ME812u-LGR BACnet port terminals labeled BACnet Mode jumper to MSTP Net +, Net -, and Shield NOTE Use the same polarity throughout the network segment. Turn on the controller's power. To change the port's baud rate, see "To set a port's baud rate using PuTTY" in the controller's Technical Instructions. NOTE Use the same baud rate for all devices on the network segment. To wire a BACnet/ARC156 device Use: • 24 AWG twisted, shielded pair cable for up to 200 feet (60.96 meters) or • 22 AWG twisted, shielded pair cable for up to 2000 feet (609.6 meters) See ARC156 Wiring Technical Instructions for details. 1 2 3 4 5 Turn off the controller's power. Check the communications wiring for shorts and grounds. Connect the third-party device's communications wiring to the controller's screw terminals labeled Net +, Net -, and Shield. NOTE Use the same polarity throughout the network segment. If connecting to an ME812u-LGR, set the BACnet Mode jumper to ARC156. Turn on the controller's power. BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 3 © 2015 Automated Logic Corporation All rights reserved To wire a BACnet PTP device Use 18-28 AWG shielded cable, 50 feet (15.24 meters) maximum length. 1 Turn off the controller's power. 2 Check the communications wiring for shorts and grounds. 3 Connect the third-party device's communications wiring to the controller. For a... Connect wiring to... Set... LGR25 LGR250 LGR-1000 ME-LGR25 ME-LGR200 Port S2 terminals labeled Tx, Rx, and Signal Ground • PTP on S2 DIP switch to Enable (ON) • Port S2 jumper to EIA-232 ME812u-LGR Port S1 terminals labeled Tx, Rx, and Signal Ground • PTP on S1 DIP switch to Enable (ON) • Enhanced Access Port DIP switch to Off • Port S1 jumpers to EIA-232 and Full Duplex NOTES ○ Jumper the DTR and DCD terminals. ○ Use the same polarity throughout the network segment. 4 5 Turn on the controller's power. To change the port's baud rate, see "To set a port's baud rate using PuTTY" in the controller's Technical Instructions. NOTE Use the same baud rate for all devices on the network segment. 2 Discover BACnet networks, devices, and objects The WebCTRL® BACnet Discovery feature locates all accessible BACnet networks, BACnet devices, and BACnet objects (including devices in your WebCTRL® system) on a BACnet network. To use BACnet Discovery: 1 2 3 4 5 6 7 On the WebCTRL® System Configuration tree, select Connections. On the Configure tab, disconnect the BACnet/IP connection. While the connection is stopped, enter or verify the server's IP Address and Subnet Mask for the BACnet/IP connection. Restart the connection. On the Network tree, select the system level. Click Devices. On the Advanced tab, click Start to discover BACnet sites for the system. An item called Discovered Networks appears in the tree. BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 4 © 2015 Automated Logic Corporation All rights reserved 8 To discover BACnet networks, select Discovered Networks, then click Go. A list of all BACnet networks appears on the Network box. tree. After all networks are found, close the status dialog TIP Run a commstat manual command to determine which device routes to each network. The BACnet Bind Show Network section of the Commstat window shows the IP address of the router to each network. 9 To discover BACnet devices on a network, select a network on the Network tree, then click Go. After all devices are found, close the status dialog box. Click the plus sign beside an item to expand the list of devices. 10 To discover BACnet objects on a device, select the device on the Network tree, then click Go. After all objects are found, close the status dialog box. A list of all BACnet objects in this device appears on the Network tree. TIP Make sure you are discovering objects in the correct device. It may take some time to discover objects in devices with more than 100 objects. 11 Optional: • On the Network • Click the Export button to export the BACnet information. • Name and save the .discovery file in any folder. tree, select a discovered network with devices or a single device. NOTES • Some third-party BACnet devices may not be discovered because they do not support the BACnet methods required for auto discovery. • If the discovery process returns ambiguous information, such as multiple points with similar names, contact the third-party manufacturer's representative for clarification. • Device configuration or network load can prevent the WebCTRL® interface from showing all BACnet devices. If you do not see a BACnet device that you expect to see, check the system's BBMD configurations. If the configurations are correct, try the discovery process again. • If a third-party device is not discoverable, you must get the device's address and point list information from the third-party vendor. Then use Appendix A (page 19) to write correct BACnet address strings for your microblocks. • Troubleshooting BBMD's. See "Setting up BBMD's" in Appendix F (page 27). • Using NAT routing. See "To build a Network tree" in Appendix F (page 27). BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 5 © 2015 Automated Logic Corporation All rights reserved 3 Create a control program Use Network I/O microblocks and Display microblocks to read from or write to BACnet objects in a third-party BACnet device. Use Network I/O microblocks if any of the following is true: • An Automated Logic® control program must read from or write to third-party BACnet points for automatic control. • You want to trend values from a third-party device that does not support BACnet trends. • You want to display third-party values that require unit conversion or other math processing. NOTES • Both Network I/O and Display microblocks count against the 500-point limitation of WebCTRL® 500. • Display microblocks cannot use logic, including the logic that a thermographic floorplan requires. To create a control program: 1 Go to Start > All Programs > WebCTRL 5.x > Third-Party BACnet Utility. 2 Select File > Save as. 3 Name and save the .3pbu file in any folder. 4 Select File > Import. 5 Browse to the .discovery file that you exported from the WebCTRL® BACnet Discovery tool. 6 Select Control Program > Add Control Program. 7 In the Name field, type the name of the .equipment file that you want to create, then click OK. NOTE You can repeat steps 6 and 7 to add multiple control programs to the .3pbu file. 8 Click to highlight one or more control programs in the Control Programs to Generate list. 9 Click, Shift+click, or Ctrl+click to select the point(s) you want to add to the control program(s). 10 11 12 13 Click . Select Control Program > Generate Control Programs. Browse to the control programs Destination Directory. Select the checkbox by each control program that you want to generate. NOTE You can use the Check All and Uncheck All buttons to the far right. BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 6 © 2015 Automated Logic Corporation All rights reserved TIPS • Move the divider bar to adjust the size of the size of the panes. • Keyboard shortcuts are shown beside their corresponding commands in the drop-down menus. • Change the width of a column by dragging the bar between column headings. • Rearrange the columns by dragging and dropping a heading cell. • Click a column heading to sort the rows by the information in that column. • To prioritize sorting by multiple columns, hold down Ctrl as you click headings. The size of the triangles indicate the sorting priority. For example: Click Device ID to sort the rows by third-party devices. Then Ctrl+click Object Type to sort each Device ID’s object types. Then Ctrl+click Object Instance to sort each section of object types by instance numbers. • Make the Discovered BACnet Objects list easier to view by selecting BACnet Objects > Filter Properties. Then select or clear checkboxes to show only the information you need. • Hide selected objects by right-clicking one of the selected objects then selecting Hide object. To reveal the hidden objects, go to BACnet Objects > Filter Properties, then select the Show hidden objects checkbox. • To find an object in the opposite pane, right-click the object, then select Find Usages. • Move or copy objects from one control program to another by right-clicking the selected object(s), then selecting Move to or Copy to. BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 7 © 2015 Automated Logic Corporation All rights reserved To create a control program for multiple identical third-party devices If you are integrating to multiple identical third-party devices, the WebCTRL® application can help you address the Network I/O microblocks. 1 Replicate the first device's control program for each of the other third-party devices. 2 Do one of the following: ○ If Network I/O microblocks were addressed in the EIKON® LogicBuilder application, go to step 3. ○ If the Network I/O microblocks do not have addresses, enter the addresses in the WebCTRL® interface for one instance of the equipment. Do this on the equipment's Properties page > Network Points tab. Then use Global Copy to copy the addresses to all other instances of the equipment. 3 Go to the Properties page > Network Points tab for another instance of the equipment. 4 Click Search/Replace at the top of the Address column. 5 Replace the device identification in the addresses with the identification for the third-party device the control program will communicate with. 4 Edit a control program You can edit a control program created with the Third-Party BACnet Utility in the utility itself or in the EIKON® LogicBuilder application. Or, in the EIKON® LogicBuilder application, you can edit an existing control program to integrate with a third-party BACnet device. To edit a control program in the Third-Party BACnet Utility 1 2 3 4 5 In the Third-Party BACnet Utility, select File > Open. Select the .3pbu file that contains the control program(s) you want to edit. Make changes as needed. NOTE If you change a microblock's reference name, the utility will add a new microblock when you generate the control program. Select Control Program > Generate Control Programs. NOTE The Generate Control Programs command will add microblocks that you added, but will not delete microblocks that you deleted in the Third-Party BACnet Utility. Save the control program(s). To edit a control program in the EIKON® LogicBuilder application 1 2 3 4 5 Select File > Open. Select the .equipment file that you want to edit. Select Edit > Third Party BACnet Addresses. Browse to the .discovery file that contains the BACnet object you want to add or change. In the Third Party Addresses window, check Only show objects that match selected microblock. BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 8 © 2015 Automated Logic Corporation All rights reserved 6 Do one of the following: Change an existing microblock a. Select an existing microblock. b. Select an object in the Discovered BACnet Objects list. c. Click Change Microblock. d. Select a different microblock type from the drop-down list. e. Optional: Choose Change Type Only or Change Type And Set Address. f. Click OK. OR Add a new microblock a. Add a Network I/O or Display microblock. b. Select a point in the Discovered BACnet Objects list. c. Click Set Address to assign object properties to the microblock. 7 Save the file. 5 Configure Display microblocks To allow an operator to change a third-party object's property from the WebCTRL® interface through a Display microblock, the desired property must be present and be editable (not marked "Read only") in the third-party object. In the EIKON® LogicBuilder Property Editor of a microblock, select Present (if the optional property exists in the third-party device), Editable, and Write to field checkboxes. See COV increment in the example below. The Display microblocks in the table below require special configuration. Binary Output Binary Value If you want the text of a BACnet Modeled Binary Output or BACnet Modeled Binary Value on a graphic to display the inactive and active text instead of 0 and 1, select the Present checkboxes. NOTE If the third-party device does not support this feature, your graphic will display 0 or 1 even if you select the Present checkboxes. BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 9 © 2015 Automated Logic Corporation All rights reserved Schedule If you want a WebCTRL® schedule to write to a third-party BACnet-schedule object through a BACnet modeled schedule object, do the following: 1 In the EIKON® LogicBuilder application, select the Schedule Category of the WebCTRL® schedule that will write to the third-party object. 2 In the Property Editor, select the Present, Editable, and Write to field checkboxes for Weekly Schedule and Exception Schedule. NOTES Event Notification • Only Automated Logic®-manufactured devices support Automated Logic® Dated Weekly schedules. • If you get an error in the WebCTRL® interface, clear the Array Resize Write Index and Array Resize Write Past End checkboxes. You can use a BACnet Modeled Event Enrollment microblock to view the status of a third-party BACnet Event Object. If you want the third-party device to deliver its alarms to the WebCTRL® Alarms View tab, you must configure the third-party device to send alarms to the WebCTRL® Server application. You can add WebCTRL® Server to the Recipient List for each alarm or set up a BACnet Modeled Notification Class microblock to add WebCTRL® Server to the Recipient List for every alarm generated by the third-party device. NOTE A third-party device may not retain alarm recipient information through a power loss or download. 1 In the BACnet Modeled Event Enrollment microblock, select the Standard Template for the best results on your WebCTRL® Alarms View tab. 2 In the Event Enrollment or Notification Class microblock, select the Editable and Write to field checkboxes for Recipient List. 3 4 5 BACnet Integration Guide Rev. 10/9/2015 On the WebCTRL® Properties page Details tab for a device's BACnet Modeled Notification Class microblock or an event's BACnet Modeled Event Enrollment microblock, click Add. Define the recipient. See field descriptions below. Generate an alarm at the third-party device to verify that you see the alarm delivered to your WebCTRL® Alarms View tab. Field Notes Recipient Type Select Device. Time section Select the days and define the hours that the third-party device should send alarms to WebCTRL® Server. Device Object Identifier Enter your WebCTRL® system's BACnet Alarm Recipient instance number. Process Identifier Type 1. ALC Proprietary and Confidential 10 © 2015 Automated Logic Corporation All rights reserved Issue Confirmed Notification Trend Select this checkbox. If the third-party trend does not display correctly, change the Trend Conformance Level to Default. 6 Configure Network Input and Total Analog microblocks Use one of the following methods to define how every Network Input or Total Analog microblock reads the object property referenced in the microblock's Address field. Method 1: BACnet COV subscriptions How it works The Network Input or Total Analog microblock subscribes with the target BACnet object. An analog target notifies the microblock if the target's value changes by more than the target's BACnet COV_Increment. A binary target notifies the microblock when it changes state. See Appendix E - COV subscription details (page 25). Benefits • Can decrease network traffic by preventing unnecessary updates if the target's COV_Increment is set appropriately. See step 2 in "To set up" below. Drawbacks • Can generate excessive network traffic if the target's COV_Increment property is too small. See step 2 in "To set up" below. • Can delay detection of a dead device or of network problems . See To speed detection of a dead device (page 12). 1 2 Set the microblock's Refresh Time to 31 seconds or more. If the microblock's Address field references an analog property, set the target's COV_Increment property to the smallest amount by which the value must change for the target to notify its subscribers. The optimal COV_Increment is large enough to prevent unnecessary updates but small enough to be useful to the control program(s) receiving the updates. To set up NOTE If COV subscription fails, the microblock reads the value at the Refresh Time interval using the BACnet ReadProperty or ReadPropertyMultiple service. See Method 2: Polling (page 12). BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 11 © 2015 Automated Logic Corporation All rights reserved Method 2: Polling How it works The Network Input or Total Analog microblock reads the target property at the Refresh Time interval using the BACnet ReadProperty or ReadPropertyMultiple service Benefits • Allows rapid detection of a dead device or of network problems • Does not require additional memory • Generates unnecessary network traffic if a value does not change frequently • Misses value changes that occur between pollings • Can overwhelm the target's controller if many microblocks request the same property value (such as outside air temperature). The BACnet object must send the value to each microblock that polls for that data. Drawbacks To set up Set the microblock's Refresh Time to 30 seconds or less. NOTE The Automated Logic® microblock will not poll at a Refresh Time interval less than 1 second. BACnet ReadProperty and ReadPropertyMultiple services See the BACnet specification for details on these services. ReadPropertyMultiple occurs if: • • • two or more microblocks in a controller read more than one target in the same remote controller, the Refresh Time in two or more microblocks expires at the same time, and the remote controller supports the service. To speed detection of a dead device If a BACnet object's device loses network communication, a network input reading the object's value does not detect the failure until • the network input's next subscription (up to 10 minutes) if using BACnet COV subscription, or • the Refresh Time expires, if polling You can use a small Refresh Time to poll more often, but this can generate unnecessary network traffic under normal conditions. To use the benefits of BACnet COV subscription, but overcome the potential delay in detection of a dead device, send a constantly changing value from the BACnet object's control program to a network input using BACnet COV subscription. If the value stops changing, the network input's control program generates an alarm. BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 12 © 2015 Automated Logic Corporation All rights reserved EXAMPLE The logic in the BACnet object's control program that sends the value. The BACnet Analog Value microblock has a COV Increment of 0.5. The logic in the network input's control program that receives the changing value. The SIGNAL analog network input's Address field contains the address of the BACnet Analog Value microblock sending the changing signal, and the network input's Refresh Time is 31 seconds. 7 Download the BACnet driver Get the latest BACnet driver If you do not have the latest version of your Automated Logic® controller's driver, follow the steps below. NOTE If your Automated Logic® controller is using a driver for another protocol, that driver will also allow you to integrate with BACnet points. 1 Go to the website http://accounts.automatedlogic.com/download, then select Third-party Interfaces > Drivers > Third-party interface (ME-LGR & LGR) > BACnet (Vanilla). 2 Download the driver, saving it in WebCTRLx.x\webroot\<system_name>\drivers. 3 On SiteBuilder's Network tree, double-click the Automated Logic® controller. 4 Select the Automated Logic® controller in the Device Definition drop-down list, then click OK. 5 Optional: To verify that the correct driver will be used, expand the controller, double-click Driver, then verify the selection in the Driver field. BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 13 © 2015 Automated Logic Corporation All rights reserved Download the driver and control programs 1 In SiteBuilder, assign the equipment to the controller by dragging the equipment from the System Configuration tree and dropping it on the controller in the Network tree. 2 In the WebCTRL® interface, download All Content to the Automated Logic® controller. NOTE If the third-party device is on a different IP network than the Automated Logic® controller, verify that BBMD's are configured appropriately for communication. See the Automated Logic® website for more information on BBMD's. 8 Verify the controller is set up correctly 1 2 On the WebCTRL® Geographic tree, select the control program for the Automated Logic® controller. Select the Properties page > Network Points tab. If... Then... You see the point value you expect with no errors in the Error column You have successfully established communication with the third-party device. All points show question marks instead of values The WebCTRL® application is not communicating with the Automated Logic® controller or the control program. Troubleshoot the controller's communications. See the controller's Technical Instructions. TIP If only display microblocks show question marks, verify that the Use Static Bindings checkbox on the WebCTRL® System Settings > Communications tab is cleared. Some points show You may have exceeded the third-party points available in the controller. If question marks instead of so, do one of the following: values • Use a controller that provides more third-party points. • Split the points between two control programs used in separate controllers. To determine the number of third-party points used in a controller: On the WebCTRL® Network tree, click on the controller's Driver, then scroll to the bottom of the page. Number of integration points requested and Number of integration points active show how many third-party Network I/O microblocks the controller is using. These counts will differ if you exceed the controller's integration point limit. For example, if your LGR25's control program includes 27 third-party points, your Integration points requested will be 27 and your Integration points active will be 25. BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 14 © 2015 Automated Logic Corporation All rights reserved If... Then... The point name is red Look in the Error column for one of the following error codes and descriptions. A value is incorrect • 1 - Communications Disabled for this Microblock Enable the microblock's Communications Enabled field on the Network Points tab, on the microblock's Properties page > Details tab, or in the EIKON® LogicBuilder application. • 3 - Address Error - Unknown Protocol Specified Select the correct port on the driver page in the WebCTRL® interface, set the DIP switches correctly on the controller, or correct the Address field in the microblock. Verify that: • The Address in the microblock is correct. • The retrieved value is scaled properly, if necessary. For example, scaled from Celsius to Fahrenheit. Refer to the third-party manufacturer's documentation or the controller's Technical Instructions for scaling information. If the above solutions do not resolve the problem, gather the following information for technical support: • A diagnostic capture. See the next 2 topics. • A screenshot of the driver Properties, IP Addressing, and Protocol pages • A screenshot of the Properties page > Network Points tab and Display Points tab showing addresses and errors • All information from a Modstat copied into a text file. Right-click the Modstat, then select Select All. Press Ctrl+C to copy the information, then open Notepad and paste the information into a text file. To capture ARCNET or MS/TP communication Use the Automated Logic® diagnostic tool DLCap with Wireshark to capture the communication between the controller and the third-party device. PREREQUISITES • • • A computer with a USB port A USB Link Kit. You will use only the white, 7 3/4-inch USB-to-485 cable. See the USB Link Kit Technical Instructions. NOTE The USB Link Kit driver is installed with a WebCTRL® v5 or later system. But if needed, you can get the latest driver from http://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx. Install the driver before you connect the USB Link Kit to your computer. A piece of ARC156 cable CAUTION If multiple controllers share power but polarity was not maintained when they were wired, the difference between the controller's ground and the computer's AC power ground could damage the USB Link Kit and the controller. If you are not sure of the wiring polarity, use a USB isolator between the computer and the USB Link Kit. Purchase a USB isolator online from a third-party manufacturer. BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 15 © 2015 Automated Logic Corporation All rights reserved 1 2 3 4 5 6 7 8 Go to http://accounts.automatedlogic.com/download, then select Engineering and Startup Tools > Utilities > DLCap. Unzip the files to a folder on your hard drive. Run setup_dlcap.exe. Follow the instructions in the Setup Wizard, accepting all defaults. Download the latest version of Wireshark from the Wireshark website (http://www.wireshark.org). Run the install program, accepting all defaults. Include WinPcap in the installation. Connect the USB-to-485 cable to your computer's USB port. NOTE If using a USB isolator, plug the isolator into your computer's USB port, and then plug the USB Link Kit cable into the isolator. Connect the ARC156 cable to the screw terminal connector on the USB-to-485 cable. Use the following table to connect the other end of the cable to the network. See the tag on the USB-to-485 cable to determine polarity. To capture... Connect the ARC156 cable to... ARCNET • Port S2 on an LGR or ME-LGR • Port S1 on an ME812u-LGR Connect to the screw terminals labeled Net+, Net -, and Signal Ground. • The port's jumper to EIA-485 • Dip switch 1 to On for Enhanced Access • On an ME812u-LGR, set the Duplex jumper to Half. MS/TP Any connection on the MS/TP network. For example, insert it into the daisy chain of MS/TP devices as if it were another device. N/A Set... 9 Cycle the controller's power. 10 Double-click the DLCapture.bat file located in c:\Program Files\Automated Logic Corporation\dlcap_installer. NOTE Depending on your computer setup, you may need to run this file as a Windows Administrator. See your IT administrator for help. 11 Type the computer's port number that the USB cable is connected to. To find this information: a) Right-click My Computer. b) Select Manage. c) Select Device Manager. d) Double-click Ports (COM & LPT). 12 Press Enter. 13 Type the number that corresponds to the network baud rate: ○ For MS/TP, type the number that corresponds to the baud rate of your MS/TP network. ○ For ARCNET, type 5. 14 Press Enter. 15 Type the number that corresponds to the type of network communication you are capturing. ○ Type 1 for MS/TP. ○ Type 2 for ARCNET. 16 Press Enter. 17 Type y to run Wireshark, then press Enter. Wireshark should open and display captured packets. BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 16 © 2015 Automated Logic Corporation All rights reserved 18 While Wireshark is capturing communications, do the following: ○ Start the WebCTRL® application, then get a modstat of a controller on the ARCNET or MS/TP network to create network traffic. ○ Try to recreate the problem you are troubleshooting. If possible, correlate your troubleshooting actions with particular lines in the Wireshark capture. ○ Record communications for about 5 times the longest refresh rate set in any microblock. 19 To complete the capture, select Capture > Stop. 20 Select File > Save As. Give the file a name that includes a brief description of the problem. For example, systemname_excessive_traffic, systemname_binding_conflicts, or systemname_slow_network. Wireshark will add the appropriate file extension. 21 Click Save. 22 Attach the following to your on-line case: ○ The Wireshark capture file you saved in step 21. ○ Device instance number of the problem device ○ Description of the problem TIP You can color code the information in the Wireshark capture file based on user-defined criteria. See Wireshark's Help for instructions on setting up Coloring Rules. To capture BACnet/IP or BACnet/Ethernet communication Use Wireshark, a network analysis tool, to capture BACnet/IP or BACnet/Ethernet communication between the Automated Logic® controller and the third-party device. PREREQUISITE Provide an Ethernet hub so that Wireshark can capture all Ethernet communication, not just broadcasts. 1 2 3 4 5 6 7 8 Download the latest version of Wireshark from the Wireshark website (http://www.wireshark.org). Run the Wireshark install program, accepting all defaults. Include WinPcap in the installation. Disconnect the network cable from the Automated Logic® controller's Ethernet port, then plug the cable into the hub's Uplink port. Use a separate Ethernet cable to connect the controller's Ethernet port to the hub. Connect the BACnet device's Ethernet cable to the hub. Connect the Ethernet port of the computer running Wireshark to the hub. On the computer, click Start > All Programs > Wireshark. From the menu bar, select Capture > Interfaces. BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 17 © 2015 Automated Logic Corporation All rights reserved 9 10 11 12 13 Click the Start button next to the adapter that is connected to the network. This starts the capture. TIP Choose the adapter that shows the Packets value changing. Allow the capture to run long enough to ensure that there is sufficient data to allow a technician to review the problem. On the menu bar, select Capture > Stop to stop the data capture. Select File > Save and save the capture to a convenient location. Leave the Save as type default set to Wireshark/tcpdump/… - libpcap (*.pcap, *.cap). Send the file to Automated Logic® Technical Support for analysis. TIP You can color code the information in the Wireshark capture file based on user-defined criteria. See Wireshark's Help for instructions on setting up Coloring Rules. BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 18 © 2015 Automated Logic Corporation All rights reserved Appendix A - BACnet addresses The BACnet standard allows multiple formats for creating a valid address in each microblock that you use to read from or write to a third-party BACnet point. Some are shown below. CAUTION When integrating third-party devices into your system, most communication problems are caused by incorrect data or typing errors in the microblock's Address field. NOTE Numeric values in a BACnet address can be entered using decimal or hexadecimal notation. Type 0x before a hexadecimal value. Device - Use one of the following: EXAMPLES Device instance number bacnet://2010/… BACnet device name bacnet://MyDevice/… Network number: MAC address (of third-party device) bacnet://1234:35/… bacnet://1234:0x23/… The word "this" if a network point requests a value from bacnet://this/… another control program in the same Automated Logic® controller. Avoids network traffic. Requires v2.05 or later controller driver. A single * (wildcard) that sends out a request on the network for all devices that contain the Object specified in the address. (See Object below.) The microblock subscribes to the nearest responder. NOTES • • • bacnet://*/… You can use an * in the address of Network Input and Total Analog microblocks. An address with an * is restricted to the present_value property (the default when you do not specify a property). Requires a v3.04 or later driver. BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 19 © 2015 Automated Logic Corporation All rights reserved Object - Use one of the following: EXAMPLES Object type: Instance number (See NOTES below) bacnet://…/ai:2 BACnet object name bacnet://…/MyObject NOTES • For object type, you may type the abbreviation (not case sensitive), the full name, or the object type number. Some standard BACnet object type numbers are listed below. See the BACnet standard for a complete list. For proprietary BACnet objects, see the object's manufacturer. Use... ai ao av bi bo bv dev msi mso msv • Or... analog-input analog-output analog-value binary-input binary-output binary-value device multistate-input multistate-output multistate-value Or... 0 1 2 3 4 5 8 13 14 19 Every object in a controller has a unique instance number, regardless of its control program. Property (optional) If you want to read or write a property other than present_value, type one of the following: EXAMPLES BACnet property identifier bacnet://…/…/cov_increment BACnet property identifier # bacnet://…/…/22 Property identifier (with index) bacnet://…/…/priority-array (12) Property identifier # (with index) bacnet://…/…/87(12) NOTE Some standard BACnet properties are listed below. See the BACnet standard for a complete list. For proprietary BACnet objects, see the object's manufacturer. BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 20 © 2015 Automated Logic Corporation All rights reserved Property identifier change_of_state_count cov_increment derivative_constant event_state high_limit integral_constant low_limit max_pres_value min_pres_value out-of-service present_value proportional_constant reliability relinquish_default setpoint system_status trigger units vendor_identifier Identifier # 15 22 26 36 45 49 59 65 69 81 85 93 103 104 108 112 205 117 120 Priority (optional) If you want to write at a priority other than 16, type @ followed by a priority number. EXAMPLE Number (1–16) bacnet://…/…/…@9 NOTE Priority levels 1 and 2 are reserved for manual and automatic life safety commands. For more information on reserved priority levels see the BACnet standard. Examples of BACnet addresses: bacnet://MyDevice/ai:2 bacnet://1234:0x23/analog-input:2/priority-array(12)@8 bacnet://2499:0x00E0C90047CA/bi:3 bacnet://2436:192.168.47.36:47806/0:2 BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 21 © 2015 Automated Logic Corporation All rights reserved Appendix B - To reuse a control program You can reuse a control program for multiple pieces of identical third-party equipment. To reuse a control program for identical pieces of equipment: 1 In the EIKON® LogicBuilder application, open the control program you want to reuse. 2 Add a Device Alias microblock. 3 In the Property Editor, type a meaningful character string such as the model number or name of the third-party device in the Device Alias field. 4 Select Control Program > Edit Common Properties > Display Points tab. 5 Select the All radio button. 6 Replace the numbers in the Device Alias column with the model number or name of the third-party device exactly as you typed it in step 3. 7 In SiteBuilder, assign this reusable control program to each instance of the third-party device. 8 In your system, for each instance of the third-party equipment, change the Device Alias microblock's Device Instance number to match each specific device. BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 22 © 2015 Automated Logic Corporation All rights reserved Appendix C - Third-party points behind NAT routers For the WebCTRL® application to retrieve third-party data into a display microblock that must pass through one or more NAT routers, you must create a model of the third-party network on SiteBuilder’s Network tree. 1 2 In SiteBuilder, add the third-party equipment to the Geographic tree. In the Equipment dialog box, select the control program you created in the EIKON® LogicBuilder application. 3 Attach the third-party equipment on the Geographic on the Network 4 5 tree to Automated Logic® BACnet router tree. On SiteBuilder's Network tree, add (model) the third-party device. NOTES ○ If the third-party device is on a different BACnet network than your Automated Logic® equipment, you must also add the third-party network. ○ If the third-party device is under a third-party router, you must add the third-party router and its network before adding the third-party device. TIP For a third-party device on a different BACnet/IP network than any Automated Logic® devices, use BBMD's to communicate across an IP router. See the Automated Logic® website for more information on BBMD's. In the Device dialog box, General tab: ○ Type the Address and Device Instance information from the third-party vendor. ○ In the Device Definition field, select Third Party Controller or Third Party Controller Router. NOTE To use NAT routing, you must select the Use Static BACnet Bindings field on the WebCTRL® System Settings > Communications tab. BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 23 © 2015 Automated Logic Corporation All rights reserved Appendix D - Point packs The following controllers use point packs (100 points per pack): • • • • • • LGE LGRM-E S line M line UNI WebPRTL NOTES • The LGE, LGRM-E, and WebPRTL can communicate on any BACnet network type (IP, Ethernet, ARCNET, MS/TP, or PTP). See the router's Technical Instructions for details. • S line, M line, and UNI controllers can communicate using BACnet on ARC156 or MS/TP networks. They can reference a third-party BACnet point on any network type if a BACnet route to the point exists. • A controller that provides third-party points does not use point packs. • A system can use both controllers that provide third-party points and controllers that use point packs. EXAMPLES For third-party BACnet integration in a system with this hardware... Use... LGE S6104 UNI M4106 Point packs. Any of these controllers can have control programs with Network I/O microblocks that reference third-party points. LGR25 SE6104 UNI M4106 The LGR25 for the first 25 third-party points. You can add third-party points with: • Additional controllers that provide third-party points. • Point packs, if the control programs will be downloaded to the UNI or M4106. ME-LGR200 SE6104 ZN551 The ME-LGR200 for the first 200 third-party points. You can add third-party points with additional controllers that provide third-party points. LGR1000 SE6104 ZN551 M8102 The LGR1000 for the first 1000 third-party points. You can add third-party points with: BACnet Integration Guide Rev. 10/9/2015 • Additional controllers that provide third-party points. • Point packs, if the control programs will be downloaded to the M8102. ALC Proprietary and Confidential 24 © 2015 Automated Logic Corporation All rights reserved Appendix E - COV subscription details When an input (Network Input or Total Analog microblock) subscribes with a BACnet target (object property), the input sets a 21-minute subscription Lifetime in the target. The target responds with a COV notification that includes the target's value and time remaining from the original subscription Lifetime (TimeRemaining). The input resubscribes with the target every 10 minutes to keep the target's BACnet subscription service active. The Next Subscription field on the input's Properties page shows the time remaining until the input's next subscription. The target also sends a COV notification that includes the target's value and subscription Lifetime TimeRemaining when the target's value changes by more than the target's COV_Increment. If the Automated Logic® target has one subscriber, the target sends COV notifications directly to that subscriber. If the Automated Logic® target has more than one subscriber, it broadcasts its COV notifications to optimize network traffic. A third-party subscriber can participate in this broadcast scheme by subscribing for Unconfirmed COV notifications with a Process ID of 0. Otherwise, the Automated Logic® target maintains and responds to the third-party subscription separately with its own Lifetime timer. The Automated Logic® input compares the TimeRemaining value in each COV notification broadcast the target sends to its (Next Subscription time + 11) to determine whether another input has subscribed since it did. If another input has subscribed more recently, the input adds 10 minutes to its Next Subscription time. This allows the COV Subscription request from the last subscribing input to keep the subscription service active for all subscribers to the same data. EXAMPLE Elapsed Action time (minutes) Target Lifetime TimeRemaining (minutes) Input 1 Next Subscription (minutes) 0 Input 1 subscribes to target 21 (Input 1) 10 0 Target broadcasts COV notification because Input 1 subscribed 21 21 ≤ 10 + 11, so keep current value of 10 2 Input 2 subscribes to target 21 (Input 2) 10 - 2 = 8 10 0 Target broadcasts COV notification because Input 2 subscribed 21 21 > 8 + 11, so add 10 to current value of 8 8 + 10 = 18 21 ≤ 10 + 11, so keep current value of 10 21 - 3 = 18 18 - 3 = 15 10 - 3 = 7 18 18 ≤ 15 + 11 so keep current value of 15 18 ≤ 7 + 11 so keep current value of 7 18 - 7 = 11 15 - 7 = 8 7-7=0 resubscribe 3 0 Target broadcasts COV notification because value changed 7 Input 2 Next Subscription (minutes) 0 Input 2 resubscribes 21 (Input 2) 8 10 0 Target broadcasts COV notification because Input 2 subscribed 21 21 > 8 + 11, so add 10 to current value 8 + 10 = 18 21 ≤ 10 + 11, so keep current value of 10 BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 25 © 2015 Automated Logic Corporation All rights reserved Input 2 keeps the subscription service active at the target with a minimum of network traffic. NOTE If an input receives COV notification with a target TimeRemaining < 11, which could happen if the last subscribing input loses communication with the target, the input resubscribes immediately. COV notification rate COV notifications from a BACnet object property are controlled by that property's BACnet COV_Increment. When the absolute value of the difference between the property's Present_Value and the value sent in the last COV notification is greater than the COV_Increment, the object broadcasts a COV notification. For Automated Logic® controllers, the rate of notifications is further limited by two internal processes. 1 The control program's execution rate determines how often the check against COV_Increment is performed. 2 The controller's pending COV Notification task has built-in delays to prevent COV notifications from consuming the controller's CPU processing time. The built-in delays are as follows: If more than 15 COV notifications are pending delivery, the controller inserts a 50 millisecond delay after each set of 15 notifications. Once the entire list of pending notifications is serviced, the controller inserts another 50 millisecond delay. This results in a maximum COV notification rate of 300 COV notifications per second per Automated Logic® controller. BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 26 © 2015 Automated Logic Corporation All rights reserved Appendix F - Setting up BBMD's To minimize network communications, IP routers do not pass on broadcasts that they receive. If your system has controllers on different IP subnets separated by an IP router, you must set up a controller on each IP subnet as a BACnet Broadcast Management Device (BBMD). A BBMD passes BACnet/IP broadcasts across the IP router to other BBMD's. IP Router 172.18.1.1 172.16.1.1 IP subnet R IP subnet BBMD BBMD Controller Controller The following Automated Logic® controllers can function as a BBMD on an IP subnet: LGR25 ME812u-LGR LGR-1000 LGR250 ME-LGR25 ME-LGR200 To set up BBMD's, use the appropriate method in the table below. If your WebCTRL® system has... Use this method 50 or less IP subnets with: Let SiteBuilder automatically configure your BBMD's. • No third-party BACnet routers • Authority from your customer to manage all Automated Logic® and third-party BBMD's on the network • Third-party BACnet routers that support BBMD writes from the network Any of the following: • • • More than 50 IP subnets Third-party BBMD's that you do not have authority to manage Third-party BBMD's that use a non-standard port for BACnet communications Set up custom BBMD's through the WebCTRL® interface or using the BBMD Configuration Tool. NOTE If the WebCTRL® server is on an IP subnet without an Automated Logic® BACnet router, register the server as a foreign device. See "Server on an IP subnet without a BACnet router" in SiteBuilder Help. BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 27 © 2015 Automated Logic Corporation All rights reserved To set up BBMDs in SiteBuilder As you add each Automated Logic® controller to an IP network on the Network tree, check Automatically Configure My BBMDs on the Address tab. SiteBuilder automatically selects a controller in each IP subnet as the BBMD and sets up BBMD tables appropriately. To see which controllers SiteBuilder assigned as BBMD's, select View > Display > BBMD. BBMD's show B=assigned on the Network tree. To override SiteBuilder's BBMD selection, right-click a different controller on the same IP subnet, then select Force to BBMD. NOTE If you are managing 3rd party BBMD's, you must add every 3rd party device that could be a BBMD as a 3rd party device router in SiteBuilder. To set up BBMDs through the WebCTRL® interface 1 2 Make a list of the IP addresses for every controller that will function as a BBMD in your system. CAUTION Multiple BBMD's on an IP subnet disrupt BACnet communications. Define only one BBMD on either side of each IP router in your system. In Notepad, type the list putting each IP address on a separate line. (Maximum of 50 IP addresses per .bdt file) NOTE If you must communicate with a third-party router that does not use the BACnet/IP port 47808 (0xbac0), you must include the hexadecimal port number in the IP address. For example, 172.168.23.67:0xe78a 3 Save the file in the webroot\<system_name> folder with a .bdt extension instead of .txt. 4 On the WebCTRL® Network tree, select one of the Automated Logic® controllers that will function as a BBMD. To check if the controller has an existing BBMD table, click , then select Manual Command. 5 6 7 8 9 In the manual command field, type: bbmd read x.x.x.x where x.x.x.x is the IP address of the controller you are on. Click OK. If the Broadcast Distribution Table contains IP addresses that are not in your .bdt file, add them to your .bdt file. Click , then select Manual Command. BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 28 © 2015 Automated Logic Corporation All rights reserved 10 In the manual command field, type: bbmd write filename.bdt x.x.x.x where filename.bdt is the .bdt file in the webroot\<system_name> folder and x.x.x.x is the IP address of the controller you are on. 11 Click OK. 12 Issue another bbmd read command to verify that the .bdt file was written correctly. To set up BBMDs using the BBMD Configuration Tool Before you begin, do the following: ○ Set up the IP address, subnet mask, default gateway, and network numbers for the WebCTRL® server and each Automated Logic® controller on the IP network. See Setting custom TCP/IP addresses. ○ Go to http://accounts.automatedlogic.com. On the Support tab, select Download. Under Engineering and Startup Tools, select Utilities > BBMD Configuration Tool. Follow the instructions. 1 2 Make a list of the IP addresses for every controller that will function as a BBMD in your system. CAUTION Multiple BBMD's on an IP subnet disrupt BACnet communications. Define only one BBMD on either side of each IP router in your system. In Notepad, type the list putting each IP address on a separate line. (Maximum of 50 IP addresses per .bdt file) NOTE If you must communicate with a third-party router that does not use the BACnet/IP port 47808 (0xbac0), you must include the hexadecimal port number in the IP address. For example, 172.168.23.67:0xe78a BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 29 © 2015 Automated Logic Corporation All rights reserved 3 4 5 Save the file in the webroot\<system_name> folder with a .bdt extension instead of .txt. Open the BBMD Configuration Tool. In the LGE/LGRM-E IP Address or Host Name field, type the IP address of an Automated Logic® controller that functions as the BBMD (BACnet Broadcast Management Device) for its subnet. 6 To check if the controller has an existing BBMD table, click the Broadcast Distribution Table Read button. 7 If the Broadcast Distribution Table contains IP addresses that are not in your .bdt file, add them to your .bdt file. 8 Verify that the same controller IP address is still in the LGE/LGRM-E IP Address or Host Name field. 9 Click the Broadcast Distribution Table Browse button, then select the .bdt file that you made in step 2. 10 Click the Broadcast Distribution Table Write button. 11 Click Read again to verify that the new .bdt file was written to the Automated Logic® controller. 12 Repeat steps 5 through 11 for each Automated Logic® controller that will function as a BBMD in your system. BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 30 © 2015 Automated Logic Corporation All rights reserved Document revision history Important changes to this document are listed below. Minor changes such as typographical or formatting errors are not listed. Date Topic Change description Code* 10/9/15 Download the BACnet driver Added Driver name to path on download page A-D 4/28/15 Entire document New look, no content changes A-D * For internal use only BACnet Integration Guide Rev. 10/9/2015 ALC Proprietary and Confidential 31 © 2015 Automated Logic Corporation All rights reserved