A Sierra Monitor Company Driver Manual (Supplement to the FieldServer Instruction Manual) FS-8700-47 DNP 3.0 APPLICABILITY & EFFECTIVITY Effective for all systems manufactured after December 2008 Driver Version: Document Revision: 1.
FS-8700-47 DNP 3.0 Driver Manual Table of Contents TABLE OF CONTENTS 1. 2. DNP 3.0 Driver Description ................................................................................................................ 4 Driver Scope of Supply....................................................................................................................... 6 2.1. Supplied by FieldServer Technologies for this driver. .................................................................... 6 3.
FS-8700-47 DNP 3.0 Driver Manual Table of Contents Appendix A.16. Controlling DA Offsets ................................................................................................ 39 Appendix A.17. dnpIndexStyle ............................................................................................................. 39 Appendix A.18. Real Time Clock Synchronization............................................................................... 40 Appendix A.19. Select and Operate.................
FS-8700-47 DNP 3.0 Driver Manual 1. Page 4 of 51 DNP 3.0 Driver Description The DNP 3.0 Driver allows the FieldServer to transfer data to and from devices over RS-232 or RS-485 using DNP 3.0 Driver protocol. The FieldServer can emulate either a Server or Client. The following description of DNP is from the DNP User Group internet site.
FS-8700-47 DNP 3.0 Driver Manual • • • • • Page 5 of 51 Shorter delivery schedules Less testing, maintenance and training Improved documentation Independent conformance testing Support by independent users group and third-party sources (e.g. test sets, source code). 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.
FS-8700-47 DNP 3.0 Driver Manual 2. Page 6 of 51 Driver Scope of Supply 2.1. Supplied by FieldServer Technologies for this driver. FieldServer Technologies Part# FS-8915-10 FS-8917-04 FS-8700-47 Description UTP cable (7 foot) for RS-232 use RJ45 to DB25M connection adapter Driver Manual. 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.
FS-8700-47 DNP 3.0 Driver Manual 3. Page 7 of 51 Hardware Connections The FieldServer is connected to the DNP-3.0 device as shown below. Configure the DNP-3.0 device according to manufacturer’s instructions DNP Device 8917-04 DB25F Connect to one of the RS-232 Ports on the FieldServer RJ45 8 FieldServer FieldServer Function Rx CTS DSR GND GND DTR RTS Tx 3.1.
FS-8700-47 DNP 3.0 Driver Manual 4. Page 8 of 51 Configuring the FieldServer as a DNP 3.0 Driver 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” files supplied with the FieldServer).
FS-8700-47 DNP 3.0 Driver Manual 4.2.
FS-8700-47 DNP 3.0 Driver Manual 4.4. Page 10 of 51 Client Side Map Descriptors 4.4.1. FieldServer Specific Map Descriptor Parameters Column Title Function Map_Descriptor_Name Name of this Map Descriptor Data_Array_Name Name of Data Array where data is to be stored in the FieldServer Data_Array_Offset Starting location in Data Array Function Function of Client Map Descriptor 4.4.2.
FS-8700-47 DNP 3.0 Driver Manual Column Title DnpAssociate* DnpMultiMsg* 4.4.3. Page 11 of 51 Function When class data is requested the DNP device responds with data of multiple types and variations in one message. One Map Descriptor is used per data type - this parameter is used to link these Map Descriptors. This parameter is used to produce a single message with a request for multiple object types. Assign positive whole numbers to associate Map Descriptors for this purpose.
Map Descriptor Example 1 – Simple Read. Page 12 of 51 The value of the first analog input read will be placed in position 20 of the data table (the st 21 element of the table.) The results of the read are placed in this data array. ,Function ,Rdbc ,Address ,20 ,Length ,10 Read Analog Inputs in the slave device starting at input index 20. Vendor documentation will tell you the indices of the inputs you are interested in. ,Node_Name ,Node_A This is the name of the node that we are reading.
,Node_Name ,Node_A ,Address ,20 DNP Object Variation is 16 Bit Analog Input ,Function ,Rdbc ,Function ,Rdbc ,Passive ,Node_Name ,Node_A ,Node_A ,Address ,20 ,20 ,Length ,10 ,10 Only one Map Descriptor need be active. The active Map Descriptor generates the poll. Both the active and passive Map Descriptors are used to process the response.
Map Descriptor Example 4 – Reading Class Data Page 14 of 51 ,Scan_Interval ,3.0s ,3.0s ,3.0s ,3.0s ,3.0s ,3.
Map Descriptor Example 6 – Read an unknown variation Page 15 of 51 ,Data_Array_Offset ,0 ,Node_Name ,Node_A ,Address ,0 ,Length ,100 ,Scan_Interval ,5.0s ,dnpDataType ,30 With the variation set to zero the remote device will respond with its default variation. ,Function ,Rdbc ,dnpDataVari ,0 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.
FS-8700-47 DNP 3.0 Driver Manual 5. Page 16 of 51 Configuring the FieldServer as a DNP 3.0 Driver 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.
FS-8700-47 DNP 3.0 Driver Manual 5.2. Page 17 of 51 Server Side Node Descriptors Section Title Nodes Column Title Function Node_Name Provide name for node Node_ID Protocol DNP 3.0 station address of physical Server node Specify protocol used This parameter can be specified to configure the Server to serve changed data only. Refer to Example 5.3.8 for more information. The name of a Data Array that has previously been defined in the configuration in the Data Arrays section.
FS-8700-47 DNP 3.0 Driver Manual 5.3.2. Driver Specific Map Descriptor Parameters Column Title Node_Name Page 18 of 51 Function Name of Node to fetch data from Length of Map Descriptor. If a request length is too large the DNP 3.0 driver will produce a Length message and a panic. The maximum length is a function of the data object and data variation being processed. Address Starting address of data element to be read The following parameters apply only to the DNP 3.
Map Descriptor Example 1 – Discrete Data. Page 19 of 51 ,Node_Name ,Node_A ,Address ,0 This Map Descriptor will be used to process any poll whose objects match and whose addresses fall inside the address and length range specified by this Map Descriptor. ,Function ,Passive Map Descriptor Example 2 – Class Data This Map Descriptor can respond to a read/write poll from a remote DNP device.
Map Descriptor Example 3 – Class Data (another example) Page 20 of 51 ,Data_Array_Name ,DA_AI_01 ,DA_DI_01 ,DA_PB_01 ,DA_PB_01 ,DA_PB_01 ,DA_PB_01 ,DA_PB_01 ,DA_PB_01 ,DA_PB_01 ,DA_PB_01 ,DA_PB_01 ,DA_PB_01 ,DA_PB_01 ,DA_PB_01 ,DA_PB_01 ,DA_PB_01 ,DA_PB_01 ,DA_PB_01 ,DA_PB_01 ,DA_PB_01 ,DA_PB_01 Map_Descriptors Map_Descriptor_Name Class_0_Analogs Class_0_Discs_1 Class_0_Discs_2 Class_0_Discs_3 Class_0_Discs_4 Class_0_Discs_5 Class_0_Discs_6 Class_0_Discs_7 Class_0_Discs_8 Class_0_Discs_9 Class_0_Discs_10
Map Descriptor Example 4 – Default Variation (Variation zero) Page 21 of 51 ,Data_Array_Offset ,0 ,0 ,Function ,Server ,Server ,Node_Name ,Node_A ,Node_A ,Address ,0 ,0 ,Length ,10 ,2 ,DnpAssoc ,1 ,1 ,dnpDataType ,1 ,30 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.
Map Descriptor Example 5 - Class_Data_Serving_Ctrl Page 22 of 51 ,Node_ID ,1 ,Protocol ,DNP ,Class_Data_Serving_Ctrl ,Class0 Port ,R1 ,Data_Array_Name ,Class_DA0 ,Bin_Inputs ,Ana_Inputs ,Class_DA1 ,Bin_Inputs ,Ana_Inputs ,Class_DA2 ,Bin_Inputs ,Class_DA3 ,Ana_Inputs ,Data_Array_Offset ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,Function ,Server ,Server ,Server ,Server ,Server ,Server ,Server ,Server ,Server ,Server ,Node_Name ,Node_DNP3 ,Node_DNP3 ,Node_DNP3 ,Node_DNP3 ,Node_DNP3 ,Node_DNP3 ,Node_DNP3 ,Node_DNP
Ana_Inputs Ana_Inputs Ana_Inputs Ana_Inputs Ana_Inputs Ana_Inputs Ana_Inputs Subscriptions Data_Array_Name Bin_Inputs Bin_Inputs Bin_Inputs Bin_Inputs Bin_Inputs Bin_Inputs Bin_Inputs Bin_Inputs Bin_Inputs Bin_Inputs Bin_Inputs Bin_Inputs Bin_Inputs Bin_Inputs Bin_Inputs Bin_Inputs Bin_Inputs Bin_Inputs Bin_Inputs Bin_Inputs ,Node_Name ,Node_DNP3 ,Node_DNP3 ,Node_DNP3 ,Node_DNP3 ,Node_DNP3 ,Node_DNP3 ,Node_DNP3 ,Node_DNP3 ,Node_DNP3 ,Node_DNP3 ,Node_DNP3 ,Node_DNP3 ,Node_DNP3 ,Node_DNP3 ,Node_DNP3 ,Node_DN
Map Descriptor Example 5 – Serving Objects which have a time field Page 24 of 51 ,Function ,Server ,Node_Name ,Node_A Map Descriptor Example 6 – Unsolicited Messages ,Data_Array_Offset ,0 ,Address ,0 ,Length ,100 ,dnpDataType ,31 ,dnpDataVari ,3 ,DA_Byte_Name ,DA_AI_TIMES ,Node_Name ,Node_A ,Address ,0 ,Length ,100 ,dnpDataType ,30 ,dnpDataVari ,0 ,DnpFunction ,130 The function 30 tells the driver to send the message as an unsolicited message.
FS-8700-47 DNP 3.0 Driver Manual 5.4. Page 25 of 51 Server Side Limitations The DNP 3.0 Server can only parse a single poll per message. This means that a single message cannot contain more than one read request - You cannot read two different objects types/variations in a single read request. The same limitation applies to write commands sent the Server. FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.
FS-8700-47 DNP 3.0 Driver Manual Page 26 of 51 Appendix A. Advanced Topics Appendix A.1. DNP 3.0 Protocol. The DNP 3.0 protocol is complex and not all the features are implemented by this driver. • The application layer performs a large set of potential functions, each of which can request its own app layer confirmation transaction and many of which include a separate response transaction.
FS-8700-47 DNP 3.0 Driver Manual Master Idle • • • • • • • • Appendix A.5. Page 27 of 51 If required sets flags for Map Descriptor matching, fetch/store function calls and/or response function call Signals Chan idle the outgoing app layer message needs to be processed. Looks for signals from chan idle that a message has been received Processes Map Descriptors and forms read/write messages Signals Chan idle the outgoing app layer message needs to be processed.
FS-8700-47 DNP 3.0 Driver Manual Appendix A.7. Page 28 of 51 Internal Indications, Object 80 and DNP_II The driver can store the Internal Indications Bits found in incoming messages and it is possible to control the values of the internal indication bytes sent in responses. In addition, the driver can be configured to respond to the Poll for Object 80 (Internal Indications) Incoming Internal Indications Bytes A.7.1.
FS-8700-47 DNP 3.
FS-8700-47 DNP 3.0 Driver Manual A.7.2. Page 30 of 51 Internal Indications reported in Responses The Internal Indications (IIN) field is a two-octet field that follows the function code in all responses. When a request cannot be processed due to formatting errors or unavailable data, the IIN is always returned with the appropriate bits set. A.7.3. Server_II_Array This parameter only applies to Server/responding nodes. If specified the driver validates that the Data Array exists.
Responses to Polls for Object 80 (Internal Indications) Page 31 of 51 Map_Descriptors Map_Descriptor_Name MMBa1 ,Data_Array_Name ,DA_80 ,Data_Array_Offset ,0 ,Function ,Server ,Node_Name ,Node_A ,Address ,0 ,Length ,10 ,dnpSubType ,value ,dnpDataType ,80 ,dnpDataVari ,1 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 ,Scan_Interval ,0.
FS-8700-47 DNP 3.0 Driver Manual Appendix A.8. Page 32 of 51 DNP_Stats In addition to the standard FieldServer communication statistics described in the FieldServer Configuration Manual the DNP 3.0 Driver can expose some driver statistics by writing to a data array called “DNP_STATS” The following example shows how this special Map Descriptor can be configured. Only one of these Map Descriptors may be specified per FieldServer.
FS-8700-47 DNP 3.
FS-8700-47 DNP 3.0 Driver Manual Object 10 10 12 12 12 12 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 30 30 30 30 30 31 31 31 Variation.
FS-8700-47 DNP 3.0 Driver Manual Object 31 31 31 32 32 32 32 32 33 33 33 33 33 40 40 40 41 41 41 50 50 50 51 51 51 52 52 52 60 60 60 60 60 70 80 81 82 83 83 90 100 100 100 101 101 101 4 Variation. 4 5 6 0 1 2 3 4 0 1* 2 3 4 0 1* 2 0 1 2 0 1* 2 0 * 1 2 0 1* 2 0 1* 2 3 4 1 1 1 1 1 2 1 1 2 3 1 2 3 Ex 101a 101a 101a 101a 101a 101a NS 1.03b4 4 1.03b 4 1.
FS-8700-47 DNP 3.0 Driver Manual Page 36 of 51 Appendix A.10. Controlling the DNP 3.0 Driver’s Function Code When a write Map Descriptor is found by the DNP 3.0 Driver it will use the DNP protocol’s write function to write data to the DNP device. If the DNP device’s vendor requires that an alternative DNP function be used, use the keyword dnpFunction in the Map Descriptor and specify the function that the vendor requires (provided that it is in the list of functions implemented by this driver.
FS-8700-47 DNP 3.0 Driver Manual Page 37 of 51 Appendix A.11. Controlling the DNP 3.0 Driver’s Qualifier The protocol uses a qualifier in the application layer part of a message to indicate how data must be packed in the message. The DNP 3.0 Driver as a Client will default to use a Qualifier of 1. The qualifier is used internally by the driver and is of no concern unless the DNP protocol has been implemented to require the use of qualifiers other then 1.
FS-8700-47 DNP 3.0 Driver Manual Page 38 of 51 Appendix A.13. DnpSubType DNP objects often contain more than one element of information, e.g. Object 30, variation 1 is a 32bit analog input. When the DNP device is polled for data for this object the device returns a data structure which contains a 32 bit value for the input and an 8 bit status byte indicating the input’s quality. Alternatively the FieldServer defaults to the value subtype.
FS-8700-47 DNP 3.0 Driver Manual Page 39 of 51 Appendix A.16. Controlling DA Offsets Versions of the driver prior to 1.02a used a method to calculate DA offsets that was not consistent with the general FieldServer model. This was corrected in versions 1.02a and later. To retain the old offset calculation, specify the ‘Application’ parameter on the connection. Use either ‘OriginalStyle’ or ‘OrigStyle-NoLink’ (to overwrite Link Reset).
Page 40 of 51 ,Protocol ,DNP ,Data_Array_Offset ,0 // Server Side Nodes Nodes Node_Name ,Node_ID Node_A ,11 Map_Descriptors Map_Descriptor_Name Store_Time ,Function ,Server ,Node_Name ,Node_A ,Address ,0 ,Real_Time_Clock_Control ,Update-from-Remote ,RTC_Update_Rqst_Interval ,123 ,Length ,50 ,dnpDataType ,50 ,dnpDataVari ,1 FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.
Ensure that DA is constantly updated by value you wish to set the real time clock to. The format of the value is a number that contains the number of seconds since Jan 1 1970. Page 41 of 51 • • 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 Test the accuracy of the ProtoCessor software clock to determine its limitations.
FS-8700-47 DNP 3.0 Driver Manual Page 42 of 51 Appendix A.19. Select and Operate As a Client The DNP 3.0 Driver Client can send select, operate and direct operate messages to a Server device. The commands can be sent to Analog Output Blocks, Relay Control Blocks and Pattern Control Blocks. The responses from these commands contain status information on whether the command was accepted or rejected. The driver can store this status information so that is it available to another protocol.
FS-8700-47 DNP 3.0 Driver Manual Page 43 of 51 the control code extracted from the response and if the “DA_Byte_Name” is specified then the driver stores the count field extracted from the response. Pattern Control Block Object 12 variations 2 & 3 are not supported by the driver. As a Server The DNP 3.0Driver Server can accept and process Select and Operate commands sent by a remote Client with limitations as discussed in the notes below.
FS-8700-47 DNP 3.0 Driver Manual Page 44 of 51 considered to be selected and the operation can proceed. If the value is zero, the driver rejects the command. If the secondary Data Array is not specified, the port is considered to be permanently selected.
Page 45 of 51 ,Data_Array_Name ,DA_Class0 ,DA_Class1 ,Data_Array_Offset ,0 ,0 ,Function ,Rdbc ,Server ,Node_Name ,Node_A ,Node_A ,Address ,0 ,0 ,Length ,1 ,1 ,dnpDataType ,60 ,60 ,dnpDataVari ,1 ,2 ,dnpAssociate ,1 ,1 ,Scan_Interval ,2.0s ,2.0s ,dnpMultiMsg ,1 ,1 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.
FS-8700-47 DNP 3.0 Driver Manual Page 46 of 51 Appendix B. Driver Error Messages Error Message DNP:#1 Err. Unknown object=%d variation=%d for resp. DNP:#2 Err. Unknown object=%d variation=%d for store. DNP:#3 FYI. No nodes to process. DNP:#4 Err. Link Reset node %d failed. (Send a Link Reset Rqst before polling.) DNP:#5 FYI. Slave=%d happy with link. No reset Rqst. DNP:#6 FYI. Node=%d requires a reset before it can respond. DNP:#7. Err. Too many polls with no reset request. DNP:#8 Err.
FS-8700-47 DNP 3.0 Driver Manual Error Message DNP:#20 FYI. Node Indicates that Event Buffers Have Overflowed. DNP:#21 FYI. Length=%d invalid. Setting to %d. DNP:#23 FYI. Store rqsted but no Data. DNP:#25 FYI. Slave Cant use Qual=6. for Md=<%s> DNP:#27 Err. Slave: Too many bytes=%s to send. Reduce message length DNP:#29 Err. Cant process this qualifier (%d) DNP:#30 FYI. Data to store but no mapDesc found. DNP:#31 Resp. data contained obj=%d vari=%d. MD rqd for storage. DNP:#32 Err.
FS-8700-47 DNP 3.0 Driver Manual Error Message DNP:#45 Err. Dest Address=%d=Broadcast Address." , dest_station DNP:#45 Err. Perhaps the System_Station_Address has not been specified." DNP:#46 Err. Server received a poll for unknown node=%d DNP:#49 Err. Cant process func=0x%x from a responder DNP:#50 Err. Cant process func=0x%x from an initiator DNP:#51 Err. Node_ID=%d Valid Range=0-65535 DNP3:#52a FYI. OriginalStyle DA offset use. DNP3:#53 FYI. Mast App Parse NO DATA, returning early DNP3:#53b FYI.
FS-8700-47 DNP 3.0 Driver Manual Error Message DNP3:#60 Msg Frame abandoned. Frames out of seq. Exp=%d Rcvd=%d. TP=%#d DNP3:#61 FYI. Read func changed Now=%s. MD=<%s> DNP3:#62 Err. Rejected msg with multiple polls. DNP3:#64 Err. To serve class data set the DNPAssoc value non-zero DNP3:#65 Err. There are no MD associated with the class MD=%s DNP3:#63a Err. Cant open %s for poll from log DNP3:#63b Err. Cant read 1st line of %s DNP3:#63c FYI. Sending message from log file=%s DNP3:#66 Err.
FS-8700-47 DNP 3.0 Driver Manual Error Message DNP3:#70 Err No COV DeadBand for DA=%s Off=%d "DNP3:#71 FYI. Client observes: Server rqsts time synch DNP3:#72 Err. Heading not equal to keywords DNP3:#73 FYI. Time Synch MD Created DNP3:#74 Err. Ana Output Blk. No Operate because no select. Obj=%d" DNP3:#75 FYI. Relay Output. No place to store select. Obj=%d" DNP3:#76 Err. Relay Output. No Operate because no select. Obj=%d DNP3:#77 FYI. Ana Output Blk. No place to store select. Obj=%d" DNP3:#78 Err.
FS-8700-47 DNP 3.0 Driver Manual Error Message DNP3:#85 Err. acknowledgements supported. Fragment not DNP3:#86 Err. Index style=%d is not supported. Support 0,1,2. Reformat your request qualifier. Page 51 of 51 Explanation The driver does not support message fragment acknowledgements. Please configure your client software not to request them. This message is printed each time we receive a message with CON flag set in the Application control flag.