![SMC Networks FieldServer FS-8700-16 BACnet PTP Скачать руководство пользователя страница 17](http://html1.mh-extra.com/html/smc-networks/fieldserver-fs-8700-16-bacnet-ptp/fieldserver-fs-8700-16-bacnet-ptp_driver-manual_1299041017.webp)
BACnet PTP Serial Driver Manual
Page 17 of 34
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
CMD_AI_01
, DA_AI_01
, 0
, Rdbc , DEV_01
, Data_Type , Object_ID , Property , Array_Index
, AO
, 1
, Priority_Array , 7
Details of the relevant BACnet properties and their associated arrays can be found in the BACnet
Protocol Spec.
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.
Appendix A.4.1. Accessing Priority Array Information
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.
Section Title
Map_Descriptors
Column Title
Function
Legal Values
DA_Pri_Array
Name of the Data Array that contains the Priority Array Table.
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
Example
// Analog Output Map_Descriptor for testing Priority Arrays
Map_Descriptors
Map_Descriptor_Name , Data_Type , Object_ID , Function , Data_Array_Name , Data_Array_Index , Node_Name , Length
CMD_AOP_1
, AO
, 1
, Passive , DA_OUT
, 0
, N1 11
, 1
, Relinquish_default , DA_Pri_Array
, DA_Pri_Array_Offset , DA_Pri_In_Use
, DA_Pri_In_Use_Offset
, 40.56
, DA_Pri_Array_1 , 0
, DA_Pri_in_use_1 , 0