Bacnet IP Manual
Bacnet IP Manual
Bacnet IP Manual
Table of Contents
Table of Contents 2
BACnet/IP Driver 5
Overview 5
Channel Setup 6
Network Settings 6
Foreign Device 6
Advanced Settings 8
Device Discovery 9
Device Setup 11
Supported Objects and Services 12
APDU Settings 13
Command Settings 13
COV Settings 15
Event Notification Settings 16
Event-Related Properties 17
Add Object Instances 17
Supported Object Types for Event Notifications 18
CSV Import / Export 18
Tag Import Settings 20
Discovery 23
Address Descriptions 39
Addressing Examples 40
BACnet/IP Objects 40
Accumulator 41
Analog Input 43
Analog Output 44
Analog Value 45
Averaging 47
Binary Input 48
Binary Output 49
Binary Value 50
Calendar 52
Command 52
Device 53
Event Enrollment 54
File 55
www. kepware.com
BACnet/IP Driver 3
Group 56
Life Safety Point 57
Life Safety Zone 58
Loop 60
Multi-State Input 61
Multi-State Output 62
Multi-State Value 64
Notification Class 65
Program 66
Schedule 67
Trend Log 68
DateList String Format 70
ExceptionSchedule String Format 71
Prescale String Format 73
Scale String Format 73
WeeklySchedule String Format 74
VBA Scripts for String Parsing and Construction 77
VBA Scripts Usage Example 97
Error Descriptions 99
Abort Reasons 99
Reject Reasons 99
Error Classes and Codes 99
Error Messages 101
Address <address> is out of range for the specified device or register. 102
Connection failed - could not read max APDU length from remote device <device>. 102
Connection failed - could not read protocol services supported from remote device <device>. 102
Connection failed - could not read segmentation supported from remote device <device>. 103
Connection failed - could not register as foreign device for discovery of remote device <device>. 103
Connection failed - did not get I-Am from remote device <device>. 103
COV subscription failed for tag <tag> on device <device> (Class: <class>, Code:). 104
CSV import failure for notification object identifier list on device <device>: <reason>. 104
Data type <type> is not valid for device address <address>. 104
Device <device> is not responding. 104
Device address <address> contains a syntax error. 105
Device address <address> is not supported by model <model name>. 105
Device address <address> is read only. 105
Error parsing write data for tag <tag name> on device <device>. Data does not match DateList
format. 106
Error parsing write data for tag <tag name> on device <device>. Data does not match
ExceptionSchedule format. 106
Error parsing write data for tag <tag name> on device <device>. Data does not match Prescale
format. 106
Error parsing write data for tag <tag name> on device <device>. Data does not match Scale format. 107
Error parsing write data for tag <tag name> on device <device>. Data does not match
WeeklySchedule format. 107
www. kepware.com
4 BACnet/IP Driver
Error reading object list from device <device> (Class: <class>, Code: <code>). 107
Error reading property list from device <device>, Object type: <type>, instance: <instance>
(Class: <class>, Code: <code>). 108
Error reading segmentation support from remote device <Device Name>. Segmentation will not be
supported. 108
Error reading tag <tag> on device <device> (Class: <class>, Code: <code>). 109
Error writing tag <tag> on device <device> (Class: <class>, Code: <code>). 109
Failed to initialize BACnet client for device <channel.device>. Possible duplicate device ID. 110
Imported tag database may be incomplete due to communication error. 110
Imported tag database may be incomplete. Could not discover device. 110
Missing address. 110
No data for device instance <instance> found in import file. 110
Polling COV item <tag> on device <device>. 111
Request aborted by device <device>. 111
Request rejected by device <device>. 111
Tag generation complete - no objects found on device <device>. 112
Tag import terminated. Could not parse file record <line number>. 112
Unable to bind to local address (IP: xxx.xxx.xxx.xxx, Port: x). 112
Unable to generate a tag database for device <device>. 113
Unable to write to <address> on device <device>. 113
Winsock initialization failed (OS Error = n). 113
Winsock V1.1 or higher must be installed to use the BACnet/IP Driver. 113
Index 117
www. kepware.com
5 BACnet/IP Driver
BACnet/IP Driver
Help version 1.069
CONTENTS
Overview
What is the BACnet/IP Driver?
Channel Setup
How do I configure channels for use with this driver?
Device Setup
How do I configure a specific device to work with this driver?
Address Descriptions
How do I address a data location on a BACnet/IP device?
Error Descriptions
What error messages does the BACnet/IP Driver produce?
PIC Statement
What error messages does the BACnet/IP Driver produce?
Overview
The BACnet/IP Driver provides a reliable way to connect BACnet/IP devices to OPC Client applications, including
HMI, SCADA, Historian, MES, ERP, and countless custom applications. It provides connectivity to equipment
using the BACnet protocol over Ethernet (which is often referred to as "BACnet" or "Annex J").
BACnet Resources
The official BACnet specification, ANSI/ASHRAE Standard 135-2012 BACnet A Data Communication Protocol for
Building Automation and Control Networks, describes all aspects of the BACnet protocol. It is recommended that
users be familiar with the standard BACnet objects and properties discussed in Clause 12 of the specification.
Users should also be familiar with the particulars of BACnet/IP outlined in Annex J of the specification. The
specification document is available along with many other useful resources through the American Society of
Heating, Refrigerating and Air-Conditioning Engineers, Inc. (ASHRAE) or the official BACnet website
www.bacnet.org.
www. kepware.com
BACnet/IP Driver 6
Channel Setup
For more information on configuring a channel in the BACnet/IP Driver, select a link from the list below.
Network Settings
Foreign Device
Advanced Settings
Device Discovery
Network Settings
The network settings are common to all devices on a channel.
l UDP Port: This parameter specifies the local UDP port that the driver will bind to for all communications
on the channel. It is also the remote port to which all messages sent to devices on this channel will be
addressed. The default setting is 47808 (0xBAC0).
Note: Typically, all BACnet/IP devices on an Ethernet network use the same port.
l Local Network Number: This parameter specifies the local BACnet/IP network number on which the
driver will be located. It should be set to the same network number as the local devices. The local network
number may range from 1 to 65534. The default setting is 1.
l Local Device Instance: This parameter specifies the local BACnet/IP device instance number. Each
device on a BACnet internetwork is uniquely identified by its network number and device object instance.
This local device number is returned in an “I-Am” service response to a “Who-Is” service request. The
valid range is 0 to 4194302. The default setting is 0.
Note: Do not duplicate numbers across the network.
Foreign Device
A foreign device is a BACnet/IP device (or software application) that resides on an IP subnet that is not part of a
BACnet/IP network. BACnet/IP subnets are considered part of a larger BACnet/IP network if both directed and
broadcasted messages can be forwarded to and from the other subnets by IP routers and BACnet Broadcast
Management Devices (BBMD).
A foreign device may need to take special measures to discover devices on a BACnet network. For example, if the
broadcast Who-Is/I-Am messages normally used for discovery will not be forwarded to and from the foreign
device's subnet, the foreign device must work directly with a BBMD on the remote network to discover devices.
The foreign device will send broadcast Who-Is messages for the BBMD to then broadcast throughout its BACnet
network. I-Am messages broadcasted on the BACnet network will be forwarded back to the foreign device if it has
registered with the BBMD.
A channel using this driver becomes a foreign device if the selected network interface is not connected to a
BACnet/IP subnet. The settings on the channel's Foreign Device must be set to permit the discovery of devices on
(or accessible from) a remote BACnet/IP network.
Note: If none of the devices configured on the channel will be using the driver's Device Discovery feature, ignore
the Foreign Device settings.
www. kepware.com
7 BACnet/IP Driver
l Foreign Device: When checked, this parameter will enable the Device Discovery functionality. This box
should be checked if the channel is not connected to a BACnet/IP subnet.
l IP Address of Remote BBMD: This parameter specifies the IP address of the remote BBMD with which
the driver will work during Device Discovery.
l Registration Time to Live (Sec): This parameter specifies the length of time the BBMD should forward
broadcast messages to the driver. The driver only requires an active registration during Device
Discovery, and will automatically renew the registration as needed. Users should specify a time long
enough for the driver to discover all configured devices (to eliminate the need for renewals and optimize
startup performance). A few seconds is generally sufficient unless import on startup is enabled or
discovery timeouts are anticipated. Very long times should be avoided to reduce the load on the driver and
BBMD after discovery is complete. The valid range is 10 to 3600 seconds. The default setting is 60.
Note: For more information, refer to Connection Timeout under Device Setup.
www. kepware.com
BACnet/IP Driver 8
Advanced Settings
l Allow COV notifications with empty NPDU: When checked, this parameter allows COV notifications
to be processed from a BACnet device on a different BACnet network (whose NPDUs do not contain the
source address). The default setting is unchecked.
Note: This setting is not commonly used, and may decrease performance on BACnet networks with many
COV notifications and/or broadcast requests.
www. kepware.com
9 BACnet/IP Driver
Device Discovery
This channel-level dialog is used to specify parameters for locating devices on the network. Once devices are
found, they may be added to the channel. The maximum number of devices that can be discovered at once is
65535. For more information on device discovery, refer to the server help file.
Discovery Settings
l Timeout: This parameter specifies the length of time that the driver waits for all "I-Am" responses to the
initial "Who-Is" discovery request. It is also used to timeout non-responsive devices when requesting
device names. The default setting is 3 seconds.
l Discovery Scope: This parameter controls how the driver broadcasts "Who-Is" messages. It can also be
used to limit the list of devices discovered. Options include Local, Global, Remote, and Direct. The default
setting is Local. Descriptions of the options are as follows:
l Local: When selected, "Who-Is" messages are broadcast over the local Ethernet subnet. Devices
on remote Ethernet subnets cannot see these messages. BACnet gateways visible from local
subnets can forward these messages to non-BACnet/IP subnets.
l Global: When selected, "Who-Is" messages are broadcast over the entire Ethernet network.
Devices on remote Ethernet subnets see these messages unless network routers are configured
to block broadcasts between subnets. In this case, a BBMD must be placed on each Ethernet
subnet to forward broadcast BACnet messages.
l Remote: When selected, "Who-Is" messages are sent with the global broadcast IP
255.255.255.255, but contain information so that BACnet routers and BBMDs forward them to a
single destination network. The destination BACnet network is given in the Remote Network ID.
l Direct: When selected, "Who-Is" messages are sent directly to the IP address specified in the
Direct IP field.
l Remote Network ID: This parameter specifies the remote Network ID to be used for remote discovery
scope. The default setting is disabled. When enabled, the default value is 1.
l Direct IP: This parameter specifies the IP address to be used for direct discovery scope.
l Min. Device ID: This parameter specifies the lower range for device discovery. It is used to reduce the
number of discovered devices. The valid range is 0 to 4191302. The default setting is 0.
Note: The specified value must be lower than the Max. Device ID.
www. kepware.com
BACnet/IP Driver 10
l Max. Device ID: This parameter specifies the upper range for device discovery. It is used to reduce the
number of discovered devices. The valid range is Min Device ID +1 to 4194303. The default setting is
4194303.
Note: The specified value must be higher than the Min. Device ID.
www. kepware.com
11 BACnet/IP Driver
Device Setup
Supported Devices
The BACnet/IP Driver can be used successfully with devices that use the BACnet protocol, are visible on an
Ethernet network, and support the objects, properties, and services supported by this driver. For more
information, refer to the Protocol Implementation Conformance Statement (PICS) that is available from the
hardware vendor. Conformance data for this driver is provided in Supported Objects and Services.
Communications Protocol
BACnet/IP (Annex J)
Connection Timeout
For this driver, a connection is the process of verifying the presence of a BACnet/IP device on the network and
successfully reading some basic communications parameters from its device object. This is accomplished by
sending a "Who-Is" service request, and then processing the "I-Am" response. Since UDP is used, this does not
involve the actual creation of a socket connection. The connection timeout setting is the amount of time that the
driver will wait for the I-Am response. If an I-Am message is not received during this time, the driver will assume
the local communications settings. Communication with the device may still be possible if the Who-Is/I-Am
exchange fails. The valid range is 1 to 30 seconds. The default setting is 3 seconds. For more information, refer
to APDU Settings.
Request Timeout
This parameter specifies the time that the driver will wait for an expected response from the device before
retrying or going on to the next request. The valid range is 100 to 9999 milliseconds. The default setting is 1000
milliseconds.
Retry Attempts
This parameter specifies the number of times that the driver will retry a confirmed request before giving up. The
valid range is 1 to 10. The default setting is 3 retries.
Device ID
Each device on a BACnet inter-network is uniquely identified by its network number and device object instance.
The Device ID has the form <network number>.<device instance>. For example, to communicate with device
100 on network 1, users would enter "1.100". The network number may range from 1 to 65534 and the device
instance may range from 0 to 4194303. The IP address of the device or BACnet gateway/router device is
discovered on communications startup by a Who-Is/I-Am exchange and is transparent to the user.
Note: Although each device on a channel must have a unique Device ID, users may address the same device from
separate channels. If a device is configured with the same Device ID as another device already on that channel, a
message box similar to the one shown below will be displayed. For more information, refer to Configuring
Multiple Channels.
If an invalid Device ID is written to the "_DeviceId" device System Tag, this message will not be received. Such
configuration changes will cause communications with that device to fail.
www. kepware.com
BACnet/IP Driver 12
Supported Objects
Supported Services
BACnet Service BIBB* Initiate Execute
Who-Is DM-DDB-A X
DM-DDB-B X
I-Am DM-DDB-A X
DM-DDB-B X
ReadProperty DS-RP-A X
DS-RP-B X
ReadPropertyMultiple DS-RPM-A X
DS-RPM-B X
WriteProperty DS-WP-A X
WritePropertyMultiple DS-WPM-A X
SubscribeCOV DS-COV-A X
SubscribeCOVProperty DS-COVP-A X
ConfirmedCOVNotification DS-COV-A X
UnconfirmedCOVNotification DS-COV-A X
ConfirmedEventNotification AE-N-A X
Supported Event Types:
l Change-of-state
l Change-of-value
l Command-failure
l Out-of-range
l Unsigned-range
UnconfirmedEventNotification AE-N-A X
Supported Event Types:
l Change-of-state
l Change-of-value
l Command-failure
l Out-of-range
l Unsigned-range
*Note: The BACnet Interoperability Building Block (BIBB) describes the services supported by a BACnet/IP
device or application. For more information, refer to Annex K of the BACnet specification.
Segmentation Support
The BACnet/IP Driver supports both segmented requests and segmented responses. Both requests and
responses support window sizes between 1 and 127 bytes.
www. kepware.com
13 BACnet/IP Driver
APDU Settings
The Application Protocol Data Unit (APDU) settings affect message segmentation. These limits will be imposed by
the driver, not the target device. Lower values will automatically be used if so constrained by the target device. It
is generally beneficial to send messages using the largest frame and the fewest segments possible. In most
cases, the default settings are acceptable.
l Maximum number of segments accepted: Although the driver is not limited in the number of
response message segments it can handle, it must specify a limit when making requests. Options include
2, 4, 8, 16, 32, 64, Unlimited, and Unspecified. The default setting is Unspecified.
l Maximum segment window size accepted: This parameter specifies the number of message
segments that can be sent before a segment acknowledge message must be returned by the receiving
party. The sender proposes a window size, and the receiver determines the actual size (which will be no
larger than the proposed size). The driver uses this setting as the proposed window size for requests,
and as the actual window size limit for responses from the device. Larger settings will likely increase
performance on a reliable network, though smaller settings will allow communications problems to be
detected earlier and corrected with fewer segments being resent. The valid range is 1 to 127.
l Maximum APDU length accepted: This parameter specifies the overall length or number of bytes of
message segments that the driver will accept. The largest value is generally the best choice. The driver
will attempt to read the maximum APDU length allowed by the target device on startup, and will use the
smallest of the local or remote limits when sending requests. A smaller setting may be needed to
accommodate the limitations of hardware between the driver and target device. The driver will not
attempt to determine the framing limits of intermediate network devices such as routers and gateways.
Options include 50, 128, 206 (fits LonTalk frame), 480 (fits ARCNET frame), 1024, and 1476 (fits ISO
8803-3 frame). The default setting is 1476 bytes, which is the largest length allowed for BACnet/IP.
l Maximum number of items per request: This parameter limits the number of items that can be
packed into read property multiple and write property multiple service requests. The actual number of
items packed into a request can vary depending on how many items are due for reads or writes at a given
time. Generally, the higher the value, the better the performance. For large requests or responses,
however, performance gain may be diminished by message segmentation. Unfortunately, there are no
general rules for determining the optimum setting. To refine a particular application, users should
experiment with this setting. Devices that do not support read property multiple or write property
multiple services should be set to 1. The valid range is 1 to 16. The default setting is 16.
Command Settings
BACnet/IP devices prioritize write requests to certain properties of commandable objects according to a
command priority. Once a write to a commandable property has been executed, the sending application acquires
command over that property. Write requests from other applications using a lower priority are not be executed
until the commanding application relinquishes command over the property. Writes from applications using a
higher priority are executed and command is transferred to the higher-priority application.
www. kepware.com
BACnet/IP Driver 14
Control of a supported standard commandable present value property can be relinquished by writing to the
PresentValueRel tag. The PresentValueRel tag with present value address and RELINQUISH modifier is created for
supported standard commandable objects on automatic tag generation.
This driver supports device-level and object-level prioritization for supported standard commandable objects.
Device-level priority is set in the Device Properties. Object-level priority can be set for a supported standard
commandable object by writing to its PresentValuePriority tag. The PresentValuePriority tag with present value
address and PRIORITY modifier is created for supported standard commandable objects on automatic tag
generation. For more information on creating special tags, refer to Address Descriptions.
Command Priority
This setting specifies the priority level of write commands to the device. The priority level can range from 1
(highest) to 16 (lowest). The default setting is 8. The following priority levels have accepted uses as outlined in
the BACnet specification:
Note: Devices may implement additional commandable properties. For more information, refer to the hardware's
PICS statement.
www. kepware.com
15 BACnet/IP Driver
COV Settings
BACnet allows applications to subscribe to change of value (COV) event notification for many properties. When
COV notifications are used, the BACnet/IP Driver does not have to continuously poll the device for the current
value of these properties. This reduces network traffic and the communications processing load. This driver can
be configured to utilize this capability on a per-device level. For more information, refer to COV Notifications.
COV Mode
This setting tells the driver to subscribe to COV notifications for all properties that have implicit and explicit COV
support. Descriptions of the parameters are as follows:
l Use Unconfirmed COV: When selected, this option specifies that the driver will receive COV
notifications from the device. The device will not expect acknowledgment of those notifications. The
default setting is checked.
l Use SPID of 0 (select devices only): When checked, this parameter sets the Subscriber Process
Identifier (SPID) for all COV items to 0. When unchecked, a unique SPID will be used for each
subscription. The default setting is unchecked. It is only available for Use Unconfirmed COV mode.
Note: ALC devices consider all subscriptions with an SPID of 0 to be one subscription.
Important: This option does not follow the ASHRAE Standard, and should only be used by select devices.
For information on whether a specific device supports this option, refer to the device manufacturer.
l Use Confirmed COV: When selected, the driver will receive COV notifications and will acknowledge each
one.
l Do Not Use COV: When selected, all of the device properties will be polled even if the COV address
modifier is present.
Driver Shutdown
Descriptions of the parameters are as follows:
l Cancel COV Subscriptions: When selected, the driver will send messages to the device on driver
shutdown to cancel each of its COV subscriptions. Although this may slightly delay the driver's shutdown,
it can be important if the device has limited resources for subscriptions (and if the subscription lifetime is
long or permanent). The default setting is enabled.
l Await COV Cancellation ACKs: When selected, this option will cancel subscriptions one at a time. It
will wait for the device to reply with an acknowledgment before canceling the next subscription. It also
prevents the Runtime from shutting down until all COV subscriptions have been canceled. This option is
only available when Cancel COV subscriptions is enabled. It may be helpful for a device that cannot
www. kepware.com
BACnet/IP Driver 16
Note: In large projects, this option may appear to hang the Runtime. The Runtime will recover once all
subscriptions have been canceled.
Notes:
1. If a COV subscription request fails for any reason, the driver polls the device for the associated
properties. A message is be placed in the server Event Log indicating when this occurs.
2. Synchronous and asynchronous reads on properties that are configured to rely on COV notifications
always read from the cache updated by COV notifications. No direct communication with the device occurs
as the result of a synchronous or asynchronous read.
l Enable Event Notifications: This setting notifies the driver that some objects are configured with
event reporting, which sends confirmed and/or unconfirmed event notification service requests for
condition changes. When checked, polling no longer occurs on the event-related properties of the
object instances listed in this property window because these properties are updated by the event
notifications. The default setting is unchecked.
l Object Instances to Receive Notifications: Object instances in this list should be configured with
www. kepware.com
17 BACnet/IP Driver
Note: Synchronous and asynchronous reads on event-related properties always read from the cache updated by
event notifications. No direct communication with the device occurs for those properties as a result of
synchronous or asynchronous reads.
Caution: When Enable Event Notifications is checked and an object instance is in the list, polling does not
occur for that object’s event-related properties. To receive updates for those tags after the initial read, event
reporting must be properly configured in both the physical device and the BACnet/IP Driver. Confirm the tags are
updated when events occur to prove the device is configured to send event notifications for that object instance.
If the BACnet/IP Driver is expected to receive confirmed event notifications, the Channel Local Device Number or
IP Address must be correctly added as a recipient for the event in a Notification Class of the device, otherwise the
device may broadcast those notifications. While the BACnet/IP Driver does respond to confirmed event
notifications with a Simple-ACK, the device may not accept a response to confirmed event notifications that it has
broadcast.
See Also:
Optimizing BACnet Communications
CSV Import/Export
Event-Related Properties
EventTimeStamps, EventState, StatusFlags, and whatever the Monitored Value Parameter is for the object are
referred to as the event-related properties. Within an object, the Monitored Value Parameter is monitored for
conditions that trigger notifications. For most objects, the Monitored Value Parameter is PresentValue. However,
the Accumulator object Monitored Value Parameter is PulseRate.
Intrinsic Reporting
The EventTimeStamps, EventState, StatusFlags, and Monitored Value Parameter event-related properties
all belong to the event-initiating object reported in the event notification from an intrinsically configured
event.
Algorithmic Reporting
The EventState and EventTimeStamps event-related properties belong to the event-initiating Event
Enrollment object reported in the event notification from an algorithmically configured event. The
StatusFlags and Monitored Value Parameter event-related properties belong to the object instance
configured as the Event Enrollment object instance Object Property Reference.
www. kepware.com
BACnet/IP Driver 18
l Object Type: Select the BACnet object type of the object identifier that is configured with intrinsic or
algorithmic event reporting or is configured as the object property referenced in an event enrollment
object. The default selection is AnalogInput.
l Instance Number: Specify the instance of the object identifier that is configured with event reporting.
The default instance number is 0. The valid range is 0 – 4194302.
l Object Identifier: This read-only parameter displays the BACnet object identifier comprised of the
configured BACnet object type and instance number, as defined in the BACnet specification.
See Also:
Supported Object Types for Event Notifications
0 - Analog-input
1 - Analog-output
2 - Analog-value
3 - Binary-input
4 - Binary-output
5 - Binary-value
9 - Event-enrollment
13 - Multi-state-input
14 - Multi-state-output
19 - Multi-state-value
23 - Accumulator
Creating a Template
The easiest way to create and import a CSV file is to create a template.
1. To start, click the Add button to add at least one object instance to the Object Instances to Receive
Notifications list.
www. kepware.com
19 BACnet/IP Driver
2. Next, click Export to generate the CSV file with the correct headers and object instance information.
3. Use this template in a spreadsheet application that supports CSV files and then modify the file as desired
by adding, removing, or changing the object instance information.
Note: The resulting CSV file saved to disk and may be re-imported into the server as long as it conforms to the
CSV file format expected. See the CSV File Format below for more information on the structure of this file.
1. To export a CSV file of the configured Object Instances to Receive Notifications list, click on the Export
button in the property page. This brings up a dialog to save the file to disk.
2. Enter a name for the CSV file and choose a known location on disk to save the file.
3. Click Save.
1. To import a list of the object instances that are configured with event reporting, click on the Import button
on the property page. This brings up a dialog box to specify the CSV file to import.
2. After locating the file, click Open. If the contents of the file are in the correct format, the existing Object
Instances to Receive Notifications list is completely replaced with the new list. If the contents of the file
are not correctly formatted, an error message indicating the issue is posted and the list is not replaced.
Note: Duplicate Object Type, Object Instance entries in a CSV file are ignored. Blank lines and lines that begin
with a semi-colon (;) are ignored during the import and can be used for clarity and commenting in the file. See
the CSV File Format for more information on the structure of this file.
l ObjectType: This references the type of event-reporting object the user has configured in the BACnet
device. The format of the object type string for the notification list should not include any dash
characters. For example, instance 100 of the analog input should be represented in the CSV file as
“AnalogInput, 100”. The object type strings are not case sensitive. Valid object types are those listed
under Supported Objects Types for Event Notifications.
l ObjectInstance: The instance number for the event-reporting object defined in the device. Valid object
instances range from 0 to 4194302, inclusively.
; The list should include only those object instances that are configured for
event reporting.
; Polling on the event-related property tags no longer occurs for objects in
this list.
; The object type must be in the Supported Object Types for Event Notifications
list.
; The range for the object instance is 0 – 4194302 inclusive.
; These are the objects that have event reporting configured.
; This next line is the header and is required.
ObjectType, ObjectInstance
BinaryInput, 5000
www. kepware.com
BACnet/IP Driver 20
BinaryInput, 5001
BinaryInput, 5002
AnalogOutput, 8123
MultistateInput, 2045
AnalogInput, 1
See Also:
Event Notification Settings
Optimizing BACnet Communications
Note: The Database Creation settings control when the automatic tag database generation occurs. For more
information, refer to the server's help documentation.
3. Select the desired Tag Import Options, and then click Apply.
4. Return to the Database Creation tab and click Auto Create to generate tags for the selected device
immediately. For this to succeed, the device must be online and network visible to the driver.
Note: Tags must be generated for each device individually using this method. If there is large number of devices
or if the configuration of the devices changes, users should specify one of the Generate on startup options on
the Database Creation tab.
1. Select Device to import tags from the device. The device must be online (and network visible to
the driver) at the time of import.
www. kepware.com
21 BACnet/IP Driver
2. Select Cimetrics OPC Server CSV export file to import tags exported to a CSV file from the
Cimetrics OPC Server. Although export files may contain data for multiple devices, the driver will
only import data for this device.
l Import file: This parameter is used to specify the import file's path and file name. To browse for the
import file, click on the Browse button (...).
Note: This parameter will be disabled if Device is the chosen the import method.
l Select Objects: When clicked, this button will invoke the Tag Import Objects dialog.
l Filter Optional Properties: When left at the default unchecked setting, the driver will generate tags for
all the supported properties imported. This could result in a very large number of tags, many of which
may not be needed. To reduce the number of tags that are generated, check Filter Optional Properties
to generate tags for properties that are required by the BACnet specification only. Required properties are
those with conformance code R (readable) or W (writable). Tags for non-standard properties and
properties with conformance code O (optional) will not be generated.
l Create Tags as Read/Write If Allowed: Tags will be generated with read-only access for properties
with a conformance code of R, or with Read/Write access if the conformance code is W. The default
access for properties with a conformance code of O depends on the nature of the data. Some BACnet/IP
devices allow writes to properties that are described as Read Only in the BACnet specification. The BACnet
specification does not specifically forbid this for most properties. All tags may be generated with full
Read/Write access to accommodate these non-standard implementations. For more information, refer to
Address Descriptions.
Note: This parameter will be disabled if Cimetrics OPC Server CSV Export File has been selected as
the import method, because the access level will be given in the file.
l Use Object Names for Tag Group Names: New tag groups will be given the name of the
corresponding BACnet object. If the object name is not defined or is not unique, the driver will assign a
default name to the group.
Note: This parameter will be disabled if Cimetrics OPC Server CSV Export File has been selected as
the import method, because the name was not given in the file.
www. kepware.com
BACnet/IP Driver 22
l Import Objects: The driver supports most properties of all of the standard BACnet object types. Select
the object types for the driver to generate tags. The basic I/O object types are selected by default.
l Select All: When clicked, this button will automatically check all of the boxes. It does no harm to check
an object type that does not exist in the device at the time of tag import.
l Clear: When clicked, this button will uncheck all of the selected boxes.
www. kepware.com
23 BACnet/IP Driver
Discovery
The device ID (set under the General tab in Device Properties) is sufficient to uniquely identify a device on a
BACnet network. This driver requires additional information to establish communication with a device; such as IP
address of the device or router, framing constraints, and the BACnet MAC (Medium Access Control) address of
the device. The Discovery tab of Device Properties controls how the driver obtains the necessary communication
parameters.
l Discovery Scope: controls how the driver broadcasts Who-Is messages. Four options are available:
l Local: Who-Is messages are broadcast over the local Ethernet subnet. Devices on remote
Ethernet subnets cannot see these messages. BACnet gateways visible from a local subnet can
forward these messages to non-BACnet/IP subnets.
l Global: Who-Is messages are broadcast over the entire Ethernet network. Devices on remote
Ethernet subnets see these messages unless network routers have been configured to block
broadcasts between subnets. In this fairly common scenario, a BBMD must be placed on each
Ethernet subnet to forward broadcast BACnet messages.
l Remote: Who-Is messages are sent with the global broadcast IP (255.255.255.255), but contain
information for BACnet routers and BBMDs to forward them to a single destination network. The
destination BACnet network is set in the device ID.
l Direct: Who-Is messages are sent directly to a specified IP address. A BACnet gateway at the
specified IP address can forward these messages to non-BACnet/IP subnets.
l IP Address: defines the network nodes to which the driver sends messages and from which it accepts
responses. This is the IP address of the device if that device is on the local Ethernet network. If the
destination device is on a remote network, this setting must be the IP address of the local router through
which communications are conducted.
Manual Configuration
This option should be selected if the device does not support the I-Am and Who-Is services or if broadcasting
messages on the network is undesired.
l IP Address: defines the network nodes to which the driver sends messages and from which it accepts
responses. This is the IP address of the device if that device is on the local Ethernet network. If the
destination device is on a remote network, this setting must be the IP address of the local router through
which communications are conducted.
l Remote Data Link Technology: controls whether the driver automatically calculates the BACnet MAC
for a BACnet/IP device, or if the driver uses a hex string in BACnet MAC. If a device is on a remote subnet
that the uses a Data Link Technology that is not BACnet/IP (such as MS/TP, LonTalk, ARCNET); the BACnet
www. kepware.com
BACnet/IP Driver 24
MAC must be entered manually and the checkbox should be checked. The default setting is unchecked.
BACnet MAC: Although the driver communicates using the BACnet/IP protocol, it is possible to
communicate with devices using other Data Link Technologies (such as MS/TP, LonTalk, ARCNET) if
the driver is communicating through a gateway. In this case, the BACnet MAC of the underlying
device must be entered. The BACnet MAC is a hex string.
Example:
An MS/TP device is connected to a gateway. The MS/TP has an MAC listed in the web configuration
as 10. Since the web configuration displays the value in decimal, the value entered in "BACnet MAC"
should be "0a".
Note: If the Network Interface selected for the channel is not connected to a BACnet/IP network, configure the
channel to operate as a foreign device to discover devices. For more information, refer to Foreign Device.
See Also:
Configuring Multiple Channels
www. kepware.com
25 BACnet/IP Driver
www. kepware.com
BACnet/IP Driver 26
Selecting Default will allow the driver to use the operating system's normal bind order to set the NIC that will be
used. This is the recommended selection for a single channel BACnet/IP Driver project because it may be run on
another computer without modification. For clarity of the actual local IP usage, it is not recommended that Default
be selected in any of the channels in a multi-channel project.
Note: If a channel is configured with an IP and port combination that is already in use by another BACnet/IP
Driver on the channel, a message will be displayed that is similar to the image below.
This message will not be displayed if an invalid adapter selection is written to the "_NetworkAdapter" channel
System Tag; however, such configuration changes will cause communications with all devices on that channel to
fail.
2. Click the Network icon and then click on the Protocols tab.
www. kepware.com
27 BACnet/IP Driver
7. Click OK.
3. Click the Local Area Connection icon (or other icon associated with NIC of interest).
4. Click the Properties button and then select Internet Protocol (TCP/IP).
8. Click OK.
2. Next, click Control Panel | Network and Internet. Then, select the connection that will be changed.
3. Click Properties, and then provide the administrator password or confirmation (if prompted).
4. Click the Networking tab. Beneath This connection uses the following items, click Internet
Protocol Version 4 (TCP/IPv4).
5. Next, click Properties. Ensure that the connection is set to use an IP address by clicking Use the
following IP address.
6. Next, specify the IP address settings in the IP Address, Subnet Mask, and Default Gateway fields.
7. To add a second IP address click Advanced | IP Settings. Beneath IP Address, click Add. Then enter a
new IP address and subnet mask.
Multihoming Notes
2. Users can only multihome a network card that is configured to use static IP addresses.
3. Windows NT can be used to add up to five IP addresses for each NIC via the control panel. If more IP
addresses are required, add them to the registry manually. To browse, look under HEKY_LOCAL_
MACHINE\SYSTEM\CurrentControlSet\Services. Select the service associated with the adapter card
in question. Under the service, go to the Parameters\TCPIP subkey. Then add the IP addresses to
IPAddress. Edit SubnetMask and add an entry for each new IP address.
4. Windows XP does not impose a limit on the number of IP addresses that may be added via the control
panel.
5. Although there will be additional operating system overhead when running on a multihomed system, it
will typically be negligible when compared to the performance gained from the use of multiple channels.
www. kepware.com
BACnet/IP Driver 28
COV Notifications
BACnet provides for unsolicited Change Of Value (COV) reporting of critical properties. The advantage of COV is
that the driver does not have to continuously poll the device for these values. Depending on the application, this
can result in a significant reduction in network traffic as well as reducing the request processing load on the
device and driver.
COV Subscription
Before the driver can receive COV notifications for a particular property, it must first issue a COV subscription
request. If the subscription request succeeds, the driver will receive the initial value of the property and COV
notifications whenever necessary for as long as the subscription is in effect. The driver will re-subscribe as
needed. If a subscription attempt fails, the driver will issue a message to that effect in the server's Event Log.
Users may choose to configure the driver to begin polling that property if the subscription request fails. For
configuration details, refer to COV Settings.
COV Mode
COV notifications can be confirmed or unconfirmed. Confirmed notifications require the driver to acknowledge the
notification. Unconfirmed notifications are not acknowledged. The driver supports both modes of operations,
along with a COV disabled mode where all tags are polled.
Notes:
1. The BACnet SubscribeCOV service will be used for properties with implicit COV support. The BACnet
SubscribeCOVProperty service will be used for all other properties addressed with the COV address
modifier.
2. If a COV subscription request fails for any reason, the driver will poll the device for the associated
properties. A message will be placed in the server's Event Log indicating when this occurs.
www. kepware.com
29 BACnet/IP Driver
BACnetAction
Value Action
0 Direct
1 Reverse
www. kepware.com
BACnet/IP Driver 30
BACnetBackupState
Value Event Type
0 Idle
1 Preparing for backup
2 Preparing for restore
3 Performing a backup
4 Performing a restore
5 Backup failure
6 Restore failure
BACnetBinaryPV
Value Binary Present Value
0 Inactive
1 Active
BACnetDeviceStatus
Value Device Status
0 Operational
1 Operational-Read Only
2 Download-required
3 Download-in-progress
4 Non-operational
5 Backup-in-progress
BACnetEngineeringUnits
Acceleration
Value Unit
166 Meters-per-second-per-second
Area
Value Unit
0 Square-meters
1 Square-feet
115 Square-inches
116 Square-centimeters
Currency
Value Unit
105 Currency1
106 Currency2
107 Currency3
108 Currency4
109 Currency5
110 Currency6
111 Currency7
112 Currency8
113 Currency9
114 Currency10
Electrical
Value Unit
2 Milliamperes
3 Amperes
4 Ohms
5 Volts
www. kepware.com
31 BACnet/IP Driver
Value Unit
6 Kilo-volts
7 Mega-volts
8 Volt-amperes
9 Kilo-volt-amperes
10 Mega-volt-amperes
11 Volt-amperes-reactive
12 Kilo-volt-amperes-reactive
13 Mega-volt-amperes-reactive
14 Degrees-phase
15 Power-factor
122 Kilohms
123 Megohms
124 Millivolts
145 Milliohms
167 Amperes-per-meter
168 Amperes-per-square-meter
169 Ampere-square-meters
170 Farads
171 Henrys
172 Ohm-meters
173 Siemens
174 Siemens-per-meter
175 Teslas
176 Volts-per-degree-Kelvin
177 Volts-per-meter
178 Webers
Energy
Value Unit
16 Joules
17 Kilojoules
18 Watt-hours
19 Kilowatt-hours
20 BTUs
21 Therms
22 Ton-hours
125 Kilojoules-per-kilogram
126 Megajoules
146 Megawatt-hours
147 Kilo-BTUs
148 Mega-BTUs
Enthalpy
Value Unit
23 Joules-per-kilogram-dry-air
24 BTUs-per-pound-dry-air
117 BTUs-per-pound
149 Kilojoules-per-kilogram-dry-air
150 Megajoules-per-kilogram-dry-air
Entrophy
Value Unit
127 Joules-per-degree-Kelvin
128 Joules-per-kilogram-degree-Kelvin
151 Kilojoules-per-degree-Kelvin
www. kepware.com
BACnet/IP Driver 32
Value Unit
152 Megajoules-per-degree-Kelvin
Force
Value Unit
153 Newton
Frequency
Value Unit
25 Cycles-per-hour
26 Cycles-per-minute
27 Hertz
129 Kilohertz
130 Megahertz
131 Per-hour
Humidity
Value Unit
28 Grams-of-water-per-kilogram-dry-air
29 Percent-relative-humidity
Length
Value Unit
30 Millimeters
31 Meters
32 Inches
33 Feet
118 Centimeters
Light
Value Unit
34 Watts-per-square-foot
35 Watts-per-square-meter
36 Lumens
37 Luxes
38 Foot-candles
179 Candelas
180 Candelas-per-square-meter
Mass
Value Unit
39 Kilograms
40 Pounds-mass
41 Tons
Mass Flow
Value Unit
42 Kilograms-per-second
43 Kilograms-per-minute
44 Kilograms-per-hour
45 Pounds-mass-per-minute
46 Pounds-mass-per-hour
119 Pounds-mass-per-second
154 Grams-per-second
155 Grams-per-minute
156 Tons-per-hour
www. kepware.com
33 BACnet/IP Driver
Power
Value Unit
47 Watts
48 Kilowatts
49 Megawatts
50 BTUs-per-hour
51 Horsepower
52 Tons-refrigeration
132 Milliwatts
157 Kilo-BTUs-per-hour
Pressure
Value Unit
53 Pascals
54 Kilopascals
55 Bars
56 Pounds-force-per-square-inch
57 Centimeters-of-water
58 Inches-of-water
59 Millimeters-of-mercury
60 Centimeters-of-mercury
61 Inches-of-mercury
133 Hectopascals
134 Millibars
Temperature
Value Unit
62 Degrees-Celsius
63 Degrees-Kelvin
64 Degrees-Fahrenheit
65 Degree-days-Celsius
66 Degree-days-Fahrenheit
120 Delta-Degrees-Fahrenheit
121 Delta-Degrees-Kelvin
181 Kelvins-per-hour
182 Kelvins-per-minute
Time
Value Unit
67 Years
68 Months
69 Weeks
70 Days
71 Hours
72 Minutes
73 Seconds
158 Hundredths-seconds
159 Milliseconds
Torque
Value Unit
160 Newton-meters
Velocity
Value Unit
74 Meters-per-second
www. kepware.com
BACnet/IP Driver 34
Value Unit
75 Kilometers-per-hour
76 Feet-per-second
77 Feet-per-minute
78 Miles-per-hour
161 Millimeters-per-second
162 Millimeters-per-minute
163 Meters-per-minute
164 Meters-per-hour
Volume
Value Unit
79 Cubic-feet
80 Cubic-meters
81 Imperial-gallons
82 Liters
83 Us-gallons
Volumetric Flow
Value Unit
84 Cubic-feet-per-minute
85 Cubic-meters-per-second
86 Imperial-gallons-per-minute
87 Liters-per-second
88 Liters-per-minute
89 Us-gallons-per-minute
135 Cubic-meters-per-hour
136 Liters-per-hour
142 Cubic-feet-per-second
165 Cubic-meters-per-minute
Other
Value Unit
90 Degrees-angular
91 Degrees-Celsius-per-hour
92 Degrees-Celsius-per-minute
93 Degrees-Fahrenheit-per-hour
94 Degrees-Fahrenheit-per-minute
95 No-units
96 Parts-per-million
97 Parts-per-billion
98 Percent
99 Percent-per-second
100 Per-minute
101 Per-second
102 Psi-per-Degree-Fahrenheit
103 Radians
104 Revolutions-per-minute
137 Kilowatt-hours-per-square-meter
138 Kilowatt-hours-per-square-foot
139 Megajoules-per-square-meter
140 Megajoules-per-square-foot
141 Watts-per-square-meter-Degree-Kelvin
143 Percent-obscuration-per-foot
144 Percent-obscuration-per-meter
183 Joule-seconds
www. kepware.com
35 BACnet/IP Driver
Value Unit
185 Square-meters-per-Newton
186 Kilogram-per-cubic-meter
187 Newton-seconds
188 Newtons-per-meter
189 Watts-per-meter-per-degree-Kelvin
BACnetEventState
Value Event State
0 Normal
1 Fault
2 Off-normal
3 High-limit
4 Low-limit
5 Life-safety-alarm
BACnetEventType
Value Event Type
0 Change-of-bitstring
1 Change-of-state
2 Change-of-value
3 Command-failure
4 Floating-limit
5 Out-of-range
6 Complex-event-type
7 Deprecated
8 Change-of-life-safety
9 Extended
10 Buffer-ready
11 Unsigned-range
12 Reserved for future addenda
13 Access-event
14 Double-out-of-range
15 Signed-out-of-range
16 Unsigned-out-of-range
17 Change-of-characterstring
18 Change-of-status-flags
19 Change-of-reliability
20 None
BACnetFileAccessMethod
Value Access Method
0 Record-access
1 Stream-access
BACnetLifeSafetyMode
Value Life Safety Mode
0 Off
1 On
2 Test
3 Manned
4 Unmanned
5 Armed
6 Disarmed
7 Prearmed
www. kepware.com
BACnet/IP Driver 36
BACnetLifeSafetyOperation
Value Life Safety Operation
0 None
1 Silence
2 Silence-audible
3 Silence-visible
4 Reset
5 Reset-alarm
6 Reset-fault
7 Unsilence
8 Unsilence-audible
9 Unsilence-visual
BACnetLifeSafetyState
Value Life Safety State
0 Quiet
1 Pre-alarm
2 Alarm
3 Fault
4 Fault-pre-alarm
5 Fault-alarm
6 Not-ready
7 Active
8 Tamper
9 Test-alarm
10 Test-active
11 Test-fault
12 Test-fault-alarm
13 Holdup
14 Duress
15 Tamper-alarm
16 Abnormal
17 Emergency-power
18 Delayed
19 Blocked
20 Local-alarm
21 General-alarm
22 Supervisory
23 Test-supervisory
BACnetMaintenance
Value Maintenance
0 None
1 Periodic-test
2 Need-service-operational
3 Need-service-inoperative
www. kepware.com
37 BACnet/IP Driver
BACnetNotifyType
Value Notify Type
0 Alarm
1 Event
2 Ack-notification
BACnetObjectType
Value Object Type
0 Analog-input
1 Analog-output
2 Analog-value
3 Binary-input
4 Binary-output
5 Binary-value
6 Calendar
7 Command
8 Device
9 Event-enrollment
10 File
11 Group
12 Loop
13 Multi-state-input
14 Multi-state-output
15 Notification-class
16 Program
17 Schedule
18 Averaging
19 Multi-state-value
20 Trend-log
21 Life-safety-point
22 Life-safety-zone
23 Accumulator
BACnetPolarity
Value Polarity
0 Normal
1 Reverse
BACnetProgramError
Value Program Error
0 Normal
1 Load-failed
2 Internal
3 Program
4 Other
BACnetProgramRequest
Value Program Request
0 Ready
1 Load
2 Run
3 Halt
4 Restart
5 Unload
BACnetProgramState
www. kepware.com
BACnet/IP Driver 38
BACnetReliability
Value Reliability
0 No-fault-detected
1 No-sensor
2 Over-range
3 Under-range
4 Open-loop
5 Shorted-loop
6 No-output
7 Unreliable-other
8 Process-error
9 Multi-state-fault
10 Configuration-error
12 Communication-failure
13 Member-fault
14 Monitored-object-fault
15 Tripped
BACnetSegmentation
Value Segmentation
0 Segmented-both
1 Segmented-transmit
2 Segmented-receive
3 No-segmentation
BACnetSilencedState
Value Silenced State
0 Unsilenced
1 Audible-silenced
2 Visible-silenced
3 All-silenced
BACnetVTClass
Value VT Class
0 Default-terminal
1 ANSI-x3-64
2 Dec-vt52
3 Dec-vt100
4 Dec-vt220
5 Hp-700-94
6 IBM-3130
www. kepware.com
39 BACnet/IP Driver
Address Descriptions
All addresses have three required files consisting of object type, object instance, and property identifier.
Additional fields may be required for some properties. Many addresses may take optional fields.
l The object type field contains a mnemonic from the list of supported BACnet objects.
l The object instance field is the numerical object instance. Object instances may range from 0 to
4194303.
l The property identifier field contains the mnemonic for a property that is a member of the selected
object type.
This data exists in array or list form in the BACnet/IP device, and not the OPC server. One tag must be configured
for each array or list element. The data will not be presented to the OPC clients in array form because BACnet
array and list elements may not have primitive data types. The driver will attempt to optimize reads of array data,
meaning that it will generally read data for all referenced elements in a single transaction. BACnet lists must be
read in their entirety, regardless of the number of elements needed. Element indices start at 1. The upper limit
depends on both the property for arrays and the device configuration for lists.
l The sub property n fields are one of the mnemonics given in the links from the supported object types.
For more information, refer to BACnet/IP Objects.
Address Modifiers
Optional address modifiers may be added to alter the behavior of the driver. The property address and modifier
must be separated by a single space character. The available address modifiers are as follows:
l COV: If this modifier is present, the driver will attempt to subscribe to change of value (COV)
notifications for the addressed property. Use of COV notifications over polling can greatly reduce network
traffic. The BACnet specification requires that certain properties must support COV, but does not demand
that others cannot. A particular device may offer COV support for any property. This modifier is primarily
for these non-standard COV properties. The driver can be configured to assume COV is to be used for
certain standard COV properties, regardless of the presence of this modifier. This behavior can be turned
on or off with the COV mode device setting. For more information, refer to the device's PICS statement.
l RELINQUISH: BACnet requires that a device execute writes according to a command priority. Once a
write has been executed, the issuing application retains "command" over that property. That is, no other
application can write to that property unless it uses a higher priority, or the "commanding" application
"relinquishes" its command over the property. A tag with this address modifier can be used to relinquish
command over the addressed property. Such tags are Write Only, and have a default data type of Boolean.
The driver will issue a relinquish command request when any value is written to this tag. Command over
other properties will not be affected.
l PRIORITY: This modifier, when appended to a tag address for the present value property of a standard
commandable object, provides object-level priority for this commandable object. A write to this tag, valid
in the range of 0 – 16 inclusively, sets the object's command priority. A value of 0 indicates this object is
defaulting to the device-level priority. Other valid values specify the object-level priority. Tags with this
address and modifier are read/write and have a default data type of Short. Writes to this tag are managed
by the driver and persist in memory until the runtime shuts down. Tags with this address default to 0.
www. kepware.com
BACnet/IP Driver 40
Addressing Examples
The following examples assume an analog value object with instance number 100. For more information on the
object, refer to Analog Value.
1. AnalogValue.100.PresentValue addresses the Present Value property. Since this property has
"implicit COV," the driver may subscribe to COV notifications of this property or continuously poll for its
current value.
2. AnalogValue.100.OutOfService COV addresses the Out Of Service property. The COV address
modifier is used to tell the driver that COV reporting can be used for this property, even though this
property does not normally support COV.
7. AnalogValue.100.EventEnable addresses all bits of the Event Enable bit string property, packed as
Word value. Only the lowest 3 bits of the Word will be meaningful in this case. These will be
ToOffNormal, ToFault, and ToNormal respectively.
Note: For more information on enabling COV in the BACnet/IP Driver, refer to COV Notifications and COV
Settings.
BACnet/IP Objects
For more information on a specific BACnet/IP object, select a link from the list below.
Accumulator
Analog Input
Analog Output
Analog Value
Averaging
Binary Input
Binary Output
Binary Value
Calendar
Command
Device
Event Enrollment
File
Group
Life Safety Point
Life Safety Zone
Loop
Multi-State Input
Multi-State Output
Multi-State Value
Notification Class
Program
www. kepware.com
41 BACnet/IP Driver
Schedule
Trend Log
Accumulator
The following table describes the object's supported properties. The Access column specifies the default access
permission for tags. To accommodate non-standard implementations of BACnet, tags may be given Read/Write
access unless noted otherwise. The COV column specifies whether the driver considers the property to have
implicit Change Of Value (COV) notification capability; that is, whether the BACnet specification requires the
property to support COV. For some properties, COV support depends on implementation. The "COV" modifier
must be added to the tag's address for use. For more information, refer to COV Settings.
Note: The length of the array property will be specified by [m], where m is the number of supported elements
(according to the BACnet specification). The BACnet array properties that do not have a length specified by the
BACnet standard will be designated by [N]. This means the length of the property array depends on the BACnet
device. For more information, refer to Addressing Examples.
Property Mnemonic BACnet Data Type OPC Data Type Access COV
AckedTransitions 1 BACnetEventTransitionBits Word, Short Read Only No
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
Description CharacterString String Read Only No
DeviceType CharacterString String Read Only No
EventEnable1 BACnetEventTransitionBits Word, Short Read/Write No
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
EventState BACnetEventState2 DWord, Long Read Only No
EventTimeStamps[3] Array of Timestamp String Read Only3 No
HighLimit Unsigned Integer DWord, Long Read Only No
LimitEnable1 BACnetLimitEnable Word, Short Read/Write No
.HighLimitEnable Boolean
.LowLimitEnable Boolean
LimitMonitoringInterval Unsigned Integer DWord, Long Read/Write No
LowLimit Unsigned Integer DWord, Long Read Only No
MaxPresValue Unsigned Integer DWord, Long Read Only No
NotificationClass Unsigned Integer DWord, Long Read Only No
NotifyType BACnetNotifyType2 DWord, Long Read Only No
ObjectIdentifier 4 BACnetObjectIdentifier DWord, Long Read Only3 No
.Fault Boolean
.InAlarm Boolean
.OutOfService Boolean
www. kepware.com
BACnet/IP Driver 42
Property Mnemonic BACnet Data Type OPC Data Type Access COV
.Overridden Boolean
TimeDelay Unsigned Integer DWord, Long Read/Write No
Units BACnetEngineeringUnits2 DWord, Long Read Only No
ValueBeforeChange Unsigned Integer DWord, Long Read Only No
ValueChangeTime BACnetDateTime String Read Only3 No
ValueSet Unsigned Integer DWord, Long Read Only No
Notes:
1. Bit string types may be viewed as a packed Word value, whose actual number of meaningful bits will
depend on specific property. They may also be viewed as individual bits using optional sub-property
fields.
2. Properties with enumerated BACnet Data Types are expressed as integer values. For standard
interpretations, refer to Enumerated Data Types.
4. Object Identifier may be viewed as a packed DWord value (high 10 bits are the object type and low 22 bits
are the object instance) or as individual tags for object type and instance using optional sub-property
fields.
www. kepware.com
43 BACnet/IP Driver
Analog Input
The following table describes the object's supported properties. The Access column specifies the default access
permission for tags. To accommodate non-standard implementations of BACnet, tags may be given Read/Write
access unless noted otherwise. The COV column specifies whether the driver considers the property to have
implicit Change Of Value (COV) notification capability; that is, whether the BACnet specification requires the
property to support COV. For some properties, COV support depends on implementation. The "COV" modifier
must be added to the tag's address for use. For more information, refer to COV Settings.
Note: The length of the array property will be specified by [m], where m is the number of supported elements
(according to the BACnet specification). The BACnet array properties that do not have a length specified by the
BACnet standard will be designated by [N]. This means the length of the property array depends on the BACnet
device. For more information, refer to Addressing Examples.
Property Mnemonic BACnet Data Type OPC Data Type Access COV
AckedTransitions 1 BACnetEventTransitionBits Word, Short Read Only No
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
COVIncrement REAL Float Read/Write No
Deadband REAL Float Read/Write No
Description CharacterString String Read Only No
DeviceType CharacterString String Read Only No
EventEnable1 BACnetEventTransitionBits Word, Short Read/Write No
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
EventState BACnetEventState2 DWord, Long Read Only No
EventTimeStamps[3] Array of Timestamp String Read Only3 No
HighLimit REAL Float Read Only No
LimitEnable1 BACnetLimitEnable Word, Short Read/Write No
.HighLimitEnable Boolean
.LowLimitEnable Boolean
LowLimit REAL Float Read Only No
MaxPresValue REAL Float Read Only No
MinPresValue REAL Float Read Only No
NotificationClass Unsigned Integer DWord, Long Read Only No
NotifyType BACnetNotifyType2 DWord, Long Read Only No
ObjectIdentifier 4 BACnetObjectIdentifier DWord, Long Read Only3 No
.Fault Boolean
.InAlarm Boolean
.OutOfService Boolean
.Overridden Boolean
www. kepware.com
BACnet/IP Driver 44
Property Mnemonic BACnet Data Type OPC Data Type Access COV
TimeDelay Unsigned Integer DWord, Long Read/Write No
Units BACnetEngineeringUnits2 DWord, Long Read Only No
UpdateInterval Unsigned Integer DWord, Long Read/Write No
Notes:
1. Bit string types may be viewed as a packed Word value, whose actual number of meaningful bits will
depend on specific property. They may also be viewed as individual bits using optional sub-property
fields.
2. Properties with enumerated BACnet Data Types are expressed as integer values. For standard
interpretations, refer to Enumerated Data Types.
4. Object Identifier may be viewed as a packed DWord value (high 10 bits are the object type and low 22 bits
are the object instance) or as individual tags for object type and instance using optional sub-property
fields.
Analog Output
The following table describes the object's supported properties. The Access column specifies the default access
permission for tags. To accommodate non-standard implementations of BACnet, tags may be given Read/Write
access unless noted otherwise. The COV column specifies whether the driver considers the property to have
implicit Change Of Value (COV) notification capability; that is, whether the BACnet specification requires the
property to support COV. For some properties, COV support depends on implementation. The "COV" modifier
must be added to the tag's address for use. For more information, refer to COV Settings.
Note: The length of the array property will be specified by [m], where m is the number of supported elements
(according to the BACnet specification). The BACnet array properties that do not have a length specified by the
BACnet standard will be designated by [N]. This means the length of the property array depends on the BACnet
device. For more information, refer to Addressing Examples.
Property Mnemonic BACnet Data Type OPC Data Type Access COV
AckedTransitions 1 BACnetEventTransitionBits Word, Short Read Only No
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
COVIncrement REAL Float Read/Write No
Deadband REAL Float Read/Write No
Description CharacterString String Read Only No
DeviceType CharacterString String Read Only No
EventEnable1 BACnetEventTransitionBits Word, Short Read/Write No
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
EventState BACnetEventState2 DWord, Long Read Only No
EventTimestamps[3] Array of Timestamp String Read Only3 No
HighLimit REAL Float Read Only No
LimitEnable1 BACnetLimitEnable Word, Short Read/Write No
.HighLimitEnable Boolean
.LowLimitEnable Boolean
www. kepware.com
45 BACnet/IP Driver
Property Mnemonic BACnet Data Type OPC Data Type Access COV
LowLimit REAL Float Read Only No
MaxPresValue REAL Float Read Only No
MinPresValue REAL Float Read Only No
NotificationClass Unsigned Integer DWord, Long Read Only No
NotifyType BACnetNotifyType2 DWord, Long Read Only No
ObjectIdentifier 4 BACnetObjectIdentifier DWord, Long Read Only3 No
.Fault Boolean
.InAlarm Boolean
.OutOfService Boolean
.Overridden Boolean
TimeDelay Unsigned Integer DWord, Long Read/Write No
Units BACnetEngineeringUnits2 DWord, Long Read Only No
Notes:
1. Bit string types may be viewed as a packed Word value, whose actual number of meaningful bits will
depend on specific property. They may also be viewed as individual bits using optional sub-property
fields.
2. Properties with enumerated BACnet Data Types are expressed as integer values. For standard
interpretations, refer to Enumerated Data Types.
4. Object Identifier may be viewed as a packed DWord value (high 10 bits are the object type and low 22 bits
are the object instance) or as individual tags for object type and instance using optional sub-property
fields.
Analog Value
The following table describes the object's supported properties. The Access column specifies the default access
permission for tags. To accommodate non-standard implementations of BACnet, tags may be given Read/Write
access unless noted otherwise. The COV column specifies whether the driver considers the property to have
implicit Change Of Value (COV) notification capability; that is, whether the BACnet specification requires the
property to support COV. For some properties, COV support depends on implementation. The "COV" modifier
must be added to the tag's address for use. For more information, refer to COV Settings.
Note: The length of the array property will be specified by [m], where m is the number of supported elements
(according to the BACnet specification). The BACnet array properties that do not have a length specified by the
BACnet standard will be designated by [N]. This means the length of the property array depends on the BACnet
device. For more information, refer to Addressing Examples.
www. kepware.com
BACnet/IP Driver 46
Property Mnemonic BACnet Data Type OPC Data Type Access COV
AckedTransitions 1 BACnetEventTransitionBits Word, Short Read Only No
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
COVIncrement REAL Float Read/Write No
Deadband REAL Float Read/Write No
Description CharacterString String Read Only No
EventEnable1 BACnetEventTransitionBits Word, Short Read/Write No
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
EventState BACnetEventState2 DWord, Long Read Only No
EventTimeStamps[3] Array of TimeStamp String Read Only3 No
HighLimit REAL Float Read Only No
LimitEnable1 BACnetLimitEnable Word, Short Read/Write No
.HighLimitEnable Boolean
.LowLimitEnable Boolean
LowLimit REAL Float Read Only No
NotificationClass Unsigned Integer DWord, Long Read Only No
NotifyType BACnetNotifyType2 DWord, Long Read Only No
ObjectIdentifier 4 BACnetObjectIdentifier DWord, Long Read Only3 No
.Fault Boolean
.InAlarm Boolean
.OutOfService Boolean
.Overridden Boolean
TimeDelay Unsigned Integer DWord, Long Read/Write No
Units BACnetEngineeringUnits2 DWord, Long Read Only No
Notes:
1. Bit string types may be viewed as a packed Word value, whose actual number of meaningful bits will
depend on specific property. They may also be viewed as individual bits using optional sub-property
fields.
2. Properties with enumerated BACnet Data Types are expressed as integer values. For standard
interpretations, refer to Enumerated Data Types.
4. Object Identifier may be viewed as a packed DWord value (high 10 bits are the object type and low 22 bits
are the object instance) or as individual tags for object type and instance using optional sub-property
fields.
www. kepware.com
47 BACnet/IP Driver
Averaging
The following table describes the object's supported properties. The Access column specifies the default access
permission for tags. To accommodate non-standard implementations of BACnet, tags may be given Read/Write
access unless noted otherwise.
Notes:
1. The length of the array property will be specified by [m], where m is the number of supported elements
(according to the BACnet specification). The BACnet array properties that do not have a length specified
by the BACnet standard will be designated by [N]. This means the length of the property array depends
on the BACnet device. For more information, refer to Addressing Examples.
2. Implicit Change of Value (COV) notifications are not supported for this object. For more information on
devices with explicit COV support, refer to COV Notifications.
Notes:
2. Object Identifier may be viewed as a packed DWord value (high 10 bits are the object type and low 22 bits
are the object instance) or as individual tags for object type and instance using optional sub-property
fields.
3. Properties with enumerated BACnet Data Types are expressed as integer values. For standard
interpretations, refer to Enumerated Data Types.
www. kepware.com
BACnet/IP Driver 48
Binary Input
The following table describes the object's supported properties. The Access column specifies the default access
permission for tags. To accommodate non-standard implementations of BACnet, tags may be given Read/Write
access unless noted otherwise. The COV column specifies whether the driver considers the property to have
implicit Change Of Value (COV) notification capability; that is, whether the BACnet specification requires the
property to support COV. For some properties, COV support depends on implementation. The "COV" modifier
must be added to the tag's address for use. For more information, refer to COV Settings.
Note: The length of the array property will be specified by [m], where m is the number of supported elements
(according to the BACnet specification). The BACnet array properties that do not have a length specified by the
BACnet standard will be designated by [N]. This means the length of the property array depends on the BACnet
device. For more information, refer to Addressing Examples.
Property Mnemonic BACnet Data Type OPC Data Type Access COV
AckedTransitions 1 BACnetEventTransitionBits Word, Short Read Only No
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
ActiveText CharacterString String Read Only No
AlarmValue BACnetBinaryPV2 Boolean Read/Write No
ChangeOfStateCount Unsigned Integer DWord, Long Read/Write No
ChangeOfStateTime BACnetDataTime String Read Only3 No
Description CharacterString String Read Only No
DeviceType CharacterString String Read Only No
ElapsedActiveTime Unsigned Integer DWord, Long Read Only No
EventEnable1 BACnetEventTransitionBits Word, Short Read/Write No
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
EventState BACnetEventState2 DWord, Long Read Only No
EventTimeStamps[3] Array of TimeStamp String Read Only3 No
InactiveText CharacterString String Read Only No
NotificationClass Unsigned Integer DWord, Long Read Only No
NotifyType BACnetNotifyType2 DWord, Long Read Only No
ObjectIdentifier 4 BACnetObjectIdentifier DWord, Long Read Only3 No
.Fault Boolean
.InAlarm Boolean
.OutOfService Boolean
.Overridden Boolean
TimeDelay Unsigned Integer DWord, Long Read/Write No
TimeOfActiveTimeReset BACnetDateTime String Read Only3 No
TimeOfStateCountReset BACnetDateTime String Read Only3 No
Notes:
www. kepware.com
49 BACnet/IP Driver
1. Bit string types may be viewed as a packed Word value, whose actual number of meaningful bits will
depend on specific property. They may also be viewed as individual bits using optional sub-property
fields.
2. Properties with enumerated BACnet Data Types are expressed as integer values. For standard
interpretations, refer to Enumerated Data Types.
4. Object Identifier may be viewed as a packed DWord value (high 10 bits are the object type and low 22 bits
are the object instance) or as individual tags for object type and instance using optional sub-property
fields.
Binary Output
The following table describes the object's supported properties. The Access column specifies the default access
permission for tags. To accommodate non-standard implementations of BACnet, tags may be given Read/Write
access unless noted otherwise. The COV column specifies whether the driver considers the property to have
implicit Change Of Value (COV) notification capability; that is, whether the BACnet specification requires the
property to support COV. For some properties, COV support depends on implementation. The "COV" modifier
must be added to the tag's address for use. For more information, refer to COV Settings.
Note: The length of the array property will be specified by [m], where m is the number of supported elements
(according to the BACnet specification). The BACnet array properties that do not have a length specified by the
BACnet standard will be designated by [N]. This means the length of the property array depends on the BACnet
device. For more information, refer to Addressing Examples.
Property Mnemonic BACnet Data Type OPC Data Type Access COV
AckedTransitions 1 BACnetEventTransitionBits Word, Short Read Only No
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
ActiveText CharacterString String Read Only No
ChangeOfStateCount Unsigned Integer DWord, Long Read/Write No
ChangeOfStateTime BACnetDateTime String Read Only2 No
Description CharacterString String Read Only No
DeviceType CharacterString String Read Only No
ElapsedActiveTime Unsigned Integer DWord, Long Read Only No
EventEnable1 BACnetEventTransitionBits Word, Short Read/Write No
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
EventState BACnetEventState3 DWord, Long Read Only No
EventTimeStamps[3] Array of TimeStamp String Read Only2 No
FeedbackValue BACnetBinaryPV3 Boolean Read/Write No
InactiveText CharacterString String Read Only No
MinimumOffTime Unsigned Integer DWord, Long Read Only No
MinimumOnTime Unsigned Integer DWord, Long Read Only No
NotificationClass Unsigned Integer DWord, Long Read Only No
NotifyType BACnetNotifyType3 DWord, Long Read Only No
ObjectIdentifier 4 BACnetObjectIdentifier DWord, Long Read Only2 No
www. kepware.com
BACnet/IP Driver 50
Property Mnemonic BACnet Data Type OPC Data Type Access COV
ObjectName CharacterString String Read Only No
ObjectType BACnetObjectType3 DWord, Long Read Only2 No
OutOfService Boolean Boolean Read/Write No
Polarity BACnetPolarity3 Boolean Read/Write No
PresentValue BACnetBinaryPV3 Boolean Read/Write Yes
PriorityArray[16] Array of BACnetPriorityArray String Read Only2 No
ProfileName CharacterString String Read Only No
Reliability BACnetReliability3 DWord, Long Read Only No
RelinquishDefault BACnetBinaryPV3 Boolean Read/Write No
StatusFlags 1 BACnetStatusFlags Word, Short Read Only Yes
.Fault Boolean
.InAlarm Boolean
.OutOfService Boolean
.Overridden Boolean
TimeDelay Unsigned Integer DWord, Long Read/Write No
TimeOfActiveTimeReset BACnetDateTime String Read Only2 No
TimeOfStateCountReset BACnetDateTime String Read Only2 No
Notes:
1. Bit string types may be viewed as a packed Word value, whose actual number of meaningful bits will
depend on specific property. They may also be viewed as individual bits using optional sub-property
fields.
3. Properties with enumerated BACnet Data Types are expressed as integer values. For standard
interpretations, refer to Enumerated Data Types.
4. Object Identifier may be viewed as a packed DWord value (high 10 bits are the object type and low 22 bits
are the object instance) or as individual tags for object type and instance using optional sub-property
fields.
Binary Value
The following table describes the object's supported properties. The Access column specifies the default access
permission for tags. To accommodate non-standard implementations of BACnet, tags may be given Read/Write
access unless noted otherwise. The COV column specifies whether the driver considers the property to have
implicit Change Of Value (COV) notification capability; that is, whether the BACnet specification requires the
property to support COV. For some properties, COV support depends on implementation. The "COV" modifier
must be added to the tag's address for use. For more information, refer to COV Settings.
Note: The length of the array property will be specified by [m], where m is the number of supported elements
(according to the BACnet specification). The BACnet array properties that do not have a length specified by the
BACnet standard will be designated by [N]. This means the length of the property array depends on the BACnet
device. For more information, refer to Addressing Examples.
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
www. kepware.com
51 BACnet/IP Driver
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
EventState BACnetEventState2 DWord, Long Read Only No
EventTimeStamps[3] Array of TimeStamp String Read Only3 No
InactiveText CharacterString String Read Only No
MinimumOffTime Unsigned Integer DWord, Long Read Only No
MinimumOnTime Unsigned Integer DWord, Long Read Only No
NotificationClass Unsigned Integer DWord, Long Read Only No
NotifyType BACnetNotifyType2 DWord, Long Read Only No
ObjectIdentifier 4 BACnetObjectIdentifier DWord, Long Read Only3 No
.Fault Boolean
.InAlarm Boolean
.OutOfService Boolean
.Overridden Boolean
TimeDelay Unsigned Integer DWord, Long Read/Write No
TimeOfActiveTimeReset BACnetDateTime String Read Only3 No
TimeOfStateCountReset BACnetDateTime String Read Only3 No
Notes:
1. Bit string types may be viewed as a packed Word value, whose actual number of meaningful bits will
depend on specific property. They may also be viewed as individual bits using optional sub-property
fields.
2. Properties with enumerated BACnet Data Types are expressed as integer values. For standard
interpretations, refer to Enumerated Data Types.
4. Object Identifier may be viewed as a packed DWord value (high 10 bits are the object type and low 22 bits
are the object instance) or as individual tags for object type and instance using optional sub-property
fields.
www. kepware.com
BACnet/IP Driver 52
Calendar
The following table describes the object's supported properties. The Access column specifies the default access
permission for tags. To accommodate non-standard implementations of BACnet, tags may be given Read/Write
access unless noted otherwise.
Notes:
1. The length of the array property will be specified by [m], where m is the number of supported elements
(according to the BACnet specification). The BACnet array properties that do not have a length specified
by the BACnet standard will be designated by [N]. This means the length of the property array depends
on the BACnet device. For more information, refer to Addressing Examples.
2. Implicit Change of Value (COV) notifications are not supported for this object. For more information on
devices with explicit COV support, refer to COV Notifications.
Notes:
2. When without an array specifier, the DateList property represents the entire DateList as a formatted
string. When with an array specifier, the DateList property is deprecated and included for legacy server
project support. New projects should use the DateList property without an array specifier. For more
information, refer to DateList String Format.
3. Object Identifier may be viewed as a packed DWord value (high 10 bits are the object type and low 22 bits
are the object instance) or as individual tags for object type and instance using optional sub-property
fields.
4. Properties with enumerated BACnet Data Types are expressed as integer values. For standard
interpretations, refer to Enumerated Data Types.
Command
The following table describes the object's supported properties. The Access column specifies the default access
permission for tags. To accommodate non-standard implementations of BACnet, tags may be given Read/Write
access unless noted otherwise.
Notes:
1. The length of the array property will be specified by [m], where m is the number of supported elements
(according to the BACnet specification). The BACnet array properties that do not have a length specified
www. kepware.com
53 BACnet/IP Driver
by the BACnet standard will be designated by [N]. This means the length of the property array depends
on the BACnet device. For more information, refer to Addressing Examples.
2. Implicit Change of Value (COV) notifications are not supported for this object. For more information on
devices with explicit COV support, refer to COV Notifications.
Notes:
1. Object Identifier may be viewed as a packed DWord value (high 10 bits are the object type and low 22 bits
are the object instance) or as individual tags for object type and instance using optional sub-property
fields.
3. Properties with enumerated BACnet Data Types are expressed as integer values. For standard
interpretations, refer to Enumerated Data Types.
Device
The following table describes the object's supported properties. The Access column specifies the default access
permission for tags. To accommodate non-standard implementations of BACnet, tags may be given Read/Write
access unless noted otherwise.
Notes:
1. The length of the array property will be specified by [m], where m is the number of supported elements
(according to the BACnet specification). The BACnet array properties that do not have a length specified
by the BACnet standard will be designated by [N]. This means the length of the property array depends
on the BACnet device. For more information, refer to Addressing Examples.
2. Implicit Change of Value (COV) notifications are not supported for this object. For more information on
devices with explicit COV support, refer to COV Notifications.
www. kepware.com
BACnet/IP Driver 54
Notes:
2. Object Identifier may be viewed as a packed DWord value (high 10 bits are the object type and low 22 bits
are the object instance) or as individual tags for object type and instance using optional sub-property
fields.
3. Properties with enumerated BACnet Data Types are expressed as integer values. For standard
interpretations, refer to Enumerated Data Types.
Event Enrollment
The following table describes the object's supported properties. The Access column specifies the default access
permission for tags. To accommodate non-standard implementations of BACnet, tags may be given Read/Write
access unless noted otherwise.
Notes:
1. The length of the array property will be specified by [m], where m is the number of supported elements
(according to the BACnet specification). The BACnet array properties that do not have a length specified
by the BACnet standard will be designated by [N]. This means the length of the property array depends
www. kepware.com
55 BACnet/IP Driver
2. Implicit Change of Value (COV) notifications are not supported for this object. For more information on
devices with explicit COV support, refer to COV Notifications.
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
Description CharacterString String Read Only
EventEnable1 BACnetEventTransitionBits Word, Short Read/Write
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
EventState BACnetEventState2 DWord, Long Read Only
EventTimeStamps[3] Array of TimeStamp String Read Only3
EventType BACnetEventType2 DWord, Long Read Only
IssueConfirmedNotifications Boolean Boolean Read/Write
NotificationClass Unsigned Integer Word, Short Read Only
NotifyType BACnetNotifyType2 DWord, Long Read Only
ObjectIdentifier 4 BACnetObjectIdentifier DWord, Long Read Only3
Notes:
1. Bit string types may be viewed as a packed Word value, whose actual number of meaningful bits will
depend on specific property. They may also be viewed as individual bits using optional sub-property
fields.
2. Properties with enumerated BACnet Data Types are expressed as integer values. For standard
interpretations, refer to Enumerated Data Types.
4. Object Identifier may be viewed as a packed DWord value (high 10 bits are the object type and low 22 bits
are the object instance) or as individual tags for object type and instance using optional sub-property
fields.
File
The following table describes the object's supported properties. The Access column specifies the default access
permission for tags. To accommodate non-standard implementations of BACnet, tags may be given Read/Write
access unless noted otherwise.
www. kepware.com
BACnet/IP Driver 56
Notes:
1. The length of the array property will be specified by [m], where m is the number of supported elements
(according to the BACnet specification). The BACnet array properties that do not have a length specified
by the BACnet standard will be designated by [N]. This means the length of the property array depends
on the BACnet device. For more information, refer to Addressing Examples.
2. Implicit Change of Value (COV) notifications are not supported for this object. For more information on
devices with explicit COV support, refer to COV Notifications.
Notes:
1. Properties with enumerated BACnet Data Types are expressed as integer values. For standard
interpretations, refer to Enumerated Data Types.
3. Object Identifier may be viewed as a packed DWord value (high 10 bits are the object type and low 22 bits
are the object instance) or as individual tags for object type and instance using optional sub-property
fields.
Group
The following table describes the object's supported properties. The Access column specifies the default access
permission for tags. To accommodate non-standard implementations of BACnet, tags may be given Read/Write
access unless noted otherwise.
Notes:
1. The length of the array property will be specified by [m], where m is the number of supported elements
(according to the BACnet specification). The BACnet array properties that do not have a length specified
by the BACnet standard will be designated by [N]. This means the length of the property array depends
on the BACnet device. For more information, refer to Addressing Examples.
2. Implicit Change of Value (COV) notifications are not supported for this object. For more information on
devices with explicit COV support, refer to COV Notifications.
www. kepware.com
57 BACnet/IP Driver
Notes:
1. Object Identifier may be viewed as a packed DWord value (high 10 bits are the object type and low 22 bits
are the object instance) or as individual tags for object type and instance using optional sub-property
fields.
3. Properties with enumerated BACnet Data Types are expressed as integer values. For standard
interpretations, refer to Enumerated Data Types.
Note: The length of the array property will be specified by [m], where m is the number of supported elements
(according to the BACnet specification). The BACnet array properties that do not have a length specified by the
BACnet standard will be designated by [N]. This means the length of the property array depends on the BACnet
device. For more information, refer to Addressing Examples.
Property Mnemonic BACnet Data Type OPC Data Type Access COV
AcceptedModes List of BACnetLifeSafetyMode DWord, Long Read Only1 No
AckedTransitions 2 BACnetEventTansitionBits Word, Short Read Only No
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
AlarmValues List of BACnetLifeSafetyState DWord, Long Read Only1 No
Description CharacterString String Read Only No
DeviceType CharacterString String Read Only No
DirectReading REAL Float Read Only No
EventEnable2 BACnetEventTransitionBits Word, Short Read/Write No
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
EventState BACnetEventState3 DWord, Long Read Only No
EventTimeStamps[3] Array of TimeStamp String Read Only1 No
FaultValues List of BACnetLifeSafetyState DWord, Long Read Only1 No
LifeSafetyAlarmValues List of BACnetLifeSafetyState DWord, Long Read Only1 No
www. kepware.com
BACnet/IP Driver 58
Property Mnemonic BACnet Data Type OPC Data Type Access COV
MaintenanceRequired BACnetMaintenance3 DWord, Long Read/Write No
Mode BACnetLifeSafetyMode3 DWord, Long Read/Write No
NotificationClass Unsigned Integer DWord, Long Read Only No
NotifyType BACnetNotifyType3 DWord, Long Read Only No
ObjectIdentifier 4 BACnetObjectIdentifier DWord, Long Read Only1 No
.Fault Boolean
.InAlarm Boolean
.OutOfService Boolean
.Overridden Boolean
TimeDelay Unsigned Integer DWord, Long Read/Write No
TrackingValue BACnetLifeSafetyState3 DWord, Long Read Only No
Units BACnetEngineeringUnits3 DWord, Long Read Only No
Notes:
2. Bit string types may be viewed as a packed Word value, whose actual number of meaningful bits will
depend on specific property. They may also be viewed as individual bits using optional sub-property
fields.
3. Properties with enumerated BACnet Data Types are expressed as integer values. For standard
interpretations, refer to Enumerated Data Types.
4. Object Identifier may be viewed as a packed DWord value (high 10 bits are the object type and low 22 bits
are the object instance) or as individual tags for object type and instance using optional sub-property
fields.
Note: The length of the array property will be specified by [m], where m is the number of supported elements
(according to the BACnet specification). The BACnet array properties that do not have a length specified by the
BACnet standard will be designated by [N]. This means the length of the property array depends on the BACnet
device. For more information, refer to Addressing Examples.
www. kepware.com
59 BACnet/IP Driver
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
AlarmValues List of BACnetLifeSafetyState DWord, Long Read Only1 No
Description CharacterString String Read Only No
DeviceType CharacterString String Read Only No
EventEnable2 BACnetEventTransitionBits Word, Short Read/Write No
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
EventState BACnetEventState3 DWord, Long Read Only No
EventTimeStamps[3] Array of TimeStamp String Read Only1 No
FaultValues List of BACnetLifeSafetyState DWord, Long Read Only1 No
LifeSafetyAlarmValues List of BACnetLifeSafetyState DWord, Long Read Only1 No
MaintenanceRequired Boolean Boolean Read/Write No
Mode BACnetLifeSafetyMode3 DWord, Long Read/Write No
NotificationClass Unsigned Integer DWord, Long Read Only No
NotifyType BACnetNotifyType3 DWord, Long Read Only No
ObjectIdentifier 4 BACnetObjectIdentier DWord, Long Read Only1 No
.Fault Boolean
.InAlarm Boolean
.OutOfService Boolean
.Overridden Boolean
TimeDelay Unsigned Integer DWord, Long Read/Write No
TrackingValue BACnetLifeSafetyState3 DWord, Long Read Only No
Notes:
2. Bit string types may be viewed as a packed Word value, whose actual number of meaningful bits will
depend on specific property. They may also be viewed as individual bits using optional sub-property
fields.
3. Properties with enumerated BACnet Data Types are expressed as integer values. For standard
interpretations, refer to Enumerated Data Types.
4. Object Identifier may be viewed as a packed DWord value (high 10 bits are the object type and low 22 bits
are the object instance) or as individual tags for object type and instance using optional sub-property
fields.
www. kepware.com
BACnet/IP Driver 60
Priority Array elements may be "NULL" or the numerical command value currently in effect. The array element
index may range from 1 to 16, inclusive.
Loop
The following table describes the object's supported properties. The Access column specifies the default access
permission for tags. To accommodate non-standard implementations of BACnet, tags may be given Read/Write
access unless noted otherwise. The COV column specifies whether the driver considers the property to have
implicit Change Of Value (COV) notification capability; that is, whether the BACnet specification requires the
property to support COV. For some properties, COV support depends on implementation. The "COV" modifier
must be added to the tag's address for use. For more information, refer to COV Settings.
Note: The length of the array property will be specified by [m], where m is the number of supported elements
(according to the BACnet specification). The BACnet array properties that do not have a length specified by the
BACnet standard will be designated by [N]. This means the length of the property array depends on the BACnet
device. For more information, refer to Addressing Examples.
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
Action BACnetAction 2 DWord, Long Read Only No
Bias REAL Float Read/Write No
ControlledVariableUnits BACnetEngineeringUnits2 DWord, Long Read Only No
ControlledVariableValue REAL Float Read Only Yes
COVIncrement REAL Float Read/Write No
DerivativeConstant REAL Float Read/Write No
DerivativeConstantUnits BACnetEngineeringUnits2 DWord, Long Read Only No
Description CharacterString String Read Only No
ErrorLimit REAL Float Read/Write No
EventEnable1 BACnetEventTransitionBits Word, Short Read/Write No
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
EventState BACnetEventState2 DWord, Long Read Only No
EventTimeStamps[3] Array of TimeStamp String Read Only3 No
IntegralConstant REAL Float Read/Write No
IntegralConstantUnits BACnetEngineeringUnits2 DWord, Long Read Only No
MaximumOutput REAL Float Read Only No
MinimumOutput REAL Float Read Only No
NotificationClass Unsigned Integer DWord, Long Read Only No
NotifyType BACnetNotifyType DWord, Long Read Only No
ObjectIdentifier 4 BACnetObjectIdentifier DWord, Long Read Only3 No
www. kepware.com
61 BACnet/IP Driver
.Fault Boolean
.InAlarm Boolean
.OutOfService Boolean
.Overridden Boolean
TimeDelay Unsigned Integer DWord, Long Read/Write No
UpdateInterval Unsigned Integer DWord, Long Read/Write No
Notes:
1. Bit string types may be viewed as a packed Word value, whose actual number of meaningful bits will
depend on specific property. They may also be viewed as individual bits using optional sub-property
fields.
2. Properties with enumerated BACnet Data Types are expressed as integer values. For standard
interpretations, refer to Enumerated Data Types.
4. Object Identifier may be viewed as a packed DWord value (high 10 bits are the object type and low 22 bits
are the object instance) or as individual tags for object type and instance using optional sub-property
fields.
Multi-State Input
The following table describes the object's supported properties. The Access column specifies the default access
permission for tags. To accommodate non-standard implementations of BACnet, tags may be given Read/Write
access unless noted otherwise. The COV column specifies whether the driver considers the property to have
implicit Change Of Value (COV) notification capability; that is, whether the BACnet specification requires the
property to support COV. For some properties, COV support depends on implementation. The "COV" modifier
must be added to the tag's address for use. For more information, refer to COV Settings.
Note: The length of the array property will be specified by [m], where m is the number of supported elements
(according to the BACnet specification). The BACnet array properties that do not have a length specified by the
BACnet standard will be designated by [N]. This means the length of the property array depends on the BACnet
device. For more information, refer to Addressing Examples.
Property Mnemonic BACnet Data Type OPC Data Type Access COV
AckedTransitions 1 BACnetEventTransitionBits Word, Short Read Only No
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
AlarmValues List of Unsigned Integers DWord, Long Read Only2 No
Description CharacterString String Read Only No
DeviceType CharacterString String Read Only No
EventEnable1 BACnetEventTransitionBits Word, Short Read/Write No
.ToFault Boolean
.ToNormal Boolean
www. kepware.com
BACnet/IP Driver 62
Property Mnemonic BACnet Data Type OPC Data Type Access COV
.ToOffNormal Boolean
EventState BACnetEventState3 DWord, Long Read Only No
EventTimeStamps[3] Array of TimeStamp String Read Only2 No
FaultValues List of Unsigned Integers DWord, Long Read Only2 No
NotificationClass Unsigned Integer DWord, Long Read Only No
NotifyType BACnetNotifyType3 DWord, Long Read Only No
NumberOfStates Unsigned Integer DWord, Long Read Only No
ObjectIdentifier 4 BACnetObjectIdentifier DWord, Long Read Only2 No
.Fault Boolean
.InAlarm Boolean
.OutOfService Boolean
.Overridden Boolean
TimeDelay Unsigned Integer DWord, Long Read/Write No
Notes:
1. Bit string types may be viewed as a packed Word value, whose actual number of meaningful bits will
depend on specific property. They may also be viewed as individual bits using optional sub-property
fields.
3. Properties with enumerated BACnet Data Types are expressed as integer values. For standard
interpretations, refer to Enumerated Data Types.
4. Object Identifier may be viewed as a packed DWord value (high 10 bits are the object type and low 22 bits
are the object instance) or as individual tags for object type and instance using optional sub-property
fields.
Multi-State Output
The following table describes the object's supported properties. The Access column specifies the default access
permission for tags. To accommodate non-standard implementations of BACnet, tags may be given Read/Write
access unless noted otherwise. The COV column specifies whether the driver considers the property to have
implicit Change Of Value (COV) notification capability; that is, whether the BACnet specification requires the
property to support COV. For some properties, COV support depends on implementation. The "COV" modifier
must be added to the tag's address for use. For more information, refer to COV Settings.
Note: The length of the array property will be specified by [m], where m is the number of supported elements
(according to the BACnet specification). The BACnet array properties that do not have a length specified by the
BACnet standard will be designated by [N]. This means the length of the property array depends on the BACnet
device. For more information, refer to Addressing Examples.
www. kepware.com
63 BACnet/IP Driver
Property Mnemonic BACnet Data Type OPC Data Type Access COV
AckedTransitions 1 BACnetEventTransitionBits Word, Short Read Only No
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
Description CharacterString String Read Only No
DeviceType CharacterString String Read Only No
EventEnable1 BACEventTransitionBits Word, Short Read/Write No
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
EventState BACnetEventState2 DWord, Long Read Only No
EventTimeStamps[3] Array of TimeStamp String Read Only3 No
FeedbackValue Unsigned Integer DWord, Long Read/Write No
NotificationClass Unsigned Integer DWord, Long Read Only No
NotifyType BACnetNotifyType2 DWord, Long Read Only No
NumberOfStates Unsigned Integer DWord, Long Read Only No
ObjectIdentifier 4 BACnetObjectIdentifier DWord, Long Read Only3 No
.Fault Boolean
.InAlarm Boolean
.OutOfService Boolean
.Overridden Boolean
TimeDelay Unsigned Integer DWord, Long Read/Write No
Notes:
1. Bit string types may be viewed as a packed Word value, whose actual number of meaningful bits will
depend on specific property. They may also be viewed as individual bits using optional sub-property
fields.
2. Properties with enumerated BACnet Data Types are expressed as integer values. For standard
interpretations, refer to Enumerated Data Types.
4. Object Identifier may be viewed as a packed DWord value (high 10 bits are the object type and low 22 bits
are the object instance) or as individual tags for object type and instance using optional sub-property
fields.
www. kepware.com
BACnet/IP Driver 64
Multi-State Value
The following table describes the object's supported properties. The Access column specifies the default access
permission for tags. To accommodate non-standard implementations of BACnet, tags may be given Read/Write
access unless noted otherwise. The COV column specifies whether the driver considers the property to have
implicit Change Of Value (COV) notification capability; that is, whether the BACnet specification requires the
property to support COV. For some properties, COV support depends on implementation. The "COV" modifier
must be added to the tag's address for use. For more information, refer to COV Settings.
Note: The length of the array property will be specified by [m], where m is the number of supported elements
(according to the BACnet specification). The BACnet array properties that do not have a length specified by the
BACnet standard will be designated by [N]. This means the length of the property array depends on the BACnet
device. For more information, refer to Addressing Examples.
Property Mnemonic BACnet Data Type OPC Data Type Access COV
AckedTransitions 1 BACnetEventTransitionBits Word, Short Read Only No
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
AlarmValues List of Unsigned Integers DWord, Long Read Only2 No
Description CharacterString String Read Only No
EventEnable1 BACnetEventTransitionBits Word, Short Read/Write No
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
EventState BACnetEventState3 DWord, Long Read Only No
EventTimeStamps[3] Array of TimeStamp String Read Only2 No
FaultValues List of Unsigned Integers DWord, Long Read Only2 No
NotificationClass Unsigned Integer DWord, Long Read Only No
NotifyType BACnetNotifyType3 DWord, Long Read Only No
NumberOfStates Unsigned Integer DWord, Long Read Only No
ObjectIdentifier 4 BACnetObjectIdentifier DWord, Long Read Only2 No
.Fault Boolean
.InAlarm Boolean
.OutOfService Boolean
.Overridden Boolean
TimeDelay Unsigned Integer DWord, Long Read/Write No
Notes:
1. Bit string types may be viewed as a packed Word value, whose actual number of meaningful bits will
depend on specific property. They may also be viewed as individual bits using optional sub-property
www. kepware.com
65 BACnet/IP Driver
fields.
3. Properties with enumerated BACnet Data Types are expressed as integer values. For standard
interpretations, refer to Enumerated Data Types.
4. Object Identifier may be viewed as a packed DWord value (high 10 bits are the object type and low 22 bits
are the object instance) or as individual tags for object type and instance using optional sub-property
fields.
Notification Class
The following table describes the object's supported properties. The Access column specifies the default access
permission for tags. To accommodate non-standard implementations of BACnet, tags may be given Read/Write
access unless noted otherwise.
Notes:
1. The length of the array property will be specified by [m], where m is the number of supported elements
(according to the BACnet specification). The BACnet array properties that do not have a length specified
by the BACnet standard will be designated by [N]. This means the length of the property array depends
on the BACnet device. For more information, refer to Addressing Examples.
2. Implicit Change of Value (COV) notifications are not supported for this object. For more information on
devices with explicit COV support, refer to COV Notifications.
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
Description CharacterString String Read Only
NotificationClass Unsigned Integer DWord, Long Read Only
ObjectIdentifier 2 BACnetObjectIdentifier DWord, Long Read Only3
Notes:
1. Bit string types may be viewed as a packed Word value, whose actual number of meaningful bits will
depend on specific property. They may also be viewed as individual bits using optional sub-property
fields.
2. Object Identifier may be viewed as a packed DWord value (high 10 bits are the object type and low 22 bits
are the object instance) or as individual tags for object type and instance using optional sub-property
fields.
www. kepware.com
BACnet/IP Driver 66
4. Properties with enumerated BACnet Data Types are expressed as integer values. For standard
interpretations, refer to Enumerated Data Types.
Program
The following table describes the object's supported properties. The Access column specifies the default access
permission for tags. To accommodate non-standard implementations of BACnet, tags may be given Read/Write
access unless noted otherwise.
Notes:
1. The length of the array property will be specified by [m], where m is the number of supported elements
(according to the BACnet specification). The BACnet array properties that do not have a length specified
by the BACnet standard will be designated by [N]. This means the length of the property array depends
on the BACnet device. For more information, refer to Addressing Examples.
2. Implicit Change of Value (COV) notifications are not supported for this object. For more information on
devices with explicit COV support, refer to COV Notifications.
.Fault Boolean
.InAlarm Boolean
.OutOfService Boolean
.Overridden Boolean
Notes:
1. Object Identifier may be viewed as a packed DWord value (high 10 bits are the object type and low 22 bits
are the object instance) or as individual tags for object type and instance using optional sub-property
fields.
3. Properties with enumerated BACnet Data Types are expressed as integer values. For standard
interpretations, refer to Enumerated Data Types.
www. kepware.com
67 BACnet/IP Driver
4. Bit string types may be viewed as a packed Word value, whose actual number of meaningful bits will
depend on specific property. They may also be viewed as individual bits using optional sub-property
fields.
Schedule
The following table describes the object's supported properties. The Access column specifies the default access
permission for tags. To accommodate non-standard implementations of BACnet, tags may be given Read/Write
access unless noted otherwise. The COV column specifies whether the driver considers the property to have
implicit Change Of Value (COV) notification capability; that is, whether the BACnet specification requires the
property to support COV. For some properties, COV support depends on implementation. The "COV" modifier
must be added to the tag's address for use. For more information, refer to COV Settings.
Note: The length of the array property will be specified by [m], where m is the number of supported elements
(according to the BACnet specification). The BACnet array properties that do not have a length specified by the
BACnet standard will be designated by [N]. This means the length of the property array depends on the BACnet
device. For more information, refer to Addressing Examples.
.InAlarm Boolean
.Fault Boolean
.Overridden Boolean
.OutofService Boolean
Reliability BACnetReliability DWord, Long Read Only1 No
OutofService Boolean Boolean Read/Write No
Notes:
www. kepware.com
BACnet/IP Driver 68
3. Object Identifier may be viewed as a packed DWord value (high 10 bits are the object type and low 22 bits
are the object instance) or as individual tags for object type and instance using optional sub-property
fields.
4. Properties with enumerated BACnet Data Types are expressed as integer values. For standard
interpretations, refer to Enumerated Data Types.
5. Bit string types may be viewed as a packed Word value, whose actual number of meaningful bits will
depend on specific property. They may also be viewed as individual bits using optional sub-property
fields.
Trend Log
The following table describes the object's supported properties. The Access column specifies the default access
permission for tags. To accommodate non-standard implementations of BACnet, tags may be given Read/Write
access unless noted otherwise.
Notes:
1. The length of the array property will be specified by [m], where m is the number of supported elements
(according to the BACnet specification). The BACnet array properties that do not have a length specified
by the BACnet standard will be designated by [N]. This means the length of the property array depends
on the BACnet device. For more information, refer to Addressing Examples.
2. Implicit Change of Value (COV) notifications are not supported for this object. For more information on
devices with explicit COV support, refer to COV Notifications.
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
BufferSize Unsigned Integer DWord, Long Read Only
COVResubscriptionInterval Unsigned Integer DWord, Long Read/Write
CurrentNotifyTime2 BACnetDateTime String Read Only3
Description CharacterString String Read Only
EventEnable1 BACnetEventTansitionBits Word, Short Read/Write
.ToFault Boolean
.ToNormal Boolean
.ToOffNormal Boolean
EventState BACnetEventState4 DWord, Long Read Only
EventTimeStamps[3] Array of TimeStamp String Read Only3
LastNotifyRecord 5 Unsigned Integer DWord, Long Read Only
LogEnable Boolean Boolean Read/Write
LogInterval Unsigned Integer DWord, Long Read/Write
NotificationClass Unsigned Integer DWord, Long Read Only
NotificationThreshold Unsigned Integer DWord, Long Read Only
NotifyType BACnetNotifyType4 DWord, Long Read Only
ObjectIdentifier 6 BACnetObjectIdentifier DWord, Long Read Only3
www. kepware.com
69 BACnet/IP Driver
Notes:
1. Bit string types may be viewed as a packed Word value, whose actual number of meaningful bits will
depend on specific property. They may also be viewed as individual bits using optional sub-property
fields.
2. This has been removed from the BACnet 2004 Specification. Support is available for legacy devices only.
4. Properties with enumerated BACnet Data Types are expressed as integer values. For standard
interpretations, refer to Enumerated Data Types.
5. The LastNotifyRecord property replaced the PreviousNotifyTime and CurrentNotifyTime properties in the
BACnet 2004 Specification. Devices that support LastNotifyRecord may not support the
CurrentNotifyTime and LastNotifyTime properties.
6. Object Identifier may be viewed as a packed DWord value (high 10 bits are the object type and low 22
bits are the object instance) or as individual tags for object type and instance using optional sub-
property fields.
www. kepware.com
BACnet/IP Driver 70
l Entry;Entry;Entry;...Entry;
l 1 to 7 is Monday to Sunday
l * is unspecified
l DD is the day of the month, where:
l 01 to 12 is January to December
l 13 is odd months
l 14 is even months
l ** is any month
l YYYY is the year, where:
l 1 to 7 is Monday to Sunday
l * is unspecified
l DD is the day of the month, where:
l 01 to 12 is January to December
l 13 is odd months
l 14 is even months
l ** is any month
l YYYY is the year, where:
l 01 to 12 is January to December
l 13 is odd months
www. kepware.com
71 BACnet/IP Driver
l 14 is even months
l ** is any month
l W is the week, where:
l 1 to 5 is the first week (days 1 to 7) to the fifth week (days 29 to 31) of the
month
l 6 is the last 7 days of the month
l * is any week in the month
l d is the day of the week, where:
l 1 to 7 is Monday to Sunday
l * is any day of the week
Example
Given the following three entries:
l Entry;Entry;Entry;...Entry;
l Period is:
l A Date Entry, Date List Entry, or Week and Day Entry per the DateList String
Format
l A Calendar Reference Entry with the format 3,CalRef, where:
l 0 is NULL
l 1 is Boolean
l 2 is Unsigned Integer
l 3 is Signed Integer
l 4 is Real
l 5 is Double
l 6 is Octet String
l 7 is Character String
l 8 is Bit String
www. kepware.com
BACnet/IP Driver 72
l 9 is Enumeration
l 10 is Date. For more information, refer to DateList String Format.
l 11 is Time. For more information, refer to Time above.
l 12 is Object Identifier, where the format is:
l AnalogInput
l AnalogOutput
l AnalogValue
l BinaryInput
l BinaryOutput
l BinaryValue
l Calendar
l Command
l Device
l EventEnrollment
l File
l Group
l Loop
l MultistateInput
l MultistateOutput
l NotificationClass
l Program
l Schedule
l Averaging
l MultistateValue
l TrendLog
l LifeSafetyPoint
l LifeSafetyZone
l Accumulator
l PulseConverter
l EventLog
l GlobalGroup
l TrendLogMultiple
l LoadControl
l StructuredView
l AccessDoor
l AccessCredential
l AccessPoint
l AccessRights
l AccessUser
l AccessZone
l CredentialDataInput
l NetworkSecurity
l BitStringValue
l CharacterStringValue
l DatePatternValue
l DateValue
l DateTimePatternValue
l DateTimeValue
l IntegerValue
www. kepware.com
73 BACnet/IP Driver
l LargeAnalogValue
l OctetStringValue
l PositiveIntegerValue
l TimePatternValue
l TimeValue
l NotificationForwarder
l AlertEnrollment
l Channel
l LightingOutput
l Length is n, where n is the number of characters in the value
l Value is any primitive data type
Example
Given the following four entries:
Multiplier,ModuloDivide
where:
Multiplier = The numerator or counts out; and
ModuloDivide = The denominator or pulses in.
Examples:
l For every 1 pulse in, the present value shows 1 count out. This 1:1 conversion factor has both the
multiplier and modulodivide of 1. The string format is: 1,1.
l For every 100 pulses in, the present value shows 1 count out. This 1:100 conversion factor has a
multiplier of 1 and a modulodivide of 100. The string format is: 1,100.
l For every 1000 pulses in, the present value shows 10 counts out. This 10:1000 conversion factor has a
multiplier of 10 and a modulodivide of 1000. The string format is: 10,1000.
Choice,Value
where:
Choice = Either 0 for float scale or 1 for integer scale; and
Value = The real or integer value depending on the choice.
Examples:
www. kepware.com
BACnet/IP Driver 74
l Entry;Entry;Entry;Entry;Entry;Entry;Entry;
l 0 is NULL
l 1 is Boolean
l 2 is Unsigned Integer
l 3 is Signed Integer
l 4 is Real
l 5 is Double
l 6 is Octet String
l 7 is Character String
l 8 is Bit String
l 9 is Enumeration
l 10 is Date. For more information, refer to DateList String Format.
l 11 is Time. For more information, refer to Time above.
l 12 is Object Identifier, where the format is:
l AnalogInput
l AnalogOutput
l AnalogValue
l BinaryInput
l BinaryOutput
l BinaryValue
l Calendar
l Command
l Device
l EventEnrollment
l File
l Group
l Loop
l MultistateInput
l MultistateOutput
l NotificationClass
l Program
www. kepware.com
75 BACnet/IP Driver
l Schedule
l Averaging
l MultistateValue
l TrendLog
l LifeSafetyPoint
l LifeSafetyZone
l Accumulator
l PulseConverter
l EventLog
l GlobalGroup
l TrendLogMultiple
l LoadControl
l StructuredView
l AccessDoor
l AccessCredential
l AccessPoint
l AccessRights
l AccessUser
l AccessZone
l CredentialDataInput
l NetworkSecurity
l BitStringValue
l CharacterStringValue
l DatePatternValue
l DateValue
l DateTimePatternValue
l DateTimeValue
l IntegerValue
l LargeAnalogValue
l OctetStringValue
l PositiveIntegerValue
l TimePatternValue
l TimeValue
l NotificationForwarder
l AlertEnrollment
l Channel
l LightingOutput
l Length is n, where n is the number of characters in the value.
l Value is any primitive data type.
Example
Given the following weekly schedule:
www. kepware.com
BACnet/IP Driver 76
World!;12305100,8,10,0101010101,12321500,9,2,42;12314600,10,9,*28032014,12321500,11,8,1232150-
0,12332200,12,14,AnalogInput,12;".
www. kepware.com
77 BACnet/IP Driver
' --------------------------------------------------------------------------
' KepBacNetApi
'
'
' --------------------------------------------------------------------------
DateType = 0
DateRangeType = 1
WeekNDayType = 2
CalendarType = 3
End Enum
Type BacNetDate
CalendarDate As Date
DayOfWeek As String
End Type
www. kepware.com
BACnet/IP Driver 78
Type BacNetDateRange
StartDate As BacNetDate
EndDate As BacNetDate
End Type
Type BacNetWeekNDay
Month As String
Week As String
Day As String
End Type
Type BacNetDateListEntry
BDateType As DateEntryTypes
BDate As BacNetDate
BDateRange As BacNetDateRange
BWeekNDay As BacNetWeekNDay
BCalRef As Integer
End Type
Type BacNetTimeValuePair
BTime As String
BDataType As Integer
BData As String
End Type
Type BacNetDailySchedule
BTimeValuePairs() As BacNetTimeValuePair
End Type
Type BacNetException
www. kepware.com
79 BACnet/IP Driver
BPeriod As BacNetDateListEntry
BPriority As Integer
BTimeValuePairs() As BacNetTimeValuePair
End Type
' --------------------------------------------------------------------------
' --------------------------------------------------------------------------
' Parses the input string and populates an array of Date-List entries
' Initialize indices that track the string and array positions
index = 1
arrayIndex = 0
Erase InputArray
index = index + 1
www. kepware.com
BACnet/IP Driver 80
' Add the entry to the array, and increment the index
InputArray(arrayIndex) = entry
arrayIndex = arrayIndex + 1
Wend
End Function
kepString = ""
size = 0
' Check the size of the array, on error: skip to the next line of code
size = UBound(InputArray) + 1
www. kepware.com
81 BACnet/IP Driver
Next
End If
DateListToKepString = kepString
End Function
' Parses the input string and populates the provided Weekly-Schedule
' Initialize indices that track the string and array positions
index = 1
arrayIndex = 0
Erase InputArray
InputArray:=dailySchedule.BTimeValuePairs
www. kepware.com
BACnet/IP Driver 82
index = index + 1
' Add a space in the array of daily-schedules for the current entry
' Add the entry to the array, and increment the index
InputArray(arrayIndex) = dailySchedule
arrayIndex = arrayIndex + 1
Wend
End Function
kepString = ""
Next
www. kepware.com
83 BACnet/IP Driver
WeeklyScheduleToKepString = kepString
End Function
' Parses the input string and populates the provided Exception-Schedule
comma = Array(",")
' Initialize indices that track the string and array positions
index = 1
arrayIndex = 0
Erase InputArray
' Parse the date-list entry at the start of the current exception
www. kepware.com
BACnet/IP Driver 84
index = index + 1
exception.BPriority = CInt(priorityTemp)
InputArray:=exception.BTimeValuePairs
index = index + 1
' Add a space in the array of exceptions for the current entry
' Add the entry to the array, and increment the index
InputArray(arrayIndex) = exception
arrayIndex = arrayIndex + 1
Wend
End Function
www. kepware.com
85 BACnet/IP Driver
kepString = ""
size = 0
' Check the size of the array, on error: skip to the next line of code
size = UBound(InputArray) + 1
' If the array isn't empty, then convert each time-value pair to its
InputArray(i).BPriority
tvp = TimeValuePairsToKepString(InputArray(i).BTimeValuePairs)
End If
Next
End If
www. kepware.com
BACnet/IP Driver 86
ExceptionScheduleToKepString = kepString
End Function
' --------------------------------------------------------------------------
' --------------------------------------------------------------------------
' Parses the input string and returns a BACnet Date type variable
As BacNetDate
DayOfWeek = Left(inputString, 1)
BDate.DayOfWeek = DayOfWeek
www. kepware.com
87 BACnet/IP Driver
DateFromKepString = BDate
End Function
' Returns a KEPServerEX style string that represents the data in the
DateToKepStringNoId(BDate)
End Function
' Returns a KEPServerEX style string that represents the data in the
Format(BDate.CalendarDate, "ddmmyyyy")
End Function
' Parses the input string and returns a BACnet Date-Range type variable
BacNetDateRange
www. kepware.com
BACnet/IP Driver 88
DateRangeFromKepString = BDateRange
End Function
' Returns a KEPServerEX style string that represents the data in the
As String
DateToKepStringNoId(BDateRange.EndDate)
End Function
As BacNetWeekNDay
' Set the object properties by extracting data from the string
BWeekNDay.Month = Left(inputString, 2)
BWeekNDay.Week = Mid(inputString, 3, 1)
www. kepware.com
89 BACnet/IP Driver
BWeekNDay.Day = Right(inputString, 1)
WeekNDayFromKepString = BWeekNDay
End Function
' Returns a KEPServerEX style string that represents the data in the
End Function
' Parses the input string and returns a BACnet Calendar object ID
CalendarReferenceFromKepString = CInt(inputString)
End Function
Format(BCalRef, "0")
End Function
www. kepware.com
BACnet/IP Driver 90
' Parses the input string starting at the specified index and returns a
' BacNetDateListEntry
comma = Array(",")
stringIndex = stringIndex + 2
' Based on the entry type from above, populate the appropriate variable
Case DateEntryTypes.DateType
entry.BDate = DateFromKepString(date1)
Case DateEntryTypes.DateRangeType
www. kepware.com
91 BACnet/IP Driver
Case DateEntryTypes.WeekNDayType
entry.BWeekNDay = WeekNDayFromKepString(date1)
Case DateEntryTypes.CalendarType
entry.BCalRef = CalendarReferenceFromKepString(date1)
End Select
DateListEntryFromKepString = entry
End Function
As String
Case DateEntryTypes.DateType
DateListEntryToKepString = DateToKepString(entry.BDate)
www. kepware.com
BACnet/IP Driver 92
Case DateEntryTypes.DateRangeType
DateListEntryToKepString = _
DateRangeToKepString(entry.BDateRange)
Case DateEntryTypes.WeekNDayType
DateListEntryToKepString = WeekNDayToKepString(entry.BWeekNDay)
Case DateEntryTypes.CalendarType
DateListEntryToKepString = _
CalendarReferenceToKepString(entry.BCalRef)
End Select
End Function
' Parses the input string and populates the array of time-value pairs
arrayIndex = 0
comma = Array(",")
www. kepware.com
93 BACnet/IP Driver
Erase InputArray
' Loop through the input string until the end of the string, or the
stringIndex = stringIndex + 1
End If
' Get the time (VBA doesn't support hundredths of seconds, so the
stringIndex = stringIndex + 9
tvp.BDataType = CInt(typeTemp)
www. kepware.com
BACnet/IP Driver 94
' Add the new array element, and increment the array index
InputArray(arrayIndex) = tvp
arrayIndex = arrayIndex + 1
Wend
End Function
As String
End Function
kepString = ""
size = 0
' Check the size of the array, if there is an error, skip to the next
www. kepware.com
95 BACnet/IP Driver
size = UBound(InputArray) + 1
' If the array isn't empty, then convert each time-value pair to its
' Append the current time-value pair string to the overall '
' string
End If
Next
End If
TimeValuePairsToKepString = kepString
End Function
' Build and return a sub-string by reading the input string until the first
www. kepware.com
BACnet/IP Driver 96
' Initialize the closest delimiter location to past the last character
closest = Len(raw) + 1
ReadUntilAny = ""
Else
' Get the address of the closest instance for the current
' delimiter
closest = address - 1
End If
Next
' return the section of the string from the start address to the
End If
End Function
www. kepware.com
97 BACnet/IP Driver
data = "2,0135;"
kepString = DateListToKepString(InputArray:=DateList)
End Function
data = "12345678,2,3,123;;;;;;;"
www. kepware.com
BACnet/IP Driver 98
kepString = WeeklyScheduleToKepString(InputArray:=Weekly)
End Function
data = "0,301012014,16,23595999,2,3,123;"
kepString = ExceptionScheduleToKepString( _
InputArray:=ExceptionSchedule)
End Function
www. kepware.com
99 BACnet/IP Driver
Error Descriptions
Click on the link for a list of abort and reject reasons, error classes and codes, or error messages.
Abort Reasons
Reject Reasons
Error Classes and Codes
Error Messages
Abort Reasons
The following are standard abort reason codes as defined in the BACnet specification.
Code Description
0 Other
1 Buffer overflow
2 Invalid APDU in this state
3 Preempted by higher priority task
4 Segmentation not supported
Reject Reasons
The following are standard reject reason codes defined in the BACnet specification.
Code Description
0 Other
1 Buffer overflow
2 Inconsistent parameters
3 Invalid parameter data type
4 Invalid tag
5 Missing required parameter
6 Parameter out of range
7 Too many arguments
8 Unidentified enumeration
9 Unrecognized service
www. kepware.com
BACnet/IP Driver 100
Code Description
6 Incompatible Security Levels
7 Inconsistent Parameters
8 Inconsistent Selection Criteria
9 Invalid Data Type
10 Invalid File Access Method
11 Invalid File Start Position
12 Invalid Operator Name
13 Invalid Parameter Data Type
14 Invalid Time Stamp
15 Key Generation Error
16 Missing Required Parameter
17 No Objects Of Specified Type
18 No Space For Object
19 No Space To Add List Element
20 No Space To Write Property
21 No VT Sessions Available
22 Property Is Not A List
23 Object Deletion Not Permitted
24 Object Identifier Already Exists
25 Operational Problem
26 Password Failure
27 Read Access Denied
28 Security Not Supported
29 Service Request Denied
30 Timeout
31 Unknown Object
32 Unknown Property
33 --Enumeration Removed--
34 Unknown VT Class
35 Unknown VT Session
36 Unsupported Object Type
37 Value Out Of Range
38 VT Session Already Closed
39 VT Session Termination Failure
40 Write Access Denied
41 Character Set Not Supported
42 Invalid Array Index
43 COV Subscription Failed
44 Not COV Property
45 Optional Functionality Not Supported
46 Invalid Configuration Data
47 Data Type Not Supported
48 Duplicate Name
49 Duplicate Object ID
50 Property is Not an Array
51 Abort Buffer Overflow
52 Abort Invalid APDU in this State
53 Abort Preempted by Higher Priority Task
54 Abort Segmentation Not Supported
55 Abort Proprietary
56 Abort Other
57 Invalid Tag
58 Network Down
59 Reject Buffer Overflow
www. kepware.com
101 BACnet/IP Driver
Code Description
60 Reject Inconsistent Parameters
61 Reject Invalid Parameter Data Type
62 Reject Invalid Tag
63 Reject Missing Required Parameter
64 Reject Parameter Out of Range
65 Reject Too Many Arguments
66 Reject Undefined Enumeration
67 Reject Unrecognized Service
68 Reject Proprietary
69 Reject Other
70 Unknown Device
71 Unknown Route
72 Value Not Initialized
73 Invalid Event State
74 No Alarm Configured
75 Log Buffer Full
76 Logged Value Purged
77 No Property Specified
78 Not Configured For Triggered Logging
79 --Reserved for Future Use--
80 Parameter Out of Range
81 --Reserved for Future Use--
82 Busy
83 Communication Disabled
Error Messages
The following messages may be generated. They are listed here in alphabetical order. Click on the link for a
description of the message.
www. kepware.com
BACnet/IP Driver 102
Failed to initialize BACnet client for device <channel.device>. Possible duplicate device ID.
Imported tag database may be incomplete due to communication error.
Imported tag database may be incomplete. Could not discover device.
Missing address.
No data for device instance <instance> found in import file.
Polling COV item <tag> on device <device>.
Request aborted by device <device>.
Request rejected by device <device>.
Tag generation complete - no objects found on device <device>.
Tag import terminated. Could not parse file record <line number>.
Unable to bind to local address (IP: xxx.xxx.xxx.xxx, Port: x).
Unable to generate a tag database for device <device>.
Unable to write to <address> on device <device>.
Winsock initialization failed (OS Error = n).
Winsock V1.1 or higher must be installed to use the BACnet/IP Driver.
Possible Cause:
A tag address that has been specified statically references a location that is beyond the range of supported
locations for the device.
Solution:
Verify the address is correct; if it is not, re-enter it in the client application.
Connection failed - could not read max APDU length from remote device
<device>.
Error Type:
Serious
Possible Cause:
The IP address entered in the Discovery Device Properties may be incorrect.
Solution:
See Also:
Discovery
Connection failed - could not read protocol services supported from remote
device <device>.
Error Type:
Serious
Possible Cause:
The IP address entered in the Discovery Device Properties may be incorrect.
Solution:
www. kepware.com
103 BACnet/IP Driver
See Also:
Discovery
Connection failed - could not read segmentation supported from remote device
<device>.
Error Type:
Serious
Possible Cause:
The IP address entered in the Discovery Device Properties may be incorrect.
Solution:
See Also:
Discovery
Connection failed - could not register as foreign device for discovery of remote
device <device>.
Error Type:
Serious
Possible Cause:
1. The network connection between the device and the host PC is broken.
2. The BBMD IP specified on the Foreign Device Channel Properties is not correct.
Solution:
3. Ping the BBMD from the driver's host computer. Make sure the host and BBMD have the correct default
gateway IP configured and that an IP router has been configured to join the subnets.
See Also:
Foreign Device
Connection failed - did not get I-Am from remote device <device>.
Error Type:
Serious
Possible Cause:
1. The network connection between the device and the host PC is broken.
2. The communications parameters configured for the device and driver do not match.
www. kepware.com
BACnet/IP Driver 104
Solution:
2. Verify that the specified communications parameters match those of the device.
COV subscription failed for tag <tag> on device <device> (Class: <class>,
Code:).
Error Type:
Serious
Possible Cause:
See the given error class and code.
Solution:
The device may not support COV for the given item or not have the resources to service the request at the time it
was issued. Consider polling the property.
Note:
For a complete listing of standard BACnet error types, refer to Error Classes and Codes.
See Also:
COV Settings
CSV import failure for notification object identifier list on device <device>:
<reason>.
Error Type:
Error
Possible Cause:
Importing the notification object identifier list from a CSV file failed due to: no valid records in file, incorrect field
count, incorrect header, missing object type, invalid object type, or invalid object instance.
Solution:
1. Ensure that the CSV file has at least one valid record or add one.
2. Locate the record that has an incorrect number of fields and add or remove as necessary.
4. Locate and correct the record with the missing object type.
5. Locate and correct the record with the invalid object type.
6. Locate and correct the record with the invalid object instance.
Possible Cause:
A tag address that has been specified statically has been assigned an invalid data type.
Solution:
Modify the requested data type in the client application.
www. kepware.com
105 BACnet/IP Driver
Serious
Possible Cause:
1. The network connection between the device and the host PC is broken.
2. The communications parameters configure for the device and driver do not match.
3. The response from the device took longer to receive than the amount of time specified in the "Request
Timeout" device setting.
Solution:
2. Verify that the specified communications parameters match those of the device.
3. Increase the Request Timeout setting so that the entire response can be handled.
Possible Cause:
A tag address that has been specified statically contains one or more invalid characters.
Solution:
Re-enter the address in the client application.
Possible Cause:
A tag address that has been specified statically references a location that is valid for the communications protocol
but not supported by the target device.
Solution:
1. Verify that the address is correct; if it is not, re-enter it in the client application.
2. Verify that the selected model name for the device is correct.
Possible Cause:
A tag address that has been specified statically has a requested access mode that is not compatible with what the
device supports for that address.
Solution:
Change the access mode in the client application.
www. kepware.com
BACnet/IP Driver 106
Error parsing write data for tag <tag name> on device <device>. Data does
not match DateList format.
Error Type:
Serious
Possible Cause:
The data for the attempted write is not formatted properly as a DateList string.
Solution:
Update the DateList string so that it is in the correct format.
Note:
In the case of a multiple tag write, if the write value for a DateList Tag fails to parse, then none of the tags will be
written to the device.
See Also:
DateList String Format
Error parsing write data for tag <tag name> on device <device>. Data does
not match ExceptionSchedule format.
Error Type:
Serious
Possible Cause:
The data for the attempted write is not formatted properly as an ExceptionSchedule string.
Solution:
Update the ExceptionSchedule string so that it is in the correct format.
Note:
In the case of a multiple tag write, if the write value for an ExceptionSchedule Tag fails to parse, then none of the
tags will be written to the device.
See Also:
ExceptionSchedule String Format
Error parsing write data for tag <tag name> on device <device>. Data does
not match Prescale format.
Error Type:
Serious
Possible Cause:
The data for the attempted write is not formatted properly as a Prescale string.
Solution:
Update the Prescale string so that it is in the correct format.
Note:
In the case of a multiple tag write, if the write value for a Prescale Tag fails to parse, then none of the tags will be
written to the device.
See Also:
Prescale String Format
www. kepware.com
107 BACnet/IP Driver
Error parsing write data for tag <tag name> on device <device>. Data does
not match Scale format.
Error Type:
Serious
Possible Cause:
The data for the attempted write is not formatted properly as a Scale string.
Solution:
Update the Scale string so that it is in the correct format.
Note:
In the case of a multiple tag write, if the write value for a Scale Tag fails to parse, then none of the tags will be
written to the device.
See Also:
Scale String Format
Error parsing write data for tag <tag name> on device <device>. Data does
not match WeeklySchedule format.
Error Type:
Serious
Possible Cause:
The data for the attempted write is not formatted properly as a WeeklySchedule string.
Solution:
Update the WeeklySchedule string so that it is in the correct format.
Note:
In the case of a multiple tag write, if the write value for a WeeklySchedule Tag fails to parse, then none of the tags
will be written to the device.
See Also:
WeeklySchedule String Format
Error reading object list from device <device> (Class: <class>, Code:
<code>).
Error Type:
Warning
Possible Cause:
1. Message corrupted.
Solution:
2. If the request was sent in multiple segments and the device does not support request message
segmentation, reconfigure the driver to exclude segment requests.
3. If this particular request never succeeds, and the above possibilities have been eliminated, note the error
class and code, and perform a diagnostics capture of transaction (if possible). Refer to the OPC server's
main help documentation and also contact Technical Support.
www. kepware.com
BACnet/IP Driver 108
Note:
The hardware vendor should be able to supply a PICS document that details the device's supported properties.
See Also:
Error Classes and Codes
APDU Settings
Error reading property list from device <device>, Object type: <type>,
instance: <instance> (Class: <class>, Code: <code>).
Error Type:
Warning
Possible Cause:
1. Device does not support the ReadPropertyMultiple service or "All" property used by driver to acquire list of
properties implemented in object.
2. Message corrupted.
Solution:
1. The driver will generate a default list of tags if it failed to acquire a list of implemented properties.
3. If the request was sent in multiple segments, and the device does not support request message
segmentation, reconfigure the driver to not segment requests.
4. If this particular request never succeeds, and the above possibilities have been eliminated, note the error
class and code, and perform a diagnostics capture of transaction (if possible.) Refer to the OPC Server's
main help documentation and also contact Technical Support.
Note:
The hardware vendor should be able to supply a PICS document that details the device's supported properties.
See Also:
Error Classes and Codes
APDU Settings
Possible Cause:
Solution:
www. kepware.com
109 BACnet/IP Driver
Error reading tag <tag> on device <device> (Class: <class>, Code: <code>).
Error Type:
Serious
Possible Cause:
1. Message corrupted.
Solution:
2. If the request was sent in multiple segments, and the device does not support request message
segmentation, reconfigure the driver to not segment requests.
3. If the driver has been configured to allow multiple item requests, and the device does not support the
ReadPropertyMultiple service, reconfigure the driver to use single item requests.
4. If this particular request never succeeds, and the above possibilities have been eliminated, note the error
class and code, and perform a diagnostics capture of transaction (if possible). Refer to the OPC Server's
main help documentation and also contact Technical Support.
Note:
The hardware vendor should be able to supply a PICS document that details the device's supported properties.
See Also:
Error Classes and Codes
APDU Settings
Error writing tag <tag> on device <device> (Class: <class>, Code: <code>).
Error Type:
Serious
Possible Cause:
1. Message corrupted.
Solution:
2. If the request was sent in multiple segments, and the device does not support request message
segmentation, reconfigure the driver to not segment requests.
3. If the driver has been configured to allow multiple item requests, and the device does not support the
WritePropertyMultiple service, reconfigure the driver to use single item requests.
4. If this particular request never succeeds, and the above possibilities have been eliminated, note the error
class and code and perform a diagnostics capture of transaction (if possible). Refer to the OPC Server's
main help documentation and also contact Technical Support.
Note:
The hardware vendor should be able to supply a PICS document that details the device's supported properties.
www. kepware.com
BACnet/IP Driver 110
See Also:
Error Classes and Codes
APDU Settings
Possible Cause:
Each device that is network visible from the driver must have a unique combination of network number and
device instance.
Solution:
Verify device configurations and resolve any conflicts.
See Also:
Device Setup
Possible Cause:
The driver did not receive a response from the device at some point during the tag import procedure.
Solution:
Retry import. If problem persists, check network hardware.
Possible Cause:
The driver did not receive an I-Am from the device or could not read required communications properties from
the device at the start of the import procedure.
Solution:
Verify the driver and device configuration.
Missing address.
Error Type:
Warning
Possible Cause:
A tag address that has been specified statically has no length.
Solution:
Re-enter the address in the client application.
www. kepware.com
111 BACnet/IP Driver
Possible Cause:
The import file specified in the Tag Import page did not contain data for the device specified in the General device
page.
Solution:
1. Check the import file name on the Tag Import page and the Device ID on the General device page to verify
that they are correct.
2. Check the import file to make sure that expected data was exported to the file.
See Also:
Tag Import
General Device
Possible Cause:
Request to subscribe to COV update notifications for the given tag failed. The driver will poll the device for this
property instead. The device may not support the SubscribeCOV service (for properties with implicit COV
support) or the SubscribeCOVProperty service (for all other properties.) The device may not support the
addressed property.
Solution:
Check the device PICS statement for supported properties and services. There is no harm in polling for the data.
COV may need to be disabled for the property or entire device to prevent this error.
See Also:
COV Notifications
Possible Cause:
See the given reason code.
Solution:
This may indicate a BACnet implementation problem. If this particular request never succeeds, note the abort
reason and perform a diagnostics capture of transaction (if possible). Refer to the OPC Server's main help
documentation and also contact Technical Support.
Note:
For a complete listing of standard BACnet abort reasons, refer to Abort Reasons.
Possible Cause:
See the given reason code.
Solution:
www. kepware.com
BACnet/IP Driver 112
This may indicate a BACnet implementation problem. If this particular request never succeeds, note the reject
reason and perform a diagnostics capture of transaction (if possible). Refer to the OPC Server's main help
documentation and also contact Technical Support.
Note:
For a complete listing of standard BACnet reject reasons, refer to Reject Reasons.
Possible Cause:
The device does not have any objects of the type specified on the Tag Import Objects dialog instantiated at the
time of import.
Solution:
Check the tag import settings and verify that the objects intended to generate tags exist in the device.
See Also:
Tag Import Settings
Tag import terminated. Could not parse file record <line number>.
Error Type:
Warning
Possible Cause:
The data at the specified line number in the import file could not be parsed due to an unexpected syntax or record
length.
Solution:
1. Verify that the correct import file was specified and that the file was generated by the specified
application.
See Also:
Tag Import Settings
Possible Cause:
1. More than one BACnet/IP Driver channel has been configured to use the same IP and port.
2. There is another application running on the system that has already acquired the indicated IP and port for
exclusive use.
Solution:
1. Select another local IP address for one of the offending channels. The computer may need to be
multihomed.
See Also:
www. kepware.com
113 BACnet/IP Driver
Possible Cause:
No objects of the types specified in the Tag Import Settings currently exist in the device.
Solution:
Make sure the object selections are correct.
See Also:
Tag Import Settings
Possible Cause:
1. The network connection between the device and the host PC is broken.
2. The communications parameters configure for the device and driver do not match.
Solution:
2. Verify that the specified communications parameters match those of the device.
OS Possible Solution
Error
10091 Indicates that the underlying network subsystem is not ready for network communication. Wait a
few seconds and restart the driver.
10067 Limit on the number of tasks supported by the Windows sockets implementation has been reached.
Close one or more applications that may be using Winsock and restart the driver.
Possible Cause:
The version number of the Winsock DLL found on the system is less than 1.1.
Solution:
Upgrade Winsock to version 1.1 or higher.
www. kepware.com
BACnet/IP Driver 114
PIC Statement
Overview
Date 3May16
Vendor Name Kepware Technologies
Product Name KEPServerEX
Product Model Number BACnet/IP Driver
Application Software Version 5.20
Firmware Revision N/A
BACnet Protocol Revision 135-2012
Product Description
The KEPServerEX server platform, paired with the BACnet Driver, has several primary use cases:
l Managing non-BACnet devices within a BACnet system. For example, a number of non-BACnet PLCs
controlling existing air handling and lighting equipment can feed information into a BACnet SCADA for
monitoring systems, analyzing data, and triggering actions based on events.
l Pushing BACnet data into a non-BACnet SCADA. For example, a very large plant-wide or smart city-wide
non-BACnet SCADA controlling and monitoring a myriad of operations can use the BACnet Driver to feed
BACnet information into the non-BACnet SCADA.
l Accessing BACnet data through the server’s IoT Gateway. For example, device data from building
automation systems can be sent across web interfaces that utilize standard web connectivity protocols
and take advantage of the associated security to then be utilized and combined in an IoT environment.
www. kepware.com
115 BACnet/IP Driver
Segmentation Capability
X Able to transmit segmented messages, Window Size 1-127 bytes
X Able to receive segmented messages, Window Size 1-127 bytes
www. kepware.com
BACnet/IP Driver 116
Networking Options
Router, Clause 6 - List all routing configurations, e.g., ARCNET-Ethernet, Ethernet-MS/TP, etc.
Annex H, BACnet Tunneling Router over IP
BACnet/IP Broadcast Management Device (BBMD)
www. kepware.com
117 BACnet/IP Driver
Index
Abort Reasons 99
Accumulator 41
Add Object Instances 17
Address <address> is out of range for the specified device or register. 102
Address Descriptions 39
Addressing Examples 40
Advanced Settings 8
Analog Input 43
Analog Output 44
Analog Value 45
APDU Settings 13
Averaging 47
BACnet/ip Objects 40
Binary Input 48
Binary Output 49
Binary Value 50
Calendar 52
Channel Setup 6
Comma-Separated Variable (CSV) 18
Command 52
Command Settings 13
Configuring Multiple Channels 26
Connection failed - could not read max APDU length from remote device <device>. 102
Connection failed - could not read protocol services supported from remote device <device>. 102
Connection failed - could not read segmentation supported from remote device <device>. 103
Connection failed - could not register as foreign device for discovery of remote device <device>. 103
Connection failed - did not get I-Am from remote device <device>. 103
COV Notifications 28
COV Settings 15
COV subscription failed for tag <tag> on device <device> (Class: <class>, Code:). 104
CSV File Format 19
CSV Import / Export 18
CSV import failure for notification object identifier list on device <device>. <reason>. 104
www. kepware.com
BACnet/IP Driver 118
Data Type <type> is not valid for device address <address>. 104
Data Types Description 29
DateList String Format 70
Device 53
Device <device> is not responding. 104
Device address <address> contains a syntax error. 105
Device address <address> is not supported by model <model name>. 105
Device address <address> is read only. 105
Device Discovery 9
Device Setup 11
Discovery 23
Failed to initialize BACnet client for device <channel.device>. Possible duplicate device ID. 110
File 55
Foreign Device 6
www. kepware.com
119 BACnet/IP Driver
Group 56
Help Contents 5
Network Settings 6
No data for device instance <instance> found in import file. 110
Notification Class 65
Notifications 16
Object Instance 19
Object Instances 16
Object Instances to Receive Notifications List 18
Object Type 19
Optimizing BACnet/IP Communications 25
Overview 5
www. kepware.com
BACnet/IP Driver 120
Reject Reasons 99
Request aborted by device <device>. 111
Request rejected by device <device>. 111
www. kepware.com