User Guide Babel Buster 2 Model BB2-7030 BACnet Gateway and Router Rev. 1.
User Guide Babel Buster 2 Model BB2-7030 BACnet Gateway and Router Rev. 1.0 – September 2010 IMPORTANT SAFETY CONSIDERATIONS: Proper system design is required for reliable and safe operation of distributed control systems incorporating Babel Buster series gateways and other such devices. It is extremely important for the user and system designer to consider the effects of loss of power, loss of communications, and failure of components in the design of any monitoring or control application.
Contents 1. Introduction ..................................................................................................................................................... 1 2. Connecting the BB2-7030 for the First Time .................................................................................................. 3 3. Minimum BB2-7030 Gateway/Router Setup .................................................................................................. 6 4. Using the BB2-7030 as a BACnet Router .....
1. Introduction The Babel Buster BB2-7030 is a BACnet gateway and router. It may be used as either or both, in various ways for different applications. In its simplest form as a router, it will route a single MS/TP network to a single BACnet IP network. It may be used as a router to interconnect multiple BACnet MS/TP via IP networks. It may even be used to traverse NAT routers on a WAN connection to connect distant buildings via Internet.
The BB2-7030 may also be used as a gateway to connect BACnet MS/TP or BACnet IP to either Modbus TCP or SNMP. There are two variations of the BB2-7030. The BB2-7030-01 may be used as a gateway to connect BACnet MS/TP or BACnet IP to Modbus TCP. The connection of BACnet IP to Modbus TCP is also accomplished by the BB27010-01, but only the BB2-7030-01 can connect BACnet MS/TP to Modbus TCP. The BB2-7030-02 may be used as a gateway to connect BACnet MS/TP or BACnet IP to SNMP.
2. Connecting the BB27030 for the First Time (a) Connect power. Apply +12 to +24VDC or 24VAC to the terminal marked “POWER”, and common or ground the the terminal marked “GND”. (b) Connect a CAT5 cable between the RJ-45 jack on the top and your network switch or hub. You cannot connect directly to your PC unless you use a “crossover” cable. (c) Apply power. A blue LED inside the case should light indicating power is present.
(e) Open your browser, and enter “http://10.0.0.101/” in the address window. You should see a page with the “Babel Buster BB2-7030” header shown above. From this point, you will find help on each page in the web site contained within the product. (f) When you click on any of the page tabs such as System Setup, you will be asked for a user name and password. The default login is user name “system” with password “admin”. You can also log in as “root” using password “buster”.
(h) Most changes are stored in an XML configuration file in the device’s Flash file system. Only a few are stored differently, and the IP address is one of those. Normally, clicking Update on any configuration page only stores that configuration information to a temporary RAM copy of the configuration file. To make your changes other than IP address permanent, you must click Save on the Config File page (System :: Setup :: Config File). BB2-7030 User Guide – Rev. 1.
3. Minimum BB27030 Gateway/Router Setup The BB2-7030 requires only minimal configuration to be useful in its simplest form. First, you must assign a device instance to the BB2-7030, and you do this via the BACnet IP Port page. You may leave all other settings at their default. You could leave the device instance at its default as well. The only real requirement is that you do not duplicate device instances.
● Network numbers MUST NOT be duplicated anywhere else on the network. Duplicated network numbers on two or more routers will result in erratic operation of the network that can be difficult to diagnose. Duplicated network numbers means two physically disconnected networks have been assigned the same network number. ● The IP and MS/TP network numbers MUST be different.
The primary use of hop count is to force packets on the network to be discarded faster, particularly in the event of router misconfiguration that results in a continuous loop. BB2-7030 User Guide – Rev. 1.
4. Using the BB27030 as a BACnet Router You do not actually need to do more than the minimum configuration mentioned above. If the BACnet Router :: Remote Networks :: Configured page is left blank, the BB2-7030 will use Who-Is-Router messages to “learn” the network. You have the option of pre-configuring the router. This will save a little bit of time when the router first boots up, but will normally not impact performance overall.
It should also be noted that if some external BACnet network management tool sends a router table initialize message to this device, the entire page shown here will be replaced. After a delay of a few minutes, the new contents of this page will be auto-saved to the XML configuration file for subsequent reload. Thus, the router portion of this BB2-7030 may be remotely managed.
The networks listed as “Connected” in the diagram are the locally connected network numbers. The remaining networks are router table entries. Each entry tells the local router which network the given net number will be found on. BB2-7030 User Guide – Rev. 1.
5. Using the BB27030 as a BACnet Server The BB2-7030 contains a set of BACnet objects whose only purpose is to store copies of data obtained from other devices. This copy of data may then be queried by different devices, or written to different devices by the BB2-7030 client functions. The collection of objects includes Analog, Binary, and Multi-State types of objects, and includes Input, (commandable) Output, and (writeable) Value types of each of those objects.
The source of data for an Analog Input object will be reading an object in another BACnet device, or receiving of data from a Modbus (or SNMP) device. The device link will point to a BACnet client read map or a Modbus (or SNMP) client read map. Out of Service means any polling of the slave device will stop. While out of service, the present value may be written by the BACnet client.
81: Faulty packet 82: BACnet IP client, device timeout 83: BACnet IP client, error returned by server 84: SNMP client, no response from agent 85: SNMP client, unable to parse data 86: SNMP client, reply does not match request Status flags A,B,C,D indicate the following, 0 meaning not true, 1 meaning true: A = in alarm B = fault C = overridden D = out of service Device link will indicate BAC or TCP, followed by R for read or W for write, and a number which is the rule number in the table of read or write rul
The Analog Output object is commandable, meaning the BACnet client must write both a value and a priority level for that value. The highest level value will be the one written to the external device. If all values are relinquished, the relinquish default value will be written to the external device. To set an output object manually from this page, check the Force box, enter a value in the Present Value window, and select a priority level to assign to your forced value. Then click Update.
6. Using the BB27030 as a BACnet Client The BACnet client is used to query other BACnet devices, obtain their Present Value data, and store a copy of that data in the BB2-7030’s own local objects. From there, the data may be accessed by Modbus TCP or SNMP devices, or other BACnet devices when application specific reasons make this approach more preferred than direct routing.
the 'No Who-Is' box. If located on a remote network via a router, enter the network number as DNet. This static entry effectively replies to the implied Who-Is. To use a fixed static address, enter a single number for MS/TP MAC address. or an IP address optionally including port number. An example of IP address with port number would be 192.168.1.99:47808. The 47808 is the port number, and is separated from the IP address by a colon. Note that 47808 is the default 0xBAC0 port number.
Local Object is internally a coded number consisting of BACnet object type multiplied by 1000, then added to the object number starting from #1. These are translated into abbreviations that are easy to interpret on the web page as follows: AI n = Analog Input #n AO n = Analog Output #n AV n = Analog Value #n BI n = Binary Input #n BO n = Binary Output #n BV n = Binary Value #n MI n = Multi-state Input #n MO n = Multi-state Output #n MV n = Multi-state Value #n Object numbers start at #1.
When the remote object is read, data may be manipulated before being written to the local object. The value will be multiplied by the scale factor, then the offset is added. The final result is written to the local object number given. The name is optional and used only for display purposes. The periodic poll time determines how often the remote object will be read. This number, if nonzero, will override the default poll time given in the Devices page for the remote device being read.
Maps entered on this page only write data to remote devices. Go to the Client Read Map to read data from those devices. The full parameter set is different for read versus write. An abbreviated version of a list of maps is shown on this page. Any of the parameters shown may be changed here and registered by clicking the Update button. To view and/or modify the complete set of parameters, click on the map number in the left most column.
Rule number simply tells you where you're at on the list of object maps. Click "next" and "prev" to scroll through the list. To advance directly to a specific map, enter the desired number in the "Map #" box, then click Update. The local object data may be written periodically, or when it changes, or both. To send upon change (send on delta), check the first box and enter the amount by which the local object must change before being written to the remote device.
necessary to use Insert to add maps to the bottom of the list or to define any map presently having zero for a source object or "none" for remote type. Selecting "none" for remote type effectively deletes the map even though it will still appear in the list until deleted. Unused maps at the end of the list will always show none as the type. If you wish to prevent these from being displayed, reduce the number of maps enabled.
25 = ERROR_CODE_OPERATIONAL_PROBLEM /* Error Class - Object */ 4 = ERROR_CODE_DYNAMIC_CREATION_NOT_SUPPORTED 17 = ERROR_CODE_NO_OBJECTS_OF_SPECIFIED_TYPE 23 = ERROR_CODE_OBJECT_DELETION_NOT_PERMITTED 24 = ERROR_CODE_OBJECT_IDENTIFIER_ALREADY_EXISTS 27 = ERROR_CODE_READ_ACCESS_DENIED 31 = ERROR_CODE_UNKNOWN_OBJECT 36 = ERROR_CODE_UNSUPPORTED_OBJECT_TYPE /* Error Class - Property */ 8 = ERROR_CODE_INCONSISTENT_SELECTION_CRITERION 9 = ERROR_CODE_INVALID_DATA_TYPE 32 = ERROR_CODE_UNKNOWN_PROPERTY 37 = ERROR_COD
29 = ERROR_CODE_SERVICE_REQUEST_DENIED 43 = ERROR_CODE_COV_SUBSCRIPTION_FAILED 46 = ERROR_CODE_INVALID_CONFIGURATION_DATA 48 = ERROR_CODE_DUPLICATE_NAME 49 = ERROR_CODE_DUPLICATE_OBJECT_ID BB2-7030 User Guide – Rev. 1.
7. Using the BB27030 as an MS/TP to BACnet IP gateway The difference between router and gateway for connecting MS/TP to BACnet IP is this: When using the router, you address device instances other than the router itself. When using the gateway, you address the gateway itself (the BB2-7030), reading and writing the objects found in the gateway. There are several options for how the data got there. The point is that as a gateway, you address the BB2-7030’s device instance.
8. Configuring the BB2703001 as a Modbus TCP Server The term “server” is often used to describe the Modbus TCP version of a Modbus slave. A server will provide data when a client asks for it. The concept of master/slave is less significant in Modbus TCP because any TCP device can be both master and slave at the same time, and there can be multiple “masters” on the network. That is in contrast with Modbus RTU where there can be only one master and multiple slaves, and each device must be one or the other.
You may access any BACnet object as a Modbus register using the above register number calculations. You also have the option of creating a “virtual Modbus device” using the server map. Furthermore, you have the option of using Modicon notation (40001 for holding register 1, etc) to create your virtual device. You set this map up on the Server Map page under Modbus TCP Setup. IMPORTANT: The definition of Input versus Output object is from the perspective of the BACnet network.
field processing takes place if the bit field is set to zero. Bit fields apply to 16-bit integer or unsigned integer server registers only. The name is optional and is used for display purposes only. Delete will remove the rule number shown in the "Showing" box. Insert will insert a new rule before the rule number shown, and is used for placing rules between existing rules.
To use Modicon mapping, you must check the Use Modicon box, and also check User Map Enabled. It is also highly recommended that you check the Map is Exclusive box when using Modicon mapping. Remember to go to the Config File page and save your changes. The values of Modbus registers that have been created by the virtual server mapping are displayed on this page. These are the values that a remote client would see.
9. Configuring the BB2703001 as a Modbus TCP Client The BB2-7030-01 can be a Modbus client or server. As a client (master) you can read Modbus data from, or write Modbus data to, other Modbus servers (slaves). The BB2-7030 will periodically poll the other Modbus devices according to register maps you set up. The Modbus server (slave) devices that you will read/write are defined on the Devices page. To read from a remote Modbus device, configure a Read Map.
register first for double and float. If the low order register comes first on the device being accessed, check the "swapped" box. If you have "swapped" turned around, you will quickly recognize it. If floating point data is reversed, a 1.0 becomes 2.2779508e-41, which simply rounds to zero. The pattern is not as predictable as the 1.0 example would suggest. A floating point 1.1 becomes negative 107609184. If 32-bit integer data is reversed, 1 becomes 65536.
An abbreviated version of a list of rules is shown on this page. Any of the parameters shown may be changed here and registered by clicking the Update button. To view and/or modify the complete set of parameters, click on the map number in the left most column. For each remote register to be read, enter the register type, format, number, and location (device). The names in the device list are defined in the Devices page.
Rule number simply tells you where you're at on the list of register maps. Click "next" and "prev" to scroll through the list. To advance directly to a specific map, enter the desired number in the "Map #" box, then click Update. For each remote register to be read, enter the register type, format, number, and location (device). The names in the device list are defined in the Devices page. When the remote register is read, data may be manipulated before being written to the local object.
Selecting "none" for remote type effectively deletes the rule even though it will still appear in the list until deleted. Unused rules at the end of the list will always show none as the type. If you wish to prevent these from being displayed, reduce the number of rules enabled. Initial COV increment and period will only apply if a BACnet client subscribes to COV notification from the BACnet object assigned to this Modbus map. These properties may be overwritten by the BACnet client(s) at any time.
An abbreviated version of a list of rules is shown on this page. Any of the parameters shown may be changed here and registered by clicking the Update button. To view and/or modify the complete set of parameters, click on the map number in the left most column. Data from the local object given will be multiplied by the scale factor before being written. For each remote register to be written, enter the register type, format, number, and location (device).
Rule number simply tells you where you're at on the list of register maps. Click "next" and "prev" to scroll through the list. To advance directly to a specific map, enter the desired number in the "Map #" box, then click Update. The local object data may be written periodically, or when it changes, or both. To send upon change (send on delta), check the first box and enter the amount by which the local object must change before being written to the remote device.
the results of all qualifying rules will be OR-ed together before being sent to the remote destination. For the remote register to be written, enter the register type, format, number, and location (device). The names in the device list are defined in the Devices page. The repeat time may determine how often the remote register will be written. If send on delta and maximum quiet time are not checked above, clicking the "at least" button will establish a periodic update time.
The first occurrence of read and write errors are shown along with the map number that was being processed when the error occurred. Check the reset box and click update to clear it and possibly show the next error if there are more than one active error conditions. A total count of all errors is also shown. This total is the sum of errors for all maps for this device. Check the reset box and click update to reset the counts. Click Update to view the most recent data values.
10. Using the BB2703001 as a BACnet to Modbus TCP Gateway The possible reasons for using the BB2-7030 as a BACnet to Modbus TCP gateway are fairly obvious: Either you want to access BACnet devices from Modbus TCP, or you want to access Modbus TCP devices from BACnet. The BB2-7030 allows you to access Modbus TCP from either MS/TP or BACnet IP, and vice versa. Configuration begins with determining what the source of data is.
11. Using the BB2703002 as an SNMP Server (Agent) The BB2-7030-02 can act as an SNMP agent or server. You select which BACnet objects are to show up in the MIB, and the MIB is created dynamically as you fill out the list of objects. Once the MIB is created, any standard v1 or v2 SNMP manager can access the data. Integer data is most universally recognized by SNMP. Floating point support is available in the BB2-7030; however, floating point is not standardized and you should test compatibility.
For each local object to be accessed by the remote SNMP Client, enter the local object number and scale factor. The local data and object name will be shown for reference. The data returned to the remote SNMP client will be the indicated local value multiplied by the scale factor, then truncated to integer. Enter an object number, then click Update to add the mapping to the list. Objects are not immediately available when entered in the list above.
OID number simply tells you where you're at on the list of the local SNMP Agent's OID maps. Click "next" and "prev" to scroll through the list. To advance directly to a specific map, enter the desired number in the "Showing" box, then click Update. You cannot proceed to a trap rule for an OID that has not been defined on the Local MIB page. Select a comparison or test, and click the button for your choice of what the local register should be compared to. Then enter either the fixed value for threshold.
Traps generated by this device will be sent to port 162 on each IP address listed above. The name, location, and contact listed above may be retrieved by the remote SNMP client. The local community is the name that must be used by the remote SNMP client to write to this device. The name "public" is accepted for reading. BB2-7030 User Guide – Rev. 1.
12. Using the BB2703002 as an SNMP Client (Manager) The BB2-7030 has the ability to be an SNMP client. In “master/slave” terms, this would be the master. Configuring the SNMP client starts with defining one or more SNMP devices that will be queried. Then, like the other possible client functions in the BB2-7030, you set up read and write maps. A “read map” will use SNMP Get to query the device, and a “write map” will use SNMP Set to write to the device.
97 = Connection aborted 98 = Connection reset by peer 103 = Connection timed out 104 = Connection refused 107 = Host is unreachable Rule number simply tells you where you're at on the list of OID maps. Click "next" and "prev" to scroll through the list. To advance directly to a specific map, enter the desired number in the "Showing" box, then click Update. Rules entered on this page only read data from remote devices. Go to the Client Write Map to write data to those devices.
AI n = Analog Input #n AO n = Analog Output #n AV n = Analog Value #n BI n = Binary Input #n BO n = Binary Output #n BV n = Binary Value #n MI n = Multi-state Input #n MO n = Multi-state Output #n MV n = Multi-state Value #n Object numbers start at #1. The maximum available number varies by object type, and these limits may be found on the System Capacities link from the home/index page (click graphic at top). Rule number simply tells you where you're at on the list of OID maps.
The periodic poll time determines how often the remote OID will be read. This number, if nonzero, will override the default poll time given in the Devices page for the remote device being read. The default value will be stored into the local object after the given number of read failures if the fail count is non-zero. Setting the count to zero will disable the default, and the object will retain the most recent value obtained. Delete will remove the rule number shown in the "Map #" box.
Rule number simply tells you where you're at on the list of OID maps. Click "next" and "prev" to scroll through the list. To advance directly to a specific map, enter the desired number in the "Showing" box, then click Update. Rules entered on this page only write data to remote devices. Go to the Client Read Map to read data from those devices. The full parameter set is different for read versus write. An abbreviated version of a list of rules is shown on this page.
AI n = Analog Input #n AO n = Analog Output #n AV n = Analog Value #n BI n = Binary Input #n BO n = Binary Output #n BV n = Binary Value #n MI n = Multi-state Input #n MO n = Multi-state Output #n MV n = Multi-state Value #n Object numbers start at #1. The maximum available number varies by object type, and these limits may be found on the System Capacities link from the home/index page (click graphic at top). Rule number simply tells you where you're at on the list of OID maps.
Data from the local object may be manipulated before being written to the remote OID. The local data is first multiplied by the scale factor. The offset is then added to it. The data is then sent to the remote SNMP agent. Enter the full OID to be written, the SNMP ASN data type to be written (select from list), and the location (device). The names in the device list are defined in the Devices page. Important note about data type: SNMP does not have a universally accepted representation for floating point.
The number of rules enabled simply limits the scope of rule review so that you do not have to review a lot of unused rules. If the displayed rules are used up and you need more, increase the enabled number. Errors for SNMP client read maps are shown on this page. Only those maps with errors to report are listed. Refer to the code and class lists below for interpretation.
13. Using the BB2703002 as a BACnet to SNMP Gateway The possible reasons for using the BB2-7030 as a BACnet to SNMP gateway are fairly obvious: Either you want to access BACnet devices from SNMP, or you want to access SNMP devices from BACnet. The BB2-7030 allows you to access SNMP from either MS/TP or BACnet IP, and vice versa. Configuration begins with determining what the source of data is. If the source of data is BACnet devices, then start by configuring the BACnet client.
14. Using the BB27030 Proxy Support This page allows you to provide Who-Is support (dynamic address binding) for devices that do not natively support that feature. The BB2-7030 will respond with an I-Am message on behalf of the device(s) listed above when a Who-Is is received. Traffic subsequently received from the above devices will be routed as applicable. Therefore the BB2-7030 can be a proxy for a BACnet IP device responding to a Who-Is from an MS/TP device, and vice versa.
The local device name is not used on the network. It is simply present to aid in documenting the proxies. Note: The device object properties related to slave proxy support are NOT included in the BB27030 device object. The slave proxy properties specified for the device object are not sufficiently complete to support configuration of the above table, nor does the traditional slave proxy support anything other than MS/TP.
15. Using the BB27030 BBMD Support and WAN Routing If you will be using BBMD, the port, time-to-live, and IP address of the remote BBMD must be given. The local BBMD will attempt to register with the remote BBMD whose address is given. Disable BBMD by setting time to live to zero (do this if not familiar with BBMD - this feature is only used in very large networks, and there should be only one BBMD enabled on any given subnet).
It important that only one device on an IP subnet be configured for BBMD. It is also important that all but one device be configured to register with the one device in the middle, and that the device in the middle is not configured to register with another BBMD. If you do allow a BBMD device to both register and receive foreign registrations (registrations from other BBMD devices), it will be important to set the hop counts low because broadcast messages will echo back and forth repeatedly.
The screen shot below shows port forwarding set up for BACnet coming in from WAN to our BACnet BBMD device at 192.168.1.100. Additional configuration of the LAN and WAN are required – simply follow manufacturer’s instructions. The following screen shot shows the VPN setup page in a DIR-130 DLink VPN router. The local and remote domains must be different, even though they are “local” at each respective end.
BB2-7030 User Guide – Rev. 1.
The following is an illustration of a BACnet network distributed over a wide area via standard Internet connection. It uses WAN routers (either with or without secure VPN) and BBMD enabled on one device at each location. BB2-7030 User Guide – Rev. 1.
16. Miscellaneous System Setup Certain parameters such as device IP address are stored in a special area of configuration memory. Most configuration parameters are stored in an XML configuration file found in the device’s Flash file system. When you make changes, you are usually only changing the temporary copy in RAM. To make your changes permanent (i.e. survive the next power cycle), you must go to the Config File page and click Save. If you save your configuration to some file other than BootConfig.
Click "View" to look at the selected file. It should be an XML file, and your browser will recognize it as such if properly formatted. Click "Delete" to remove a file from the local file directory. Click "Browse" to select a file for upload from your PC. Once selected, then click "Upload" to complete the process. Check "Confirm" and click "Restart" to re-boot the system. This will not cycle power to the hardware, but will reboot the processor as if power had been cycled.
17. Hardware Guide Wire the BB2-7030 as illustrated above. Follow all conventional standards for wiring of EIA-485 networks when connecting the MS/TP EIA-485 (RS485) network. This includes use and termination of shield, termination of the network, and grounding. IMPORTANT: Although EIA-485 (RS485) is thought of as a 2-wire network, you MUST include a third conductor connected to GND or common at each device so that all devices are operating at close to the same ground potential.
MS/TP Data (Dev Data) MS/TP Bus (Dev Status) BACnet IP Data (Bus Data) BACnet IP Bus (Bus Status) Ethernet Activity Ethernet Link Status Flashes green each time the MS/TP token is passed, and also flashes yellow when the BB2-7030 polls for a master. Flashes green when a packet is sent or received and the packet is data other than token pass or poll for master. Flashes yellow when a packet is received addressed to this device (or broadcast), or when a packet is sent by BB2-7030.
18. Trouble Shooting Connection problems between the BB2-7030 and other devices when using any of the Client features of the BB2-7030 will be indicated by reliability codes for each local object mapped to a remote device. Check these codes against the legend at the bottom of the object data pages. Modbus devices will return exception codes if the request was received by the Modbus device but rejected because a register number was out of range, etc. Check the message counts.
19. BACnet Object Properties 19.1 Data Object Properties (Analog, Binary, Multi-state) The following properties are found in the Analog, Binary, and Multi-state types of Input, Output, and Value objects. Some properties apply only to certain object types as noted where applicable.
Reliability (103) BACnetReliability ENUMERATED: normal(0) Vendor specific: no response (64) crc error (65) exception, illegal function code (66) exception, illegal data address (67) exception, illegal data value (68) exception, code+65, rarely used (69..
Object_Name (77) CharacterString Object_Type (79) BACnetObjectType System_Status (112) BACnetDeviceStatus Vendor_Name (121) CharacterString Vendor_Identifier (120) Unsigned16 (should always return 208) Model_Name (70) CharacterString Fimrware_Revision (44) CharacterString Application_Software_Version (12) CharacterString Protocol_Version (98) Unsigned Protocol_Revision (139) Unsigned Protocol_Services_Supported (97) BACnetServicesSupported Protocol_Object_Types_Supported (96) Object_List
20. Modbus Slave Register Mapping 20.1 Using the BB2-7030 as a Modbus TCP Slave The Modbus registers are pre-defined and fixed unless using the Server Map to create a ‘virtual device’. The BACnet objects found in the BB2-7030 are simply assigned Modbus addresses to make their present value accessible to Modbus. You can assign register number ‘aliases’ in the Server Map page, and also have the option of using Modicon notation.
would not normally be possible, for example -99 to indicate room temperature if the BB2-7030 is unable to read the MS/TP sensor. 20.3 Modbus Function Codes Recognized by BB2-7030 The following function codes are used by BB2-7030 as Modbus TCP master, and are also recognized by BB2-7030 when functioning as a slave.