Appendix a.3 – FieldServer FS-8700-73 User Manual
Page 20
FS-8700-73 BACnet MSTP Driver Manual
Page 20 of 48
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.FieldServer.com
Tel: (408) 262-2299 Fax: (408) 262-2269 Toll Free: (888) 509-1970 email: [email protected]
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.
Map_Descriptors
Map_Descriptor_Name , Data_Array_Name , Data_Array_Offset , Function , Node_Name , Data_Type , Object_ID , Property
, Array_Index
CMD_AI_01
, DA_AI_01
, 0
, Rdbc
, DEV_01
, AO
, 1
, Priority_Array , 7
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.