| Page 14 of 51 |
|
|
4.4.7.Map Descriptor Example 4 – Reading Class Data
In this example we read class data. A class is a structure of different data types and variations. Vendors group data into classes based on the relationships and importance of the data. In this example you will see that only one of the Map Descriptors is active – the class data read. The remaining passive Map Descriptors are used to process the response from the class data read. The response may consist of a number of data object types and variations and is dependent on the vendor’s implementation of DNP. Some vendors allow users to configure what objects constitute a class.
This Map Descriptor requests class 1 data from the DNP device.
// Class 1 Data |
|
|
|
|
|
|
|
|
|
|
|
|
|
Map_Descriptors |
|
|
|
|
|
|
|
|
|
|
|
|
|
Map_Descriptor_Name | ,Scan_Interval | ,Data_Array_Name | ,Data_Array_Offset | ,Function | ,Node_Name | ,Address | ,Length | ,dnpSubType | ,dnpDataType | ,dnpDataVari | ,dnpQualifier | ,dnpAssociate | ,timeout |
,13.0s | ,DA_A3 | ,0 | ,Rdbc | ,Node_A | ,0 | ,100 | ,value | ,60 | ,1 | ,6 | ,1 | ,5.0s | |
Map_Descriptors |
|
|
|
|
|
|
|
|
|
|
|
|
|
Map_Descriptor_Name | ,Scan_Interval | ,Data_Array_Name | ,Data_Array_Offset | ,Function | ,Node_Name | ,Address | ,Length | ,dnpSubType | ,dnpDataType | ,dnpDataVari | ,dnpAssociate |
|
|
,3.0s | ,CL_1 | ,0 | ,Passive | ,Node_A | ,0 | ,156 | ,value | ,1 | ,0 | ,1 |
|
| |
,3.0s | ,CL_2 | ,0 | ,Passive | ,Node_A | ,0 | ,9 | ,value | ,10 | ,0 | ,1 |
|
| |
,3.0s | ,CL_3 | ,0 | ,Passive | , Node_A | ,0 | ,39 | ,value | ,20 | ,0 | ,1 |
|
| |
,3.0s | ,CL_4 | ,0 | ,Passive | ,Node_A | ,0 | ,100 | ,value | ,30 | ,0 | ,1 |
|
| |
,3.0s | ,CL_5 | ,0 | ,Passive | ,Node_A | ,100 | ,100 | ,value | ,30 | ,0 | ,1 |
|
| |
,3.0s | ,CL_6 | ,0 | ,Passive | ,Node_A | ,200 | ,100 | ,value | ,30 | ,0 | ,1 |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
These Map Descriptors process the data that the device returns. If more data is returned that you have defined Map Descriptors for then it will be abandoned.
The common value for dnpAssociate ties these Map Descriptors together and tells the driver to use them both to process the response data.
4.4.8.Map Descriptor Example 5 – Read an unknown quantity of points (Qualifier 6)
In this example the qualifier has been set to 6. This is the qualifier the protocol uses to request all possible points of a particular object type and variation. Ensure that there is sufficient length to store all possible data.
//Client Side Map Descriptors
|
|
|
|
|
|
|
|
|
| |
Map_Descriptor_Name | ,Data_Array_Name | ,Data_Array_Offset | ,Function | ,Node_Name | ,Address | ,Length | ,Scan_Interval | ,dnpDataType | ,dnpDataVari | ,DnpQualifier |
ReadAll_AI’s | ,DA_AI | ,0 | ,Rdbc | ,Node_A | ,0 | ,100 | ,5.0s | ,30 | ,1 | ,6 |
|
|
|
|
|
|
|
|
|
|
|
Enough space has been reserved for 100 objects. If the response contains more then there will be an error.
The Qualifier of 6 tells the driver to request all data objects.
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: support@fieldserver.com