4 Data Array Parameters ................................................................................................................................... 7
5 Configuring the FieldServer as a BACnet IP Client........................................................................................... 8
5.1Client Side Connection Parameters................................................................................................................... 8
5.2Client Side Node Parameters ............................................................................................................................. 9
5.3Client Side Map Descriptor Parameters............................................................................................................ 9
5.3.1 FieldServer Specific Map Descriptor Parameters ..................................................................................... 9
5.3.2 Driver Specific Map Descriptor Parameters ........................................................................................... 10
5.3.4 Map Descriptor Example ........................................................................................................................ 12
6 Configuring the FieldServer as a BACnet IP Server ........................................................................................ 13
6.1Driver Specific FieldServer Parameters ........................................................................................................... 13
6.2Server Side Connection Parameters ............................................................................................................... 14
6.3Server Side Node Parameters .......................................................................................................................... 14
6.4Server Side Map Descriptor Parameters ........................................................................................................ 15
6.4.1 FieldServer Specific Map Descriptor Parameters ................................................................................... 15
6.4.2 Driver Specific Map Descriptor Parameters ........................................................................................... 16
6.4.3 Map Descriptor Example ........................................................................................................................ 18
Appendix A. Useful Features ................................................................................................................................ 19
Appendix A.5. Relinquishing Control of a Point as a Client ......................................................................................... 21
Appendix A.6. Using BBMD ............................................................................................................................................ 22
Appendix A.6.1. Setting up a Broadcast Distribution Table (BDT) .................................................................... 22
Appendix A.6.2. BBMD Configuration Example ................................................................................................ 22
Appendix A.7. BACnet State Text Preload .................................................................................................................... 26
Appendix A.7.1. Method 1 – Using an Offset/User Table: ................................................................................ 26
Appendix A.7.2. Method 2 – Using a Single Data Array: .................................................................................. 27
Appendix A.7.3. Using Intrinsic Reporting for a Multistate Value .................................................................... 28
Appendix A.8. COV and Intrinsic Reporting .................................................................................................................. 28
Appendix A.8.1. Notes on COV configuration: .................................................................................................. 28
Appendix A.8.2. Notes on Intrinsic Reporting configuration: ........................................................................... 29
Appendix A.8.3. Node Configuration Example - Enable or Disable COV ........................................................... 30
Appendix A.8.4. Map Descriptor Example - COV .............................................................................................. 30
Appendix A.8.5. Map Descriptor Example – Intrinsic Reporting ....................................................................... 30
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
Appendix A.13. Using a .ini file to set the Vendor_ID and Vendor_Name of the Device Object ............................. 39
Appendix B. Troubleshooting ............................................................................................................................... 40
Appendix B.1. Debugging a BACnet connection ........................................................................................................... 40
Appendix B.5.1. BACnet Error CLASS ................................................................................................................ 41
Appendix B.5.2. BACnet Error CODES for Error Class OBJECT ........................................................................... 42
Appendix C. Vendor Information ......................................................................................................................... 43
Appendix C.5. Using Cimetrics Explorer ........................................................................................................................ 45
Appendix C.6. Trending using OniconTrend Log Objects............................................................................................. 46
Appendix C.6.2. Date and Time Synchronization .............................................................................................. 48
Appendix D. Reference ........................................................................................................................................ 49
Appendix D.1. FieldServer Vendor ID ............................................................................................................................ 49
Appendix D.4. Units ........................................................................................................................................................ 51
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
The BACnet/IP driver allows the FieldServer to transfer data to and from devices over Ethernet using BACnet/IP
protocol. The FieldServer can emulate either a Server or Client.
All information in a BACnet system is represented in terms of objects. The Object_Identifier is a 32-bit code that
identifies the type of Object (also identified by the Object_Type Property) and its "Instance" number, which
together uniquely identify the Object within its BACnet device. Theoretically, a BACnet device could have over four
million Objects of a particular type. The Object_Name is a text string, which has a unique capability. BACnet
devices may broadcast queries for devices that contain Objects with a specific Object_Name. This can greatly
simplify project setup.
BACnet requires one Device Object to be present in every BACnet device. The Device Object makes information
about the device and its capabilities available to other devices on the networks. Before one BACnet device starts
control-related communications with another, it needs to obtain some of the information presented by the other
device's Device Object. Unlike other Objects, the Device Object's Instance number must be unique across the
entire BACnet internetwork because it is used to uniquely identify the BACnet devices. It may be used to
conveniently identify the BACnet device from other devices during installation.
Standard object types are used to hold real time data and other information. Each Object Type is referenced by a
number, for example 0 represents an Analog Input.
Each Object consists of a number of prescribed properties, the main property being the Present_Value. Objects
are monitored and controlled through their properties. The Analog Input Object is representative of the Objects
involved directly with control elements and many of its Properties reflect this.
The information that follows describes how to expand upon the factory defaults provided in the configuration files
included with the FieldServer.
1.1 BTL Mark – BACnet Testi n g L aboratory
The BTL mark is a symbol that indicates to a consumer that a product has passed a
series of rigorous tests conducted by an independent laboratory which verifies that the
product correctly implements the BACnet features claimed in the listing. The mark is a
symbol of a high-quality BACnet product. For more information about the BACnet
Testing Laboratory go to: http://www.bacnetinternational.net/btl/.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
2.1 Supplied by F i e ldServe r Technolo g i e s for this d river
2.2 Provided by t he Supplier o f 3
rd
Party Eq u i p m ent
2.2.1 Hardware
This cable is necessary for connection to the driver. It is shipped with the FieldServer and not separately with the driver.
Not all FieldServer models support 100BaseT. Consult the appropriate instruction manual for details of the Ethernet speed supported by
specific hardware.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
It is possible to connect a BACnet/IP device using the N1 or the N23 network ports. These ports need to be
configured for BACnet/IP in the configuration file.
Configure the Controller according to manufacturer’s instructions
Not all ports shown are necessarily available on the hardware. Consult the appropriate Instruction manual for details of the ports available on
specific hardware.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
Specify the UDP port that will be used to communicate
with other BACnet Client devices.
Any legal IP port value (1 - 65535);
47808
// Client Side Connections
Connections
Adapter
, Protocol
, Poll_Delay
N1
, Bacnet_IP
, 0500s
4
5 CONFI G URING THE FI E LDSERVER A S A BACNET I P CLIENT
For a detailed discussion on FieldServer configuration, please refer to the FieldServer Configuration Manual. The
information that follows describes how to expand upon the factory defaults provided in the configuration files
included with the FieldServer (See “.csv” sample files provided with the FieldServer).
This section documents and describes the parameters necessary for configuring the FieldServer to communicate
with a BACnet/IP Server.
The configuration file tells the FieldServer about its interfaces, and the routing of data required. In order to enable
the FieldServer for BACnet/IP communications, the driver independent FieldServer buffers need to be declared in
the “Data Arrays” section, the destination device addresses need to be declared in the “Client Side Nodes” section,
and the data required from the Servers needs to be mapped in the “Client Side Map Descriptors” section. Details
on how to do this can be found below.
Note that in the tables, * indicates an optional parameter, with the bold legal value being the default.
5.1 Client Side C onnection Paramet e r s
Example
Consult the appropriate Instruction manual for details of the ports available on specific hardware.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
Type of object. Refer to Appendix D.1 for more
information.
AI, AO, AV, BI, BO, BV, MI, MO,
MV, NC
Object_Instance
(Alias = Address)
Instance of the object on the device.
0, 1, 2, 3, …4194303
Property
The BACnet property to be read.
Refer to Appendix D.3
Data_Array_Low_Scale*
Scaling zero in Data Array
-32767 to 32767, 0
Data_Array_High_Scale*
Scaling max in Data Array
-32767 to 32767, 100
Node_Low_Scale*
Scaling zero in Connected Node
-32767 to 32767, 0
Node_High_Scale*
Scaling max in Connected Node
-32767 to 32767, 100
Length*
Used to create an array of sequential
Object_Instances on an Object_Type.
1 to max point count of the
FieldServer, 1
Array_Index*
When referencing Multistate properties, allows
the user to specify the index of the property to
be read. If 1 is specified, the first one will be
read, if 2 is specified, the second will be read,
etc. If 0 is specified, the driver will return the
total number (count) of array items linked to
the property. If the parameter is not specified,
a list of all items will be returned. Refer to
Appendix A.3
0 to max number of array items
in the BACnet Property, -
Write_Priority*
Allows the driver to specify the write priority
used to write an output.
1..16, 16
Linked_Map_Descriptors*
This parameter allows the linking of Map
Descriptors to an active read or write Map
Descriptor in order to construct a
ReadPropertyMultiple or WritePropertyMultiple
transaction. Refer to Appendix A.10
The name of a previously defined
active Map Descriptor, -
Length*
When the optional Length parameter is set to a
value N, the Map Descriptor will include N
consecutive instances of the specified
Object_Type. For example, if a Map Descriptor
specifies Object_Type, Address 4 and Length 3,
this means that the AO instances 4, 5 and 6 will
be included in the read or write transaction. The
corresponding Data Array values are in
consecutive positions in the Data Array, starting
at the specified Data_Array_Offset.
Any positive integer that falls
between the range of the
Data_Array_Offset and the
Data_Array_Length as specified
in section 4, -
Refer also to Appendix A.10
5.3.2 Driver Spec i f i c Map D e s criptor P a r ameters
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
Specify a unique network number if there are multiple virtual Server
Nodes. Refer to Appendix A.2
1 – 65535, 5
// FieldServer Driver specific parameters
Bridge
Title
BACnet Server
6 CONFI G URING THE FI ELDSERVER A S A BACNET I P SERVER
For a detailed discussion on FieldServer configuration, please refer to the FieldServer Configuration Manual. The
information that follows describes how to expand upon the factory defaults provided in the configuration files
included with the FieldServer (See “.csv” files provided with the FieldServer).
This section documents and describes the parameters necessary for configuring the FieldServer to communicate
with a BACnet/IP Client.
The configuration file tells the FieldServer about its interfaces, and the routing of data required. In order to enable
the FieldServer for BACnet/IP communications, the driver independent FieldServer buffers need to be declared in
the “Data Arrays” section, the FieldServer virtual node(s) needs to be declared in the “Server Side Nodes” section,
and the data to be provided to the Clients needs to be mapped in the “Server Side Map Descriptors” section.
Details on how to do this can be found below.
Note that in the tables, * indicates an optional parameter, with the bold legal value being the default.
6.1 Driver Specif i c FieldSer v er Paramete r s
Example
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
Specify if this Connection should act as a BBMD Server on the
network. Refer to Appendix A.5 for more information.
BBMD, -
IP_Port*
Specify the UDP port that will be used to communicate with
other BACnet Client devices.
Any legal IP port value (1
- 65535); 47808
// Server Side Connections
Connections
Adapter
, Protocol
, Connection_Type
N1
, Bacnet_IP
, BBMD
Section Title
Nodes
Column Title
Function
Legal Values
Node_Name
Provide name for Node
Up to 31
alphanumeric
characters
Node_ID
BACnet station address of physical Server node
0 - 4194303
Protocol
Specify protocol used
BACnet_IP
Node_Option*
Enable or disable COV for this Node. Refer to Appendix A.8 for
further information.
COV_Enable,
COV_Disable, -
Node_Type*
Specific to Trane applications. The Node type can be defined.
Refer to Appendix C.2
BCU, Summit
Workstation, -
Disabled_Services*
Certain BACnet Services can be disabled on a BACnet Server Node
when specific requirements necessitate this. Refer to Appendix
A.12 for more information.
-, WPM, COV
Model_Name*
Sets the Model Name Property of the Device Object
Up to 32
alphanumeric
characters
5
6.2 Server Side C o nnection Paramete r s
Example
6.3 Server Side N o de Param e ters
Not all ports shown are necessarily supported by the hardware. Consult the appropriate Instruction manual for details of the ports available
on specific hardware.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
Specify the object’s description property.
E.g. Room Temp – Refer to Appendix A.8.3
Any text string of length up to
40 characters, If not
configured, defaults to
Object_Name.
Update_Property*
The Update_Property Parameter may be configured
on a BACnet Server Map Descriptor to allow a
property other than the Present_Value to be
updated in addition to the Present_Value when the
Data Array Value changes. Warning: This is a highly
specialized function only to be used under very
particular circumstances by users with a detailed
understanding of BACnet. Refer to Appendix A.1
Present Value,
Relinquish_Default
Notification_Class_MD*
This is the Notification Class map descriptor
governing the sending of Event Notifications
(Intrinsic Alarming) Refer to Appendix A.8.7
Map Descriptor defined per
Appendix A.8
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
Specify a unique network number if there are multiple virtual Server nodes.
1-65534, 5
// FieldServer Driver specific parameters
Bridge
Title
, Network_Number
BACnet Server
, 6
Appendix A. Useful Features
Appendix A.1. BACnet object names
When an external BACnet Client builds a list of Object Names, the BACnet Server Map Descriptor names determine
the BACnet Object Name. If the Map Descriptor length is greater than 1, the Object Name will be suffixed with the
index into the Map Descriptor. For example, if the Map Descriptor name is SMD_AI_01 and the length 3, then the
Object Names will be SMD_AI_01[0], SMD_AI_01[1] and SMD_AI_01[2].
Appendix A.2. Network number
If multiple BACnet Nodes are specified on the Server side, the FieldServer automatically defaults to virtual
operation. In effect, the FieldServer simulates a software router. BACnet identifies this FieldServer using a
combination of its network number and IP/MAC address. The default Network number of a FieldServer is 5. If
there is more than one FieldServer on a BACnet intranet with multiple nodes, the default network number of the
additional FieldServers will need to be changed and a unique number allocated to each.
A unique network number will need to be assigned if both of the following conditions are true:
The FieldServer has multiple BACnet Server nodes.
There is more than one FieldServer on a network which includes multiple BACnet nodes.
To override the FieldServer’s default network number 5 include the following in the configuration file:
Example
Note: While it is theoretically possible to have up to 65535 virtual nodes, it is recommended that a maximum of 32
is configured. If an application requires the configuration of more than 32 virtual nodes please consult FST.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
Appendix A.3. Accessing Data from BACnet Properties comprising Arrays of Values
Some BACnet Object properties (e.g. Priority_Array) are arrays of values (the Priority_Array property is an array of 16 values). In order to read a specific array entry, the
Array_Index must be specified in the Map Descriptor. Array_Index is a Client Side Map Descriptor function
The following example shows a configuration that will read the Priority_Array value at Array_Index 7, belonging to Analog Output 1.
Details of the relevant BACnet properties and their associated arrays can be found in the BACnet Protocol Spec.
If no Array_Index is specified, then the entire property (i.e. the entire BACnet Array) is returned.
The Data_Index parameter functions as follows for ReadPropertyMultiple or WritePropertyMultiple requests when the Client Map Descriptor length N is greater than 1:
When an Array_Index is specified, the ReadPropertyMultiple or WritePropertyMultiple request will iterate through N successive Array_Index values for the given
Object and Property (e.g. Priority Array Index 1 to 16 of Analog Output 1)
When no Array_Index is specified, the ReadPropertyMultiple or WritePropertyMultiple request will iterate through N successive Object Instances, reading the
specified Property from each successive object (e.g. Present Value of Analog Output 1 to Analog Output 16)
Appendix A.4. FieldServer implementation of BACnet priority Arrays
When BACnet Output objects are written to the Server side of the FieldServer, an associated write priority is given to each write value. When the FieldServer receives the
write value, it stores it to the Map Descriptor Priority Array Table at the specified priority. The Priority Array Table is then scanned and the value with the highest priority
is stored to the Data Array location specified by the Map Descriptor.
When a Write “Relinquished” command is received, the value is removed from the Priority Array Table and the next highest value from the Priority Array Table is stored
to the Data Array.
If all values have been “Relinquished” from the Priority Array Table, then the Map Descriptors “Relinquish Default” value will be stored to the Data Array.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
Name of Data Array where the Priority Array Table will be stored. Location 0 is the Relinquish Default value and
locations 1 to 16 the different entries of the Priority Array Table.
Up to 16 alphanumeric
characters
DA_Pri_Array_Offset*
Starting location in Data Array.
1-65535 , 0
DA_Pri_In_Use
Name of Data Array that indicates if a particular Priority Value is in use. Location 0 indicates whether the Relinquish
Default has been set and locations 1 to 16 indicate whether the index is in use (1), or Relinquished (0).
Up to 16 alphanumeric
characters
DA_Pri_In_Use_Offset*
Starting location in Data Array.
1-65535, 0
// Analog Output Map_Descriptor for testing Priority Arrays
Map_Descriptors
Map_Descriptor_Name
, Object_Type
, Object_Instance
, Function
, Data_Array_Name
, Data_Array_Offset
, Node_Name
, Length
, Relinquish_Default
, DA_Pri_Array
, DA_Pri_Array_Offset
, DA_Pri_In_Use
, DA_Pri_In_Use_Offset
CMD_AOP_1
, AO
, 1
, Passive
, DA_OUT
, 0
, N1 11
, 1
, 40.56
, DA_Pri_Array_1
, 0
, DA_Pri_in_use_1
, 0
Map_Descriptors
Map_Descriptor_Name
, Data_Type
, Function
, Scan_Interval
, Data_Array_Name
, Data_Array_Index
, Node_Name
, Address
, Length
, Write_Priority
, Service
CMD AO
, AO
, Rdbc
, 1.0s
, DA AO
, 2
, N1 1
, 1
, 1
, 7
, -
CMD AO Rel
, AO
, Wrbx
, 1.0s
, DA AO
, 3
, N1 1
, 1
, 1
, 7
, Relinquish
Map Descriptor CMD AO is a Read
Map Descriptor that will write at
priority 7 if a write-through occurs
Map Descriptor CMD AO Rel is a Write-on-Change
Map Descriptor that will write a NULL at priority 7
(i.e. release Priority Array entry 7) when written to.
Note that the length must be 1.
Appendix A.4.1. Acces si n g Prior i t y Array i nforma t i on
The Priority Array table and its “In_Use” (or Not Relinquished) state are stored internally to every Map Descriptor, and cannot be accessed directly. The information can
be accessed indirectly by specifying the following Data Arrays which will maintain an exact copy of the Priority Array Table for the Map Descriptor.
Appendix A.5. Relinquishing Control of a Point as a Client
It is possible relinquish control of a point by writing a null to the correct priority level. The following example illustrates how this is done.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
A BBMD (BACnet Broadcast Management Device) is used to allow devices on different subnets to communicate to
one another. BACnet/IP requires that a BBMD be defined on every subnet. The FieldServer can act as a BBMD for
the subnet that it resides on. Setting the Connection_Type to BBMD will enable this functionality on the
FieldServer.
Notes:
BBMD operation is not required if there is already another BBMD on the subnet – there can only be one BBMD
per subnet.
The FieldServer cannot act as a BBMD and a BACnet/IP Client at the same time.
Appendix A.6.1. Setting up a Br o a dcast D i strib u t i on Ta b l e (BDT)
The FieldServer supports two methods of updating its internal broadcast distribution table.
Trane’s Tracer Summit IP Validation utility can be used directly to upload and download a Broadcast
Distribution Table.
The Broadcast Distribution Table can be configured using the bdt.ini file. The following file must be created
and downloaded to the FieldServer using the Ruinet “Download Configuration” command.
Appendix A.6.2. BBMD C o n figur at i on E x a mple
Using the following configuration, a PC using BACnet explorer is able to browse and display the contents of two
FieldServers. The following image shows the BACnet explorer screen.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
BACnet Multistate Objects have a State_Text property. This property is defined as an array of character strings representing descriptio ns of all possible states
of the Present_Value. The number of descriptions matches the number of states defined in the Number_Of_States property. The Present_Value, interpreted as
an integer, serves as an index into the array.
When Multistate Objects are configured on a BACnet server it is necessary to define the State_Text property. This section illustrates how to define the
State_Text character strings and how to associate these definitions with Multistate Server Map Descriptors.
The maximum permitted length of any State_Text string is 50 characters.
Appendix A.7.1. Method 1 – U s i n g an O f fset/U s e r Tabl e :
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
Appendix A.7.3. Using I n t r insi c Reporti n g for a M u l tist at e Value
To use Intrinsic Reporting for a Multistate value, it is necessary to classify each of the states as Normal, Alarm or
Trouble. This is done by adding another column to the Offset_Table, called Table_User_Value. Each state is then
classified by inserting one of the following values in its row:
0 = normal
1 = alarm
2 = fault
Note: The state value (Table_Index_Value) is an enumerated value between 1 and 16. Zero is not a valid value, but
since many client side configurations will wake up with values of zero, the BACnet server will treat a value of zero
as a normal value (i.e. not as an alarm or fault value)
Appendix A.8. COV and Intrinsic Reporting
The COV (Change of Value) and Intrinsic Reporting services are two distinct ways in which point values can be
reported to a client workstation as they change, i.e. in an event-driven opposed to a polling method. This can
increase performance dramatically compared to polling method alone. It also reduces network traffic significantly.
The services are suited to different purposes:
COV is suited to value updates. On analog points the sensitivity can be set using the COV_Increment property.
Only changes larger than the COV_Increment value will be reported.
Intrinsic Reporting is used for alarming. It is implemented via Notification_Class objects, which can receive
subscriptions from client workstations that add themselves to the RecipientList property of a
Notification_Class object. Notifications are done using ConfirmedEventNotification or
UnconfirmedEventNotification. Intrinsic Reporting also allows for alarms to be acknowledged and for all
subscribed client workstations to be notified of alarm acknowledgements (using EventNotifications of type
ACK_NOTIFICATION).
Appendix A.8.1. Notes o n COV c o n f igur at i o n:
No special configuration entries are needed to enable COVs. The service is enabled by default for all protocols
except MSTP. Most client workstations will automatically subscribe to all points once they discover that the
FieldServer supports COV services. This only applies to BACnet Objects - Property subscribes are not
supported by the FieldServer. COV only works for BACnet Map Descriptors with length set to 1. If length is not
specified, then it defaults to 1, so this is only a problem where length has been specified as greater than 1.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
The Node_Option parameter can be configured to enable or disable COV. An example configuration is
presented in Appendix A.8.3
For analog Server Map Descriptors the user may optionally configure a COV_Increment value to adjust the
reporting threshold. If it is not set the COV_Increment defaults to zero.
Change of Value (COV) Notifications are generated for all data objects for which a remote client has issued a
SubscribeCOV-Request. COV subscription is on a per-point basis. The SubscribeCOV-Request regulates
whether Notifications are Confirmed or Unconfirmed. The remote client may also write the COV_Increment
property in order to control the deadband for changes in analog values. The COV_Increment property can be
initialized via the configuration file by setting the COV_Increment Map Descriptor Property. T he value set by
the configuration is an initial value that is loaded on startup. It would be replaced by any new value written by
the Client
Appendix A.8.2. Notes o n Intri n s i c Repor t i ng c o nfigu r at i on:
Intrinsic Reporting is managed by Notification Class objects. At least one Notification Class object must be
configured for Intrinsic Reporting to work.
Each Data_Object that is to be monitored by Intrinsic Reporting must be linked to a Notification Class object
via the Notification_Class Map Descriptor Property. For analog points alarm limits must be set up, and for
binary points, the Input_Alarm_State must be set up.
The Notification_Class object contains properties that allow a client workstation to modify rules governing
event reporting, such as event_type, days of week, start and end times etc.
The RecipientLists are volatile, and subscriptions must be renewed on system restart.
A permanent static RecipientList may be configured directly on the FieldServer, eliminating the need for a
remote workstation to modify the RecipientList in order to receive Event Notifications. Using this option
makes the RecipientList read-only, i.e. it can then only be modified via the FieldServer config.csv file. Refer to
Appendix A.8.7
The “Event Enable” property is required for any object supporting Intrinsic Alarming. This property is
supported, but to save memory is only instantiated if a point is configured for alarming i.e. if it is set up with a
reference to a Notification Class map descriptor.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
Appendix A.8.6. Setting t he Pr i o r i ty o f I n trinsi c Alarmin g
A BACnet EventNotification message contains a Priority field indicating the priority of the event being reported. The Priority values to be us ed are configured via the
Priority property of the Notification Class object, using the configuration file parameters Pri_to_offnormal, Pri_to_normal and Pri_to_fault, which determine the priorities
to be used respectively for all to-offnormal, to-normal and to-fault transitions reported via the Notification Class object.
Priority Values should be chosen as follows:
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
This is the Notification Class
map descriptor governing the
sending of Event Notifications
(Intrinsic Alarming)
This is a BACnet Object that
will report its alarms via the
Notification Class map
descriptor BAC_NC_P1
This section sets up RecipientList entries for the defined Notification Class map
descriptor. It must appear at the end of the configuration, after all other
references to the Notification Class map descriptor.
Appendix A.8.7. Map De s c riptor E x ample – Set u p a P e r m a nent S t a tic R e c i p ient L i st
A permanent static RecipientList may be configured directly on the FieldServer, eliminating the need for a remote workstation to modify the RecipientList in order to
receive Event Notifications. Using this option makes the RecipientList read-only, i.e. it can then only be modified via the FieldServer config.csv file.
This is done by adding an Event_Receiver section to the config.csv. This section must appear after the definition and all other references to the relevant Notification Class
object.
Notification Class Objects are configured as Map Descriptors. Each Notification Class Object maintains a RecipientList Property which may contain multiple destinations.
Each destination is configured as an Event_Receiver after the relevant Notification Class Object has been configured.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
Appendix A.9. Factors Determining the Reliability Property
The Reliability Property of a BACnet object in a Server configuration is determined as follows:
For Multistate Inputs, Outputs and Values, the Reliability property is set to MULTI_STATE_FAULT (9) when the
Present_Value of the object corresponds to an entry in the Fault_Values property of the object, as configured
by the State_Text table in the configuration file.
For all object types, the Reliability property is set to COMMUNICATIONS_FAILURE (12) when the responsible
Server Node is offline.
When neither Condition 1 nor Condition 2 is met, the Reliability property is set to NO_FAULT_DETECTED (0)
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
Appendix A.10. Specifying ReadPropertyMultiple and WritePropertyMultiple Transactions using Linked
Map Descriptors
The ReadPropertyMultiple (RPM) and WritePropertyMultiple (WPM) BACnet services allow many objects and
attributes to be read and written in a single transaction. Since FieldServer Map Descriptors can only refer to a
single object type and address range, a RPM or WPM transaction can be constructed by linking multiple Map
Descriptors. This is done using the following components:
an active read or write Map Descriptor that defines the behavior of the RPM or WPM transaction via:
any number of Linked Map Descriptors specifying additional objects and data array locations to be included in
the transaction. Each Linked Map Descriptor is specified with the following settings:
Linked_Map_Descriptor - this is a reference by name to the active Map Descriptor described above,
which controls the transaction
Function - Passive_Client
Length
The number of Linked Map Descriptors is limited by the maximum message length allowed for the BACnet driver in
question. When too many Map Descriptors have been linked a SEGMENTATION_NOT_SUPPORTED error message
will be generated on the first poll attempt. This message will recommend splitting the RPM or WPM transaction
into multiple transactions, e.g.
DRV->BACnet : Linked Map Desc. "CMD_WPM" is too long.
Message Segmentation not supported.
Please split the transaction into multiple Linked Map Descriptors.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
Configure an active read or write Map Descriptor and give it a
unique name. This Map Descriptor will be referred to by all other
Map Descriptors forming part of the multiple property transaction.
Configure a Map Descriptor for each Object and Property. these are
component Map Descriptors forming part of the composite Map
Set the function to Passive_Client
Set Linked_Map_Descriptor to the
name of the active read or write Map
Descriptor governing the transaction
Example:
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
These map descriptors form part of the read transaction defined by
Map Descriptor CMD RPM above
Notes:
For the Present_Value property it is permissible to set a Map Descriptor length >1. This will cause a read of the Present_Value property of consecutive BACnet
objects of the type defined by this Map Descriptor
The number of properties that can be read or written at once is limited by the maximum APDU message length.
Message segmentation is not supported.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
The Update_Property parameter may be configured on a BACnet Server Map Descriptor in order to allow a
property other than the Present_Value to be updated in addition to the Present_Value when the Data Array value
changes.
Warning: this is a highly specialized function only to be used under very particular circumstances, by users with a
detailed understanding of BACnet and of what is to be achieved.
Appendix A.11.2. Mode o f Operat i o n when u sed fo r t he Re l i n quish_ D e fault p r opert y :
When the FieldServer starts up, the standard BACnet operation for AO, AV, BO and BV objects is that the
Present_Value of the object is set to the configured Relinquish_Default value. This may not be desirable in
Gateway situations where the BACnet communications module (i.e. the FieldServer) may restart independently of
the controller with the physical outputs.
Instead, it is possible to use the Update_Property setting to initialize the Relinquish_Default property using the
actual field Present_Value read from the Client Side device, so that a restart achieves two important outcomes:
The Client side outputs are not modified
The current state of the Client Side output can be read via the Relinquish_Default property. This is especially
useful since the BACnet specification makes no provision for Feedback_Values on analog objects
Depending on the function of the Client Side Map Descriptor there are slightly differing behaviors.
RDBC - If the Client Side Map Descriptor is configured with the RDBC function, then every read operation will
cause the Relinquish_Default property on the BACnet Server side to be updated to match the new
Present_Value.
ARS (recommended) - If the Client Side Map Descriptor is configured with the ARS function, then only the
startup read operation (which occurs on FieldServer restart, or if the Client Side Node has gone offline and is
being recovered) will cause theRelinquish_Default property on the BACnet Server side to be updated to match
the new Present_Value.
Restrictions:
This function cannot yet be used in conjunction with Complex data types.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
Certain BACnet services can be disabled on a BACnet Server Node when specific requirements necessitate this:
COV - certain BACnet MS/TP routers struggle to keep up with the bidirectional traffic that can result from
many COVSubscribe requests in quick succession. In this case, better results might be obtained by turning COV
off.
WritePropertyMultiple (WPM) - when the user requires writes to the BACnet Server to be acknowledged only
once Client Side writes have succeeded, WPM is turned off.
These services can be disabled individually or together by listing them under the optional "Disabled_Services"
parameter of the Node configuration section, separated by a space if more than one function is listed. When a
service has been disabled, the BACnet Server Node will reject a corresponding service request with the reason
“Unrecognized Service”.
The following values may be used under Disabled_Services:
WPM (disable support for the WritePropertyMultiple service)
COV (disable support for the SubscribeCOV service)
Examples:
1. Disable WPM only
2. Disable COV only
3. Disable WPM and COV
Appendix A.13. Using a .ini file to set the Vendor_ID and Vendor_Name of the Device Object
The vendor.ini file can be used to change the BACnet Vendor Name and Vendor ID if desired. A file with the
following format must be created and downloaded to the FieldServer using the Ruinet “Download Configuration”
command.
Please note that changing the Vendor_ID and Vendor_Name on FieldServer BTL approved products may disqualify
them from the BTL approval.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
A “who-is” link control message was
send or received.
It is normal to receive a few link control
messages. If the number is higher than the
transmit/receive messages, however, there may
be a problem with lost communications.
Unsupported
Properties
A request for an unsupported property
was received
This is not an error. BACnet clients often poll all
properties of a particular object to determine
which properties are supported.
Segmentation
Not Supported
Data was requested but the response
would have exceeded the maximum size
of the APDU and could not be sent using
an un-segmented message.
This is not an error - the BACnet client will use a
different method to read data from the
FieldServer.
Sequence Error
Invoke ID of a reply did not match the
Invoke ID of the poll.
You should not see this message. It normally
indicates a configuration error.
Write Access
Denied
A write to an object was denied.
This typically happens when trying to write to an
Input Object that is not Out-Of-Service. It is not
possible to write to Input Objects.
Exception Errors
A BACnet Service was denied because it
is not supported
This may be a problem on the Client system.
Consult the PIC statement for supported services.
Appendix B. Troubleshooting
Appendix B.1. Debugging a BACnet connection
If duplicate Object_Instances are configured in the FieldServer, the second call of the Instance will overwrite
the first one. This may cause a BACnet Object to be “lost.”
If the Node Name configured on the BACnet Server Side of the configuration is not being indicated as the
Device Name on the BACnet SCADA system, then the FieldServer is not communicating with the SCADA
system. If the Device Object's name is being indicated, but the Present_Value shows question marks, then it is
likely that the Client side of the FieldServer is not communicating.
Some of the BACnet IP features result in the creation of files (priarray.ini; desc.ini; alarms.ini) on the
FieldServer. Sometimes updates of firmware can result in these files becoming outdated. Deleting these files
will restore configuration defaults and may assist with configuration errors.
Extra memory is required to store Map Descriptors that have the active/inactive text parameters specified. If
the defaults are appropriate, do not specify these parameters. This will save memory and allow more Map
Descriptors to be created
When using the FieldServer as a BACnet Server, ensure the FieldServer’s Subnet Mask matches the Subnet
Mask of the BACnet Client. Otherwise, communications are very slow and eventually stop altogether.
Appendix B.2. COV Configuration
COV only works for BACnet Map Descriptors with length set to 1. If length is not specified, then it defaults to 1,
so this is only a problem where length has been specified as greater than 1.
Appendix B.3. BACnet Specific Statistics
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
The FieldServer was flooded with more BACnet IP packets
than it could handle. This typically occurs when a
workstation discovers a large network resulting in many
Who-Is and I-Am broadcasts. The FieldServer will recover
from this, but some timeout errors could result.
Take action only if the error
is continuous in which case
the network load must be
analyzed and corrected.
Device
The name of the BACnet Node to which alarms
must be sent. This Node must be configured
under the Nodes section of the configuration file.
One of the Node_Names specified
in Section 6.3
Low_Alarm
For AI, AO and AV object types this sets the
lower alarm limit.
Any floating point value
High_Alarm
For AI, AO and AV object types this sets the
upper alarm limit.
Any floating point value
Event_Class*
A numerical field used to group Events into
classes
Any integer value, 0
Ack_Required*
Specifies whether or not an Alarm messages
must be acknowledged by the workstation
Yes, No
Alarm_Deadband*
For AI, AO, and AV types, this is the amount by
which the present value must be greater than
the Low_Alarm limit or less than the High_Alarm
limit for the object to return to the Normal state
and send a to-normal event.
Any floating point value, 0.0
Input_Alarm_State*
For BI, BO and BV types this defines the value (0
or 1) that is to be treated as the alarm (i.e. offnormal) value.
0, 1
Appendix C. Vendor Information
Appendix C.1. McQuay
McQuay Units are shipped with a default Device instance of the last 6 digits of the McQuay Serial number.
Appendix C.2. Trane
When new points are added to the FieldServer it is important to restart the Summit Workstation or BCU, otherwise
these new points may not be seen by the FieldServer.
Disconnect the FieldServer from the BACnet network when transferring images to the BCU.
Appendix C.2.1. E n a bling T rane A l ar ming
The Driver will automatically support Trane Alarming if the Node_Type parameter as defined in Section 6.3 is set to
BCU or Summit Workstation.
The following Trane Specific Map Descriptor Parameters also need to be defined.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
Polling BACnet addresses that are not configured for Liebert systems may cause the connection to fail in older
versions of Liebert. Please contact your Liebert supplier for more information.
Appendix C.4. Honeywell EBI
Honeywell EBI cannot process EventNotifications with ACK_Required set to 1. The ACK_Required property of
Notification Class Map Descriptors configured for use with EBI must therefore be set to 0.
Appendix C.5. Using Cimetrics Explorer
Cimetrics Explorer needs to be configured to use either BACnet Ethernet or BACnet IP. This is not a setting in the
actual Cimetrics BACnet Explorer, but is done in the Cimetrics BACstac Protocol that can be found in the Local Area
Connection Properties as shown below:
Check the properties of this protocol to see what BACnet protocol is set on the Cimetrics Explorer.
To change the protocol, remove the current one and add a new one as shown below.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
The Data Array containing the data which the
Trend Log will log
One of the Data Arrays specified
in Section 4.
Log_Data_Array_Index
The position in the Data Array of the data value
to be logged
0 to (Data_Array_Length -1), -
Log_Buffer_Size*
The maximum number of records that will be
kept in the log buffer
500
Log_Interval*
How often a record will be stored. This is limited
to a minimum of 4 seconds.
4,
Log_Enable*
This setting initializes the Enable property of the
Trend Log at start-up. Logging only takes place
while Enable is True (“Yes”). Note that this
property is writable from BACnet, the user has
the option to set it to “No” in the configuration
file and allow the BACnet Client to set the Enable
property as required.
Yes, No
Appendix C.6. Trending using OniconTrend Log Objects
The FieldServer BACnet driver has been updated to support trending using Trend Log objects. A Map Descriptor is
required for each Trend log to be added to the device. The following parameters are specific to this application.
Notes:
The Client will need to read the log every “Log Interval x Log Buffer Size” to prevent losing data; e.g. 500
records x 4 seconds / record = 2000 seconds = 33.3 Minutes.
In this version the Stop_When_Full property is not writable or configurable, and is set to False.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
The number of writes waiting to be written to the disk.
BACnet Trend Log Map Descriptor Stats:
Stat
Description
Total Record Count
Number of entries recorded
Record Count
Current number of entries within the log, this will stop at the value specified by the configuration
Status Records Added
Number of status events
Data Records Added
Number of data events
Time Change Records Added
Number of time change events
Digi nl9210 LED
The blue LED will flash periodically when an event log is stored to the disk, this light should not be on all the time, otherwise we might be building up a back-log of
outstanding writes.
Appendix C.6.1. O p e r ating S tatist i c s
The following stats were added for diagnosing the operation of the Trend Log, they can be viewed with Ruinet.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
Appendix C.6.2. D a t e and T i m e Syn c h r oniza t i on
The Camry system time is not set on startup but depends on an external time synch to initialize its clock. This can
be done via BACnet time synch and should be done whenever comms to the device have been down since this
could indicate a restart. Since the time values are only correct after this synch it is best for the BACnet Client to
perform a time synch before enabling trend logging.
If the device is configured to start logging by itself from restart the initial timestamps will start at Jan 1, 1970, and a
time change record will be created on time synch.
Also note that the latest Ruinet will automatically set the system time if it connects to a Camry with an uninitialized
system time.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
This property is a numeric code that is used to identify the object. It is unique within the
BACnet Device that maintains it.
Object_List
Relevant to Device Object Type. This property is a BACnetARRAY of Object_Identifiers, one
Object_Identifier for each object within the device that is accessible through BACnet
services. An Object_Identifier is composed of Object Type and Object Instance and must
be unique within a BACnet Device, e.g. Object Type = Analog Input, Object Instance = 3
Present_Value
This property contains the present value of the Input / Output / Value
Object_Name
Character string providing the name of a BACnet object. The set of characters used in the
Object_Name is restricted to printable characters. The Object_Name is determined by the
Map_Descriptor_Name.
Description
Character string describing a BACnet object. This can be defined by the user to give
additional detail about the Object.
Out_of_service
The Out_Of_Service property, of type BOOLEAN, is an indication whether (TRUE) or not
(FALSE) the physical input that the object represents is not in service. This means that the
Present_Value property is decoupled from the physical input and will not track changes to
the physical input when the value of Out_Of_Service is TRUE. In addition, the Reliability
property and the corresponding state of the FAULT flag of the Status_Flags property shall
be decoupled from the physical input when Out_Of_Service is TRUE. While the
Out_Of_Service property is TRUE, the Present_Value and Reliability properties may be
changed to any value as a means of simulating specific fixed conditions or for testing
purposes. Other functions that depend on the state of the Present_Value or Reliability
properties shall respond to changes made to these properties while Out_Of_Service is
TRUE, as if those changes had occurred in the physical input.
Appendix D. Reference
Appendix D.1. FieldServer Vendor ID
BACnet Vendor Name: Sierra Monitor Corporation
BACnet Vendor ID: 37
The Event_State property, of type BACnetEventState, is included in order to provide a way
to determine if this object has an active event state associated with it. If the object
supports intrinsic reporting, then the Event_State property shall indicate the event state of
the object. If the object does not support intrinsic reporting, then the value of this property
shall be NORMAL. Other values: FAULT, OFF-NORMAL, HIGH-LIMIT, LOW-LIMIT, LIFESAFETY-ALARM
Units
This property contains the units associated with the Present_Value property.
Reliability
The Reliability property, of type BACnetReliability, provides an indication of whether the
Present_Value or the operation of the physical input in question is "reliable" as far as the
BACnet Device or operator can determine and, if not, why. The following values are
supported:
NO_FAULT_DETECTED, UNRELIABLE_OTHER
Priority_Array
This property relates to Output and Value Object Types and is a read only array that
contains prioritized commands or NULLs in the order of decreasing priority. The highest
priority (lowest array index) with a non-NULL value is the active command.
State_Text
Relevant to Multistate Object Types: This property is a BACnetARRAY of character strings
representing descriptions of all possible states of the Present_Value. The number of
descriptions matches the number of states defined in the Number_Of_States property. The
Present_Value, interpreted as an integer, serves as an index into the array.
Number_Of_States
Relevant to Multistate Object Types: this property sets the total number of states for which
descriptions will be returned as defined under the State_Text property. The number of
states will be determined automatically by the largest state number used when configuring
the Offset Table (Refer to Appendix A.7).
Max_Master
Relevant to BACnet MS/TP Device Object Type: The Max_Master property, of type
Unsigned, shall be present if the device is a master node on an MS/TP network. The value
of Max_Master specifies the highest possible address for master nodes and shall be less
than or equal to 127. If the Max_Master property is not writeable via BACnet services, its
value shall be 127.
Max_Info_Frames
Relevant to BACnet MS/TP Device Object Type: The Max_Info_Frames property, of type
Unsigned, shall be present if the device is a node on an MS/TP network. The value of
Max_Info_Frames specifies the maximum number of information frames the node may
send before it must pass the token. If Max_Info_Frames is not writable or otherwise user
configurable, its value shall be 1.
Active_Text
Relevant to Binary Object Types: This property, of type CharacterString, characterizes the
intended effect of the ACTIVE state of the Present_Value property from the human
operator's viewpoint. The content of this string is a local matter, but it is intended to
represent a human-readable description of the ACTIVE state. For example, if the physical
input is a switch contact, then the Active_Text property might be assigned a value such as
"Fan 1 On".
Inactive_Text
This property, of type CharacterString, characterizes the intended effect of the INACTIVE
state of the Present_Value property from the human operator's viewpoint. The content of
this string is a local matter, but it is intended to represent a human-readable description of
the INACTIVE state. For example, if the physical input is connected to a switch contact, then
the Inactive_Text property might be assigned a value such as "Fan 1 Off".
Description
A character string giving more information about the Object associated with the
Present_Value property.
Firmware_revision
The firmware revision of the application.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com
This property is the default value to be used for the Present_Value property when all
command priority values in the Priority_Array property have a NULL value.
Unit
Variation 1
Variation 2
Variation 3
Area
square-centimeters
square-feet
square-inches
square-meters
Currency
Currency1
Currency2
Currency3
Currency4
Currency5
Currency6
Currency7
Currency8
Currency9
Currency10
Appendix D.4. Units
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com