(Optional) Setting up BACnet (Release 3.1)
BACnet Router and Server Configuration is available with SmartServer 2.5 and higher.
For SmartServer 3.2 and higher, see (Optional) Add a BACnet Interface.
You can use the SmartServer as a BACnet server, BACnet client, and a BACnet router. Using the SmartServer BACnet Server, you can access the SmartServer from a BACnet workstation and other BACnet client applications. Using the SmartServer BACnet Client, you can interface with BACnet/IP and BACnet/MS-TP devices and interact with those devices using the SmartServer CMS and other IAP client applications. An external BACnet/IP to BACnet/MS-TP router is required for any BACnet/MS-TP devices. Using the SmartServer BACnet Router, you can route BACnet communication between one or more BACnet FT channels and up to two BACnet/IP over Ethernet channels. With the BACnet Router, you can interact with BACnet FT devices using a BACnet workstation and other BACnet client applications on one of the Ethernet channels.
This section covers the following topics:
Enabling BACnet
You can enable and disable BACnet support in the SmartServer. If you enable BACnet support, you can optionally enable or disable a BACnet diagnostic port and you can configure the IP interfaces used for BACnet. The diagnostic port can be used by BACnet diagnostic tools to monitor BACnet status. To enable the BACnet Server, BACnet Client, and BACnet Router, follow these steps:
Open the SmartServer Configuration page as described in Configure Your SmartServer.
Click the BACnet tab.
If there is no checkmark in the Enable BACnet Client, Router, and Server box, click the box so the checkmark appears.
Click the Enable BACnet Diagnostic Port box to enable or disable the diagnostic port (this option was added in SmartServer 2.6).
Set a unique UDP port number and BACnet network number for each interface listed in the interface table. In the above example, the three interfaces are configured to use BAC0, BAC1, and BAC2 as the UDP port numbers and to use network numbers 112, 111, and 113. You can change these numbers to any value within the ranges listed in the heading with the exception that you cannot assign the same port number or the same network number to two different interfaces.
Click the Update button.
Configuring the BACnet Server
You can use the SmartServer BACnet Server to provide a BACnet interface to datapoints on field devices you have provisioned with the SmartServer. You can also use the SmartServer BACnet Server to provide an interface to intrinsic reporting for the BACnet objects configured in the server. In addition, you can use the BACnet Server to interface with the IAP scheduler and calendar using BACnet Scheduler and BACnet Calendar objects. You can access the interfaces published by the BACnet server to interact with your field devices from a BACnet workstation or other BACnet client.
Using the SmartServer BACnet Server, you can provide a BACnet interface to any field devices available on your SmartServer, independent of the protocols used to communicate with the devices. As a result, you can provide a BACnet interface to LON, Modbus, and IOX devices that you have provisioned on your SmartServer. You can also provide a customized BACnet interface to BACnet devices that you have provisioned on your SmartServer.
The BACnet Server automatically creates BACnet Scheduler and BACnet Calendar objects for any schedules defined by IAP applications or the CMS Calendar widget. To provide a BACnet interface to any devices available on your SmartServer you must define the mapping of the datapoint XIF names for a device interface defined on your SmartServer to BACnet objects to be published by your SmartServer. You can define a BACnet mapping to any datapoint for a device using any protocol supported by the SmartServer. To create a BACnet type mapping definition for a device interface, create a BACnet type mapping file for the interface as described in the next section. You can create BACnet type maps for multiple device interfaces by creating a BACnet type mapping file for each.
Creating a BACnet Type Map (BTM) File
The name of the BACnet Type Map file, without the .BTM extension, specifies the name of the device interface (XIF) to be mapped. For example, BACnet type map files named 6kEvbMultiSensor.btm and Ocean Controls KTA-275 RTU.btm define type maps for the 6kEvbMultiSensor and Ocean Controls KTA-275 RTU device interface (XIF) definitions. The file extension for a BACnet type map must be .btm. You cannot use a compound extension such as .btm.csv.
A BACnet type map file has the following three sections.
A file type specification that identifies the file as a BACnet type map.
A product details section that specifies the version and XIF name (repeated from the filename) for the BACnet type map.
A datapoint list that specifies the XIF datapoints to be mapped to the BACnet Server. The first line of the datapoint list is a header with column headings for a datapoint list.
The following figure illustrates the top portion of a BACnet type map file.
|
The following sections describe the BACnet type map file sections:
File Type Specification
The file type specification for a BACnet type map file is the following:
|
If you open a CSV file with this line in Excel, it is displayed as two cells, one with #filetype and one with bacnet_type_map.
XIF Details
The XIF details identify the device interface (XIF) mapped by the mapping file. The XIF details specification has the following contents:
|
If you open a CSV file with these lines in Excel, each line is displayed as two cells.
Specify the details as follows:
<Version> – (optional) version of the mapped device interface (XIF).
<Product Name> – (required) the device interface (XIF) name–this must be the same as the file name without the extension.
Following is an example XIF details specification for a 6K EVB MultiSensor:
|
Following is an example XIF details specification for an Ocean Controls KTA-275:
|
Datapoint List
The datapoint list that specifies the XIF datapoints for the mapped device interface (XIF). The first line of the datapoint list is a header with column headings for a XIF datapoint list. Following is an example datapoint list with a single XIF datapoint defined:
|
The following table describes the column contents for the datapoint list:
Parameter | Required / Optional | Description |
|---|---|---|
Block Type | Required | The block XIF name for the block containing the mapped datapoint as defined by the XIF definition. |
Block Handle | Required | The block XIF index for the block containing the mapped datapoint as defined by the XIF definition. The block index is 0 for the first block of a given type. |
Point Name | Required | The datapoint XIF name for the datapoint to be mapped as defined by the XIF definition. |
bacnet_type | Required | The BACnet object type to be published for the mapped datapoint by the BACnet Server. The supported BACnet object types are AI, AO, AV, BI, BO, BV, MSI, MSO, and MSV. LON and Modbus inputs are considered BACnet outputs (AO, BO, MSO). LON and Modbus outputs are considered BACnet inputs (AI, BI, MSI). |
Instance | Required | The BACnet object instance number to be published for the BACnet object by the BACnet Server. |
Name | Required | The BACnet object name property to be published for the BACnet object by the BACnet Server. |
Description | Optional | The BACnet object description property to be published for the BACnet object by the BACnet Server. |
Units | Optional | The BACnet units property to be published for the BACnet object by the BACnet Server. Leave as blank ( ,, ) for BI, BO, BV, MSI, MSO, MSV BACnet objects. A value is optional for AI, AO, and AV BACnet objects. BACnet unit values are listed in the BACnet Units lists below. |
SNVT Field | Required | The field name for a field within the mapped datapoint. Set to value for scalar datapoints. Set to the datapoint field name for structured datapoints. |
Type Definition | Optional | The IAP type for the XIF datapoint. This parameter can be used to supply an IAP type definition for a multi-state BACnet object (MSI, MSO, or MSV). If an enumeration type is supplied for a multi-state datapoint, the SmartServer translates BACnet numeric state values to the corresponding state text names defined in the IAP type definition. BACnet state values of 1 to 126 are mapped to IAP enumeration values of 1 to 126. BACnet state values greater than 126 are mapped to IAP enumeration values of 127 + <BACnet state value>. For example, BACnet state value 127 maps to IAP enumeration value 0 and BACnet state value 126 maps to IAP enumeration value -1. The SmartServer BACnet Server maps the IAP enumeration text names to BACnet state text properties using the IAP enumeration value as an index into the IAP enumeration definition. |
BACnet Units
square-meterssquare-feetmilliamperesamperesohmsvoltskilovoltsmegavoltsvolt-ampereskilovolt-amperesmegavolt-amperesvolt-amperes-reactivekilovolt-amperes-reactivemegavolt-amperes-reactivedegrees-phasepower-factorjouleskilojouleswatt-hourskilowatt-hoursbtusthermston-hoursjoules-per-kilogram-dry-airbtus-per-pound-dry-aircycles-per-hourcycles-per-minutehertzgrams-of-water-per-kilogram-dry-airpercent-relative-humiditymillimetersmetersinchesfeetwatts-per-square-footwatts-per-square-meterlumensluxesfoot-candleskilogramspounds-masstonskilograms-per-secondkilograms-per-minutekilograms-per-hourpounds-mass-per-minutepounds-mass-per-hourwattskilowattsmegawattsbtus-per-hourhorsepowertons-refrigerationpascalskilopascalsbarspounds-force-per-square-inchcentimeters-of-waterinches-of-watermillimeters-of-mercurycentimeters-of-mercuryinches-of-mercurydegrees-celsiusdegrees-kelvindegrees-fahrenheitdegree-days-celsiusdegree-days-fahrenheityearsmonthsweeksdayshoursminutessecondsmeters-per-secondkilometers-per-hourfeet-per-secondfeet-per-minutemiles-per-hourcubic-feetcubic-metersimperial-gallonslitersus-gallonscubic-feet-per-minutecubic-meters-per-secondimperial-gallons-per-minuteliters-per-secondliters-per-minuteus-gallons-per-minutedegrees-angulardegrees-celsius-per-hourdegrees-celsius-per-minutedegrees-fahrenheit-per-hourdegrees-fahrenheit-per-minuteno-unitsparts-per-millionparts-per-billionpercentpercent-per-secondper-minuteper-secondpsi-per-degree-fahrenheitradiansrevolutions-per-minutecurrency1currency2currency3currency4currency5currency6currency7currency8currency9currency10square-inchessquare-centimetersbtus_per-poundcentimeterspounds-mass-per-seconddelta-degrees-fahrenheitdelta-degrees-kelvinkilohmsmegohmsmillivoltskilojoules-per-kilogrammegajoulesjoules-per-degree-kelvinjoules-per-kilogram-degree-kelvinkilohertzmegahertzper-hourmilliwattshectopascalsmillibarscubic-meters-per-hourliters-per-hourkilowatt-hours-per-square-meterkilowatt-hours-per-square-footmegajoules-per-square-metermegajoules-per-square-footcubic-feet-per-secondwatts-per-square-meter-degree-kelvinpercent-obscuration-per-footpercent-obscuration-per-metermilliohmsmegawatt-hourskilo-btusmega-btuskilojoules-per-kilogram-dry-airmegajoules-per-kilogram-dry-airkilojoules-per-degree-Kelvinmegajoules-per-degree-Kelvinnewtongrams-per-secondgrams-per-minutetons-per-hourkilo-btus-per-hourhundredths-secondsmillisecondsnewton-metersmillimeters-per-secondmillimeters-per-minutemeters-per-minutemeters-per-hourcubic-meters-per-minutemeters-per-second-per-secondamperes-per-meteramperes-per-square-meterampere-square-metersfaradshenrysohm-meterssiemenssiemens-per-meterteslasvolts-per-degree-Kelvinvolts-per-meterweberscandelascandelas-per-square-meterdegrees-Kelvin-per-hourdegrees-Kelvin-per-minutejoule-secondsradians-per-secondsquare-meters-per-Newtonkilograms-per-cubic-meternewton-secondsnewtons-per-meterwatts-per-meter-per-degree-Kelvin
BACnet Units #if ( BACNET_PROTOCOL_REVISION >= 17 )
per-millegrams-per-gramkilograms-per-kilogramgrams-per-kilogrammilligrams-per-grammilligrams-per-kilogramgrams-per-millilitergrams-per-litermilligrams-per-litermicrograms-per-litergrams-per-cubic-metermilligrams-per-cubic-metermicrograms-per-cubic-meternanograms-per-cubic-metergrams-per-cubic-centimeterbecquerelsmegabecquerelsgraymilligraymicrograysievertsmillisievertsmicrosievertsmicrosieverts-per-hourdecibels-anephelometric-turbidity-unitpHgrams-per-square-meterminutes-per-degree-kelvinohm-meter-squared-per-meterampere-secondsvolt-ampere-hourskilovolt-ampere-hoursmegavolt-ampere-hoursvolt-ampere-hours-reactivekilovolt-ampere-hours-reactivemegavolt-ampere-hours-reactivevolt-square-hoursampere-square-hoursjoule-per-hourscubic-feet-per-daycubic-meters-per-daywatt-hours-per-cubic-meterjoules-per-cubic-metermole-percentpascal-secondsmillion-standard-cubic-feet-per-minutestandard-cubic-feet-per-daymillion-standard-cubic-feet-per-daythousand-cubic-feet-per-daythousand-standard-cubic-feet-per-daypounds-mass-per-daymilliremsmillirems-per-hour
BACnet Type Map (BTM) File Examples
Example 1 – 6kEvbMultiSensor
Following is an example BACnet type map file for a LON 6kEvbMultiSensor example.
|
Example 2 – Ocean Controls KTA-275 RTU
Following is an example BACnet type map file for a Modbus Ocean Controls KTA-275 RTU.
|
Configuring the BACnet Client
You can use the SmartServer BACnet Client to interface with BACnet/IP and BACnet/MS-TP devices and interact with those devices using the SmartServer CMS and other IAP client applications. An external BACnet/IP to BACnet/MS-TP router is required to communicate with any BACnet/MS-TP devices. See (Optional) Add a BACnet Interface in SmartServer Getting Started for a description of the procedures to define, discover, and provision BACnet devices.
Configuring the BACnet Router
You can use the SmartServer BACnet Router to interact with BACnet FT devices using a BACnet workstation and other BACnet client applications on one of the Ethernet channels. BACnet FT devices communicate on a free topology (FT) twisted pair channel using the BACnet/IP protocol with a LON/IP transport. BACnet FT devices typically also have a LON FT interface. If your BACnet FT devices also have a LON FT interface, the procedure that you use to configure the BACnet Router depends on the LON management mode you are using. The two LON management modes are LON device management mode (DMM) and LON independent management mode (IMM). For LON DMM, your LON network is managed by the SmartServer. For LON IMM, your LON network is management by another tool such as the IzoT Commissioning Tool (CT). The next two sections describe the procedures for using the BACnet Router with LON DMM and LON IMM.
Using the BACnet Router with LON Device Management Mode (DMM)
You can use the SmartServer BACnet Router to interface a BACnet workstation or other BACnet client application with BACnet FT devices managed using LON DMM. When using LON DMM, you can use either or both of the SmartServer Ethernet interfaces, but you can only use the BACnet Router with one FT interface.
To configure BACnet Routing for LON DMM, follow these steps:
Enable BACnet as described in EnablingBACnet. Add a port and network number for one or both of your Ethernet interfaces and one of your LON interfaces if not specified.
Open the SmartServer Configuration page as described in Configure Your SmartServer. Click the BACnet tab. Clear the Overrride Standard (10.<domain>.<subnet>.<node>) option inLON/IP Class A Network and then click the Update button.
Reboot you SmartServer as described in Rebooting Your SmartServer IoT.
Define your BACnet FT device type as described in Defining Device Types.
Create your BACnet FT device as described in Discovering, Defining, or Importing Devices.
Provision your BACnet FT device as described in Provisioning, Deprovisioning, and Replacing Devices.
The BACnet Router and your BACnet FT device will now be visible to BACnet/IP workstations or browsers. For example, a BACnet router and a BACnet FT device will appear as follows in the BACnet browser:
Specifying a LON Domain for LON DMM
LON IP address allocations must be unique within an intranet for LON DMM. To provision a system to use a specific domain, follow the steps below.
Open the SmartServer console as described in the section Connecting to Your SmartServer (serial or SSH) as the apollo user.
Enter the following command:
sudo nano /etc/supervisor/conf.d/echltx.conf